mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-27 06:50:12 +01:00
Fix reading custom persistent entity data
This commit is contained in:
parent
8378335737
commit
17da34209f
1 changed files with 14 additions and 13 deletions
|
@ -363,7 +363,7 @@
|
|||
}
|
||||
|
||||
this.invulnerable = nbttagcompound.getBoolean("Invulnerable");
|
||||
@@ -1414,6 +1613,42 @@
|
||||
@@ -1414,6 +1613,43 @@
|
||||
} else {
|
||||
throw new IllegalStateException("Entity has invalid position");
|
||||
}
|
||||
|
@ -399,14 +399,15 @@
|
|||
+ bworld = ((org.bukkit.craftbukkit.CraftServer) server).getServer().getWorldServer(DimensionManager.OVERWORLD).getWorld();
|
||||
+ }
|
||||
+
|
||||
+ spawnIn(bworld == null? null : ((CraftWorld) bworld).getHandle());
|
||||
+ spawnIn(bworld == null ? null : ((CraftWorld) bworld).getHandle());
|
||||
+ }
|
||||
+ this.getBukkitEntity().readBukkitValues(nbttagcompound);
|
||||
+ // CraftBukkit end
|
||||
+
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.a(throwable, "Loading entity NBT");
|
||||
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being loaded");
|
||||
@@ -1489,9 +1724,22 @@
|
||||
@@ -1489,9 +1725,22 @@
|
||||
} else if (this.world.isClientSide) {
|
||||
return null;
|
||||
} else {
|
||||
|
@ -429,7 +430,7 @@
|
|||
this.world.addEntity(entityitem);
|
||||
return entityitem;
|
||||
}
|
||||
@@ -1595,7 +1843,7 @@
|
||||
@@ -1595,7 +1844,7 @@
|
||||
}
|
||||
|
||||
this.vehicle = entity;
|
||||
|
@ -438,7 +439,7 @@
|
|||
return true;
|
||||
}
|
||||
}
|
||||
@@ -1620,15 +1868,36 @@
|
||||
@@ -1620,15 +1869,36 @@
|
||||
Entity entity = this.vehicle;
|
||||
|
||||
this.vehicle = null;
|
||||
|
@ -477,7 +478,7 @@
|
|||
if (!this.world.isClientSide && entity instanceof EntityHuman && !(this.getRidingPassenger() instanceof EntityHuman)) {
|
||||
this.passengers.add(0, entity);
|
||||
} else {
|
||||
@@ -1636,15 +1905,33 @@
|
||||
@@ -1636,15 +1906,33 @@
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -512,7 +513,7 @@
|
|||
}
|
||||
|
||||
protected boolean q(Entity entity) {
|
||||
@@ -1687,11 +1974,17 @@
|
||||
@@ -1687,11 +1975,17 @@
|
||||
int i = this.ab();
|
||||
|
||||
if (this.ai) {
|
||||
|
@ -532,7 +533,7 @@
|
|||
this.world.getMethodProfiler().exit();
|
||||
}
|
||||
|
||||
@@ -1771,6 +2064,13 @@
|
||||
@@ -1771,6 +2065,13 @@
|
||||
}
|
||||
|
||||
public void setSwimming(boolean flag) {
|
||||
|
@ -546,7 +547,7 @@
|
|||
this.setFlag(4, flag);
|
||||
}
|
||||
|
||||
@@ -1831,16 +2131,56 @@
|
||||
@@ -1831,16 +2132,56 @@
|
||||
}
|
||||
|
||||
public void setAirTicks(int i) {
|
||||
|
@ -606,7 +607,7 @@
|
|||
}
|
||||
|
||||
public void j(boolean flag) {
|
||||
@@ -1988,20 +2328,33 @@
|
||||
@@ -1988,20 +2329,33 @@
|
||||
|
||||
@Nullable
|
||||
public Entity a(DimensionManager dimensionmanager) {
|
||||
|
@ -643,7 +644,7 @@
|
|||
if (dimensionmanager1 == DimensionManager.THE_END && dimensionmanager == DimensionManager.OVERWORLD) {
|
||||
blockposition = worldserver1.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING_NO_LEAVES, worldserver1.getSpawn());
|
||||
} else if (dimensionmanager == DimensionManager.THE_END) {
|
||||
@@ -2039,6 +2392,25 @@
|
||||
@@ -2039,6 +2393,25 @@
|
||||
vec3d = shapedetector_c.b;
|
||||
f = (float) shapedetector_c.c;
|
||||
}
|
||||
|
@ -669,7 +670,7 @@
|
|||
|
||||
this.world.getMethodProfiler().exitEnter("reloading");
|
||||
Entity entity = this.getEntityType().a((World) worldserver1);
|
||||
@@ -2048,6 +2420,14 @@
|
||||
@@ -2048,6 +2421,14 @@
|
||||
entity.setPositionRotation(blockposition, entity.yaw + f, entity.pitch);
|
||||
entity.setMot(vec3d);
|
||||
worldserver1.addEntityTeleport(entity);
|
||||
|
@ -684,7 +685,7 @@
|
|||
}
|
||||
|
||||
this.dead = true;
|
||||
@@ -2239,7 +2619,26 @@
|
||||
@@ -2239,7 +2620,26 @@
|
||||
}
|
||||
|
||||
public void a(AxisAlignedBB axisalignedbb) {
|
||||
|
|
Loading…
Reference in a new issue