Package thaumic.tinkerer.common.block.tile

Source Code of thaumic.tinkerer.common.block.tile.TileCamo

/**
* 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() {

  }
}
TOP

Related Classes of thaumic.tinkerer.common.block.tile.TileCamo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.