Add implementation of the elder Guardian API

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2014-12-12 10:56:20 +11:00
parent 4a6bb1a983
commit c2571d4821
5 changed files with 81 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
package org.bukkit.craftbukkit.entity;
import net.minecraft.server.EntityGuardian;
import net.minecraft.server.GenericAttributes;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Guardian;
@@ -20,4 +21,30 @@ public class CraftGuardian extends CraftMonster implements Guardian {
public EntityType getType() {
return EntityType.GUARDIAN;
}
@Override
public boolean isElder() {
return ((EntityGuardian)entity).cl();
}
@Override
public void setElder( boolean shouldBeElder ) {
EntityGuardian entityGuardian = (EntityGuardian) entity;
if (!isElder() && shouldBeElder) {
entityGuardian.a( true );
} else if (isElder() && !shouldBeElder) {
entityGuardian.a( false );
// Since minecraft does not reset the elder Guardian to a guardian we have to do that
entity.a(0.85F, 0.85F);
entityGuardian.aW();
// Update pathfinding (random stroll back to 80)
entityGuardian.bq.b(80);
// Tell minecraft that we need persistence since the guardian changed
entityGuardian.bW();
}
}
}