Always try to load entity origin location from new NBT tag

This commit is contained in:
Byteflux 2016-03-25 09:32:09 -07:00
parent ced183982a
commit 5bd7a9ab62
4 changed files with 15 additions and 17 deletions

View File

@ -1,11 +1,11 @@
From bfa2721aa0e6c9406977d18b648f2eae3d082109 Mon Sep 17 00:00:00 2001
From 81278a4d41700b713cb97c818585210855c54d41 Mon Sep 17 00:00:00 2001
From: Byteflux <byte@byteflux.net>
Date: Tue, 1 Mar 2016 23:45:08 -0600
Subject: [PATCH] Entity Origin API
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index f4b9481..eaaca75 100644
index f4b9481..cf1278d 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -142,6 +142,7 @@ public abstract class Entity implements ICommandListener {
@ -28,16 +28,14 @@ index f4b9481..eaaca75 100644
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Saving entity NBT");
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being saved");
@@ -1480,6 +1486,15 @@ public abstract class Entity implements ICommandListener {
@@ -1480,6 +1486,13 @@ public abstract class Entity implements ICommandListener {
}
// CraftBukkit end
+ // Paper start - Restore the entity's origin location
+ if (origin == null) {
+ NBTTagList originTag = nbttagcompound.getList("Paper.Origin", 6);
+ if (!originTag.isEmpty()) {
+ origin = new Location(world.getWorld(), originTag.e(0), originTag.e(1), originTag.e(2));
+ }
+ NBTTagList originTag = nbttagcompound.getList("Paper.Origin", 6);
+ if (!originTag.isEmpty()) {
+ origin = new Location(world.getWorld(), originTag.e(0), originTag.e(1), originTag.e(2));
+ }
+ // Paper end
+

View File

@ -1,11 +1,11 @@
From 5287c52a14a27be99d61b5744b4738fd0c443c69 Mon Sep 17 00:00:00 2001
From d0210b26c5be480045aca3b84d89b62f6797e372 Mon Sep 17 00:00:00 2001
From: Nik Gil <nikmanG@users.noreply.github.com>
Date: Thu, 3 Mar 2016 04:04:19 -0600
Subject: [PATCH] Made EntityDismountEvent Cancellable
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 446c0aa..8d4e4f5 100644
index 919766c..730d864 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -38,6 +38,7 @@ import org.bukkit.craftbukkit.event.CraftEventFactory;
@ -16,7 +16,7 @@ index 446c0aa..8d4e4f5 100644
// CraftBukkit end
public abstract class Entity implements ICommandListener {
@@ -1752,6 +1753,11 @@ public abstract class Entity implements ICommandListener {
@@ -1750,6 +1751,11 @@ public abstract class Entity implements ICommandListener {
}
// CraftBukkit end
Bukkit.getPluginManager().callEvent( new org.spigotmc.event.entity.EntityDismountEvent(entity.getBukkitEntity(), this.getBukkitEntity())); // Spigot

View File

@ -1,4 +1,4 @@
From dd87711174327d19cb459835683ab0d47efbd768 Mon Sep 17 00:00:00 2001
From 50052b1803ecfffb6f06b08868fb2346c0a760d4 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 8 Mar 2016 23:25:45 -0500
Subject: [PATCH] Disable Scoreboards for non players by default
@ -37,10 +37,10 @@ index 871535c..25950bd 100644
if (scoreboard.addPlayerToTeam(s2, s)) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 8d4e4f5..55fe96b 100644
index 730d864..b23c399 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1861,6 +1861,7 @@ public abstract class Entity implements ICommandListener {
@@ -1859,6 +1859,7 @@ public abstract class Entity implements ICommandListener {
}
public ScoreboardTeamBase aO() {

View File

@ -1,4 +1,4 @@
From 2d7c10790e8d85fa5a372613eca4f0fd633190cb Mon Sep 17 00:00:00 2001
From 286f4b6ccc65850b0a080340007de097d68e55c5 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 22 Mar 2016 00:55:23 -0400
Subject: [PATCH] Don't teleport dead entities
@ -7,10 +7,10 @@ Had some issue with this in past, and this is the vanilla logic.
Potentially an old CB change that's no longer needed.
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index bf8e194..5a6ad50 100644
index a5494fb..b698e79 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2111,7 +2111,7 @@ public abstract class Entity implements ICommandListener {
@@ -2109,7 +2109,7 @@ public abstract class Entity implements ICommandListener {
}
public Entity teleportTo(Location exit, boolean portal) {