/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.arkhamnetwork.arcade.commons.bar; import org.bukkit.Location; import org.bukkit.craftbukkit.v1_7_R3.CraftWorld; /** * * @author devan_000 */ public abstract class FakeDragon { public static final float MAX_HEALTH = 200; private int x; private int y; private int z; private int pitch = 0; private int yaw = 0; private byte xvel = 0; private byte yvel = 0; private byte zvel = 0; public float health = 0; private boolean visible = false; public String name; private Object world; public FakeDragon(String name, Location loc, int percent) { this.name = name; this.x = loc.getBlockX(); this.y = loc.getBlockY(); this.z = loc.getBlockZ(); this.health = percent / 100F * MAX_HEALTH; this.world = loc.getWorld(); } public FakeDragon(String name, Location loc) { this.name = name; this.x = loc.getBlockX(); this.y = loc.getBlockY(); this.z = loc.getBlockZ(); this.world = ((CraftWorld) loc.getWorld()).getHandle(); } public float getMaxHealth() { return MAX_HEALTH; } public void setHealth(int percent) { this.health = percent / 100F * MAX_HEALTH; } public void setName(String name) { this.name = name; } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } public int getZ() { return z; } public void setZ(int z) { this.z = z; } public int getPitch() { return pitch; } public void setPitch(int pitch) { this.pitch = pitch; } public int getYaw() { return yaw; } public void setYaw(int yaw) { this.yaw = yaw; } public byte getXvel() { return xvel; } public void setXvel(byte xvel) { this.xvel = xvel; } public byte getYvel() { return yvel; } public void setYvel(byte yvel) { this.yvel = yvel; } public byte getZvel() { return zvel; } public void setZvel(byte zvel) { this.zvel = zvel; } public boolean isVisible() { return visible; } public void setVisible(boolean visible) { this.visible = visible; } public Object getWorld() { return world; } public void setWorld(Object world) { this.world = world; } public abstract Object getSpawnPacket(); public abstract Object getDestroyPacket(); public abstract Object getMetaPacket(Object watcher); public abstract Object getTeleportPacket(Location loc); public abstract Object getWatcher(); }