Files
Purpur/patches/server/0139-Add-twisting-and-weeping-vines-growth-rates.patch
BillyGalbreath 59439785d9 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
cc0494817 Tick inactive goal selectors
c19ec6394 fix 4878 by always calling events using bukkit singleton
5d216be1d Fix MC-181190 curing zombie villager discount exploit (#4871)
2020-12-09 19:36:38 -06:00

90 lines
4.3 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <blake.galbreath@gmail.com>
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;