From 12769dbaae1ff50991f61641ff86c7f625d96b05 Mon Sep 17 00:00:00 2001 From: LexManos Date: Mon, 22 Aug 2016 16:40:24 -0700 Subject: [PATCH] Fixed decorate event being called with SHROOM type for both convered trees and large mushrooms. Closes #3215 --- .../world/biome/BiomeForest.java.patch | 31 ++++++++++++++----- .../FMLControlledNamespacedRegistry.java | 2 -- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/patches/minecraft/net/minecraft/world/biome/BiomeForest.java.patch b/patches/minecraft/net/minecraft/world/biome/BiomeForest.java.patch index 0a20257b1b..1a87388be9 100644 --- a/patches/minecraft/net/minecraft/world/biome/BiomeForest.java.patch +++ b/patches/minecraft/net/minecraft/world/biome/BiomeForest.java.patch @@ -1,12 +1,6 @@ --- ../src-base/minecraft/net/minecraft/world/biome/BiomeForest.java +++ ../src-work/minecraft/net/minecraft/world/biome/BiomeForest.java -@@ -69,11 +69,14 @@ - - public void func_180624_a(World p_180624_1_, Random p_180624_2_, BlockPos p_180624_3_) - { -+ if(net.minecraftforge.event.terraingen.TerrainGen.decorate(p_180624_1_, p_180624_2_, p_180624_3_, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SHROOM)) - if (this.field_150632_aF == BiomeForest.Type.ROOFED) - { +@@ -74,6 +74,8 @@ this.func_185379_b(p_180624_1_, p_180624_2_, p_180624_3_); } @@ -15,7 +9,7 @@ int i = p_180624_2_.nextInt(5) - 3; if (this.field_150632_aF == BiomeForest.Type.FLOWER) -@@ -82,6 +85,7 @@ +@@ -82,11 +84,13 @@ } this.func_185378_a(p_180624_1_, p_180624_2_, p_180624_3_, i); @@ -23,6 +17,27 @@ super.func_180624_a(p_180624_1_, p_180624_2_, p_180624_3_); } + public void func_185379_b(World p_185379_1_, Random p_185379_2_, BlockPos p_185379_3_) + { ++ + for (int i = 0; i < 4; ++i) + { + for (int j = 0; j < 4; ++j) +@@ -95,12 +99,12 @@ + int l = j * 4 + 1 + 8 + p_185379_2_.nextInt(3); + BlockPos blockpos = p_185379_1_.func_175645_m(p_185379_3_.func_177982_a(k, 0, l)); + +- if (p_185379_2_.nextInt(20) == 0) ++ if (p_185379_2_.nextInt(20) == 0 && net.minecraftforge.event.terraingen.TerrainGen.decorate(p_185379_1_, p_185379_2_, blockpos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.SHROOM)) + { + WorldGenBigMushroom worldgenbigmushroom = new WorldGenBigMushroom(); + worldgenbigmushroom.func_180709_b(p_185379_1_, p_185379_2_, blockpos); + } +- else ++ else if (net.minecraftforge.event.terraingen.TerrainGen.decorate(p_185379_1_, p_185379_2_, blockpos, net.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate.EventType.TREE)) + { + WorldGenAbstractTree worldgenabstracttree = this.func_150567_a(p_185379_2_); + worldgenabstracttree.func_175904_e(); @@ -147,6 +151,22 @@ } } diff --git a/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java b/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java index 07c501e054..e63b5bbad3 100644 --- a/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java +++ b/src/main/java/net/minecraftforge/fml/common/registry/FMLControlledNamespacedRegistry.java @@ -767,8 +767,6 @@ public class FMLControlledNamespacedRegistry> e FMLLog.fine("Fixed %s id mismatch %s: %d (init) -> %d (map).", registryName, itemName, currId, newId); remappedIds.put(itemName, new Integer[] {currId, newId}); } - if ("minecraft:stone".equals(itemName.toString())) - System.currentTimeMillis(); I obj = currentRegistry.getRaw(itemName); I sub = obj; // If we have an object in the originals set, we use that for initial adding - substitute activation will readd the substitute if neceessary later