Only slightly less buggy. #131 is still a pain.

master
sealedinterface 2016-06-21 01:36:25 -07:00
parent b507a50be0
commit 1f78339240
3 changed files with 39 additions and 17 deletions

View File

@ -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);
}
}

View File

@ -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();
}

View File

@ -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