aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/server/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/server/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch')
-rw-r--r--patches/server/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/patches/server/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch b/patches/server/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch
new file mode 100644
index 0000000000..ace73cb969
--- /dev/null
+++ b/patches/server/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch
@@ -0,0 +1,52 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: kashike <[email protected]>
+Date: Wed, 21 Dec 2016 11:47:25 -0600
+Subject: [PATCH] Add API methods to control if armor stands can move
+
+
+diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+index af954b2c0c7106a231fb15172da3fa8e1d281d56..dae6835696e90bc5a541cacd37ea7aa88c60f4f4 100644
+--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
++++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+@@ -95,6 +95,7 @@ public class ArmorStand extends LivingEntity {
+ public Rotations rightArmPose;
+ public Rotations leftLegPose;
+ public Rotations rightLegPose;
++ public boolean canMove = true; // Paper
+
+ public ArmorStand(EntityType<? extends ArmorStand> type, Level world) {
+ super(type, world);
+@@ -949,4 +950,13 @@ public class ArmorStand extends LivingEntity {
+ public boolean canBeSeenByAnyone() {
+ return !this.isInvisible() && !this.isMarker();
+ }
++
++ // Paper start
++ @Override
++ public void move(net.minecraft.world.entity.MoverType type, Vec3 movement) {
++ if (this.canMove) {
++ super.move(type, movement);
++ }
++ }
++ // 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 04a7735d278c9e610a33294e65a17796e120fe7e..52ffc401bbb9fa768534a4b871f9cc7dbebb8b20 100644
+--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
+@@ -222,4 +222,15 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand {
+ public boolean hasEquipmentLock(EquipmentSlot equipmentSlot, LockType lockType) {
+ return (this.getHandle().disabledSlots & (1 << CraftEquipmentSlot.getNMS(equipmentSlot).getFilterFlag() + lockType.ordinal() * 8)) != 0;
+ }
++ // Paper start
++ @Override
++ public boolean canMove() {
++ return getHandle().canMove;
++ }
++
++ @Override
++ public void setCanMove(boolean move) {
++ getHandle().canMove = move;
++ }
++ // Paper end
+ }