Add ArmorStand Marker NBT API

This commit is contained in:
Zach Brown 2015-05-03 17:47:28 -05:00
parent a3f9c58fed
commit 47ad0d451e
2 changed files with 82 additions and 0 deletions

View file

@ -0,0 +1,32 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Anonymoose <MrAnonHimself@anon.life>
Date: Sun, 3 May 2015 17:44:20 -0500
Subject: [PATCH] Add ArmorStand Marker NBT API
diff --git a/src/main/java/org/bukkit/entity/ArmorStand.java b/src/main/java/org/bukkit/entity/ArmorStand.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/entity/ArmorStand.java
+++ b/src/main/java/org/bukkit/entity/ArmorStand.java
@@ -0,0 +0,0 @@ public interface ArmorStand extends LivingEntity {
* @param small whether this is scaled down
*/
void setSmall(boolean small);
+
+ /**
+ * Returns whether this armor stand has a small
+ * bounding box. This gets the NBT Marker tag
+ *
+ * @return whether the bounding box is small or not
+ */
+ boolean isSmallBoundingBox();
+
+ /**
+ * Sets whether this armor stand should have a small
+ * bounding box. This sets the NBT Marker tag
+ *
+ * @param small whether the bounding box is small or not
+ */
+ void setSmallBoundingBox(boolean small);
}
--

View file

@ -0,0 +1,50 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Anonymoose <MrAnonHimself@anon.life>
Date: Sun, 3 May 2015 17:44:20 -0500
Subject: [PATCH] Add ArmorStand Marker NBT API
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
return (this.datawatcher.getByte(10) & 8) != 0;
}
- private void n(boolean flag) {
+ public void n(boolean flag) { // PaperSpigot - private -> public, setSmallBoundingBox (Marker) NBT
byte b0 = this.datawatcher.getByte(10);
if (flag) {
@@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
this.datawatcher.watch(10, Byte.valueOf(b0));
}
- public boolean s() {
+ public boolean s() { // PaperSpigot - isSmallBoundingBox
return (this.datawatcher.getByte(10) & 16) != 0;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
@@ -0,0 +0,0 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand {
(float) Math.toDegrees(old.getZ())
);
}
+
+ // PaperSpigot start - Implement bounding box (Marker) API
+ @Override
+ public boolean isSmallBoundingBox() {
+ return getHandle().s();
+ }
+
+ @Override
+ public void setSmallBoundingBox(boolean small) {
+ getHandle().n(small);
+ }
+ // PaperSpigot end
}
--