Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-15 19:10:09 +01:00
eb38e51ee0
it used public method instead of private, and moved to world config also improved the implementation to not use obfuscated stuff Also removed the Fix Double chest conversion patch since its fixed in other ways in vanilla
41 Zeilen
2.1 KiB
Diff
41 Zeilen
2.1 KiB
Diff
From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 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 7ac07ac07ac0..7ac07ac07ac0 100644
|
|
--- a/src/main/java/net/minecraft/server/Entity.java
|
|
+++ b/src/main/java/net/minecraft/server/Entity.java
|
|
@@ -1583,7 +1583,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
|
nbttagcompound.setShort("Fire", (short) this.fireTicks);
|
|
nbttagcompound.setShort("Air", (short) this.getAirTicks());
|
|
nbttagcompound.setBoolean("OnGround", this.onGround);
|
|
- nbttagcompound.setInt("Dimension", this.dimension.getDimensionID());
|
|
+ //nbttagcompound.setInt("Dimension", this.dimension.getDimensionID()); // Paper - always controlled by world
|
|
nbttagcompound.setBoolean("Invulnerable", this.invulnerable);
|
|
nbttagcompound.setInt("PortalCooldown", this.portalCooldown);
|
|
nbttagcompound.a("UUID", this.getUniqueID());
|
|
@@ -1720,7 +1720,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.19.1
|
|
|