From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Telesphoreo Date: Mon, 22 Aug 2022 21:33:37 -0500 Subject: [PATCH] Fixes out of bounds HangingEntity crash exploit diff --git a/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java b/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java index 334a47b5e0d205c57dfcbb17168cbd3f21d15606..0227f4ed153d229747722ab709932741e0998dc1 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java +++ b/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java @@ -270,6 +270,13 @@ public abstract class HangingEntity extends Entity { public void readAdditionalSaveData(CompoundTag nbt) { BlockPos blockposition = new BlockPos(nbt.getInt("TileX"), nbt.getInt("TileY"), nbt.getInt("TileZ")); + // Scissors start - Fixes exploit where bad TileX, TileY, and TileZ coordinates can crash servers + if (level.isLoadedAndInBounds(blockposition)) + { + this.pos = blockposition; + } + // Scissors end + if (!blockposition.closerThan(this.blockPosition(), 16.0D)) { HangingEntity.LOGGER.error("Hanging entity at invalid position: {}", blockposition); } else {