Files
Purpur/patches/server/0078-Implement-infinite-lava.patch
William Blake Galbreath 4757060211 Updated Upstream (Paper)
Upstream has released updates that appears to apply and compile correctly

Paper Changes:
df0d7b0d Update upstream CB
6ea3c2cf [CI-SKIP] Rebuild patches
d7bed4cb Heavily optimise random block ticking (#2914)
b66d9ff8 Update upstream CB
ba71c5d6 Stop stripping private use block Unicode from signs
28d9dcfc Entity Jump API (#1587)
9976a768 Fix PlayerNaturallySpawnCreaturesEvent boolean inversion
054e20da Clean up imports on ThrownEggHatchEvent
a8984ccb Add ThrownEggHatchEvent (#1982)
9f24d495 Allow nerfed blazes, endermen to take water damage (#2847)
2020-02-12 21:21:34 -06:00

91 lines
3.7 KiB
Diff

From e0161117ed31b278400832e6c8ae9aac67745a0a Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sat, 23 Nov 2019 17:55:42 -0600
Subject: [PATCH] Implement infinite lava
---
.../java/net/minecraft/server/FluidTypeFlowing.java | 10 +++++++++-
src/main/java/net/minecraft/server/FluidTypeLava.java | 7 +++++++
src/main/java/net/minecraft/server/WorldProvider.java | 2 +-
src/main/java/net/pl3x/purpur/PurpurWorldConfig.java | 5 +++++
4 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
index 376dca188..1a14fe4a2 100644
--- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java
+++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
@@ -219,7 +219,7 @@ public abstract class FluidTypeFlowing extends FluidType {
}
}
- if (this.f() && j >= 2) {
+ if (infinite(iworldreader) && j >= 2) { // Purpur
IBlockData iblockdata2 = iworldreader.getType(blockposition.down());
Fluid fluid1 = iblockdata2.getFluid();
@@ -290,6 +290,14 @@ public abstract class FluidTypeFlowing extends FluidType {
return (Fluid) this.e().h().set(FluidTypeFlowing.FALLING, flag);
}
+ // Purpur start
+ protected boolean infinite(IWorldReader iworldreader) {
+ return infinite();
+ }
+ // Purpur end
+
+ protected boolean infinite() { return f(); } // Purpur - OBFHELPER
+
protected abstract boolean f();
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 d25368d03..38b9ebaee 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 {
generatoraccess.triggerEffect(1501, blockposition, 0);
}
+ // Purpur start
+ @Override
+ protected boolean infinite(IWorldReader iworldreader) {
+ return ((World) iworldreader).purpurConfig.lavaInfinite;
+ }
+ // Purpur end
+
@Override
protected boolean f() {
return false;
diff --git a/src/main/java/net/minecraft/server/WorldProvider.java b/src/main/java/net/minecraft/server/WorldProvider.java
index 9eba9a12c..39252e687 100644
--- a/src/main/java/net/minecraft/server/WorldProvider.java
+++ b/src/main/java/net/minecraft/server/WorldProvider.java
@@ -5,7 +5,7 @@ import javax.annotation.Nullable;
public abstract class WorldProvider {
public static final float[] a = new float[]{1.0F, 0.75F, 0.5F, 0.25F, 0.0F, 0.25F, 0.5F, 0.75F};
- protected final World b;
+ protected final World b; public World getWorld() { return b; } // Purpur - OBFHELPER
private final DimensionManager f;
protected boolean c;
protected boolean d;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d01504127..361d3ba21 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -126,6 +126,11 @@ public class PurpurWorldConfig {
grindstoneBlacklist.addAll(blacklist);
}
+ public boolean lavaInfinite = false;
+ private void lavaSettings() {
+ lavaInfinite = getBoolean("blocks.lava.infinite-source", lavaInfinite);
+ }
+
public boolean signAllowColors = false;
public boolean signRightClickEdit = false;
private void signSettings() {
--
2.24.0