aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/removed/0036-Fast-draining.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/removed/0036-Fast-draining.patch')
-rw-r--r--patches/removed/0036-Fast-draining.patch113
1 files changed, 0 insertions, 113 deletions
diff --git a/patches/removed/0036-Fast-draining.patch b/patches/removed/0036-Fast-draining.patch
deleted file mode 100644
index d9f21d81ee..0000000000
--- a/patches/removed/0036-Fast-draining.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 4b300fd41621071f122933ad9400521cb46228a0 Mon Sep 17 00:00:00 2001
-From: Byteflux <[email protected]>
-Date: Wed, 2 Mar 2016 12:20:52 -0600
-Subject: [PATCH] Fast draining
-
-
-diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 15675efbf..dbd82d5a9 100644
---- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-@@ -183,4 +183,11 @@ public class PaperWorldConfig {
- optimizeExplosions = getBoolean("optimize-explosions", false);
- log("Optimize explosions: " + optimizeExplosions);
- }
-+
-+ public boolean fastDrainLava;
-+ public boolean fastDrainWater;
-+ private void fastDrain() {
-+ fastDrainLava = getBoolean("fast-drain.lava", false);
-+ fastDrainWater = getBoolean("fast-drain.water", false);
-+ }
- }
-diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java
-index 3b47253a4..3aaa19b2f 100644
---- a/src/main/java/net/minecraft/server/BlockFlowing.java
-+++ b/src/main/java/net/minecraft/server/BlockFlowing.java
-@@ -69,7 +69,7 @@ public class BlockFlowing extends BlockFluids {
- }
- }
-
-- if (this.material == Material.LAVA && i < 8 && i1 < 8 && i1 > i && random.nextInt(4) != 0) {
-+ if (!world.paperConfig.fastDrainLava && this.material == Material.LAVA && i < 8 && i1 < 8 && i1 > i && random.nextInt(4) != 0) { // Paper
- j *= 4;
- }
-
-@@ -77,7 +77,7 @@ public class BlockFlowing extends BlockFluids {
- this.f(world, blockposition, iblockdata);
- } else {
- i = i1;
-- if (i1 < 0) {
-+ if (i1 < 0 || canFastDrain(world, blockposition)) { // Paper - Fast draining
- world.setAir(blockposition);
- } else {
- iblockdata = iblockdata.set(BlockFlowing.LEVEL, Integer.valueOf(i1));
-@@ -267,6 +267,7 @@ public class BlockFlowing extends BlockFluids {
-
- }
-
-+ // Paper start
- /**
- * Paper - Get flow speed. Throttle if its water and flowing adjacent to lava
- */
-@@ -280,4 +281,57 @@ public class BlockFlowing extends BlockFluids {
- }
- return super.a(world);
- }
-+
-+ private int getFluidLevel(IBlockAccess iblockaccess, BlockPosition blockposition) {
-+ return iblockaccess.getType(blockposition).getMaterial() == this.material ? iblockaccess.getType(blockposition).get(BlockFluids.LEVEL) : -1;
-+ }
-+
-+ /**
-+ * Paper - Data check method for fast draining
-+ */
-+ public int getData(World world, BlockPosition position) {
-+ int data = this.getFluidLevel((IBlockAccess) world, position);
-+ return data < 8 ? data : 0;
-+ }
-+
-+ /**
-+ * Paper - Checks surrounding blocks to determine if block can be fast drained
-+ */
-+ public boolean canFastDrain(World world, BlockPosition position) {
-+ boolean result = false;
-+ int data = getData(world, position);
-+ if (this.material == Material.WATER) {
-+ if (world.paperConfig.fastDrainWater) {
-+ result = true;
-+ if (getData(world, position.down()) < 0) {
-+ result = false;
-+ } else if (world.getType(position.north()).getBlock().getBlockData().getMaterial() == Material.WATER && getData(world, position.north()) < data) {
-+ result = false;
-+ } else if (world.getType(position.south()).getBlock().getBlockData().getMaterial() == Material.WATER && getData(world, position.south()) < data) {
-+ result = false;
-+ } else if (world.getType(position.west()).getBlock().getBlockData().getMaterial() == Material.WATER && getData(world, position.west()) < data) {
-+ result = false;
-+ } else if (world.getType(position.east()).getBlock().getBlockData().getMaterial() == Material.WATER && getData(world, position.east()) < data) {
-+ result = false;
-+ }
-+ }
-+ } else if (this.material == Material.LAVA) {
-+ if (world.paperConfig.fastDrainLava) {
-+ result = true;
-+ if (getData(world, position.down()) < 0 || world.getType(position.up()).getBlock().getBlockData().getMaterial() != Material.AIR) {
-+ result = false;
-+ } else if (world.getType(position.north()).getBlock().getBlockData().getMaterial() == Material.LAVA && getData(world, position.north()) < data) {
-+ result = false;
-+ } else if (world.getType(position.south()).getBlock().getBlockData().getMaterial() == Material.LAVA && getData(world, position.south()) < data) {
-+ result = false;
-+ } else if (world.getType(position.west()).getBlock().getBlockData().getMaterial() == Material.LAVA && getData(world, position.west()) < data) {
-+ result = false;
-+ } else if (world.getType(position.east()).getBlock().getBlockData().getMaterial() == Material.LAVA && getData(world, position.east()) < data) {
-+ result = false;
-+ }
-+ }
-+ }
-+ return result;
-+ }
-+ // Paper end
- }
---
-2.18.0
-