From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 22 Nov 2020 06:02:32 -0600 Subject: [PATCH] Add twisting and weeping vines growth rates diff --git a/src/main/java/net/minecraft/server/BlockGrowingTop.java b/src/main/java/net/minecraft/server/BlockGrowingTop.java index 7963411be9..6c084ad5cd 100644 --- a/src/main/java/net/minecraft/server/BlockGrowingTop.java +++ b/src/main/java/net/minecraft/server/BlockGrowingTop.java @@ -23,9 +23,11 @@ public abstract class BlockGrowingTop extends BlockGrowingAbstract implements IB return (Integer) iblockdata.get(BlockGrowingTop.d) < 25; } + public abstract double getGrowthModifier(WorldServer worldserver); // Purpur + @Override public void tick(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, Random random) { - if ((Integer) iblockdata.get(BlockGrowingTop.d) < 25 && random.nextDouble() < (100.0D / worldserver.spigotConfig.kelpModifier) * this.e) { // Spigot + if ((Integer) iblockdata.get(BlockGrowingTop.d) < 25 && random.nextDouble() < (100.0D / getGrowthModifier(worldserver)) * this.e) { // Spigot // Purpur BlockPosition blockposition1 = blockposition.shift(this.a); if (this.h(worldserver.getType(blockposition1))) { diff --git a/src/main/java/net/minecraft/server/BlockKelp.java b/src/main/java/net/minecraft/server/BlockKelp.java index a243aaed58..2a7a6e5943 100644 --- a/src/main/java/net/minecraft/server/BlockKelp.java +++ b/src/main/java/net/minecraft/server/BlockKelp.java @@ -53,4 +53,10 @@ public class BlockKelp extends BlockGrowingTop implements IFluidContainer { public Fluid d(IBlockData iblockdata) { return FluidTypes.WATER.a(false); } + + // Purpur start + public double getGrowthModifier(WorldServer worldserver) { + return worldserver.spigotConfig.kelpModifier; + } + // Purpur end } diff --git a/src/main/java/net/minecraft/server/BlockTwistingVines.java b/src/main/java/net/minecraft/server/BlockTwistingVines.java index be38167463..146638111c 100644 --- a/src/main/java/net/minecraft/server/BlockTwistingVines.java +++ b/src/main/java/net/minecraft/server/BlockTwistingVines.java @@ -24,4 +24,10 @@ public class BlockTwistingVines extends BlockGrowingTop { protected boolean h(IBlockData iblockdata) { return BlockNetherVinesUtil.a(iblockdata); } + + // Purpur start + public double getGrowthModifier(WorldServer worldserver) { + return worldserver.purpurConfig.twistingVinesGrowthModifier; + } + // Purpur end } diff --git a/src/main/java/net/minecraft/server/BlockWeepingVines.java b/src/main/java/net/minecraft/server/BlockWeepingVines.java index 23dca19403..94ffadb91f 100644 --- a/src/main/java/net/minecraft/server/BlockWeepingVines.java +++ b/src/main/java/net/minecraft/server/BlockWeepingVines.java @@ -24,4 +24,10 @@ public class BlockWeepingVines extends BlockGrowingTop { protected boolean h(IBlockData iblockdata) { return BlockNetherVinesUtil.a(iblockdata); } + + // Purpur start + public double getGrowthModifier(WorldServer worldserver) { + return worldserver.purpurConfig.weepingVinesGrowthModifier; + } + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index b7fe9865d5..7d4e84bb85 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -408,6 +408,16 @@ public class PurpurWorldConfig { turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); } + public double twistingVinesGrowthModifier = 0.10D; + private void twistingVinesSettings() { + twistingVinesGrowthModifier = getDouble("blocks.twisting_vines.growth-modifier", twistingVinesGrowthModifier); + } + + public double weepingVinesGrowthModifier = 0.10D; + private void weepingVinesSettings() { + weepingVinesGrowthModifier = getDouble("blocks.weeping_vines.growth-modifier", weepingVinesGrowthModifier); + } + public boolean babiesAreRidable = true; public boolean untamedTamablesAreRidable = true; public boolean useNightVisionWhenRiding = false;