Как получить блок с определенной метадатой?

Версия Minecraft
1.12.2
Добрый день, у меня возникла проблема: я никак не могу понять, как получить Block с учетом метадаты.
Задача такова: у нас есть два типа дерева - дуб и береза, нужно получить блок березы у которого, в данном случае, метадата равна 1.
 
Увы, но походу способ не работает или я просто глупый.

Block.getBlockFromItem(block.getItem()).getLocalizedName() выводит лишь Дерево, а по логике должно быть Берёза.
Если получать нелокализованное имя, то будет tile.log
 
5,018
47
783
setDamage(1) или типа такого
ахахахха вот ты весь свой профессионализм показал малой. Гулял бы ты отсюда, не дорос советы пока давать!
Отвлекаясь от тролления школоты в тему отвечу:
В 1.12.2 нету меты в твоем восприятии. Там теперь енум тайпы - Blocks.LOG.getDefaultState().withProperty(BlockOldLog.VARIANT, BlockPlanks.EnumType.BIRCH) ; Ну или типо того, не помню точно
Если тебе нужно прям конкретно мета(число) это - BlockPlanks.EnumType.BIRCH.getMetadata();
 
1,470
19
189

tox1cozZ

aka Agravaine
8,454
598
2,890
Гулял бы ты отсюда, не дорос советы пока давать!
А теперь открой класс ItemStack, найди метод setItemDamage(ObelouixServer/Minecraft-1.12) и пойми насколько ты опозорился.
Все эти энумы - просто обертка для удобства, все равно это все конвертируется в обычную метадату.
P.S Ты же сам возился с методами getMetaFromState и getStateFromMeta, когда делал какое-то растение... Они-то как раз и конвертируют энумы в метадату.
 
Я тебе написал решение выше как получить имя блока с метадатой.
Да, это работает, но как можно это конвертировать в блок?
Если я вызываю Block.getBlockFromItem(new ItemStack(Blocks.LOG, 1, 0).getItem()), то при getItem() он возвращает имя tile.log
 
Сверху