papermc/Spigot-Server-Patches/0044-Optimize-draining.patch
Zach Brown 233814297b Remove the spigot TileEntity/Entity capping feature
It appears to cause visual glitching issues with certain TNT entities
fired from cannons. TileEntity tick capping has already been removed
for some time, Entity tick capping removal is new to this patch.
2015-05-30 01:39:20 -05:00

48 lines
2.2 KiB
Diff

From 64506d4ff5992f83e11201d20dbace097cdce21e 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.4.1.windows.1