Modify entity origin API to store world/pos seperatly
This commit is contained in:
parent
d8c3fb7e47
commit
86953b2641
33 changed files with 150 additions and 120 deletions
|
@ -10,7 +10,7 @@ persistenting Living Entity, SPAWNER for spawners,
|
|||
or DEFAULT since data was not stored.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index f1d08ad4f29eb2b94dc24962bac177397df1110c..efc4d75baca19bb2c89be26e6880116dd9774b1b 100644
|
||||
index 479bea88e497adfe8cfacd53b5de825bba8e4722..278d8cc1987fd6edf5bd316d6a9163f8824ee654 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1111,6 +1111,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
|
||||
|
@ -35,7 +35,7 @@ index ea336bdf2f15aabe74de82ef6c29b93573254e31..da3100d6577166e222164c174b280205
|
|||
});
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index f95b6e77318f18c62b7c7dda2be23161ddd914d7..b2275c1171f52cbdf283d210c6488e974fa07d98 100644
|
||||
index 7cca53fbd5f56e274284ff6c26516e67f48acb5f..44835dc1a22d485ec3205d375a14be165a87b613 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -67,6 +67,8 @@ import net.minecraft.world.InteractionHand;
|
||||
|
@ -55,8 +55,8 @@ index f95b6e77318f18c62b7c7dda2be23161ddd914d7..b2275c1171f52cbdf283d210c6488e97
|
|||
// Paper end
|
||||
|
||||
public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper
|
||||
@@ -1843,6 +1846,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
nbt.setUUID("Paper.OriginWorld", origin.getWorld().getUID());
|
||||
@@ -1863,6 +1866,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
nbt.setUUID("Paper.OriginWorld", originWorld);
|
||||
nbt.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ()));
|
||||
}
|
||||
+ if (spawnReason != null) {
|
||||
|
@ -65,7 +65,7 @@ index f95b6e77318f18c62b7c7dda2be23161ddd914d7..b2275c1171f52cbdf283d210c6488e97
|
|||
// Save entity's from mob spawner status
|
||||
if (spawnedViaMobSpawner) {
|
||||
nbt.putBoolean("Paper.FromMobSpawner", true);
|
||||
@@ -1985,6 +1991,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
@@ -2006,6 +2012,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
|
||||
}
|
||||
|
||||
spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status
|
||||
|
@ -105,10 +105,10 @@ index 7bf688057d684aa1b60f29294c9a7e81ab6742d1..66ae43c40d4bad373b3a5269e8c78d7a
|
|||
// Spigot Start
|
||||
if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index d0774636b151e8dbd778f2e2f2e3de154ff18494..98d3818d38f487fc7e1302ee4af9e4898efec809 100644
|
||||
index 7f1d9932e0e4e09c3727544d053ad61a365290af..5bf488e5ed1981ef121291867062c2c2efaed6fc 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1164,5 +1164,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1173,5 +1173,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
public boolean fromMobSpawner() {
|
||||
return getHandle().spawnedViaMobSpawner;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue