mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-21 10:27:44 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: 05af2837c [CI-SKIP] Improved the annotation test output 586966949 abstract custom set tags, add entity tags c7667378e Added PlayerLoomPatternSelectEvent 00972e80d Reimplement GS4QueryEvent 544c5c278 Re-add coral block tags (#4987) 7d56c8deb Added PlayerLecternPageChangeEvent c7cdf255b Add BlockFailedDispenseEvent c8a8d6fbe Added world settings for mobs picking up loot 91eda5bd3 Added ServerResourcesReloadedEvent be81b4f5c Add a Enchantable MaterialTag 975d18703 Add doors to material tags d075e748e colorful itemdump f3ba3dee0 Added WorldGameRuleChangeEvent 086d20118 Guardian beam workaround b63c890ec Support spawning item stacks d7d74c552 added height config for bamboo 7878e3bc2 Use setAmount for Recipe Amount 50e70697b Add EntityLoadCrossbowEvent f344e092c Add Anti-Xray bypass permission 9fd31e675 fix for nerfed slime mobs splitting 4a7962cd1 Zombie API - breaking doors 5650a41f5 Fix interact event not being called in adventure 2c9ed4335 Add PlayerFlowerPotManipulateEvent 1f32290b6 [Auto] Updated Upstream (CraftBukkit) d87694a20 Redact Velocity forwarding secret properly (#4980) 24a0b0206 [Auto] Updated Upstream (CraftBukkit) 7681042ef [Auto] Updated Upstream (Bukkit/CraftBukkit) 7dea3dba6 [Auto] Updated Upstream (CraftBukkit) 4b3792920 JavaDoc fixes f13b4727e Allow disabling mob spawner spawn egg transformation 525b50737 Cache burn durations 2c37d1077 Optimized tick ready check b4000b01a Add API to get the Material of Boats and Minecarts f1317386d Fix sign lazy initialisation 9f61759d9 Updated Upstream (CraftBukkit/Spigot) (#4972) aaff430b6 [CI-SKIP] Use GitHub Actions for build status 9f4055d99 Fix harming potion dupe 7bfb781ff Additional Block Material API's 0eaffd008 Micro Optimize DataBits Tuinity Changes: 9e5cabb6e Port starlight changes
125 lines
6.5 KiB
Diff
125 lines
6.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <blake.galbreath@gmail.com>
|
|
Date: Sun, 22 Nov 2020 20:13:27 -0600
|
|
Subject: [PATCH] Kelp weeping and twisting vines configurable max growth age
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/BlockGrowingTop.java b/src/main/java/net/minecraft/server/BlockGrowingTop.java
|
|
index 6c084ad5cda41425eed04465d942f6a73968cd61..6d49422c3358b06369e1a31ee5580ff4a0057c5f 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockGrowingTop.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockGrowingTop.java
|
|
@@ -15,7 +15,7 @@ public abstract class BlockGrowingTop extends BlockGrowingAbstract implements IB
|
|
|
|
@Override
|
|
public IBlockData a(GeneratorAccess generatoraccess) {
|
|
- return (IBlockData) this.getBlockData().set(BlockGrowingTop.d, generatoraccess.getRandom().nextInt(25));
|
|
+ return (IBlockData) this.getBlockData().set(BlockGrowingTop.d, generatoraccess.getRandom().nextInt(getMaxGrowthAge(generatoraccess.getMinecraftWorld()))); // Purpur
|
|
}
|
|
|
|
@Override
|
|
@@ -25,9 +25,11 @@ public abstract class BlockGrowingTop extends BlockGrowingAbstract implements IB
|
|
|
|
public abstract double getGrowthModifier(WorldServer worldserver); // Purpur
|
|
|
|
+ public abstract int getMaxGrowthAge(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 / getGrowthModifier(worldserver)) * this.e) { // Spigot // Purpur
|
|
+ if ((Integer) iblockdata.get(BlockGrowingTop.d) < getMaxGrowthAge(worldserver) && random.nextDouble() < (100.0D / getGrowthModifier(worldserver)) * this.e) { // Spigot // Purpur
|
|
BlockPosition blockposition1 = blockposition.shift(this.a);
|
|
|
|
if (this.h(worldserver.getType(blockposition1))) {
|
|
@@ -72,13 +74,13 @@ public abstract class BlockGrowingTop extends BlockGrowingAbstract implements IB
|
|
@Override
|
|
public void a(WorldServer worldserver, Random random, BlockPosition blockposition, IBlockData iblockdata) {
|
|
BlockPosition blockposition1 = blockposition.shift(this.a);
|
|
- int i = Math.min((Integer) iblockdata.get(BlockGrowingTop.d) + 1, 25);
|
|
+ int i = Math.min((Integer) iblockdata.get(BlockGrowingTop.d) + 1, getMaxGrowthAge(worldserver)); // Purpur
|
|
int j = this.a(random);
|
|
|
|
for (int k = 0; k < j && this.h(worldserver.getType(blockposition1)); ++k) {
|
|
worldserver.setTypeUpdate(blockposition1, (IBlockData) iblockdata.set(BlockGrowingTop.d, i));
|
|
blockposition1 = blockposition1.shift(this.a);
|
|
- i = Math.min(i + 1, 25);
|
|
+ i = Math.min(i + 1, getMaxGrowthAge(worldserver)); // Purpur
|
|
}
|
|
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/BlockKelp.java b/src/main/java/net/minecraft/server/BlockKelp.java
|
|
index 2a7a6e5943f2ff87815c398ffec01bb78d320690..b35c115e34cf5f7a24cd26ca31c19a63c82e0080 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockKelp.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockKelp.java
|
|
@@ -58,5 +58,9 @@ public class BlockKelp extends BlockGrowingTop implements IFluidContainer {
|
|
public double getGrowthModifier(WorldServer worldserver) {
|
|
return worldserver.spigotConfig.kelpModifier;
|
|
}
|
|
+
|
|
+ public int getMaxGrowthAge(WorldServer worldserver) {
|
|
+ return worldserver.purpurConfig.kelpMaxGrowthAge;
|
|
+ }
|
|
// Purpur end
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/BlockTwistingVines.java b/src/main/java/net/minecraft/server/BlockTwistingVines.java
|
|
index 146638111c56ec81ab46b514d45a7cc8aac2b36a..71b9b7183df5702f2753c7372d0c491b2230b365 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockTwistingVines.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockTwistingVines.java
|
|
@@ -29,5 +29,9 @@ public class BlockTwistingVines extends BlockGrowingTop {
|
|
public double getGrowthModifier(WorldServer worldserver) {
|
|
return worldserver.purpurConfig.twistingVinesGrowthModifier;
|
|
}
|
|
+
|
|
+ public int getMaxGrowthAge(WorldServer worldserver) {
|
|
+ return worldserver.purpurConfig.twistingVinesMaxGrowthAge;
|
|
+ }
|
|
// Purpur end
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/BlockWeepingVines.java b/src/main/java/net/minecraft/server/BlockWeepingVines.java
|
|
index 94ffadb91fec65a721cf0c8fa98bad708a2ca269..067df63ab27ecb9fe0a0d012b16efbd546fdfff7 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockWeepingVines.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockWeepingVines.java
|
|
@@ -29,5 +29,9 @@ public class BlockWeepingVines extends BlockGrowingTop {
|
|
public double getGrowthModifier(WorldServer worldserver) {
|
|
return worldserver.purpurConfig.weepingVinesGrowthModifier;
|
|
}
|
|
+
|
|
+ public int getMaxGrowthAge(WorldServer worldserver) {
|
|
+ return worldserver.purpurConfig.weepingVinesMaxGrowthAge;
|
|
+ }
|
|
// Purpur end
|
|
}
|
|
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
index cf6fa370ce968a882311f1403556cea618c7c7fe..91ba7f0b3ddb2846119e4b74ba501f6b40938702 100644
|
|
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
|
@@ -348,6 +348,11 @@ public class PurpurWorldConfig {
|
|
furnaceInfiniteFuel = getBoolean("blocks.furnace.infinite-fuel", furnaceInfiniteFuel);
|
|
}
|
|
|
|
+ public int kelpMaxGrowthAge = 25;
|
|
+ private void kelpSettings() {
|
|
+ kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge);
|
|
+ }
|
|
+
|
|
public boolean lavaInfinite = false;
|
|
public int lavaInfiniteRequiredSources = 2;
|
|
public int lavaSpeedNether = 10;
|
|
@@ -402,13 +407,17 @@ public class PurpurWorldConfig {
|
|
}
|
|
|
|
public double twistingVinesGrowthModifier = 0.10D;
|
|
+ public int twistingVinesMaxGrowthAge = 25;
|
|
private void twistingVinesSettings() {
|
|
twistingVinesGrowthModifier = getDouble("blocks.twisting_vines.growth-modifier", twistingVinesGrowthModifier);
|
|
+ twistingVinesMaxGrowthAge = getInt("blocks.twisting_vines.max-growth-age", twistingVinesMaxGrowthAge);
|
|
}
|
|
|
|
public double weepingVinesGrowthModifier = 0.10D;
|
|
+ public int weepingVinesMaxGrowthAge = 25;
|
|
private void weepingVinesSettings() {
|
|
weepingVinesGrowthModifier = getDouble("blocks.weeping_vines.growth-modifier", weepingVinesGrowthModifier);
|
|
+ weepingVinesMaxGrowthAge = getInt("blocks.weeping_vines.max-growth-age", weepingVinesMaxGrowthAge);
|
|
}
|
|
|
|
public boolean babiesAreRidable = true;
|