diff --git a/src/main/java/net/minecraft/block/BlockLeavesBase.java b/src/main/java/net/minecraft/block/BlockLeavesBase.java index 512082e..da0b8b2 100644 --- a/src/main/java/net/minecraft/block/BlockLeavesBase.java +++ b/src/main/java/net/minecraft/block/BlockLeavesBase.java @@ -4,6 +4,8 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; public class BlockLeavesBase extends Block { @@ -27,4 +29,15 @@ Block block = p_149646_1_.getBlock(p_149646_2_, p_149646_3_, p_149646_4_); return !this.field_150121_P && block == this ? false : super.shouldSideBeRendered(p_149646_1_, p_149646_2_, p_149646_3_, p_149646_4_, p_149646_5_); } + + public void onNeighborBlockChange(World world, int x, int y, int z, Block block) + { + if(!world.isRemote && ((WorldServer)world).getConfig().settings.fastLeafDecay) + { + int meta = world.getBlockMetadata(x, y, z); + + if ((meta & 8) != 0 && (meta & 4) == 0) + world.scheduleBlockUpdate(x, y, z, this, 4 + world.rand.nextInt(7)); + } + } } \ No newline at end of file diff --git a/src/main/java/org/ultramine/server/WorldsConfig.java b/src/main/java/org/ultramine/server/WorldsConfig.java index c0c8ccd..3ae1c2b 100644 --- a/src/main/java/org/ultramine/server/WorldsConfig.java +++ b/src/main/java/org/ultramine/server/WorldsConfig.java @@ -80,6 +80,7 @@ public boolean useIsolatedPlayerData = false; public String respawnOnWarp = null; public String reconnectOnWarp = null; + public boolean fastLeafDecay = false; public enum WorldTime { diff --git a/src/main/resources/org/ultramine/defaults/defaultworlds.yml b/src/main/resources/org/ultramine/defaults/defaultworlds.yml index c3c9d1e..a2cc740 100644 --- a/src/main/resources/org/ultramine/defaults/defaultworlds.yml +++ b/src/main/resources/org/ultramine/defaults/defaultworlds.yml @@ -55,6 +55,7 @@ useIsolatedPlayerData: false respawnOnWarp: null reconnectOnWarp: null + fastLeafDecay: false borders: [] chunkLoading: &global_cl viewDistance: 10