Paper/Spigot-Server-Patches/0044-Optimize-draining.patch

49 lines
2.2 KiB
Diff
Raw Normal View History

2015-04-18 11:31:53 +02:00
From 852a6da14b49302a346b8e6ded8c99ae1f746499 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Fri, 10 Apr 2015 02:24:20 -0700
Subject: [PATCH] Optimize draining
diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java
index de1dddb..d8de1fc 100644
--- a/src/main/java/net/minecraft/server/BlockFlowing.java
+++ b/src/main/java/net/minecraft/server/BlockFlowing.java
@@ -88,7 +88,18 @@ public class BlockFlowing extends BlockFluids {
iblockdata = iblockdata.set(BlockFlowing.LEVEL, Integer.valueOf(i1));
world.setTypeAndData(blockposition, iblockdata, 2);
world.a(blockposition, (Block) this, j);
- world.applyPhysics(blockposition, this);
+ // PaperSpigot start - Optimize draining
+ if (world.paperSpigotConfig.optimizeDraining) {
+ world.d(blockposition.west(), this);
+ world.d(blockposition.east(), this);
+ world.d(blockposition.up(), this);
+ world.d(blockposition.north(), this);
+ world.d(blockposition.south(), this);
+ world.spigotConfig.antiXrayInstance.updateNearbyBlocks(world, blockposition); // Spigot
+ } else {
+ world.applyPhysics(blockposition, this);
+ }
+ // PaperSpigot end
}
}
} else {
diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
index dc8bebd..1ca8b0d 100644
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
+++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
@@ -240,4 +240,10 @@ public class PaperSpigotWorldConfig
useAsyncLighting = getBoolean( "use-async-lighting", false );
log( "World async lighting: " + useAsyncLighting );
}
+
+ public boolean optimizeDraining;
+ private void optimizeDraining()
+ {
+ optimizeDraining = getBoolean( "optimize-draining", false );
+ }
}
--
2.3.5