Paper/Spigot-Server-Patches/0321-Don-t-recheck-type-after-setting-a-block.patch

34 lines
1.3 KiB
Diff
Raw Normal View History

2019-05-06 02:58:04 +00:00
From 412513806cb6e6a36fdabcaef9f4d70e5db3d80b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 28 Sep 2018 22:27:33 -0400
Subject: [PATCH] Don't recheck type after setting a block
The server does a "Did my update succeed" check after setting
a blocks data to a chunk.
However, writes can not fail outside of a hard error or a
a race condition from multiple threads writing, which is
not something that should ever occur on the server.
So this check is pointless, as if it did occur, the server would
be having data corruption issues anyways.
This provides a small boost to all setType calls.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
2019-05-06 02:58:04 +00:00
index 21fae98c10..98ca253bda 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
2019-05-05 08:33:44 +00:00
@@ -361,7 +361,7 @@ public class Chunk implements IChunkAccess {
this.world.removeTileEntity(blockposition);
}
- if (chunksection.getType(i, j & 15, k).getBlock() != block) {
+ if (false && chunksection.getType(i, j & 15, k).getBlock() != block) { // Paper - don't need to recheck this - this would only fail due to non main thread writes which are not supported
return null;
} else {
2019-05-05 08:33:44 +00:00
TileEntity tileentity;
--
2019-05-05 11:32:20 +00:00
2.21.0