diff --git a/common/src/main/java/common/init/BlockRegistry.java b/common/src/main/java/common/init/BlockRegistry.java index e3294f37..5d2ce292 100755 --- a/common/src/main/java/common/init/BlockRegistry.java +++ b/common/src/main/java/common/init/BlockRegistry.java @@ -662,13 +662,17 @@ public abstract class BlockRegistry { } for(Block block : BLOCKS) { - for(State state : block.getValidStates()) { - STATE_NAMES.put(state, state.getId()); - } for(State state : block.getSavedStates()) { - STATE_MAP.put(STATE_NAMES.get(state), state); - STATE_IDS.put(state, STATES.size()); + String name = state.getId(); + STATE_MAP.put(name, state); + int id = STATES.size(); STATES.add(state); + for(State sub : block.getValidStates()) { + if(sub.getId().equals(name)) { + STATE_NAMES.put(sub, name); + STATE_IDS.put(sub, id); + } + } } }