mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 15:49:00 +01:00
Fix entity motion tag from mob spawners (#5718)
This commit is contained in:
parent
acfee45986
commit
bf6831d330
1 changed files with 13 additions and 1 deletions
|
@ -38,7 +38,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
private static final int CURRENT_LEVEL = 2;
|
private static final int CURRENT_LEVEL = 2;
|
||||||
+ boolean preserveMotion = true; // Paper - keep initial motion on first setPositionRotation
|
+ public boolean preserveMotion = true; // Paper - keep initial motion on first setPositionRotation
|
||||||
static boolean isLevelAtLeast(NBTTagCompound tag, int level) {
|
static boolean isLevelAtLeast(NBTTagCompound tag, int level) {
|
||||||
return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level;
|
return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level;
|
||||||
}
|
}
|
||||||
|
@ -56,6 +56,18 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||||
this.g(d0, d1, d2);
|
this.g(d0, d1, d2);
|
||||||
this.yaw = f;
|
this.yaw = f;
|
||||||
this.pitch = f1;
|
this.pitch = f1;
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
|
||||||
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/MobSpawnerAbstract.java
|
||||||
|
@@ -0,0 +0,0 @@ public abstract class MobSpawnerAbstract {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ entity.preserveMotion = true; // Paper - preserve entity motion from tag
|
||||||
|
entity.setPositionRotation(entity.locX(), entity.locY(), entity.locZ(), world.random.nextFloat() * 360.0F, 0.0F);
|
||||||
|
if (entity instanceof EntityInsentient) {
|
||||||
|
EntityInsentient entityinsentient = (EntityInsentient) entity;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
|
|
Loading…
Reference in a new issue