Не существует сопоставления, которое бы работало для всех блоков
И вам просто придется иметь с ним дело
Это причинапочему 1.13 и «Сглаживание» полностью удаляют метаданные, что приводит к тому, что все блочные состояния, кодируемые в виде строк, при сериализации (NBT - это сериализованный формат данных, который используется практически для всего до достижения формата Anvil).Во время выполнения эти состояния анализируются и превращаются в истинные Object
экземпляры, что устраняет необходимость в магических значениях.
Таким образом, вам не придется решать, что facing = b & 0x03;
вместо этого вы получите {"facing":"east"}
К сожалению, если вы работаете ниже 1.13, вам придется иметь дело с магическими значениями метаданных, и нет никакого решения, если у вас нет доступа к игре во время выполнения и вы можете вызвать getStateFromMeta()
(с 1.10 по 1.12; не уверены, где1.8 и 1.9 сидят, как я никогда не моддировал для этих версий).