32 lines
1.4 KiB
Diff
32 lines
1.4 KiB
Diff
From e1c0f3575fee37a5f1b2ed2a4d83506563fde55c Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Thu, 27 Sep 2018 00:08:31 -0400
|
|
Subject: [PATCH] Ignore Dimension NBT field in Entity data
|
|
|
|
Minecraft is trying to set Dimension Objects based on a Dimension ID
|
|
|
|
Dimension ID's for custom worlds are dynamically allocate dand not guaranteed
|
|
consistent.
|
|
|
|
This removes checking the NBT data, as the Entity will always have its
|
|
DimensionManager set to the world it is being placed into.
|
|
|
|
This fixes corrupt entities breaking chunk saving in custom worlds.
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
|
index 969e7a111..941d4eae8 100644
|
|
--- a/src/main/java/net/minecraft/server/Entity.java
|
|
+++ b/src/main/java/net/minecraft/server/Entity.java
|
|
@@ -1632,7 +1632,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
|
this.setAirTicks(nbttagcompound.getShort("Air"));
|
|
this.onGround = nbttagcompound.getBoolean("OnGround");
|
|
if (nbttagcompound.hasKey("Dimension")) {
|
|
- this.dimension = DimensionManager.a(nbttagcompound.getInt("Dimension"));
|
|
+ //this.dimension = DimensionManager.a(nbttagcompound.getInt("Dimension")); // Paper - always controlled by world
|
|
}
|
|
|
|
this.invulnerable = nbttagcompound.getBoolean("Invulnerable");
|
|
--
|
|
2.21.0
|
|
|