/**
* This class was created by <Vazkii>. It's distributed as
* part of the ThaumicTinkerer Mod.
*
* ThaumicTinkerer is Open Source and distributed under a
* Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License
* (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB)
*
* ThaumicTinkerer is a Derivative Work on Thaumcraft 4.
* Thaumcraft 4 (c) Azanor 2012
* (http://www.minecraftforum.net/topic/1585216-)
*
* File Created @ [Dec 27, 2013, 6:26:18 PM (GMT)]
*/
package thaumic.tinkerer.common.block.tile;
import appeng.api.movable.IMovableTile;
import net.minecraft.block.Block;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
import net.minecraft.tileentity.TileEntity;
public class TileCamo extends TileEntity implements IMovableTile {
private static final String TAG_CAMO = "camo";
private static final String TAG_CAMO_META = "camoMeta";
public Block camo;
public int camoMeta;
@Override
public boolean canUpdate() {
return false;
}
@Override
public void writeToNBT(NBTTagCompound par1nbtTagCompound) {
super.writeToNBT(par1nbtTagCompound);
writeCustomNBT(par1nbtTagCompound);
}
@Override
public void readFromNBT(NBTTagCompound par1nbtTagCompound) {
super.readFromNBT(par1nbtTagCompound);
readCustomNBT(par1nbtTagCompound);
}
public void writeCustomNBT(NBTTagCompound cmp) {
if (camo != null) {
cmp.setString(TAG_CAMO, Block.blockRegistry.getNameForObject(camo));
cmp.setInteger(TAG_CAMO_META, camoMeta);
}
}
public void readCustomNBT(NBTTagCompound cmp) {
camo = Block.getBlockFromName(cmp.getString(TAG_CAMO));
camoMeta = cmp.getInteger(TAG_CAMO_META);
}
@Override
public S35PacketUpdateTileEntity getDescriptionPacket() {
NBTTagCompound nbttagcompound = new NBTTagCompound();
writeCustomNBT(nbttagcompound);
return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, -999, nbttagcompound);
}
@Override
public void onDataPacket(NetworkManager manager, S35PacketUpdateTileEntity packet) {
super.onDataPacket(manager, packet);
readCustomNBT(packet.func_148857_g());
worldObj.markBlockRangeForRenderUpdate(xCoord, yCoord, zCoord, xCoord, yCoord, zCoord);
}
@Override
public boolean prepareToMove() {
return true;
}
@Override
public void doneMoving() {
}
}