mirror of
https://github.com/PaperMC/Paper.git
synced 2025-08-17 13:24:17 -07:00
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 data83783357
SPIGOT-4980: Shields will not be put on cooldown when hit with an axe8d0f3722
SPIGOT-4752: Fixed inconsistency between isChunkLoaded and chunk load/unload events3f9f31c3
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;
|
|
--
|