Added code formatter

This commit is contained in:
modmuss50 2016-03-24 00:39:26 +00:00
parent 710f9c04e7
commit b9448d5d90
444 changed files with 32383 additions and 26254 deletions

View file

@ -1,6 +1,5 @@
package techreborn.tiles.generator;
import ic2.api.tile.IWrenchable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
@ -10,7 +9,6 @@ import net.minecraft.network.Packet;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.fluids.*;
import reborncore.api.fuel.FluidPowerManager;
import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
@ -19,254 +17,298 @@ import reborncore.common.util.Inventory;
import reborncore.common.util.Tank;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import ic2.api.tile.IWrenchable;
public class TileDieselGenerator extends TilePowerAcceptor implements IWrenchable,
IFluidHandler, IInventory {
public class TileDieselGenerator extends TilePowerAcceptor implements IWrenchable, IFluidHandler, IInventory
{
public Tank tank = new Tank("TileDieselGenerator",
FluidContainerRegistry.BUCKET_VOLUME * 10, this);
public Inventory inventory = new Inventory(3, "TileDieselGenerator", 64, this);
public static final int euTick = ConfigTechReborn.ThermalGenertaorOutput;
public Tank tank = new Tank("TileDieselGenerator", FluidContainerRegistry.BUCKET_VOLUME * 10, this);
public Inventory inventory = new Inventory(3, "TileDieselGenerator", 64, this);
public static final int euTick = ConfigTechReborn.ThermalGenertaorOutput;
public TileDieselGenerator() {
super(ConfigTechReborn.ThermalGeneratorTier);
}
public TileDieselGenerator()
{
super(ConfigTechReborn.ThermalGeneratorTier);
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
return false;
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side)
{
return false;
}
@Override
public EnumFacing getFacing() {
return getFacingEnum();
}
@Override
public EnumFacing getFacing()
{
return getFacingEnum();
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer) {
if (entityPlayer.isSneaking()) {
return true;
}
return false;
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer)
{
if (entityPlayer.isSneaking())
{
return true;
}
return false;
}
@Override
public float getWrenchDropRate() {
return 1.0F;
}
@Override
public float getWrenchDropRate()
{
return 1.0F;
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
return new ItemStack(ModBlocks.DieselGenerator, 1);
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
{
return new ItemStack(ModBlocks.DieselGenerator, 1);
}
@Override
public int fill(EnumFacing from, FluidStack resource, boolean doFill) {
int filled = tank.fill(resource, doFill);
tank.compareAndUpdate();
return filled;
}
@Override
public int fill(EnumFacing from, FluidStack resource, boolean doFill)
{
int filled = tank.fill(resource, doFill);
tank.compareAndUpdate();
return filled;
}
@Override
public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain) {
if (resource == null || !resource.isFluidEqual(tank.getFluid())) {
return null;
}
FluidStack fluidStack = tank.drain(resource.amount, doDrain);
tank.compareAndUpdate();
return fluidStack;
}
@Override
public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain)
{
if (resource == null || !resource.isFluidEqual(tank.getFluid()))
{
return null;
}
FluidStack fluidStack = tank.drain(resource.amount, doDrain);
tank.compareAndUpdate();
return fluidStack;
}
@Override
public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain) {
FluidStack drained = tank.drain(maxDrain, doDrain);
tank.compareAndUpdate();
return drained;
}
@Override
public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain)
{
FluidStack drained = tank.drain(maxDrain, doDrain);
tank.compareAndUpdate();
return drained;
}
@Override
public boolean canFill(EnumFacing from, Fluid fluid) {
return FluidPowerManager.fluidPowerValues.containsKey(fluid);
}
@Override
public boolean canFill(EnumFacing from, Fluid fluid)
{
return FluidPowerManager.fluidPowerValues.containsKey(fluid);
}
@Override
public boolean canDrain(EnumFacing from, Fluid fluid) {
return tank.getFluid() == null || tank.getFluid().getFluid() == fluid;
}
@Override
public boolean canDrain(EnumFacing from, Fluid fluid)
{
return tank.getFluid() == null || tank.getFluid().getFluid() == fluid;
}
@Override
public FluidTankInfo[] getTankInfo(EnumFacing from) {
return new FluidTankInfo[]{tank.getInfo()};
}
@Override
public FluidTankInfo[] getTankInfo(EnumFacing from)
{
return new FluidTankInfo[] { tank.getInfo() };
}
@Override
public void readFromNBT(NBTTagCompound tagCompound) {
super.readFromNBT(tagCompound);
tank.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
tank.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound) {
super.writeToNBT(tagCompound);
tank.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
tank.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
public Packet getDescriptionPacket() {
NBTTagCompound nbtTag = new NBTTagCompound();
writeToNBT(nbtTag);
return new SPacketUpdateTileEntity(this.getPos(), 1, nbtTag);
}
public Packet getDescriptionPacket()
{
NBTTagCompound nbtTag = new NBTTagCompound();
writeToNBT(nbtTag);
return new SPacketUpdateTileEntity(this.getPos(), 1, nbtTag);
}
@Override
public void onDataPacket(NetworkManager net,
SPacketUpdateTileEntity packet) {
worldObj.markBlockRangeForRenderUpdate(getPos().getX(), getPos().getY(), getPos().getZ(), getPos().getX(),
getPos().getY(), getPos().getZ());
readFromNBT(packet.getNbtCompound());
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet)
{
worldObj.markBlockRangeForRenderUpdate(getPos().getX(), getPos().getY(), getPos().getZ(), getPos().getX(),
getPos().getY(), getPos().getZ());
readFromNBT(packet.getNbtCompound());
}
@Override
public void updateEntity() {
super.updateEntity();
if (!worldObj.isRemote) {
FluidUtils.drainContainers(this, inventory, 0, 1);
FluidUtils.fillContainers(this, inventory, 0, 1, tank.getFluidType());
if (tank.getFluidType() != null && getStackInSlot(2) == null) {
inventory.setInventorySlotContents(2, new ItemStack(tank
.getFluidType().getBlock()));
syncWithAll();
} else if (tank.getFluidType() == null && getStackInSlot(2) != null) {
setInventorySlotContents(2, null);
syncWithAll();
}
@Override
public void updateEntity()
{
super.updateEntity();
if (!worldObj.isRemote)
{
FluidUtils.drainContainers(this, inventory, 0, 1);
FluidUtils.fillContainers(this, inventory, 0, 1, tank.getFluidType());
if (tank.getFluidType() != null && getStackInSlot(2) == null)
{
inventory.setInventorySlotContents(2, new ItemStack(tank.getFluidType().getBlock()));
syncWithAll();
} else if (tank.getFluidType() == null && getStackInSlot(2) != null)
{
setInventorySlotContents(2, null);
syncWithAll();
}
if (!tank.isEmpty() && tank.getFluidType() != null && FluidPowerManager.fluidPowerValues.containsKey(tank.getFluidType())) {
double powerIn = FluidPowerManager.fluidPowerValues.get(tank.getFluidType());
if (getFreeSpace() >= powerIn) {
addEnergy(powerIn, false);
tank.drain(1, true);
}
}
}
if (!tank.isEmpty() && tank.getFluidType() != null
&& FluidPowerManager.fluidPowerValues.containsKey(tank.getFluidType()))
{
double powerIn = FluidPowerManager.fluidPowerValues.get(tank.getFluidType());
if (getFreeSpace() >= powerIn)
{
addEnergy(powerIn, false);
tank.drain(1, true);
}
}
}
}
}
@Override
public int getSizeInventory() {
return inventory.getSizeInventory();
}
@Override
public int getSizeInventory()
{
return inventory.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int p_70301_1_) {
return inventory.getStackInSlot(p_70301_1_);
}
@Override
public ItemStack getStackInSlot(int p_70301_1_)
{
return inventory.getStackInSlot(p_70301_1_);
}
@Override
public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_) {
return inventory.decrStackSize(p_70298_1_, p_70298_2_);
}
@Override
public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_)
{
return inventory.decrStackSize(p_70298_1_, p_70298_2_);
}
@Override
public ItemStack removeStackFromSlot(int p_70304_1_) {
return inventory.removeStackFromSlot(p_70304_1_);
}
@Override
public ItemStack removeStackFromSlot(int p_70304_1_)
{
return inventory.removeStackFromSlot(p_70304_1_);
}
@Override
public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_) {
inventory.setInventorySlotContents(p_70299_1_, p_70299_2_);
}
@Override
public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_)
{
inventory.setInventorySlotContents(p_70299_1_, p_70299_2_);
}
@Override
public int getInventoryStackLimit() {
return inventory.getInventoryStackLimit();
}
@Override
public int getInventoryStackLimit()
{
return inventory.getInventoryStackLimit();
}
@Override
public boolean isUseableByPlayer(EntityPlayer p_70300_1_) {
return inventory.isUseableByPlayer(p_70300_1_);
}
@Override
public boolean isUseableByPlayer(EntityPlayer p_70300_1_)
{
return inventory.isUseableByPlayer(p_70300_1_);
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_)
{
return inventory.isItemValidForSlot(p_94041_1_, p_94041_2_);
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) {
return inventory.isItemValidForSlot(p_94041_1_, p_94041_2_);
}
@Override
public double getMaxPower()
{
return ConfigTechReborn.ThermalGeneratorCharge;
}
@Override
public double getMaxPower() {
return ConfigTechReborn.ThermalGeneratorCharge;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction)
{
return false;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return false;
}
@Override
public boolean canProvideEnergy(EnumFacing direction)
{
return true;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return true;
}
@Override
public double getMaxOutput()
{
return 64;
}
@Override
public double getMaxOutput() {
return 64;
}
@Override
public double getMaxInput()
{
return 0;
}
@Override
public double getMaxInput() {
return 0;
}
@Override
public EnumPowerTier getTier()
{
return EnumPowerTier.LOW;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.LOW;
}
@Override
public void openInventory(EntityPlayer player)
{
inventory.openInventory(player);
}
@Override
public void openInventory(EntityPlayer player) {
inventory.openInventory(player);
}
@Override
public void closeInventory(EntityPlayer player)
{
inventory.closeInventory(player);
}
@Override
public void closeInventory(EntityPlayer player) {
inventory.closeInventory(player);
}
@Override
public int getField(int id)
{
return inventory.getField(id);
}
@Override
public void setField(int id, int value)
{
inventory.setField(id, value);
}
@Override
public int getField(int id) {
return inventory.getField(id);
}
@Override
public int getFieldCount()
{
return inventory.getFieldCount();
}
@Override
public void setField(int id, int value) {
inventory.setField(id, value);
}
@Override
public void clear()
{
inventory.clear();
}
@Override
public int getFieldCount() {
return inventory.getFieldCount();
}
@Override
public String getName()
{
return inventory.getName();
}
@Override
public void clear() {
inventory.clear();
}
@Override
public boolean hasCustomName()
{
return inventory.hasCustomName();
}
@Override
public String getName() {
return inventory.getName();
}
@Override
public boolean hasCustomName() {
return inventory.hasCustomName();
}
@Override
public ITextComponent getDisplayName() {
return inventory.getDisplayName();
}
@Override
public ITextComponent getDisplayName()
{
return inventory.getDisplayName();
}
}

