Make infinite lava number of required sources configurable

This commit is contained in:
William Blake Galbreath
2020-10-04 18:21:44 -05:00
parent ef17322191
commit 5c0a270c66
18 changed files with 91 additions and 79 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement infinite lava
diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
index d72a88e92..e9656641b 100644
index d72a88e927..35d55bc15b 100644
--- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java
+++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
@@ -195,7 +195,7 @@ public abstract class FluidTypeFlowing extends FluidType {
@@ -13,11 +13,11 @@ index d72a88e92..e9656641b 100644
}
- if (this.f() && j >= 2) {
+ if (infinite(iworldreader) && j >= 2) { // Purpur
+ if (infinite(iworldreader) && j >= getRequiredSources(iworldreader)) { // Purpur
IBlockData iblockdata2 = iworldreader.getType(blockposition.down());
Fluid fluid1 = iblockdata2.getFluid();
@@ -266,6 +266,13 @@ public abstract class FluidTypeFlowing extends FluidType {
@@ -266,6 +266,17 @@ public abstract class FluidTypeFlowing extends FluidType {
return (Fluid) this.e().h().set(FluidTypeFlowing.FALLING, flag);
}
@@ -25,6 +25,10 @@ index d72a88e92..e9656641b 100644
+ protected boolean infinite(IWorldReader iworldreader) {
+ return infinite();
+ }
+
+ protected int getRequiredSources(IWorldReader iworldreader) {
+ return 2;
+ }
+ // Purpur end
+
+ protected boolean infinite() { return f(); } // Purpur - OBFHELPER
@@ -32,10 +36,10 @@ index d72a88e92..e9656641b 100644
protected void a(GeneratorAccess generatoraccess, BlockPosition blockposition, IBlockData iblockdata, EnumDirection enumdirection, Fluid fluid) {
diff --git a/src/main/java/net/minecraft/server/FluidTypeLava.java b/src/main/java/net/minecraft/server/FluidTypeLava.java
index 29930e801..9e543449c 100644
index 29930e801c..ffab239192 100644
--- a/src/main/java/net/minecraft/server/FluidTypeLava.java
+++ b/src/main/java/net/minecraft/server/FluidTypeLava.java
@@ -147,6 +147,13 @@ public abstract class FluidTypeLava extends FluidTypeFlowing {
@@ -147,6 +147,18 @@ public abstract class FluidTypeLava extends FluidTypeFlowing {
generatoraccess.triggerEffect(1501, blockposition, 0);
}
@@ -44,22 +48,29 @@ index 29930e801..9e543449c 100644
+ protected boolean infinite(IWorldReader iworldreader) {
+ return iworldreader.getWorldBorder().world.purpurConfig.lavaInfinite;
+ }
+
+ @Override
+ protected int getRequiredSources(IWorldReader iworldreader) {
+ return iworldreader.getWorldBorder().world.purpurConfig.lavaInfiniteRequiredSources;
+ }
+ // Purpur end
+
@Override
protected boolean f() {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 11b4eac48..3ca3de623 100644
index 11b4eac48c..d88d120474 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -156,6 +156,11 @@ public class PurpurWorldConfig {
@@ -156,6 +156,13 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}
+ public boolean lavaInfinite = false;
+ public int lavaInfiniteRequiredSources = 2;
+ private void lavaSettings() {
+ lavaInfinite = getBoolean("blocks.lava.infinite-source", lavaInfinite);
+ lavaInfiniteRequiredSources = getInt("blocks.lava.infinite-required-sources", lavaInfiniteRequiredSources);
+ }
+
public boolean signAllowColors = false;