package shedar.mods.ic2.nuclearcontrol.blocks.subblocks;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import shedar.mods.ic2.nuclearcontrol.containers.ContainerRangeTrigger;
import shedar.mods.ic2.nuclearcontrol.gui.GuiRangeTrigger;
import shedar.mods.ic2.nuclearcontrol.tileentities.TileEntityRangeTrigger;
import shedar.mods.ic2.nuclearcontrol.utils.BlockDamages;
public class RangeTrigger extends Subblock {
private static final int DAMAGE = BlockDamages.DAMAGE_RANGE_TRIGGER;
private static final float[] BOUNDS = { 0, 0, 0, 1, 1, 1 };
public static final byte I_BACK = 0;
public static final byte I_SIDE = 1;
public static final byte I_FACE_GRAY = 2;
public static final byte I_FACE_GREEN = 3;
public static final byte I_FACE_RED = 4;
private static final byte[][] mapping = {
{ I_BACK, I_FACE_GRAY, I_SIDE, I_SIDE, I_SIDE, I_SIDE },
{ I_FACE_GRAY, I_BACK, I_SIDE, I_SIDE, I_SIDE, I_SIDE },
{ I_SIDE, I_SIDE, I_BACK, I_FACE_GRAY, I_SIDE, I_SIDE },
{ I_SIDE, I_SIDE, I_FACE_GRAY, I_BACK, I_SIDE, I_SIDE },
{ I_SIDE, I_SIDE, I_SIDE, I_SIDE, I_BACK, I_FACE_GRAY },
{ I_SIDE, I_SIDE, I_SIDE, I_SIDE, I_FACE_GRAY, I_BACK } };
private IIcon[] icons = new IIcon[5];
public RangeTrigger() {
super(DAMAGE, "tile.blockRangeTrigger");
}
@Override
public TileEntity getTileEntity() {
return new TileEntityRangeTrigger();
}
@Override
public boolean isSolidBlockRequired() {
return false;
}
@Override
public boolean hasGui() {
return true;
}
@Override
public float[] getBlockBounds(TileEntity tileEntity) {
return BOUNDS;
}
@Override
public Container getServerGuiElement(TileEntity tileEntity,
EntityPlayer player) {
return new ContainerRangeTrigger(player,
(TileEntityRangeTrigger) tileEntity);
}
@Override
public Object getClientGuiElement(TileEntity tileEntity, EntityPlayer player) {
ContainerRangeTrigger containerRangeTrigger = new ContainerRangeTrigger(
player, (TileEntityRangeTrigger) tileEntity);
return new GuiRangeTrigger(containerRangeTrigger);
}
@Override
public IIcon getIcon(int index) {
return icons[index];
}
@Override
protected byte[][] getMapping() {
return mapping;
}
@Override
public void registerIcons(IIconRegister iconRegister) {
icons[I_BACK] = iconRegister
.registerIcon("nuclearcontrol:rangeTrigger/back");
icons[I_SIDE] = iconRegister
.registerIcon("nuclearcontrol:rangeTrigger/side");
icons[I_FACE_GRAY] = iconRegister
.registerIcon("nuclearcontrol:rangeTrigger/faceGray");
icons[I_FACE_GREEN] = iconRegister
.registerIcon("nuclearcontrol:rangeTrigger/faceGreen");
icons[I_FACE_RED] = iconRegister
.registerIcon("nuclearcontrol:rangeTrigger/faceRed");
}
}