diff --git a/patches/server/0142-Add-twisting-and-weeping-vines-growth-rates.patch b/patches/server/0142-Add-twisting-and-weeping-vines-growth-rates.patch new file mode 100644 index 000000000..25e145abe --- /dev/null +++ b/patches/server/0142-Add-twisting-and-weeping-vines-growth-rates.patch @@ -0,0 +1,89 @@ +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 7963411be..6c084ad5c 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 a243aaed5..2a7a6e594 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 be3816746..146638111 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 23dca1940..94ffadb91 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 231db400a..fd175e2ad 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +@@ -412,6 +412,16 @@ public class PurpurWorldConfig { + turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); + } + ++ public double twistingVinesGrowthModifier = 0.10D; ++ public void twistingVinesSettings() { ++ twistingVinesGrowthModifier = getDouble("blocks.twisting_vines.growth-modifier", twistingVinesGrowthModifier); ++ } ++ ++ public double weepingVinesGrowthModifier = 0.10D; ++ public void weepingVinesSettings() { ++ weepingVinesGrowthModifier = getDouble("blocks.weeping_vines.growth-modifier", weepingVinesGrowthModifier); ++ } ++ + public boolean babiesAreRidable = true; + public boolean untamedTamablesAreRidable = true; + public boolean useNightVisionWhenRiding = false;