Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: 17da3420 Fix reading custom persistent entity data 83783357 SPIGOT-4980: Shields will not be put on cooldown when hit with an axe 8d0f3722 SPIGOT-4752: Fixed inconsistency between isChunkLoaded and chunk load/unload events 3f9f31c3 SPIGOT-4982: Armor disappearing while breaking the armor stand
31 lines
1.3 KiB
Diff
31 lines
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 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
|
|
index 836b012474..12f0fe618d 100644
|
|
--- a/src/main/java/net/minecraft/server/Chunk.java
|
|
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
|
@@ -0,0 +0,0 @@ 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 {
|
|
TileEntity tileentity;
|
|
--
|