91 lines
2.1 KiB
Java
91 lines
2.1 KiB
Java
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<dur)
|
|
{
|
|
this.ticksRemaining = dur;
|
|
}
|
|
}
|
|
}
|