tigres810

Untitled

Mar 4th, 2019
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.74 KB | None | 0 0
  1. package com.tigres810.adventurermod.blocks.machines.storages.tileentity;
  2.  
  3. import java.util.UUID;
  4.  
  5. import com.tigres810.adventurermod.Main;
  6. import com.tigres810.adventurermod.blocks.machines.BlockEntityFluxGenerator;
  7. import com.tigres810.adventurermod.blocks.machines.storages.BlockEntityFluxStorage;
  8. import com.tigres810.adventurermod.energy.CustomEnergyStorage;
  9. import com.tigres810.adventurermod.energy.IEnergyProvider;
  10. import com.tigres810.adventurermod.init.ModFluids;
  11. import com.tigres810.adventurermod.network.MessageEnergy;
  12. import com.tigres810.adventurermod.network.NetworkNetHandler;
  13. import com.tigres810.adventurermod.util.handler.RegistryHandler;
  14.  
  15. import net.minecraft.block.state.IBlockState;
  16. import net.minecraft.client.Minecraft;
  17. import net.minecraft.client.entity.EntityPlayerSP;
  18. import net.minecraft.entity.player.EntityPlayer;
  19. import net.minecraft.entity.player.EntityPlayerMP;
  20. import net.minecraft.nbt.NBTTagCompound;
  21. import net.minecraft.server.MinecraftServer;
  22. import net.minecraft.tileentity.TileEntity;
  23. import net.minecraft.util.EnumFacing;
  24. import net.minecraft.util.ITickable;
  25. import net.minecraft.util.text.ITextComponent;
  26. import net.minecraft.util.text.TextComponentTranslation;
  27. import net.minecraftforge.common.capabilities.Capability;
  28. import net.minecraftforge.energy.CapabilityEnergy;
  29. import net.minecraftforge.energy.IEnergyStorage;
  30. import net.minecraftforge.fluids.FluidTank;
  31. import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
  32. import net.minecraftforge.fml.common.network.NetworkRegistry;
  33. import net.minecraftforge.fml.common.network.NetworkRegistry.TargetPoint;
  34. import net.minecraftforge.fml.relauncher.Side;
  35. import net.minecraftforge.fml.relauncher.SideOnly;
  36. import net.minecraftforge.items.CapabilityItemHandler;
  37. import net.minecraftforge.items.ItemStackHandler;
  38.  
  39. public class TileEntityFluxStorage extends TileEntity implements ITickable, IEnergyProvider {
  40.  
  41. private CustomEnergyStorage storage = new CustomEnergyStorage(10000, 0, 100);
  42. public int energy = this.storage.getEnergyStored();
  43. private int previousenergy = energy;
  44. private int ticks = 0;
  45.  
  46. @Override
  47. public void update() {
  48. TileEntityFluxStorage te = (TileEntityFluxStorage) this.world.getTileEntity(this.pos);
  49. if(!world.isRemote) {
  50. if(this.world.isBlockPowered(this.pos)) {
  51. if(energy < storage.getMaxEnergyStored()) {
  52. this.energy += Math.min(100, this.storage.getMaxEnergyStored()-this.energy);
  53. }
  54. }
  55. /*
  56. // Server side
  57. if(this.ticks < 5) {
  58. this.ticks++;
  59. } else {
  60. this.ticks = 0;
  61. if(this.previousenergy != energy) {
  62. this.previousenergy = this.energy;
  63. NetworkNetHandler.INSTANCE.sendToAllTracking(new MessageEnergy(this.energy, this.pos), new TargetPoint(this.world.provider.getDimension(), this.pos.getX(), this.pos.getY(), this.pos.getZ(), 5));
  64. }
  65. }
  66. */
  67. }
  68. else {
  69. //System.out.println(this.energy);
  70. }
  71. }
  72.  
  73. public void consumeEnergy(int amount) {
  74. this.energy -= amount;
  75. }
  76.  
  77. public int getFuelValueFromStorage()
  78. {
  79. return this.energy;
  80. }
  81.  
  82. @Override
  83. public <T> T getCapability(Capability<T> capability, EnumFacing facing)
  84. {
  85. if(capability == CapabilityEnergy.ENERGY) return (T)this.storage;
  86. //if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) return (T)this.handler;
  87. return super.getCapability(capability, facing);
  88. }
  89.  
  90. @Override
  91. public boolean hasCapability(Capability<?> capability, EnumFacing facing)
  92. {
  93. if(capability == CapabilityEnergy.ENERGY) return true;
  94. //if(capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) return true;
  95. return super.hasCapability(capability, facing);
  96. }
  97.  
  98. @Override
  99. public NBTTagCompound writeToNBT(NBTTagCompound compound)
  100. {
  101. super.writeToNBT(compound);
  102. compound.setInteger("Energy", this.storage.getEnergyStored());
  103. return compound;
  104. }
  105.  
  106. @Override
  107. public void readFromNBT(NBTTagCompound compound)
  108. {
  109. super.readFromNBT(compound);
  110. int t = compound.getInteger("Energy");
  111. this.storage = new CustomEnergyStorage(10000, 0, 100, t);
  112. }
  113.  
  114. /*
  115. @Override
  116. public ITextComponent getDisplayName()
  117. {
  118. return new TextComponentTranslation("tile.flux_generator_block.name");
  119. }
  120. */
  121.  
  122. public int getEnergyStored()
  123. {
  124. return this.energy;
  125. }
  126.  
  127. public int getMaxEnergyStored()
  128. {
  129. return this.storage.getMaxEnergyStored();
  130. }
  131.  
  132. public boolean isUsableByPlayer(EntityPlayer player)
  133. {
  134. return this.world.getTileEntity(this.pos) != this ? false : player.getDistanceSq((double)this.pos.getX() + 0.5D, (double)this.pos.getY() + 0.5D, (double)this.pos.getZ() + 0.5D) <= 64.0D;
  135. }
  136.  
  137. @Override
  138. public int getEnergy() {
  139. return this.energy;
  140. }
  141.  
  142. @Override
  143. public void setEnergy(int amount) {
  144. this.energy = amount;
  145. }
  146.  
  147. }
Advertisement
Add Comment
Please, Sign In to add comment