package net.tropicraft.entity.placeable;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityHanging;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
import net.tropicraft.entity.underdasea.StarfishType;
import net.tropicraft.registry.TCItemRegistry;
import cpw.mods.fml.common.registry.IEntityAdditionalSpawnData;
/**
* Represents an ashen mask hanging on the wall.
* @maskType: determines which mask. Can be derived from item metadata.
*
* @author CBaakman
*/
public class EntityWallMask extends EntityHanging implements IEntityAdditionalSpawnData {
private int maskType;
public EntityWallMask(World par1World) {
super(par1World);
this.setMaskType(0);
}
public EntityWallMask(World world, int xCoord, int yCoord, int zCoord, int direction, int maskType) {
super(world, xCoord, yCoord, zCoord, direction);
setDirection(direction);
this.maskType = maskType;
}
@Override
public int getWidthPixels() {
return 12;
}
@Override
public int getHeightPixels() {
return 12;
}
// @Override
public void dropItemStack() {
this.entityDropItem(new ItemStack(TCItemRegistry.ashenMask, 1, this.getMaskType ()), 0.0F);
}
@Override
public void writeEntityToNBT(NBTTagCompound nbt) {
super.writeEntityToNBT(nbt);
nbt.setByte("maskType", (byte)getMaskType());
}
@Override
public void readEntityFromNBT(NBTTagCompound nbt) {
super.readEntityFromNBT(nbt);
setMaskType(nbt.getByte("maskType"));
}
public int getMaskType() {
return maskType;
}
public void setMaskType(int maskType) {
this.maskType = maskType;
}
/**
* Called when this entity is broken. Entity parameter may be null.
*/
@Override
public void onBroken(Entity entity) {
this.dropItemStack();
}
@Override
public void writeSpawnData(ByteBuf data) {
data.writeInt(field_146063_b);
data.writeInt(field_146064_c);
data.writeInt(field_146062_d);
data.writeByte(maskType);
data.writeByte(hangingDirection);
}
@Override
public void readSpawnData(ByteBuf data) {
field_146063_b = data.readInt();
field_146064_c = data.readInt();
field_146062_d = data.readInt();
maskType = data.readByte();
setDirection(data.readByte());
}
}