summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
index 9a6a8a88..7bcb75be 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWolf.java
@@ -4,6 +4,7 @@ package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityWolf;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Wolf;
+import net.minecraft.server.PathEntity;
public class CraftWolf extends CraftAnimals implements Wolf {
public CraftWolf(CraftServer server, EntityWolf wolf) {
@@ -26,6 +27,32 @@ public class CraftWolf extends CraftAnimals implements Wolf {
getHandle().setSitting(sitting);
}
+ public boolean isTame() {
+ return getHandle().m_();
+ }
+
+ public void setTame(boolean tame) {
+ getHandle().d(tame);
+ }
+
+ public String getOwner() {
+ return getHandle().x();
+ }
+
+ public void setOwner(String player) {
+ EntityWolf e = getHandle();
+
+ if ((player != null) && (player.length() > 0)) {
+ e.d(true); /* Make him tame */
+ e.a((PathEntity)null); /* Clear path */
+ e.a(player); /* Set owner */
+ }
+ else {
+ e.d(false); /* Make him not tame */
+ e.a(""); /* Clear owner */
+ }
+ }
+
@Override
public EntityWolf getHandle() {
return (EntityWolf) entity;
@@ -33,6 +60,6 @@ public class CraftWolf extends CraftAnimals implements Wolf {
@Override
public String toString() {
- return "CraftWolf[anger=" + isAngry() + ",owner=" + getTarget() + "]";
+ return "CraftWolf[anger=" + isAngry() + ",owner=" + getOwner() + ",tame=" + isTame() + ",sitting=" + isSitting() + "]";
}
}