3
0
Mirror von https://github.com/PaperMC/Paper.git synchronisiert 2025-01-08 22:30:09 +01:00
Paper/Spigot-Server-Patches/0184-Add-API-methods-to-control-if-armour-stands-can-move.patch
Zach Brown 974b0afca9
Remove last bit of chunk exists region file fix
CraftBukkit removed their implementation that caused this issue,
switching to Mojang's implementation which doesn't appear to share it. I
already removed the important bit in the last upstream merge, this is
just unused and unnecessary now. So we remove it.
2017-04-29 05:27:31 -05:00

55 Zeilen
1.8 KiB
Diff

From 4b84f76c9cb64b655951120ee73e732bcb545d00 Mon Sep 17 00:00:00 2001
From: kashike <kashike@vq.lc>
Date: Wed, 21 Dec 2016 11:47:25 -0600
Subject: [PATCH] Add API methods to control if armour stands can move
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index 96bb11005..7738ca385 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -50,6 +50,7 @@ public class EntityArmorStand extends EntityLiving {
public Vector3f rightArmPose;
public Vector3f leftLegPose;
public Vector3f rightLegPose;
+ public boolean canMove = true; // Paper
public EntityArmorStand(World world) {
super(world);
@@ -763,4 +764,13 @@ public class EntityArmorStand extends EntityLiving {
public boolean cK() {
return false;
}
+
+ // Paper start
+ @Override
+ public void move(EnumMoveType moveType, double x, double y, double z) {
+ if (this.canMove) {
+ super.move(moveType, x, y, z);
+ }
+ }
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
index 2b66a08ad..8a06cb165 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
@@ -211,4 +211,14 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand {
public void setMarker(boolean marker) {
getHandle().setMarker(marker);
}
+
+ @Override
+ public boolean canMove() {
+ return getHandle().canMove;
+ }
+
+ @Override
+ public void setCanMove(boolean move) {
+ getHandle().canMove = move;
+ }
}
--
2.12.2.windows.2