package net.CyanWool.api.entity; import net.CyanWool.api.Server; import net.CyanWool.api.entity.component.ComponentManager; import net.CyanWool.api.entity.meta.MetadataMap; import net.CyanWool.api.world.Chunk; import net.CyanWool.api.world.Location; import net.CyanWool.api.world.World; import org.spacehq.opennbt.tag.builtin.CompoundTag; public interface Entity { public Location getLocation(); public World getWorld(); public void teleport(Location location); public boolean isAlive(); public boolean isBurning(); public boolean isImmuneToFire(); public boolean isInvisible(); public boolean isSneaking(); public boolean isSprinting(); public boolean isWet(); public boolean onGround(); public void kill(); public void onTick(); public void setInvisible(boolean flag); public int getFireTicks(); public void setFireTicks(int ticks); public EntityType getEntityType(); public int getEntityID(); public void setEntityID(int id); public int getLivedTicks(); public ComponentManager getComponentManager(); public MetadataMap getMetadata(); public boolean isMoveable(); public void setMoveable(boolean flag); public Chunk getChunk(); public void setOnGround(boolean onGround); // For movement component public void setSneaking(boolean flag); public void setSprinting(boolean flag); public void setPassenger(Entity entity); public Entity getPassenger(); public Entity getVehicle(); public void setVehicle(Entity entity); public boolean canSeeEntity(Entity entity); public boolean canSeeLocation(Location location); // public void loadCompoundTag(CompoundTag tag); // public void saveCompoundTag(CompoundTag tag); public CompoundTag getCompoundTag(); public boolean isMonster(); public Server getServer(); public void loadData(); public void saveData(); }