From 52702e5cc9c629b3b2baff6a726aabb168aced16 Mon Sep 17 00:00:00 2001 From: LexManos Date: Wed, 30 Aug 2017 13:20:51 -0700 Subject: [PATCH] Fix issue saving observers using different metadata then vanilla. --- src/main/java/net/minecraftforge/registries/GameData.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/net/minecraftforge/registries/GameData.java b/src/main/java/net/minecraftforge/registries/GameData.java index 7d73c0b3b1..21c285e905 100644 --- a/src/main/java/net/minecraftforge/registries/GameData.java +++ b/src/main/java/net/minecraftforge/registries/GameData.java @@ -26,6 +26,7 @@ import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import net.minecraft.block.Block; import net.minecraft.block.BlockAir; +import net.minecraft.block.BlockObserver; import net.minecraft.block.state.IBlockState; import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.Entity; @@ -308,6 +309,8 @@ public class GameData for (int meta = 0; meta < 16; meta++) { + if (block.getClass() == BlockObserver.class) + continue; //Observers are bad and have non-cyclical states. So we HAVE to use the vanilla logic above. if (usedMeta[meta]) blockstateMap.put(block.getStateFromMeta(meta), id << 4 | meta); // Put the CORRECT thing! }