package com.github.jamesnorris.ablockalypse.aspect; import java.util.Map; import java.util.UUID; import org.bukkit.World; import org.bukkit.entity.Wolf; import com.github.jamesnorris.ablockalypse.utility.AblockalypseUtility; public class Hellhound extends ZAMob { public Hellhound(Map<String, Object> savings) { super(savings); setDefaults(); } /** * Creates a new instance of the GameWolf for ZA. * * @param wolf The wolf to be made into this instance * @param game The game to involve this wolf in */ public Hellhound(World world, UUID entityUUID, Game game) { super((Wolf) data.getEntityByUUID(world, entityUUID), game); setDefaults(); } @Override public double getHeight() { return .969D; } @Override public double getLength() { return 1.594D; } @Override public double getSpeed() { return .1D; } @Override public double getWidth() { return .5D; } /** * Gets the Wolf instance associated with this instance. * * @return The Wolf instance associated with this instance */ public Wolf getWolf() { return (Wolf) entity; } /** * Changes the GameWolfs' state to angry. * * @param tf Whether or not to make the wolf aggressive */ public void setAggressive(boolean tf) { ((Wolf) entity).setAngry(tf); } private void setDefaults() { setHitAbsorption(game.getLevel() / Math.sqrt(3 * game.getLevel()));// more than an undead entity.getWorld().strikeLightning(entity.getLocation()); setHitBox(AblockalypseUtility.createHellhoundHitBox(this)); setAggressive(true); } }