package WayofTime.alchemicalWizardry.common.tileEntity; import net.minecraft.block.Block; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.Constants; import net.minecraftforge.fluids.IFluidBlock; import WayofTime.alchemicalWizardry.ModBlocks; public class TESpectralBlock extends TileEntity { private int ticksRemaining; public TESpectralBlock() { ticksRemaining = 0; } @Override public void readFromNBT(NBTTagCompound par1NBTTagCompound) { super.readFromNBT(par1NBTTagCompound); ticksRemaining = par1NBTTagCompound.getInteger("ticksRemaining"); } @Override public void writeToNBT(NBTTagCompound par1NBTTagCompound) { super.writeToNBT(par1NBTTagCompound); par1NBTTagCompound.setInteger("ticksRemaining", ticksRemaining); } @Override public void updateEntity() { super.updateEntity(); if(worldObj.isRemote) { return; } this.ticksRemaining--; if(this.ticksRemaining<=0) { worldObj.setBlockToAir(xCoord, yCoord, zCoord); } } public static boolean createSpectralBlockAtLocation(World world, int x, int y, int z, int duration) { if(!world.isAirBlock(x, y, z)) { return false; } //if(world.getTileEntity(x, y, z)==null) { world.setBlock(x, y, z, ModBlocks.spectralBlock); TileEntity tile = world.getTileEntity(x, y, z); if(tile instanceof TESpectralBlock) { ((TESpectralBlock) tile).setDuration(duration); return true; } } return false; } public void setDuration(int dur) { this.ticksRemaining = dur; } public void resetDuration(int dur) { if(this.ticksRemaining