TechReborn/src/main/java/techreborn/tiles/TileHeatGenerator.java

137 lines
2.6 KiB
Java
Raw Normal View History

2015-05-10 17:42:01 +02:00
package techreborn.tiles;
import ic2.api.energy.prefab.BasicSource;
import ic2.api.energy.tile.IEnergyTile;
import ic2.api.tile.IWrenchable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import java.util.List;
2015-05-10 17:42:01 +02:00
public class TileHeatGenerator extends TileMachineBase implements IWrenchable, IEnergyTile {
public BasicSource energy;
2015-05-17 01:44:46 +02:00
public static final int euTick = ConfigTechReborn.heatGeneratorOutput;
2015-05-10 17:42:01 +02:00
public TileHeatGenerator()
{
2015-05-17 01:44:46 +02:00
energy = new BasicSource(this, 1000, euTick);
2015-05-10 17:42:01 +02:00
}
@Override
public void updateEntity()
{
super.updateEntity();
energy.updateEntity();
if(!worldObj.isRemote)
{
if(worldObj.getBlock(xCoord + 1, yCoord, zCoord) == Blocks.lava)
{
energy.addEnergy(euTick);
}
else if(worldObj.getBlock(xCoord, yCoord, zCoord + 1) == Blocks.lava)
{
energy.addEnergy(euTick);
}
else if(worldObj.getBlock(xCoord, yCoord, zCoord - 1) == Blocks.lava)
{
energy.addEnergy(euTick);
}
else if(worldObj.getBlock(xCoord - 1, yCoord, zCoord) == Blocks.lava)
{
energy.addEnergy(euTick);
}
else if(worldObj.getBlock(xCoord, yCoord - 1, zCoord) == Blocks.lava)
{
energy.addEnergy(euTick);
}
2015-05-17 01:44:46 +02:00
2015-05-10 17:42:01 +02:00
}
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, int side)
{
return false;
}
@Override
public short getFacing()
{
return 0;
}
@Override
public void setFacing(short facing)
{
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer)
{
if (entityPlayer.isSneaking())
{
return true;
}
return false;
2015-05-10 17:42:01 +02:00
}
@Override
public float getWrenchDropRate()
{
return 1.0F;
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
{
2015-05-10 17:46:22 +02:00
return new ItemStack(ModBlocks.heatGenerator, 1);
2015-05-10 17:42:01 +02:00
}
public boolean isComplete()
{
return false;
}
@Override
public void invalidate()
{
energy.invalidate();
2015-06-06 22:41:41 +02:00
super.invalidate();
2015-05-10 17:42:01 +02:00
}
@Override
public void onChunkUnload()
{
energy.onChunkUnload();
2015-06-06 22:41:41 +02:00
super.onChunkUnload();
2015-05-10 17:42:01 +02:00
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
energy.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
energy.writeToNBT(tagCompound);
}
@Override
2015-05-17 01:44:46 +02:00
public void addWailaInfo(List<String> info)
{
super.addWailaInfo(info);
info.add("Power Generarating " + euTick +" EU/t");
}
2015-05-10 17:42:01 +02:00
}