View file

@ -1,6 +1,5 @@
package techreborn.tiles.generator;
import ic2.api.tile.IWrenchable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.inventory.IInventory;
@ -14,185 +13,222 @@ import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.util.Inventory;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import ic2.api.tile.IWrenchable;
public class TileDragonEggSiphoner extends TilePowerAcceptor implements IWrenchable, IInventory {
public class TileDragonEggSiphoner extends TilePowerAcceptor implements IWrenchable, IInventory
{
public Inventory inventory = new Inventory(3, "TileAlloySmelter", 64, this);
public static final int euTick = ConfigTechReborn.DragoneggsiphonerOutput;
public Inventory inventory = new Inventory(3, "TileAlloySmelter", 64, this);
public static final int euTick = ConfigTechReborn.DragoneggsiphonerOutput;
public TileDragonEggSiphoner() {
super(2);
}
public TileDragonEggSiphoner()
{
super(2);
}
@Override
public void updateEntity() {
super.updateEntity();
@Override
public void updateEntity()
{
super.updateEntity();
if (!worldObj.isRemote) {
if (worldObj.getBlockState(new BlockPos(getPos().getX(), getPos().getY() + 1, getPos().getZ())).getBlock() == Blocks.dragon_egg) {
addEnergy(euTick);
}
}
}
if (!worldObj.isRemote)
{
if (worldObj.getBlockState(new BlockPos(getPos().getX(), getPos().getY() + 1, getPos().getZ()))
.getBlock() == Blocks.dragon_egg)
{
addEnergy(euTick);
}
}
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
return false;
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side)
{
return false;
}
@Override
public EnumFacing getFacing() {
return getFacingEnum();
}
@Override
public EnumFacing getFacing()
{
return getFacingEnum();
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer) {
if (entityPlayer.isSneaking()) {
return true;
}
return false;
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer)
{
if (entityPlayer.isSneaking())
{
return true;
}
return false;
}
@Override
public float getWrenchDropRate() {
return 1.0F;
}
@Override
public float getWrenchDropRate()
{
return 1.0F;
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
return new ItemStack(ModBlocks.Dragoneggenergysiphoner, 1);
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
{
return new ItemStack(ModBlocks.Dragoneggenergysiphoner, 1);
}
public boolean isComplete() {
return false;
}
public boolean isComplete()
{
return false;
}
@Override
public void readFromNBT(NBTTagCompound tagCompound) {
super.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound) {
super.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
@Override
public int getSizeInventory() {
return inventory.getSizeInventory();
}
@Override
public int getSizeInventory()
{
return inventory.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int slot) {
return inventory.getStackInSlot(slot);
}
@Override
public ItemStack getStackInSlot(int slot)
{
return inventory.getStackInSlot(slot);
}
@Override
public ItemStack decrStackSize(int slot, int amount) {
return inventory.decrStackSize(slot, amount);
}
@Override
public ItemStack decrStackSize(int slot, int amount)
{
return inventory.decrStackSize(slot, amount);
}
@Override
public ItemStack removeStackFromSlot(int slot) {
return inventory.removeStackFromSlot(slot);
}
@Override
public ItemStack removeStackFromSlot(int slot)
{
return inventory.removeStackFromSlot(slot);
}
@Override
public void setInventorySlotContents(int slot, ItemStack stack) {
inventory.setInventorySlotContents(slot, stack);
}
@Override
public void setInventorySlotContents(int slot, ItemStack stack)
{
inventory.setInventorySlotContents(slot, stack);
}
@Override
public void openInventory(EntityPlayer player) {
inventory.openInventory(player);
}
@Override
public void openInventory(EntityPlayer player)
{
inventory.openInventory(player);
}
@Override
public void closeInventory(EntityPlayer player) {
inventory.closeInventory(player);
}
@Override
public void closeInventory(EntityPlayer player)
{
inventory.closeInventory(player);
}
@Override
public int getField(int id)
{
return inventory.getField(id);
}
@Override
public int getField(int id) {
return inventory.getField(id);
}
@Override
public void setField(int id, int value)
{
inventory.setField(id, value);
}
@Override
public void setField(int id, int value) {
inventory.setField(id, value);
}
@Override
public int getFieldCount()
{
return inventory.getFieldCount();
}
@Override
public int getFieldCount() {
return inventory.getFieldCount();
}
@Override
public void clear()
{
inventory.clear();
}
@Override
public void clear() {
inventory.clear();
}
@Override
public String getName()
{
return inventory.getName();
}
@Override
public String getName() {
return inventory.getName();
}
@Override
public boolean hasCustomName()
{
return inventory.hasCustomName();
}
@Override
public boolean hasCustomName() {
return inventory.hasCustomName();
}
@Override
public ITextComponent getDisplayName()
{
return inventory.getDisplayName();
}
@Override
public ITextComponent getDisplayName() {
return inventory.getDisplayName();
}
@Override
public int getInventoryStackLimit()
{
return inventory.getInventoryStackLimit();
}
@Override
public int getInventoryStackLimit() {
return inventory.getInventoryStackLimit();
}
@Override
public boolean isUseableByPlayer(EntityPlayer player)
{
return inventory.isUseableByPlayer(player);
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
return inventory.isUseableByPlayer(player);
}
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack)
{
return inventory.isItemValidForSlot(slot, stack);
}
@Override
public double getMaxPower()
{
return 1000;
}
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
return inventory.isItemValidForSlot(slot, stack);
}
@Override
public boolean canAcceptEnergy(EnumFacing direction)
{
return false;
}
@Override
public double getMaxPower() {
return 1000;
}
@Override
public boolean canProvideEnergy(EnumFacing direction)
{
return true;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return false;
}
@Override
public double getMaxOutput()
{
return euTick;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return true;
}
@Override
public double getMaxInput()
{
return 0;
}
@Override
public double getMaxOutput() {
return euTick;
}
@Override
public double getMaxInput() {
return 0;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.HIGH;
}
@Override
public EnumPowerTier getTier()
{
return EnumPowerTier.HIGH;
}
}

View file

@ -1,6 +1,8 @@
package techreborn.tiles.generator;
import ic2.api.tile.IWrenchable;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
@ -10,7 +12,6 @@ import net.minecraft.network.Packet;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.fluids.*;
import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.util.FluidUtils;
@ -18,272 +19,315 @@ import reborncore.common.util.Inventory;
import reborncore.common.util.Tank;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import ic2.api.tile.IWrenchable;
import java.util.HashMap;
import java.util.Map;
public class TileGasTurbine extends TilePowerAcceptor implements IWrenchable, IFluidHandler, IInventory
{
public class TileGasTurbine extends TilePowerAcceptor implements IWrenchable,
IFluidHandler, IInventory {
public Tank tank = new Tank("TileGasTurbine", FluidContainerRegistry.BUCKET_VOLUME * 10, this);
public Inventory inventory = new Inventory(3, "TileGasTurbine", 64, this);
public Tank tank = new Tank("TileGasTurbine",
FluidContainerRegistry.BUCKET_VOLUME * 10, this);
public Inventory inventory = new Inventory(3, "TileGasTurbine", 64, this);
// TODO: run this off config
public static final int euTick = 16;
//TODO: run this off config
public static final int euTick = 16;
Map<String, Integer> fluids = new HashMap<String, Integer>();
Map<String, Integer> fluids = new HashMap<String, Integer>();
// We use this to keep track of fractional millibuckets, allowing us to hit
// our eu/bucket targets while still only ever removing integer millibucket
// amounts.
double pendingWithdraw = 0.0;
//We use this to keep track of fractional millibuckets, allowing us to hit our eu/bucket targets while still only ever removing integer millibucket amounts.
double pendingWithdraw = 0.0;
public TileGasTurbine()
{
super(ConfigTechReborn.ThermalGeneratorTier);
// TODO: fix this to have Gas Turbine generator values
public TileGasTurbine() {
super(ConfigTechReborn.ThermalGeneratorTier);
//TODO: fix this to have Gas Turbine generator values
fluids.put("fluidhydrogen", 15000);
fluids.put("fluidmethane", 45000);
}
fluids.put("fluidhydrogen", 15000);
fluids.put("fluidmethane", 45000);
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side)
{
return false;
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
return false;
}
@Override
public EnumFacing getFacing()
{
return getFacingEnum();
}
@Override
public EnumFacing getFacing() {
return getFacingEnum();
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer)
{
if (entityPlayer.isSneaking())
{
return true;
}
return false;
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer) {
if (entityPlayer.isSneaking()) {
return true;
}
return false;
}
@Override
public float getWrenchDropRate()
{
return 1.0F;
}
@Override
public float getWrenchDropRate() {
return 1.0F;
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
{
return new ItemStack(ModBlocks.Gasturbine, 1);
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
return new ItemStack(ModBlocks.Gasturbine, 1);
}
@Override
public int fill(EnumFacing from, FluidStack resource, boolean doFill)
{
int fill = tank.fill(resource, doFill);
tank.compareAndUpdate();
return fill;
}
@Override
public int fill(EnumFacing from, FluidStack resource, boolean doFill) {
int fill = tank.fill(resource, doFill);
tank.compareAndUpdate();
return fill;
}
@Override
public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain)
{
FluidStack drain = tank.drain(resource.amount, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public FluidStack drain(EnumFacing from, FluidStack resource,
boolean doDrain) {
FluidStack drain = tank.drain(resource.amount, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain)
{
FluidStack drain = tank.drain(maxDrain, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain) {
FluidStack drain = tank.drain(maxDrain, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public boolean canFill(EnumFacing from, Fluid fluid)
{
if (fluid != null)
{
return fluids.containsKey(FluidRegistry.getFluidName(fluid));
}
return false;
}
@Override
public boolean canFill(EnumFacing from, Fluid fluid) {
if (fluid != null) {
return fluids.containsKey(FluidRegistry.getFluidName(fluid));
}
return false;
}
@Override
public boolean canDrain(EnumFacing from, Fluid fluid)
{
return tank.getFluid() == null || tank.getFluid().getFluid() == fluid;
}
@Override
public boolean canDrain(EnumFacing from, Fluid fluid) {
return tank.getFluid() == null || tank.getFluid().getFluid() == fluid;
}
@Override
public FluidTankInfo[] getTankInfo(EnumFacing from)
{
return new FluidTankInfo[] { tank.getInfo() };
}
@Override
public FluidTankInfo[] getTankInfo(EnumFacing from) {
return new FluidTankInfo[]{tank.getInfo()};
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
tank.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void readFromNBT(NBTTagCompound tagCompound) {
super.readFromNBT(tagCompound);
tank.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
tank.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound) {
super.writeToNBT(tagCompound);
tank.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
public Packet getDescriptionPacket()
{
NBTTagCompound nbtTag = new NBTTagCompound();
writeToNBT(nbtTag);
return new SPacketUpdateTileEntity(this.getPos(), 1, nbtTag);
}
public Packet getDescriptionPacket() {
NBTTagCompound nbtTag = new NBTTagCompound();
writeToNBT(nbtTag);
return new SPacketUpdateTileEntity(this.getPos(), 1, nbtTag);
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet)
{
worldObj.markBlockRangeForRenderUpdate(getPos().getX(), getPos().getY(), getPos().getZ(), getPos().getX(),
getPos().getY(), getPos().getZ());
readFromNBT(packet.getNbtCompound());
}
@Override
public void onDataPacket(NetworkManager net,
SPacketUpdateTileEntity packet) {
worldObj.markBlockRangeForRenderUpdate(getPos().getX(), getPos().getY(), getPos().getZ(), getPos().getX(),
getPos().getY(), getPos().getZ());
readFromNBT(packet.getNbtCompound());
}
@Override
public void updateEntity()
{
super.updateEntity();
if (!worldObj.isRemote)
{
FluidUtils.drainContainers(this, inventory, 0, 1);
tank.compareAndUpdate();
}
@Override
public void updateEntity() {
super.updateEntity();
if (!worldObj.isRemote) {
FluidUtils.drainContainers(this, inventory, 0, 1);
tank.compareAndUpdate();
}
if (tank.getFluidAmount() > 0 && getMaxPower() - getEnergy() >= euTick)
{
Integer euPerBucket = fluids.get(tank.getFluidType().getName());
// float totalTicks = (float)euPerBucket / 8f; //x eu per bucket / 8
// eu per tick
// float millibucketsPerTick = 1000f / totalTicks;
float millibucketsPerTick = 16000f / (float) euPerBucket;
pendingWithdraw += millibucketsPerTick;
if (tank.getFluidAmount() > 0
&& getMaxPower() - getEnergy() >= euTick) {
Integer euPerBucket = fluids.get(tank.getFluidType().getName());
//float totalTicks = (float)euPerBucket / 8f; //x eu per bucket / 8 eu per tick
//float millibucketsPerTick = 1000f / totalTicks;
float millibucketsPerTick = 16000f / (float) euPerBucket;
pendingWithdraw += millibucketsPerTick;
int currentWithdraw = (int) pendingWithdraw; // float --> int
// conversion floors
// the float
pendingWithdraw -= currentWithdraw;
int currentWithdraw = (int) pendingWithdraw; //float --> int conversion floors the float
pendingWithdraw -= currentWithdraw;
tank.drain(currentWithdraw, true);
addEnergy(euTick);
}
if (tank.getFluidType() != null && getStackInSlot(2) == null)
{
inventory.setInventorySlotContents(2, new ItemStack(tank.getFluidType().getBlock()));
} else if (tank.getFluidType() == null && getStackInSlot(2) != null)
{
setInventorySlotContents(2, null);
}
}
tank.drain(currentWithdraw, true);
addEnergy(euTick);
}
if (tank.getFluidType() != null && getStackInSlot(2) == null) {
inventory.setInventorySlotContents(2, new ItemStack(tank
.getFluidType().getBlock()));
} else if (tank.getFluidType() == null && getStackInSlot(2) != null) {
setInventorySlotContents(2, null);
}
}
@Override
public int getSizeInventory()
{
return inventory.getSizeInventory();
}
@Override
public int getSizeInventory() {
return inventory.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int p_70301_1_)
{
return inventory.getStackInSlot(p_70301_1_);
}
@Override
public ItemStack getStackInSlot(int p_70301_1_) {
return inventory.getStackInSlot(p_70301_1_);
}
@Override
public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_)
{
return inventory.decrStackSize(p_70298_1_, p_70298_2_);
}
@Override
public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_) {
return inventory.decrStackSize(p_70298_1_, p_70298_2_);
}
@Override
public ItemStack removeStackFromSlot(int p_70304_1_)
{
return inventory.removeStackFromSlot(p_70304_1_);
}
@Override
public ItemStack removeStackFromSlot(int p_70304_1_) {
return inventory.removeStackFromSlot(p_70304_1_);
}
@Override
public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_)
{
inventory.setInventorySlotContents(p_70299_1_, p_70299_2_);
}
@Override
public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_) {
inventory.setInventorySlotContents(p_70299_1_, p_70299_2_);
}
@Override
public void openInventory(EntityPlayer player)
{
inventory.openInventory(player);
}
@Override
public void openInventory(EntityPlayer player) {
inventory.openInventory(player);
}
@Override
public void closeInventory(EntityPlayer player)
{
inventory.closeInventory(player);
}
@Override
public void closeInventory(EntityPlayer player) {
inventory.closeInventory(player);
}
@Override
public int getField(int id)
{
return inventory.getField(id);
}
@Override
public void setField(int id, int value)
{
inventory.setField(id, value);
}
@Override
public int getField(int id) {
return inventory.getField(id);
}
@Override
public int getFieldCount()
{
return inventory.getFieldCount();
}
@Override
public void setField(int id, int value) {
inventory.setField(id, value);
}
@Override
public void clear()
{
inventory.clear();
}
@Override
public int getFieldCount() {
return inventory.getFieldCount();
}
@Override
public String getName()
{
return inventory.getName();
}
@Override
public void clear() {
inventory.clear();
}
@Override
public boolean hasCustomName()
{
return inventory.hasCustomName();
}
@Override
public String getName() {
return inventory.getName();
}
@Override
public ITextComponent getDisplayName()
{
return inventory.getDisplayName();
}
@Override
public boolean hasCustomName() {
return inventory.hasCustomName();
}
@Override
public int getInventoryStackLimit()
{
return inventory.getInventoryStackLimit();
}
@Override
public ITextComponent getDisplayName() {
return inventory.getDisplayName();
}
@Override
public int getInventoryStackLimit() {
return inventory.getInventoryStackLimit();
}
@Override
public boolean isUseableByPlayer(EntityPlayer p_70300_1_)
{
return inventory.isUseableByPlayer(p_70300_1_);
}
@Override
public boolean isUseableByPlayer(EntityPlayer p_70300_1_) {
return inventory.isUseableByPlayer(p_70300_1_);
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_)
{
return inventory.isItemValidForSlot(p_94041_1_, p_94041_2_);
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) {
return inventory.isItemValidForSlot(p_94041_1_, p_94041_2_);
}
@Override
public double getMaxPower()
{
return ConfigTechReborn.ThermalGeneratorCharge;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction)
{
return false;
}
@Override
public double getMaxPower() {
return ConfigTechReborn.ThermalGeneratorCharge;
}
@Override
public boolean canProvideEnergy(EnumFacing direction)
{
return true;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return false;
}
@Override
public double getMaxOutput()
{
return euTick;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return true;
}
@Override
public double getMaxInput()
{
return 0;
}
@Override
public double getMaxOutput() {
return euTick;
}
@Override
public double getMaxInput() {
return 0;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.MEDIUM;
}
@Override
public EnumPowerTier getTier()
{
return EnumPowerTier.MEDIUM;
}
}

View file

@ -1,6 +1,5 @@
package techreborn.tiles.generator;
import ic2.api.tile.IWrenchable;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
@ -14,223 +13,268 @@ import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.util.Inventory;
import techreborn.init.ModBlocks;
import ic2.api.tile.IWrenchable;
public class TileGenerator extends TilePowerAcceptor implements IWrenchable, IInventory
{
public Inventory inventory = new Inventory(2, "TileGenerator", 64, this);
public int fuelSlot = 0;
public int burnTime;
public int totalBurnTime = 0;
public static int outputAmount = 10; //This is in line with BC engines rf, sould properly use the conversion ratio here.
public boolean isBurning;
public boolean lastTickBurning;
ItemStack burnItem;
public Inventory inventory = new Inventory(2, "TileGenerator", 64, this);
public TileGenerator(){
public int fuelSlot = 0;
public int burnTime;
public int totalBurnTime = 0;
public static int outputAmount = 10; // This is in line with BC engines rf,
// sould properly use the conversion
// ratio here.
public boolean isBurning;
public boolean lastTickBurning;
ItemStack burnItem;
public TileGenerator()
{
super(1);
}
@Override
public void updateEntity() {
super.updateEntity();
if(worldObj.isRemote){
return;
}
if(getEnergy() < getMaxPower()) {
if (burnTime > 0){
burnTime--;
addEnergy(outputAmount);
isBurning = true;
}
} else {
isBurning = false;
}
@Override
public void updateEntity()
{
super.updateEntity();
if (worldObj.isRemote)
{
return;
}
if (getEnergy() < getMaxPower())
{
if (burnTime > 0)
{
burnTime--;
addEnergy(outputAmount);
isBurning = true;
}
} else
{
isBurning = false;
}
if (burnTime == 0) {
updateState();
burnTime = totalBurnTime = getItemBurnTime(getStackInSlot(fuelSlot));
if (burnTime > 0) {
updateState();
burnItem = getStackInSlot(fuelSlot);
if(getStackInSlot(fuelSlot).stackSize == 1){
setInventorySlotContents(fuelSlot, null);
} else {
decrStackSize(fuelSlot, 1);
}
}
}
if (burnTime == 0)
{
updateState();
burnTime = totalBurnTime = getItemBurnTime(getStackInSlot(fuelSlot));
if (burnTime > 0)
{
updateState();
burnItem = getStackInSlot(fuelSlot);
if (getStackInSlot(fuelSlot).stackSize == 1)
{
setInventorySlotContents(fuelSlot, null);
} else
{
decrStackSize(fuelSlot, 1);
}
}
}
lastTickBurning = isBurning;
}
lastTickBurning = isBurning;
}
public void updateState(){
IBlockState BlockStateContainer = worldObj.getBlockState(pos);
if(BlockStateContainer.getBlock() instanceof BlockMachineBase){
BlockMachineBase blockMachineBase = (BlockMachineBase) BlockStateContainer.getBlock();
if(BlockStateContainer.getValue(BlockMachineBase.ACTIVE) != burnTime > 0)
blockMachineBase.setActive(burnTime > 0, worldObj, pos);
}
}
public void updateState()
{
IBlockState BlockStateContainer = worldObj.getBlockState(pos);
if (BlockStateContainer.getBlock() instanceof BlockMachineBase)
{
BlockMachineBase blockMachineBase = (BlockMachineBase) BlockStateContainer.getBlock();
if (BlockStateContainer.getValue(BlockMachineBase.ACTIVE) != burnTime > 0)
blockMachineBase.setActive(burnTime > 0, worldObj, pos);
}
}
public static int getItemBurnTime(ItemStack stack) {
return TileEntityFurnace.getItemBurnTime(stack);
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
return false;
}
@Override
public EnumFacing getFacing() {
return getFacingEnum();
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer) {
if (entityPlayer.isSneaking()) {
return true;
}
return false;
}
@Override
public float getWrenchDropRate() {
return 1.0F;
}
@Override
public int getSizeInventory() {
return inventory.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int p_70301_1_) {
return inventory.getStackInSlot(p_70301_1_);
}
@Override
public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_) {
return inventory.decrStackSize(p_70298_1_, p_70298_2_);
}
@Override
public ItemStack removeStackFromSlot(int p_70304_1_) {
return inventory.removeStackFromSlot(p_70304_1_);
}
@Override
public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_) {
inventory.setInventorySlotContents(p_70299_1_, p_70299_2_);
}
@Override
public int getInventoryStackLimit() {
return inventory.getInventoryStackLimit();
}
@Override
public boolean isUseableByPlayer(EntityPlayer p_70300_1_) {
return inventory.isUseableByPlayer(p_70300_1_);
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) {
return inventory.isItemValidForSlot(p_94041_1_, p_94041_2_);
}
@Override
public double getMaxPower() {
return 100;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return false;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return true;
}
@Override
public double getMaxOutput() {
return 64;
}
@Override
public double getMaxInput() {
return 0;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.LOW;
}
@Override
public void openInventory(EntityPlayer player) {
inventory.openInventory(player);
}
@Override
public void closeInventory(EntityPlayer player) {
inventory.closeInventory(player);
}
@Override
public int getField(int id) {
return inventory.getField(id);
}
@Override
public void setField(int id, int value) {
inventory.setField(id, value);
}
@Override
public int getFieldCount() {
return inventory.getFieldCount();
}
@Override
public void clear() {
inventory.clear();
}
@Override
public String getName() {
return inventory.getName();
}
@Override
public boolean hasCustomName() {
return inventory.hasCustomName();
}
@Override
public ITextComponent getDisplayName() {
return inventory.getDisplayName();
}
public static int getItemBurnTime(ItemStack stack)
{
return TileEntityFurnace.getItemBurnTime(stack);
}
@Override
public ItemStack getWrenchDrop(EntityPlayer p0) {
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side)
{
return false;
}
@Override
public EnumFacing getFacing()
{
return getFacingEnum();
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer)
{
if (entityPlayer.isSneaking())
{
return true;
}
return false;
}
@Override
public float getWrenchDropRate()
{
return 1.0F;
}
@Override
public int getSizeInventory()
{
return inventory.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int p_70301_1_)
{
return inventory.getStackInSlot(p_70301_1_);
}
@Override
public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_)
{
return inventory.decrStackSize(p_70298_1_, p_70298_2_);
}
@Override
public ItemStack removeStackFromSlot(int p_70304_1_)
{
return inventory.removeStackFromSlot(p_70304_1_);
}
@Override
public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_)
{
inventory.setInventorySlotContents(p_70299_1_, p_70299_2_);
}
@Override
public int getInventoryStackLimit()
{
return inventory.getInventoryStackLimit();
}
@Override
public boolean isUseableByPlayer(EntityPlayer p_70300_1_)
{
return inventory.isUseableByPlayer(p_70300_1_);
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_)
{
return inventory.isItemValidForSlot(p_94041_1_, p_94041_2_);
}
@Override
public double getMaxPower()
{
return 100;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction)
{
return false;
}
@Override
public boolean canProvideEnergy(EnumFacing direction)
{
return true;
}
@Override
public double getMaxOutput()
{
return 64;
}
@Override
public double getMaxInput()
{
return 0;
}
@Override
public EnumPowerTier getTier()
{
return EnumPowerTier.LOW;
}
@Override
public void openInventory(EntityPlayer player)
{
inventory.openInventory(player);
}
@Override
public void closeInventory(EntityPlayer player)
{
inventory.closeInventory(player);
}
@Override
public int getField(int id)
{
return inventory.getField(id);
}
@Override
public void setField(int id, int value)
{
inventory.setField(id, value);
}
@Override
public int getFieldCount()
{
return inventory.getFieldCount();
}
@Override
public void clear()
{
inventory.clear();
}
@Override
public String getName()
{
return inventory.getName();
}
@Override
public boolean hasCustomName()
{
return inventory.hasCustomName();
}
@Override
public ITextComponent getDisplayName()
{
return inventory.getDisplayName();
}
@Override
public ItemStack getWrenchDrop(EntityPlayer p0)
{
return new ItemStack(ModBlocks.Generator);
}
@Override
public void readFromNBT(NBTTagCompound tagCompound) {
super.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound) {
super.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
}

View file

@ -1,6 +1,5 @@
package techreborn.tiles.generator;
import ic2.api.tile.IWrenchable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
@ -10,104 +9,131 @@ import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import ic2.api.tile.IWrenchable;
public class TileHeatGenerator extends TilePowerAcceptor implements IWrenchable {
public class TileHeatGenerator extends TilePowerAcceptor implements IWrenchable
{
public static final int euTick = ConfigTechReborn.heatGeneratorOutput;
public static final int euTick = ConfigTechReborn.heatGeneratorOutput;
public TileHeatGenerator() {
super(1);
}
public TileHeatGenerator()
{
super(1);
}
@Override
public void updateEntity() {
super.updateEntity();
@Override
public void updateEntity()
{
super.updateEntity();
if (!worldObj.isRemote) {
if (worldObj.getBlockState(new BlockPos(getPos().getX() + 1, getPos().getY(), getPos().getZ())).getBlock() == Blocks.lava) {
addEnergy(euTick);
} else if (worldObj.getBlockState(new BlockPos(getPos().getX(), getPos().getY(), getPos().getZ() + 1)).getBlock() == Blocks.lava) {
addEnergy(euTick);
} else if (worldObj.getBlockState(new BlockPos(getPos().getX(), getPos().getY(), getPos().getZ() - 1)).getBlock() == Blocks.lava) {
addEnergy(euTick);
} else if (worldObj.getBlockState(new BlockPos(getPos().getX() - 1, getPos().getY(), getPos().getZ())).getBlock() == Blocks.lava) {
addEnergy(euTick);
} else if (worldObj.getBlockState(new BlockPos(getPos().getX(), getPos().getY() - 1, getPos().getZ())).getBlock() == Blocks.lava) {
addEnergy(euTick);
}
if (!worldObj.isRemote)
{
if (worldObj.getBlockState(new BlockPos(getPos().getX() + 1, getPos().getY(), getPos().getZ()))
.getBlock() == Blocks.lava)
{
addEnergy(euTick);
} else if (worldObj.getBlockState(new BlockPos(getPos().getX(), getPos().getY(), getPos().getZ() + 1))
.getBlock() == Blocks.lava)
{
addEnergy(euTick);
} else if (worldObj.getBlockState(new BlockPos(getPos().getX(), getPos().getY(), getPos().getZ() - 1))
.getBlock() == Blocks.lava)
{
addEnergy(euTick);
} else if (worldObj.getBlockState(new BlockPos(getPos().getX() - 1, getPos().getY(), getPos().getZ()))
.getBlock() == Blocks.lava)
{
addEnergy(euTick);
} else if (worldObj.getBlockState(new BlockPos(getPos().getX(), getPos().getY() - 1, getPos().getZ()))
.getBlock() == Blocks.lava)
{
addEnergy(euTick);
}
}
}
}
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
return false;
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side)
{
return false;
}
@Override
public EnumFacing getFacing() {
return getFacingEnum();
}
@Override
public EnumFacing getFacing()
{
return getFacingEnum();
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer) {
if (entityPlayer.isSneaking()) {
return true;
}
return false;
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer)
{
if (entityPlayer.isSneaking())
{
return true;
}
return false;
}
@Override
public float getWrenchDropRate() {
return 1.0F;
}
@Override
public float getWrenchDropRate()
{
return 1.0F;
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
return new ItemStack(ModBlocks.heatGenerator, 1);
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
{
return new ItemStack(ModBlocks.heatGenerator, 1);
}
public boolean isComplete() {
return false;
}
public boolean isComplete()
{
return false;
}
@Override
public double getMaxPower()
{
return 10000;
}
@Override
public double getMaxPower() {
return 10000;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction)
{
return false;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return false;
}
@Override
public boolean canProvideEnergy(EnumFacing direction)
{
return true;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return true;
}
@Override
public double getMaxOutput()
{
return 64;
}
@Override
public double getMaxOutput() {
return 64;
}
@Override
public double getMaxInput()
{
return 0;
}
@Override
public double getMaxInput() {
return 0;
}
@Override
public EnumPowerTier getTier()
{
return EnumPowerTier.LOW;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.LOW;
}
// @Override
// public void addWailaInfo(List<String> info)
// {
// super.addWailaInfo(info);
// info.add("Power Generarating " + euTick +" EU/t");
//
// }
// @Override
// public void addWailaInfo(List<String> info)
// {
// super.addWailaInfo(info);
// info.add("Power Generarating " + euTick +" EU/t");
//
// }
}

View file

@ -1,6 +1,8 @@
package techreborn.tiles.generator;
import ic2.api.tile.IWrenchable;
import java.util.HashMap;
import java.util.Map;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
@ -10,7 +12,6 @@ import net.minecraft.network.Packet;
import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.fluids.*;
import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
import reborncore.common.util.FluidUtils;
@ -18,277 +19,318 @@ import reborncore.common.util.Inventory;
import reborncore.common.util.Tank;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import ic2.api.tile.IWrenchable;
import java.util.HashMap;
import java.util.Map;
public class TileSemifluidGenerator extends TilePowerAcceptor implements IWrenchable, IFluidHandler, IInventory
{
public class TileSemifluidGenerator extends TilePowerAcceptor implements IWrenchable,
IFluidHandler, IInventory {
public Tank tank = new Tank("TileSemifluidGenerator", FluidContainerRegistry.BUCKET_VOLUME * 10, this);
public Inventory inventory = new Inventory(3, "TileSemifluidGenerator", 64, this);
public Tank tank = new Tank("TileSemifluidGenerator",
FluidContainerRegistry.BUCKET_VOLUME * 10, this);
public Inventory inventory = new Inventory(3, "TileSemifluidGenerator", 64, this);
// TODO: run this off config
public static final int euTick = 8;
//TODO: run this off config
public static final int euTick = 8;
Map<String, Integer> fluids = new HashMap<String, Integer>();
Map<String, Integer> fluids = new HashMap<String, Integer>();
// We use this to keep track of fractional millibuckets, allowing us to hit
// our eu/bucket targets while still only ever removing integer millibucket
// amounts.
double pendingWithdraw = 0.0;
//We use this to keep track of fractional millibuckets, allowing us to hit our eu/bucket targets while still only ever removing integer millibucket amounts.
double pendingWithdraw = 0.0;
public TileSemifluidGenerator()
{
super(ConfigTechReborn.ThermalGeneratorTier);
// TODO: fix this to have SemiFluid generator values
public TileSemifluidGenerator() {
super(ConfigTechReborn.ThermalGeneratorTier);
//TODO: fix this to have SemiFluid generator values
fluids.put("creosote", 3000);
fluids.put("biomass", 8000);
fluids.put("oil", 64000);
fluids.put("fluidsodium", 30000);
fluids.put("fluidlithium", 60000);
fluids.put("biofuel", 32000);
fluids.put("bioethanol", 32000);
fluids.put("fuel", 128000);
}
fluids.put("creosote", 3000);
fluids.put("biomass", 8000);
fluids.put("oil", 64000);
fluids.put("fluidsodium", 30000);
fluids.put("fluidlithium", 60000);
fluids.put("biofuel", 32000);
fluids.put("bioethanol", 32000);
fluids.put("fuel", 128000);
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side)
{
return false;
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
return false;
}
@Override
public EnumFacing getFacing()
{
return getFacingEnum();
}
@Override
public EnumFacing getFacing() {
return getFacingEnum();
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer)
{
if (entityPlayer.isSneaking())
{
return true;
}
return false;
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer) {
if (entityPlayer.isSneaking()) {
return true;
}
return false;
}
@Override
public float getWrenchDropRate()
{
return 1.0F;
}
@Override
public float getWrenchDropRate() {
return 1.0F;
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
{
return new ItemStack(ModBlocks.Semifluidgenerator, 1);
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
return new ItemStack(ModBlocks.Semifluidgenerator, 1);
}
@Override
public int fill(EnumFacing from, FluidStack resource, boolean doFill)
{
int fill = tank.fill(resource, doFill);
tank.compareAndUpdate();
return fill;
}
@Override
public int fill(EnumFacing from, FluidStack resource, boolean doFill) {
int fill = tank.fill(resource, doFill);
tank.compareAndUpdate();
return fill;
}
@Override
public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain)
{
FluidStack drain = tank.drain(resource.amount, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public FluidStack drain(EnumFacing from, FluidStack resource,
boolean doDrain) {
FluidStack drain = tank.drain(resource.amount, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain)
{
FluidStack drain = tank.drain(maxDrain, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain) {
FluidStack drain = tank.drain(maxDrain, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public boolean canFill(EnumFacing from, Fluid fluid)
{
if (fluid != null)
{
return fluids.containsKey(FluidRegistry.getFluidName(fluid));
}
return false;
}
@Override
public boolean canFill(EnumFacing from, Fluid fluid) {
if (fluid != null) {
return fluids.containsKey(FluidRegistry.getFluidName(fluid));
}
return false;
}
@Override
public boolean canDrain(EnumFacing from, Fluid fluid)
{
return tank.getFluid() == null || tank.getFluid().getFluid() == fluid;
}
@Override
public boolean canDrain(EnumFacing from, Fluid fluid) {
return tank.getFluid() == null || tank.getFluid().getFluid() == fluid;
}
@Override
public FluidTankInfo[] getTankInfo(EnumFacing from)
{
return new FluidTankInfo[] { tank.getInfo() };
}
@Override
public FluidTankInfo[] getTankInfo(EnumFacing from) {
return new FluidTankInfo[]{tank.getInfo()};
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
tank.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void readFromNBT(NBTTagCompound tagCompound) {
super.readFromNBT(tagCompound);
tank.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
tank.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound) {
super.writeToNBT(tagCompound);
tank.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
public Packet getDescriptionPacket()
{
NBTTagCompound nbtTag = new NBTTagCompound();
writeToNBT(nbtTag);
return new SPacketUpdateTileEntity(this.getPos(), 1, nbtTag);
}
public Packet getDescriptionPacket() {
NBTTagCompound nbtTag = new NBTTagCompound();
writeToNBT(nbtTag);
return new SPacketUpdateTileEntity(this.getPos(), 1, nbtTag);
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet)
{
worldObj.markBlockRangeForRenderUpdate(getPos().getX(), getPos().getY(), getPos().getZ(), getPos().getX(),
getPos().getY(), getPos().getZ());
readFromNBT(packet.getNbtCompound());
}
@Override
public void onDataPacket(NetworkManager net,
SPacketUpdateTileEntity packet) {
worldObj.markBlockRangeForRenderUpdate(getPos().getX(), getPos().getY(), getPos().getZ(), getPos().getX(),
getPos().getY(), getPos().getZ());
readFromNBT(packet.getNbtCompound());
}
@Override
public void updateEntity()
{
super.updateEntity();
if (!worldObj.isRemote)
FluidUtils.drainContainers(this, inventory, 0, 1);
@Override
public void updateEntity() {
super.updateEntity();
if (!worldObj.isRemote)
FluidUtils.drainContainers(this, inventory, 0, 1);
if (tank.getFluidAmount() > 0 && getMaxPower() - getEnergy() >= euTick)
{
Integer euPerBucket = fluids.get(tank.getFluidType().getName());
// float totalTicks = (float)euPerBucket / 8f; //x eu per bucket / 8
// eu per tick
// float millibucketsPerTick = 1000f / totalTicks;
float millibucketsPerTick = 8000f / (float) euPerBucket;
pendingWithdraw += millibucketsPerTick;
if (tank.getFluidAmount() > 0
&& getMaxPower() - getEnergy() >= euTick) {
Integer euPerBucket = fluids.get(tank.getFluidType().getName());
//float totalTicks = (float)euPerBucket / 8f; //x eu per bucket / 8 eu per tick
//float millibucketsPerTick = 1000f / totalTicks;
float millibucketsPerTick = 8000f / (float) euPerBucket;
pendingWithdraw += millibucketsPerTick;
int currentWithdraw = (int) pendingWithdraw; // float --> int
// conversion floors
// the float
pendingWithdraw -= currentWithdraw;
int currentWithdraw = (int) pendingWithdraw; //float --> int conversion floors the float
pendingWithdraw -= currentWithdraw;
tank.drain(currentWithdraw, true);
addEnergy(euTick);
}
if (tank.getFluidType() != null && getStackInSlot(2) == null)
{
inventory.setInventorySlotContents(2, new ItemStack(tank.getFluidType().getBlock()));
} else if (tank.getFluidType() == null && getStackInSlot(2) != null)
{
setInventorySlotContents(2, null);
}
}
tank.drain(currentWithdraw, true);
addEnergy(euTick);
}
if (tank.getFluidType() != null && getStackInSlot(2) == null) {
inventory.setInventorySlotContents(2, new ItemStack(tank
.getFluidType().getBlock()));
} else if (tank.getFluidType() == null && getStackInSlot(2) != null) {
setInventorySlotContents(2, null);
}
}
@Override
public int getSizeInventory()
{
return inventory.getSizeInventory();
}
@Override
public int getSizeInventory() {
return inventory.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int p_70301_1_)
{
return inventory.getStackInSlot(p_70301_1_);
}
@Override
public ItemStack getStackInSlot(int p_70301_1_) {
return inventory.getStackInSlot(p_70301_1_);
}
@Override
public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_)
{
return inventory.decrStackSize(p_70298_1_, p_70298_2_);
}
@Override
public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_) {
return inventory.decrStackSize(p_70298_1_, p_70298_2_);
}
@Override
public ItemStack removeStackFromSlot(int p_70304_1_)
{
return inventory.removeStackFromSlot(p_70304_1_);
}
@Override
public ItemStack removeStackFromSlot(int p_70304_1_) {
return inventory.removeStackFromSlot(p_70304_1_);
}
@Override
public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_)
{
inventory.setInventorySlotContents(p_70299_1_, p_70299_2_);
}
@Override
public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_) {
inventory.setInventorySlotContents(p_70299_1_, p_70299_2_);
}
@Override
public void openInventory(EntityPlayer player)
{
inventory.openInventory(player);
}
@Override
public void openInventory(EntityPlayer player) {
inventory.openInventory(player);
}
@Override
public void closeInventory(EntityPlayer player)
{
inventory.closeInventory(player);
}
@Override
public void closeInventory(EntityPlayer player) {
inventory.closeInventory(player);
}
@Override
public int getField(int id)
{
return inventory.getField(id);
}
@Override
public void setField(int id, int value)
{
inventory.setField(id, value);
}
@Override
public int getField(int id) {
return inventory.getField(id);
}
@Override
public int getFieldCount()
{
return inventory.getFieldCount();
}
@Override
public void setField(int id, int value) {
inventory.setField(id, value);
}
@Override
public void clear()
{
inventory.clear();
}
@Override
public int getFieldCount() {
return inventory.getFieldCount();
}
@Override
public String getName()
{
return inventory.getName();
}
@Override
public void clear() {
inventory.clear();
}
@Override
public boolean hasCustomName()
{
return inventory.hasCustomName();
}
@Override
public String getName() {
return inventory.getName();
}
@Override
public ITextComponent getDisplayName()
{
return inventory.getDisplayName();
}
@Override
public boolean hasCustomName() {
return inventory.hasCustomName();
}
@Override
public int getInventoryStackLimit()
{
return inventory.getInventoryStackLimit();
}
@Override
public ITextComponent getDisplayName() {
return inventory.getDisplayName();
}
@Override
public boolean isUseableByPlayer(EntityPlayer p_70300_1_)
{
return inventory.isUseableByPlayer(p_70300_1_);
}
@Override
public int getInventoryStackLimit() {
return inventory.getInventoryStackLimit();
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_)
{
return inventory.isItemValidForSlot(p_94041_1_, p_94041_2_);
}
@Override
public boolean isUseableByPlayer(EntityPlayer p_70300_1_) {
return inventory.isUseableByPlayer(p_70300_1_);
}
@Override
public double getMaxPower()
{
return ConfigTechReborn.ThermalGeneratorCharge;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction)
{
return false;
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) {
return inventory.isItemValidForSlot(p_94041_1_, p_94041_2_);
}
@Override
public boolean canProvideEnergy(EnumFacing direction)
{
return true;
}
@Override
public double getMaxPower() {
return ConfigTechReborn.ThermalGeneratorCharge;
}
@Override
public double getMaxOutput()
{
return euTick;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return false;
}
@Override
public double getMaxInput()
{
return 0;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return true;
}
@Override
public double getMaxOutput() {
return euTick;
}
@Override
public double getMaxInput() {
return 0;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.LOW;
}
@Override
public EnumPowerTier getTier()
{
return EnumPowerTier.LOW;
}
}

View file

@ -1,85 +1,105 @@
package techreborn.tiles.generator;
import java.util.List;
import net.minecraft.util.EnumFacing;
import reborncore.api.power.EnumPowerTier;
import reborncore.common.powerSystem.TilePowerAcceptor;
import techreborn.blocks.generator.BlockSolarPanel;
import java.util.List;
/**
* Created by modmuss50 on 25/02/2016.
*/
public class TileSolarPanel extends TilePowerAcceptor {
public class TileSolarPanel extends TilePowerAcceptor
{
boolean shouldMakePower = false;
boolean lastTickSate = false;
boolean shouldMakePower = false;
boolean lastTickSate = false;
int powerToAdd;
int powerToAdd;
@Override
public void updateEntity() {
super.updateEntity();
if(worldObj.getTotalWorldTime() % 60 == 0){
shouldMakePower = isSunOut();
}
if(shouldMakePower){
powerToAdd = 10;
addEnergy(powerToAdd);
} else {
powerToAdd = 0;
}
if(shouldMakePower != lastTickSate){
if(worldObj != null)
worldObj.setBlockState(pos, worldObj.getBlockState(pos).withProperty(BlockSolarPanel.ACTIVE, shouldMakePower));
}
lastTickSate = shouldMakePower;
}
@Override
public void updateEntity()
{
super.updateEntity();
if (worldObj.getTotalWorldTime() % 60 == 0)
{
shouldMakePower = isSunOut();
}
if (shouldMakePower)
{
powerToAdd = 10;
addEnergy(powerToAdd);
} else
{
powerToAdd = 0;
}
if (shouldMakePower != lastTickSate)
{
if (worldObj != null)
worldObj.setBlockState(pos,
worldObj.getBlockState(pos).withProperty(BlockSolarPanel.ACTIVE, shouldMakePower));
}
lastTickSate = shouldMakePower;
}
@Override
public void addInfo(List<String> info, boolean isRealTile) {
super.addInfo(info, isRealTile);
if(isRealTile){
// FIXME: 25/02/2016
//info.add(ChatFormatting.LIGHT_PURPLE + "Power gen/tick " + ChatFormatting.GREEN + PowerSystem.getLocaliszedPower( powerToAdd)) ;
}
}
@Override
public void addInfo(List<String> info, boolean isRealTile)
{
super.addInfo(info, isRealTile);
if (isRealTile)
{
// FIXME: 25/02/2016
// info.add(ChatFormatting.LIGHT_PURPLE + "Power gen/tick " +
// ChatFormatting.GREEN + PowerSystem.getLocaliszedPower(
// powerToAdd)) ;
}
}
public boolean isSunOut() {
return worldObj.canBlockSeeSky(pos.up()) && !worldObj.isRaining() && !worldObj.isThundering() && worldObj.isDaytime();
}
public boolean isSunOut()
{
return worldObj.canBlockSeeSky(pos.up()) && !worldObj.isRaining() && !worldObj.isThundering()
&& worldObj.isDaytime();
}
public TileSolarPanel() {
super(1);
}
public TileSolarPanel()
{
super(1);
}
@Override
public double getMaxPower() {
return 1000;
}
@Override
public double getMaxPower()
{
return 1000;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return false;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction)
{
return false;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return true;
}
@Override
public boolean canProvideEnergy(EnumFacing direction)
{
return true;
}
@Override
public double getMaxOutput() {
return 32;
}
@Override
public double getMaxOutput()
{
return 32;
}
@Override
public double getMaxInput() {
return 0;
}
@Override
public double getMaxInput()
{
return 0;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.LOW;
}
@Override
public EnumPowerTier getTier()
{
return EnumPowerTier.LOW;
}
}

View file

@ -1,6 +1,5 @@
package techreborn.tiles.generator;
import ic2.api.tile.IWrenchable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.inventory.IInventory;
@ -12,7 +11,6 @@ import net.minecraft.network.play.server.SPacketUpdateTileEntity;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent;
import net.minecraftforge.fluids.*;
import reborncore.api.power.EnumPowerTier;
import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.powerSystem.TilePowerAcceptor;
@ -21,266 +19,318 @@ import reborncore.common.util.Inventory;
import reborncore.common.util.Tank;
import techreborn.config.ConfigTechReborn;
import techreborn.init.ModBlocks;
import ic2.api.tile.IWrenchable;
public class TileThermalGenerator extends TilePowerAcceptor implements IWrenchable,
IFluidHandler, IInventory {
public class TileThermalGenerator extends TilePowerAcceptor implements IWrenchable, IFluidHandler, IInventory
{
public Tank tank = new Tank("TileThermalGenerator",
FluidContainerRegistry.BUCKET_VOLUME * 10, this);
public Inventory inventory = new Inventory(3, "TileThermalGenerator", 64, this);
public static final int euTick = ConfigTechReborn.ThermalGenertaorOutput;
public Tank tank = new Tank("TileThermalGenerator", FluidContainerRegistry.BUCKET_VOLUME * 10, this);
public Inventory inventory = new Inventory(3, "TileThermalGenerator", 64, this);
public static final int euTick = ConfigTechReborn.ThermalGenertaorOutput;
public TileThermalGenerator() {
super(ConfigTechReborn.ThermalGeneratorTier);
}
public TileThermalGenerator()
{
super(ConfigTechReborn.ThermalGeneratorTier);
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side) {
return false;
}
@Override
public boolean wrenchCanSetFacing(EntityPlayer entityPlayer, EnumFacing side)
{
return false;
}
@Override
public EnumFacing getFacing() {
return getFacingEnum();
}
@Override
public EnumFacing getFacing()
{
return getFacingEnum();
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer) {
if (entityPlayer.isSneaking()) {
return true;
}
return false;
}
@Override
public boolean wrenchCanRemove(EntityPlayer entityPlayer)
{
if (entityPlayer.isSneaking())
{
return true;
}
return false;
}
@Override
public float getWrenchDropRate() {
return 1.0F;
}
@Override
public float getWrenchDropRate()
{
return 1.0F;
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer) {
return new ItemStack(ModBlocks.thermalGenerator, 1);
}
@Override
public ItemStack getWrenchDrop(EntityPlayer entityPlayer)
{
return new ItemStack(ModBlocks.thermalGenerator, 1);
}
@Override
public int fill(EnumFacing from, FluidStack resource, boolean doFill) {
int fill = tank.fill(resource, doFill);
tank.compareAndUpdate();
return fill;
}
@Override
public int fill(EnumFacing from, FluidStack resource, boolean doFill)
{
int fill = tank.fill(resource, doFill);
tank.compareAndUpdate();
return fill;
}
@Override
public FluidStack drain(EnumFacing from, FluidStack resource,
boolean doDrain) {
FluidStack drain = tank.drain(resource.amount, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public FluidStack drain(EnumFacing from, FluidStack resource, boolean doDrain)
{
FluidStack drain = tank.drain(resource.amount, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain) {
FluidStack drain = tank.drain(maxDrain, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public FluidStack drain(EnumFacing from, int maxDrain, boolean doDrain)
{
FluidStack drain = tank.drain(maxDrain, doDrain);
tank.compareAndUpdate();
return drain;
}
@Override
public boolean canFill(EnumFacing from, Fluid fluid) {
if (fluid != null) {
if (fluid == FluidRegistry.LAVA) {
return true;
}
}
return false;
}
@Override
public boolean canFill(EnumFacing from, Fluid fluid)
{
if (fluid != null)
{
if (fluid == FluidRegistry.LAVA)
{
return true;
}
}
return false;
}
@Override
public boolean canDrain(EnumFacing from, Fluid fluid) {
return tank.getFluid() == null || tank.getFluid().getFluid() == fluid;
}
@Override
public boolean canDrain(EnumFacing from, Fluid fluid)
{
return tank.getFluid() == null || tank.getFluid().getFluid() == fluid;
}
@Override
public FluidTankInfo[] getTankInfo(EnumFacing from) {
return new FluidTankInfo[]{tank.getInfo()};
}
@Override
public FluidTankInfo[] getTankInfo(EnumFacing from)
{
return new FluidTankInfo[] { tank.getInfo() };
}
@Override
public void readFromNBT(NBTTagCompound tagCompound) {
super.readFromNBT(tagCompound);
tank.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void readFromNBT(NBTTagCompound tagCompound)
{
super.readFromNBT(tagCompound);
tank.readFromNBT(tagCompound);
inventory.readFromNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound) {
super.writeToNBT(tagCompound);
tank.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
@Override
public void writeToNBT(NBTTagCompound tagCompound)
{
super.writeToNBT(tagCompound);
tank.writeToNBT(tagCompound);
inventory.writeToNBT(tagCompound);
}
public Packet getDescriptionPacket() {
NBTTagCompound nbtTag = new NBTTagCompound();
writeToNBT(nbtTag);
return new SPacketUpdateTileEntity(this.getPos(), 1, nbtTag);
}
public Packet getDescriptionPacket()
{
NBTTagCompound nbtTag = new NBTTagCompound();
writeToNBT(nbtTag);
return new SPacketUpdateTileEntity(this.getPos(), 1, nbtTag);
}
@Override
public void onDataPacket(NetworkManager net,
SPacketUpdateTileEntity packet) {
worldObj.markBlockRangeForRenderUpdate(getPos().getX(), getPos().getY(), getPos().getZ(), getPos().getX(),
getPos().getY(), getPos().getZ());
readFromNBT(packet.getNbtCompound());
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet)
{
worldObj.markBlockRangeForRenderUpdate(getPos().getX(), getPos().getY(), getPos().getZ(), getPos().getX(),
getPos().getY(), getPos().getZ());
readFromNBT(packet.getNbtCompound());
}
@Override
//TODO optimise this code
public void updateEntity() {
super.updateEntity();
FluidUtils.drainContainers(this, inventory, 0, 1);
if (!worldObj.isRemote) {
for (EnumFacing direction : EnumFacing.values()) {
if (worldObj.getBlockState(new BlockPos(getPos().getX() + direction.getFrontOffsetX(), getPos().getY() + direction.getFrontOffsetY(), getPos().getZ() + direction.getFrontOffsetZ())).getBlock() == Blocks.lava) {
addEnergy(1);
}
}
@Override
// TODO optimise this code
public void updateEntity()
{
super.updateEntity();
FluidUtils.drainContainers(this, inventory, 0, 1);
if (!worldObj.isRemote)
{
for (EnumFacing direction : EnumFacing.values())
{
if (worldObj.getBlockState(new BlockPos(getPos().getX() + direction.getFrontOffsetX(),
getPos().getY() + direction.getFrontOffsetY(), getPos().getZ() + direction.getFrontOffsetZ()))
.getBlock() == Blocks.lava)
{
addEnergy(1);
}
}
if(worldObj.getTotalWorldTime() % 40 == 0){
BlockMachineBase bmb = (BlockMachineBase) worldObj.getBlockState(pos).getBlock();
boolean didFindLava = false;
for (EnumFacing direction : EnumFacing.values()) {
if (worldObj.getBlockState(new BlockPos(getPos().getX() + direction.getFrontOffsetX(), getPos().getY() + direction.getFrontOffsetY(), getPos().getZ() + direction.getFrontOffsetZ())).getBlock() == Blocks.lava) {
didFindLava = true;
}
}
bmb.setActive(didFindLava, worldObj, pos);
}
}
if (tank.getFluidAmount() > 0
&& getMaxPower() - getEnergy() >= euTick) {
tank.drain(1, true);
addEnergy(euTick);
}
if (tank.getFluidType() != null && getStackInSlot(2) == null) {
// inventory.setInventorySlotContents(2, new ItemStack(tank
// .getFluidType().getBlock()));
} else if (tank.getFluidType() == null && getStackInSlot(2) != null) {
setInventorySlotContents(2, null);
}
}
if (worldObj.getTotalWorldTime() % 40 == 0)
{
BlockMachineBase bmb = (BlockMachineBase) worldObj.getBlockState(pos).getBlock();
boolean didFindLava = false;
for (EnumFacing direction : EnumFacing.values())
{
if (worldObj.getBlockState(new BlockPos(getPos().getX() + direction.getFrontOffsetX(),
getPos().getY() + direction.getFrontOffsetY(),
getPos().getZ() + direction.getFrontOffsetZ())).getBlock() == Blocks.lava)
{
didFindLava = true;
}
}
bmb.setActive(didFindLava, worldObj, pos);
}
}
if (tank.getFluidAmount() > 0 && getMaxPower() - getEnergy() >= euTick)
{
tank.drain(1, true);
addEnergy(euTick);
}
if (tank.getFluidType() != null && getStackInSlot(2) == null)
{
// inventory.setInventorySlotContents(2, new ItemStack(tank
// .getFluidType().getBlock()));
} else if (tank.getFluidType() == null && getStackInSlot(2) != null)
{
setInventorySlotContents(2, null);
}
}
@Override
public int getSizeInventory() {
return inventory.getSizeInventory();
}
@Override
public int getSizeInventory()
{
return inventory.getSizeInventory();
}
@Override
public ItemStack getStackInSlot(int p_70301_1_) {
return inventory.getStackInSlot(p_70301_1_);
}
@Override
public ItemStack getStackInSlot(int p_70301_1_)
{
return inventory.getStackInSlot(p_70301_1_);
}
@Override
public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_) {
return inventory.decrStackSize(p_70298_1_, p_70298_2_);
}
@Override
public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_)
{
return inventory.decrStackSize(p_70298_1_, p_70298_2_);
}
@Override
public ItemStack removeStackFromSlot(int p_70304_1_) {
return inventory.removeStackFromSlot(p_70304_1_);
}
@Override
public ItemStack removeStackFromSlot(int p_70304_1_)
{
return inventory.removeStackFromSlot(p_70304_1_);
}
@Override
public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_) {
inventory.setInventorySlotContents(p_70299_1_, p_70299_2_);
}
@Override
public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_)
{
inventory.setInventorySlotContents(p_70299_1_, p_70299_2_);
}
@Override
public void openInventory(EntityPlayer player) {
inventory.openInventory(player);
}
@Override
public void openInventory(EntityPlayer player)
{
inventory.openInventory(player);
}
@Override
public void closeInventory(EntityPlayer player) {
inventory.closeInventory(player);
}
@Override
public void closeInventory(EntityPlayer player)
{
inventory.closeInventory(player);
}
@Override
public int getField(int id)
{
return inventory.getField(id);
}
@Override
public int getField(int id) {
return inventory.getField(id);
}
@Override
public void setField(int id, int value)
{
inventory.setField(id, value);
}
@Override
public void setField(int id, int value) {
inventory.setField(id, value);
}
@Override
public int getFieldCount()
{
return inventory.getFieldCount();
}
@Override
public int getFieldCount() {
return inventory.getFieldCount();
}
@Override
public void clear()
{
inventory.clear();
}
@Override
public void clear() {
inventory.clear();
}
@Override
public String getName()
{
return inventory.getName();
}
@Override
public String getName() {
return inventory.getName();
}
@Override
public boolean hasCustomName()
{
return inventory.hasCustomName();
}
@Override
public boolean hasCustomName() {
return inventory.hasCustomName();
}
@Override
public ITextComponent getDisplayName()
{
return inventory.getDisplayName();
}
@Override
public ITextComponent getDisplayName() {
return inventory.getDisplayName();
}
@Override
public int getInventoryStackLimit()
{
return inventory.getInventoryStackLimit();
}
@Override
public int getInventoryStackLimit() {
return inventory.getInventoryStackLimit();
}
@Override
public boolean isUseableByPlayer(EntityPlayer p_70300_1_)
{
return inventory.isUseableByPlayer(p_70300_1_);
}
@Override
public boolean isUseableByPlayer(EntityPlayer p_70300_1_) {
return inventory.isUseableByPlayer(p_70300_1_);
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_)
{
return inventory.isItemValidForSlot(p_94041_1_, p_94041_2_);
}
@Override
public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) {
return inventory.isItemValidForSlot(p_94041_1_, p_94041_2_);
}
@Override
public double getMaxPower()
{
return ConfigTechReborn.ThermalGeneratorCharge;
}
@Override
public double getMaxPower() {
return ConfigTechReborn.ThermalGeneratorCharge;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction)
{
return false;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return false;
}
@Override
public boolean canProvideEnergy(EnumFacing direction)
{
return true;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return true;
}
@Override
public double getMaxOutput()
{
return 128;
}
@Override
public double getMaxOutput() {
return 128;
}
@Override
public double getMaxInput()
{
return 0;
}
@Override
public double getMaxInput() {
return 0;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.LOW;
}
@Override
public EnumPowerTier getTier()
{
return EnumPowerTier.LOW;
}
}

View file

@ -8,62 +8,75 @@ import reborncore.common.powerSystem.TilePowerAcceptor;
/**
* Created by modmuss50 on 25/02/2016.
*/
public class TileWaterMill extends TilePowerAcceptor {
public class TileWaterMill extends TilePowerAcceptor
{
public TileWaterMill() {
super(1);
}
public TileWaterMill()
{
super(1);
}
int waterblocks = 0;
int waterblocks = 0;
@Override
public void updateEntity() {
super.updateEntity();
if(worldObj.getTotalWorldTime() % 20 == 0){
checkForWater();
}
if(waterblocks > 0){
addEnergy(waterblocks);
}
}
@Override
public void updateEntity()
{
super.updateEntity();
if (worldObj.getTotalWorldTime() % 20 == 0)
{
checkForWater();
}
if (waterblocks > 0)
{
addEnergy(waterblocks);
}
}
public void checkForWater(){
waterblocks = 0;
for(EnumFacing facing : EnumFacing.HORIZONTALS){
if(worldObj.getBlockState(getPos().offset(facing)).getBlock() == Blocks.water){
waterblocks ++;
}
}
}
public void checkForWater()
{
waterblocks = 0;
for (EnumFacing facing : EnumFacing.HORIZONTALS)
{
if (worldObj.getBlockState(getPos().offset(facing)).getBlock() == Blocks.water)
{
waterblocks++;
}
}
}
@Override
public double getMaxPower()
{
return 1000;
}
@Override
public double getMaxPower() {
return 1000;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction)
{
return false;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return false;
}
@Override
public boolean canProvideEnergy(EnumFacing direction)
{
return true;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return true;
}
@Override
public double getMaxOutput()
{
return 32;
}
@Override
public double getMaxOutput() {
return 32;
}
@Override
public double getMaxInput()
{
return 0;
}
@Override
public double getMaxInput() {
return 0;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.LOW;
}
@Override
public EnumPowerTier getTier()
{
return EnumPowerTier.LOW;
}
}

View file

@ -7,53 +7,66 @@ import reborncore.common.powerSystem.TilePowerAcceptor;
/**
* Created by modmuss50 on 25/02/2016.
*/
public class TileWindMill extends TilePowerAcceptor {
public class TileWindMill extends TilePowerAcceptor
{
public TileWindMill() {
super(2);
}
public TileWindMill()
{
super(2);
}
int basePower = 4;
int basePower = 4;
@Override
public void updateEntity() {
super.updateEntity();
if(pos.getY() > 64){
int actualPower = basePower;
if(worldObj.isThundering()){
actualPower *= 1.25;
}
addEnergy(actualPower); //Value taken from http://wiki.industrial-craft.net/?title=Wind_Mill Not worth making more complicated
}
}
@Override
public void updateEntity()
{
super.updateEntity();
if (pos.getY() > 64)
{
int actualPower = basePower;
if (worldObj.isThundering())
{
actualPower *= 1.25;
}
addEnergy(actualPower); // Value taken from
// http://wiki.industrial-craft.net/?title=Wind_Mill
// Not worth making more complicated
}
}
@Override
public double getMaxPower() {
return 10000;
}
@Override
public double getMaxPower()
{
return 10000;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction) {
return false;
}
@Override
public boolean canAcceptEnergy(EnumFacing direction)
{
return false;
}
@Override
public boolean canProvideEnergy(EnumFacing direction) {
return true;
}
@Override
public boolean canProvideEnergy(EnumFacing direction)
{
return true;
}
@Override
public double getMaxOutput() {
return 128;
}
@Override
public double getMaxOutput()
{
return 128;
}
@Override
public double getMaxInput() {
return 0;
}
@Override
public double getMaxInput()
{
return 0;
}
@Override
public EnumPowerTier getTier() {
return EnumPowerTier.LOW;
}
@Override
public EnumPowerTier getTier()
{
return EnumPowerTier.LOW;
}
}