Better fix for invulnerable crystals and improve Origin API (#5761)
This commit is contained in:
parent
0437aeebb7
commit
513393d4cf
4 changed files with 51 additions and 34 deletions
|
@ -50,6 +50,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
// CraftBukkit end
|
||||
+ // Paper start - Save the entity's origin location
|
||||
+ if (this.origin != null) {
|
||||
+ nbttagcompound.setUUID("Paper.OriginWorld", origin.getWorld().getUID());
|
||||
+ nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ()));
|
||||
+ }
|
||||
+ // Paper end
|
||||
|
@ -63,7 +64,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ // Paper start - Restore the entity's origin location
|
||||
+ NBTTagList originTag = nbttagcompound.getList("Paper.Origin", 6);
|
||||
+ if (!originTag.isEmpty()) {
|
||||
+ origin = new org.bukkit.Location(world.getWorld(), originTag.getDoubleAt(0), originTag.getDoubleAt(1), originTag.getDoubleAt(2));
|
||||
+ org.bukkit.World originWorld = world.getWorld();
|
||||
+ if (nbttagcompound.hasKey("Paper.OriginWorld")) {
|
||||
+ originWorld = Bukkit.getWorld(nbttagcompound.getUUID("Paper.OriginWorld"));
|
||||
+ }
|
||||
+ origin = new org.bukkit.Location(originWorld, originTag.getDoubleAt(0), originTag.getDoubleAt(1), originTag.getDoubleAt(2));
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue