Advertisement
Guest User

Untitled

a guest
Feb 1st, 2015
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.63 KB | None | 0 0
  1. package com.nextlevelminecraft.cad435.objloader.ColoredLamp;
  2.  
  3. import com.nextlevelminecraft.cad435.TNL_Client_Dependencies.libs.RGBVec;
  4. import net.minecraft.nbt.NBTTagCompound;
  5. import net.minecraft.network.NetworkManager;
  6. import net.minecraft.network.Packet;
  7. import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
  8. import net.minecraft.tileentity.TileEntity;
  9. import net.minecraft.world.EnumSkyBlock;
  10. import net.minecraft.world.World;
  11.  
  12. import java.util.Timer;
  13. import java.util.TimerTask;
  14.  
  15.  
  16. public class LampTileEntity extends TileEntity {
  17.  
  18.  
  19.     public RGBVec RGB_VALUES = new RGBVec(255,255,255);
  20.     public NBTTagCompound Data;
  21.  
  22.  
  23.     @Override
  24.     public void writeToNBT(NBTTagCompound var1) {
  25.         try {
  26.             var1.setIntArray("RGB_VALUE", RGB_VALUES.toIntArray());
  27.             super.writeToNBT(var1);
  28.         }
  29.         catch(Exception e)
  30.         {
  31.  
  32.         }
  33.     }
  34.  
  35.     @Override
  36.     public void readFromNBT(NBTTagCompound var1) {
  37.         try {
  38.             RGB_VALUES = new RGBVec(var1.getIntArray("RGB_VALUE"));
  39.             Data = var1;
  40.             super.readFromNBT(var1);
  41.         }
  42.         catch(Exception e)
  43.         {
  44.  
  45.         }
  46.     }
  47.  
  48.     public void setRGB_VALUES(RGBVec vec)
  49.     {
  50.         RGB_VALUES = vec;
  51.     }
  52.  
  53.     @Override
  54.     public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt)
  55.     {
  56.         NBTTagCompound tag = pkt.func_148857_g();
  57.         this.readFromNBT(tag);
  58.     }
  59.  
  60.  
  61.     @Override
  62.     public Packet getDescriptionPacket()
  63.     {
  64.         NBTTagCompound syncData = Data;
  65.         this.writeToNBT(syncData);
  66.         this.updateContainingBlockInfo();
  67.         return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 1, syncData);
  68.     }
  69.  
  70.  
  71.     public void CustomupdateEntity()
  72.     {
  73.  
  74.         try {
  75.             this.getWorldObj().markBlockForUpdate(this.xCoord, this.yCoord, this.zCoord);
  76.  
  77.             this.getWorldObj().updateLightByType(EnumSkyBlock.Block,this.xCoord,this.yCoord,this.zCoord);
  78.         }
  79.         catch (Exception e) {}
  80.  
  81.         doDelayedLightUpdate(this.getWorldObj(),this.xCoord,this.yCoord,this.zCoord);
  82.     }
  83.  
  84.  
  85.     private void doDelayedLightUpdate(final World world,final int x ,final int y, final int z)
  86.     {
  87.  
  88.  
  89.         final Timer DelayTick = new Timer();
  90.         DelayTick.schedule(new TimerTask() {
  91.             @Override
  92.             public void run() {
  93.  
  94.                 world.markBlockForUpdate(x,y,z);
  95.                 world.updateLightByType(EnumSkyBlock.Block, x, y, z);
  96.                 DelayTick.cancel();
  97.                 DelayTick.purge();
  98.  
  99.             }
  100.         }, 500);
  101.  
  102.  
  103.     }
  104.  
  105.  
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement