Only slightly less buggy. #131 is still a pain.
parent
b507a50be0
commit
1f78339240
|
@ -37,7 +37,7 @@ public class GuiRedstoneKiln extends GuiContainer
|
|||
// In fuel zone
|
||||
if (mouseX >= k + 17 && mouseX <= k + 32 && mouseY >= l + 10 && mouseY <= l + 57)
|
||||
{
|
||||
//_drawPowerTooltip(mouseX - k, mouseY - l);
|
||||
_drawPowerTooltip(mouseX - k, mouseY - l);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -106,8 +106,8 @@ public class TileEntityNetherBrickOven extends TileEntityBrickOvenBase implement
|
|||
@Override
|
||||
public void update()
|
||||
{
|
||||
boolean flag = canSmelt();
|
||||
boolean flag1 = false;
|
||||
boolean couldSmelt = canSmelt();
|
||||
boolean dirty = false;
|
||||
|
||||
if (!worldObj.isRemote)
|
||||
{
|
||||
|
@ -118,7 +118,7 @@ public class TileEntityNetherBrickOven extends TileEntityBrickOvenBase implement
|
|||
{
|
||||
cookTime = 0;
|
||||
smeltItem();
|
||||
flag1 = true;
|
||||
dirty = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -138,12 +138,12 @@ public class TileEntityNetherBrickOven extends TileEntityBrickOvenBase implement
|
|||
}
|
||||
}
|
||||
|
||||
if (flag != canSmelt())
|
||||
if (couldSmelt != canSmelt())
|
||||
{
|
||||
flag1 = true;
|
||||
dirty = true;
|
||||
}
|
||||
|
||||
if (flag1)
|
||||
if (dirty)
|
||||
{
|
||||
markDirty();
|
||||
}
|
||||
|
@ -178,13 +178,13 @@ public class TileEntityNetherBrickOven extends TileEntityBrickOvenBase implement
|
|||
@Override
|
||||
public void smeltItem()
|
||||
{
|
||||
super.smeltItem();
|
||||
|
||||
if (canSmelt())
|
||||
{
|
||||
fuelTank.getFluid().amount -= getFuelNeededForSmelt();
|
||||
}
|
||||
|
||||
super.smeltItem();
|
||||
|
||||
updateNetwork();
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ import net.einsteinsci.betterbeginnings.inventory.BatterySpecializedFurnace;
|
|||
import net.einsteinsci.betterbeginnings.inventory.ContainerRedstoneKiln;
|
||||
|
||||
import net.einsteinsci.betterbeginnings.network.PacketPoweredBBFurnaceEnergy;
|
||||
import net.einsteinsci.betterbeginnings.util.LogUtil;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.InventoryPlayer;
|
||||
import net.minecraft.init.Items;
|
||||
|
@ -17,6 +18,7 @@ import net.minecraft.item.ItemStack;
|
|||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraftforge.fml.common.network.NetworkRegistry;
|
||||
import org.apache.logging.log4j.Level;
|
||||
|
||||
public class TileEntityRedstoneKiln extends TileEntityKilnBase implements IEnergyReceiver, ITileEntityPoweredBBFurnace
|
||||
{
|
||||
|
@ -87,6 +89,9 @@ public class TileEntityRedstoneKiln extends TileEntityKilnBase implements IEnerg
|
|||
// }
|
||||
//}
|
||||
|
||||
boolean couldSmelt = canSmelt();
|
||||
boolean dirty = false;
|
||||
|
||||
if (isBurning() && canSmelt())
|
||||
{
|
||||
++cookTime;
|
||||
|
@ -94,6 +99,7 @@ public class TileEntityRedstoneKiln extends TileEntityKilnBase implements IEnerg
|
|||
{
|
||||
cookTime = 0;
|
||||
smeltItem();
|
||||
dirty = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -101,9 +107,6 @@ public class TileEntityRedstoneKiln extends TileEntityKilnBase implements IEnerg
|
|||
cookTime = 0;
|
||||
}
|
||||
|
||||
updateBlockState();
|
||||
markDirty();
|
||||
|
||||
// Charge battery from "fuel" slot
|
||||
ItemStack fuel = specialFurnaceStacks[SLOT_FUEL];
|
||||
if (fuel != null && fuel.getItem() instanceof IEnergyContainerItem)
|
||||
|
@ -116,15 +119,31 @@ public class TileEntityRedstoneKiln extends TileEntityKilnBase implements IEnerg
|
|||
{
|
||||
capacitor.extractEnergy(fuel, CHARGE_RATE, false);
|
||||
battery.receiveEnergy(extracted, false);
|
||||
|
||||
updateNetwork();
|
||||
dirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (fuel != null && fuel.getItem() == Items.fire_charge)
|
||||
if (fuel != null && fuel.getItem() == Items.fire_charge) // DEBUG
|
||||
{
|
||||
battery.receiveEnergy(CHARGE_RATE, false);
|
||||
|
||||
updateNetwork();
|
||||
dirty = true;
|
||||
}
|
||||
|
||||
updateNetwork();
|
||||
updateBlockState();
|
||||
|
||||
if (couldSmelt != canSmelt())
|
||||
{
|
||||
dirty = true;
|
||||
}
|
||||
|
||||
if (dirty)
|
||||
{
|
||||
markDirty();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -138,12 +157,15 @@ public class TileEntityRedstoneKiln extends TileEntityKilnBase implements IEnerg
|
|||
@Override
|
||||
public void smeltItem()
|
||||
{
|
||||
super.smeltItem();
|
||||
|
||||
if (canSmelt())
|
||||
{
|
||||
battery.extractEnergy(SMELT_COST, false);
|
||||
int extr = battery.extractEnergy(SMELT_COST, false);
|
||||
LogUtil.log(Level.ERROR, "=== EXTRACTED: " + extr + " ===");
|
||||
}
|
||||
|
||||
super.smeltItem();
|
||||
|
||||
updateNetwork();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue