geforkt von Mirrors/Paper
f243a4024d
Removes PlayerMicroMoveEvent API, the ability to disable the AsyncCatcher, and the TeleportPassengerVehicleWithPlayer patch
63 Zeilen
2.6 KiB
Diff
63 Zeilen
2.6 KiB
Diff
From db282abf06283e8f054810398f6f9a96450b9ed9 Mon Sep 17 00:00:00 2001
|
|
From: Byteflux <byte@byteflux.net>
|
|
Date: Sat, 7 Mar 2015 22:17:03 -0600
|
|
Subject: [PATCH] Configurable speed for water flowing over lava
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java
|
|
index 5d36af3..de1dddb 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); // PaperSpigot
|
|
int k;
|
|
|
|
if (i > 0) {
|
|
@@ -259,8 +259,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)); // PaperSpigot
|
|
}
|
|
|
|
}
|
|
+
|
|
+ /**
|
|
+ * PaperSpigot - Get flow speed. Throttle if its water and flowing adjacent to lava
|
|
+ */
|
|
+ public int getFlowSpeed(World world, BlockPosition blockposition) {
|
|
+ if (this.getMaterial() == Material.WATER && (
|
|
+ world.getType(blockposition.north(1)).getBlock().getMaterial() == Material.LAVA ||
|
|
+ world.getType(blockposition.south(1)).getBlock().getMaterial() == Material.LAVA ||
|
|
+ world.getType(blockposition.west(1)).getBlock().getMaterial() == Material.LAVA ||
|
|
+ world.getType(blockposition.east(1)).getBlock().getMaterial() == Material.LAVA)) {
|
|
+ return world.paperSpigotConfig.waterOverLavaFlowSpeed;
|
|
+ }
|
|
+ return super.a(world);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
index dcc02b7..d0a97b6 100644
|
|
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
+++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
@@ -198,4 +198,11 @@ public class PaperSpigotWorldConfig
|
|
log( "Falling Block Height Limit set to Y: " + fallingBlockHeightNerf );
|
|
}
|
|
}
|
|
+
|
|
+ public int waterOverLavaFlowSpeed;
|
|
+ private void waterOverLavaFlowSpeed()
|
|
+ {
|
|
+ waterOverLavaFlowSpeed = getInt( "water-over-lava-flow-speed", 5 );
|
|
+ log( "Water over lava flow speed: " + waterOverLavaFlowSpeed );
|
|
+ }
|
|
}
|
|
--
|
|
2.5.1
|
|
|