mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-01 20:50:41 +01:00
9ff01b16ab
This will be used by my next commit. But trying to get the build going since CI blew up
61 lines
2.6 KiB
Diff
61 lines
2.6 KiB
Diff
From 37850ea6d29505f59ae31c0e27b286baa36a5afe Mon Sep 17 00:00:00 2001
|
|
From: Byteflux <byte@byteflux.net>
|
|
Date: Tue, 1 Mar 2016 14:27:13 -0600
|
|
Subject: [PATCH] Configurable speed for water flowing over lava
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index df3e6fb..f81ece3 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -143,4 +143,10 @@ public class PaperWorldConfig {
|
|
if (fallingBlockHeightNerf != 0) log("Falling Block Height Limit set to Y: " + fallingBlockHeightNerf);
|
|
if (entityTNTHeightNerf != 0) log("TNT Entity Height Limit set to Y: " + entityTNTHeightNerf);
|
|
}
|
|
+
|
|
+ public int waterOverLavaFlowSpeed;
|
|
+ private void waterOverLawFlowSpeed() {
|
|
+ waterOverLavaFlowSpeed = getInt("water-over-lava-flow-speed", 5);
|
|
+ log("Water over lava flow speed: " + waterOverLavaFlowSpeed);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java
|
|
index 800ffdc..036e861 100644
|
|
--- a/src/main/java/net/minecraft/server/BlockFlowing.java
|
|
+++ b/src/main/java/net/minecraft/server/BlockFlowing.java
|
|
@@ -35,7 +35,7 @@ public class BlockFlowing extends BlockFluids {
|
|
b0 = 2;
|
|
}
|
|
|
|
- int j = this.a(world);
|
|
+ int j = this.getFlowSpeed(world, blockposition); // Paper
|
|
int k;
|
|
|
|
if (i > 0) {
|
|
@@ -263,8 +263,22 @@ public class BlockFlowing extends BlockFluids {
|
|
|
|
public void onPlace(World world, BlockPosition blockposition, IBlockData iblockdata) {
|
|
if (!this.e(world, blockposition, iblockdata)) {
|
|
- world.a(blockposition, (Block) this, this.a(world));
|
|
+ world.a(blockposition, (Block) this, this.getFlowSpeed(world, blockposition)); // Paper
|
|
}
|
|
|
|
}
|
|
+
|
|
+ /**
|
|
+ * Paper - Get flow speed. Throttle if its water and flowing adjacent to lava
|
|
+ */
|
|
+ public int getFlowSpeed(World world, BlockPosition blockposition) {
|
|
+ if (this.material == Material.WATER && (
|
|
+ world.getType(blockposition.north(1)).getBlock().material == Material.LAVA ||
|
|
+ world.getType(blockposition.south(1)).getBlock().material == Material.LAVA ||
|
|
+ world.getType(blockposition.west(1)).getBlock().material == Material.LAVA ||
|
|
+ world.getType(blockposition.east(1)).getBlock().material == Material.LAVA)) {
|
|
+ return world.paperConfig.waterOverLavaFlowSpeed;
|
|
+ }
|
|
+ return super.a(world);
|
|
+ }
|
|
}
|
|
--
|
|
2.7.4
|
|
|