diff options
author | Peter Crawley <[email protected]> | 2022-05-16 11:38:14 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2022-05-16 11:38:14 +0100 |
commit | 0116751101d8d1cbdb373b33a06ac265aa4e4e28 (patch) | |
tree | f994878314ee89dc8dc2484d00b181ff13404e11 | |
parent | 8d1de8de8d2d529fe992e5fb363141d380dd6922 (diff) | |
download | Paper-0116751101d8d1cbdb373b33a06ac265aa4e4e28.tar.gz Paper-0116751101d8d1cbdb373b33a06ac265aa4e4e28.zip |
List world on tile entity placement exception (#7709)
4 files changed, 14 insertions, 13 deletions
diff --git a/patches/server/0055-Add-exception-reporting-event.patch b/patches/server/0055-Add-exception-reporting-event.patch index 45631534f1..119710f7ae 100644 --- a/patches/server/0055-Add-exception-reporting-event.patch +++ b/patches/server/0055-Add-exception-reporting-event.patch @@ -143,7 +143,7 @@ index 2d290d2e17517bc39828e05369ca5bc5ce892c27..fee21a585b95448a5edab70002e9c4ea } diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index ed6203119fe2e4ee47a2d51c84df5b7c236f32da..108c7ec010f826f9b9bb2db0987d2bcc18266482 100644 +index ed6203119fe2e4ee47a2d51c84df5b7c236f32da..7a63c26e360fd054bf237df3eeffc466d73d5dfb 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -1,6 +1,7 @@ @@ -154,7 +154,7 @@ index ed6203119fe2e4ee47a2d51c84df5b7c236f32da..108c7ec010f826f9b9bb2db0987d2bcc import com.google.common.collect.Maps; import com.google.common.collect.UnmodifiableIterator; import com.mojang.logging.LogUtils; -@@ -544,10 +545,15 @@ public class LevelChunk extends ChunkAccess { +@@ -544,10 +545,16 @@ public class LevelChunk extends ChunkAccess { // CraftBukkit start } else { @@ -167,14 +167,15 @@ index ed6203119fe2e4ee47a2d51c84df5b7c236f32da..108c7ec010f826f9b9bb2db0987d2bcc + "Attempted to place a tile entity (" + blockEntity + ") at " + blockEntity.getBlockPos().getX() + "," + + blockEntity.getBlockPos().getY() + "," + blockEntity.getBlockPos().getZ() + + " (" + getBlockState(blockposition) + ") where there was no entity tile!\n" + -+ "Chunk coordinates: " + (this.chunkPos.x * 16) + "," + (this.chunkPos.z * 16)); ++ "Chunk coordinates: " + (this.chunkPos.x * 16) + "," + (this.chunkPos.z * 16) + ++ "\nWorld: " + level.getLevel().dimension().location()); + e.printStackTrace(); + ServerInternalException.reportInternalException(e); + // Paper end // CraftBukkit end } } -@@ -1027,6 +1033,7 @@ public class LevelChunk extends ChunkAccess { +@@ -1027,6 +1034,7 @@ public class LevelChunk extends ChunkAccess { // Paper start - Prevent tile entity and entity crashes final String msg = String.format("BlockEntity threw exception at %s:%s,%s,%s", LevelChunk.this.getLevel().getWorld().getName(), this.getPos().getX(), this.getPos().getY(), this.getPos().getZ()); net.minecraft.server.MinecraftServer.LOGGER.error(msg, throwable); diff --git a/patches/server/0387-Improved-Watchdog-Support.patch b/patches/server/0387-Improved-Watchdog-Support.patch index 85abc80077..f3c007dfff 100644 --- a/patches/server/0387-Improved-Watchdog-Support.patch +++ b/patches/server/0387-Improved-Watchdog-Support.patch @@ -311,10 +311,10 @@ index 334fd625829c8e5e9c434b184f6d0084b2d6ccc8..e4c2bd0131a54495fbd1930ad0462251 final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level.getWorld().getName(), entity.getX(), entity.getY(), entity.getZ()); MinecraftServer.LOGGER.error(msg, throwable); diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 6129ea877c95445d358baf5036be8c4eee1f2770..9d667be3fe04b7d86986bd1ecaf4fce8b63198ae 100644 +index e48549ceb50b102495d17a7f05e879fe04e8bc30..9516d5cabbdc2d587bea54cbc02548d02a434893 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -1057,6 +1057,7 @@ public class LevelChunk extends ChunkAccess { +@@ -1058,6 +1058,7 @@ public class LevelChunk extends ChunkAccess { gameprofilerfiller.pop(); } catch (Throwable throwable) { diff --git a/patches/server/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch b/patches/server/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch index 1139f389e8..8af04be6da 100644 --- a/patches/server/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch +++ b/patches/server/0465-Implement-Chunk-Priority-Urgency-System-for-Chunks.patch @@ -1148,7 +1148,7 @@ index ba0f9d729a4d4bd35050ab41d6d70ee3ea46beeb..3c3960abd63297bf6c247bc48de3b77a public float yRotO; public float xRotO; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index dc95aaa62220f2042e287c7d0d69753b8e891fba..06577d9cd276e65f2fdf5082b9ee4dc2d5211611 100644 +index 47257e22c75acf7f8eb582d7bbee5e8a6af9b4a6..b3752e1f1ed310cb104c8f955a94baf787a9e9ac 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -141,7 +141,7 @@ public class LevelChunk extends ChunkAccess { @@ -1160,7 +1160,7 @@ index dc95aaa62220f2042e287c7d0d69753b8e891fba..06577d9cd276e65f2fdf5082b9ee4dc2 private long neighbourChunksLoadedBitset; private final LevelChunk[] loadedNeighbourChunks = new LevelChunk[(NEIGHBOUR_CACHE_RADIUS * 2 + 1) * (NEIGHBOUR_CACHE_RADIUS * 2 + 1)]; -@@ -672,6 +672,7 @@ public class LevelChunk extends ChunkAccess { +@@ -673,6 +673,7 @@ public class LevelChunk extends ChunkAccess { // CraftBukkit start public void loadCallback() { @@ -1168,7 +1168,7 @@ index dc95aaa62220f2042e287c7d0d69753b8e891fba..06577d9cd276e65f2fdf5082b9ee4dc2 // Paper start - neighbour cache int chunkX = this.chunkPos.x; int chunkZ = this.chunkPos.z; -@@ -726,6 +727,7 @@ public class LevelChunk extends ChunkAccess { +@@ -727,6 +728,7 @@ public class LevelChunk extends ChunkAccess { } public void unloadCallback() { diff --git a/patches/server/0853-Replace-player-chunk-loader-system.patch b/patches/server/0853-Replace-player-chunk-loader-system.patch index d968e97a93..99f8589907 100644 --- a/patches/server/0853-Replace-player-chunk-loader-system.patch +++ b/patches/server/0853-Replace-player-chunk-loader-system.patch @@ -2041,7 +2041,7 @@ index 03824f73ecbac8ef6da586feb82f851557f82b6a..160c0f37aa3aaf7598f852acf9bd444f if ((i & 1) != 0) { diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index b46648301396930478391967b371bf8d201901e1..c8fb4b2bc86c9aa2e7c2e9ee10208cf9598b39ef 100644 +index 5566dceb6b0434dbcc68ba443cb357463fe6e2d3..cd2640855485960bef12f8d3e04734058b0dc525 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -191,6 +191,43 @@ public class LevelChunk extends ChunkAccess { @@ -2088,7 +2088,7 @@ index b46648301396930478391967b371bf8d201901e1..c8fb4b2bc86c9aa2e7c2e9ee10208cf9 } public final boolean isAnyNeighborsLoaded() { -@@ -794,6 +831,7 @@ public class LevelChunk extends ChunkAccess { +@@ -795,6 +832,7 @@ public class LevelChunk extends ChunkAccess { // Paper end - neighbour cache org.bukkit.Server server = this.level.getCraftServer(); this.level.getChunkSource().addLoadedChunk(this); // Paper @@ -2096,7 +2096,7 @@ index b46648301396930478391967b371bf8d201901e1..c8fb4b2bc86c9aa2e7c2e9ee10208cf9 if (server != null) { /* * If it's a new world, the first few chunks are generated inside -@@ -918,7 +956,10 @@ public class LevelChunk extends ChunkAccess { +@@ -919,7 +957,10 @@ public class LevelChunk extends ChunkAccess { }); } @@ -2107,7 +2107,7 @@ index b46648301396930478391967b371bf8d201901e1..c8fb4b2bc86c9aa2e7c2e9ee10208cf9 ChunkPos chunkcoordintpair = this.getPos(); for (int i = 0; i < this.postProcessing.length; ++i) { -@@ -956,6 +997,11 @@ public class LevelChunk extends ChunkAccess { +@@ -957,6 +998,11 @@ public class LevelChunk extends ChunkAccess { this.pendingBlockEntities.clear(); this.upgradeData.upgrade(this); |