Added button for recipes, fixed syncing with tanks
This commit is contained in:
parent
26b60d2896
commit
39492fadbd
4 changed files with 54 additions and 45 deletions
|
@ -1,6 +1,7 @@
|
|||
package techreborn.client.gui;
|
||||
|
||||
import codechicken.nei.recipe.GuiUsageRecipe;
|
||||
import codechicken.nei.recipe.GuiRecipe;
|
||||
import codechicken.nei.recipe.IRecipeHandler;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.inventory.GuiContainer;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
|
@ -10,6 +11,7 @@ import net.minecraft.util.StatCollector;
|
|||
import techreborn.client.container.ContainerBlastFurnace;
|
||||
import techreborn.tiles.TileBlastFurnace;
|
||||
|
||||
|
||||
public class GuiBlastFurnace extends GuiContainer {
|
||||
|
||||
private static final ResourceLocation texture = new ResourceLocation(
|
||||
|
@ -24,10 +26,19 @@ public class GuiBlastFurnace extends GuiContainer {
|
|||
this.xSize = 176;
|
||||
this.ySize = 167;
|
||||
blastfurnace = tileblastfurnace;
|
||||
this.buttonList.add(new GuiButton(0, 0, 0, 20, 20, "R"));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Override
|
||||
public void initGui() {
|
||||
|
||||
this.buttonList.clear();
|
||||
int k = (this.width - this.xSize) / 2;
|
||||
int l = (this.height - this.ySize) / 2;
|
||||
this.buttonList.add(new GuiButton(0, k + 4, l + 4, 20, 20, "R"));
|
||||
super.initGui();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void drawGuiContainerBackgroundLayer(float p_146976_1_,
|
||||
int p_146976_2_, int p_146976_3_)
|
||||
{
|
||||
|
@ -35,24 +46,17 @@ public class GuiBlastFurnace extends GuiContainer {
|
|||
int k = (this.width - this.xSize) / 2;
|
||||
int l = (this.height - this.ySize) / 2;
|
||||
this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
|
||||
|
||||
}
|
||||
|
||||
protected void drawGuiContainerForegroundLayer(int p_146979_1_,
|
||||
int p_146979_2_)
|
||||
{
|
||||
super.drawGuiContainerForegroundLayer(p_146979_1_, p_146979_2_);
|
||||
this.fontRendererObj.drawString(StatCollector.translateToLocal("tile.techreborn.blastfurnace.name"), 60, 6, 4210752);
|
||||
this.fontRendererObj.drawString(blastfurnace.getHeat() + " heat", 75, 20, 4210752);
|
||||
this.fontRendererObj.drawString(
|
||||
I18n.format("container.inventory", new Object[0]), 8,
|
||||
this.ySize - 96 + 2, 4210752);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) {
|
||||
super.actionPerformed(button);
|
||||
if(button.id == 0){
|
||||
//GuiUsageRecipe.openRecipeGui(rect.outputId, rect.results);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,7 +117,6 @@ public class BlastFurnaceRecipeHandler extends TemplateRecipeHandler {
|
|||
+ centrifugeRecipie.centrifugeRecipie.getTickTime() / 20
|
||||
+ " seconds", 14, 114, -1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -130,7 +129,7 @@ public class BlastFurnaceRecipeHandler extends TemplateRecipeHandler {
|
|||
public void loadTransferRects()
|
||||
{
|
||||
this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect(
|
||||
new Rectangle(75, 22, 15, 13), "tr.blast", new Object[0]));
|
||||
new Rectangle(0, 0, 20, 20), "tr.blast", new Object[0]));
|
||||
}
|
||||
|
||||
public void loadCraftingRecipes(String outputId, Object... results)
|
||||
|
|
|
@ -22,13 +22,14 @@ public class NEIConfig implements IConfigureNEI {
|
|||
{
|
||||
return ModInfo.MOD_VERSION;
|
||||
}
|
||||
public static BlastFurnaceRecipeHandler blastFurnaceRecipeHandle;
|
||||
|
||||
@Override
|
||||
public void loadConfig() {
|
||||
CentrifugeRecipeHandler centrifugeRecipeHandler = new CentrifugeRecipeHandler();
|
||||
ShapedRollingMachineHandler shapedRollingMachineHandler = new ShapedRollingMachineHandler();
|
||||
ShapelessRollingMachineHandler shapelessRollingMachineHandler = new ShapelessRollingMachineHandler();
|
||||
BlastFurnaceRecipeHandler blastFurnaceRecipeHandler = new BlastFurnaceRecipeHandler();
|
||||
NEIConfig.blastFurnaceRecipeHandle = new BlastFurnaceRecipeHandler();
|
||||
|
||||
API.registerRecipeHandler(centrifugeRecipeHandler);
|
||||
API.registerUsageHandler(centrifugeRecipeHandler);
|
||||
|
@ -39,7 +40,7 @@ public class NEIConfig implements IConfigureNEI {
|
|||
API.registerUsageHandler(shapelessRollingMachineHandler);
|
||||
API.registerRecipeHandler(shapelessRollingMachineHandler);
|
||||
|
||||
API.registerUsageHandler(blastFurnaceRecipeHandler);
|
||||
API.registerRecipeHandler(blastFurnaceRecipeHandler);
|
||||
API.registerUsageHandler(NEIConfig.blastFurnaceRecipeHandle);
|
||||
API.registerRecipeHandler(NEIConfig.blastFurnaceRecipeHandle);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,37 +53,40 @@ public class TileQuantumTank extends TileMachineBase implements IFluidHandler,
|
|||
inventory.writeToNBT(tagCompound);
|
||||
}
|
||||
|
||||
public Packet getDescriptionPacket()
|
||||
{
|
||||
NBTTagCompound nbtTag = new NBTTagCompound();
|
||||
writeToNBT(nbtTag);
|
||||
return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord,
|
||||
this.zCoord, 1, nbtTag);
|
||||
}
|
||||
public Packet getDescriptionPacket()
|
||||
{
|
||||
NBTTagCompound nbtTag = new NBTTagCompound();
|
||||
writeToNBT(nbtTag);
|
||||
return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord,
|
||||
this.zCoord, 1, nbtTag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDataPacket(NetworkManager net,
|
||||
S35PacketUpdateTileEntity packet)
|
||||
{
|
||||
worldObj.markBlockRangeForRenderUpdate(xCoord, yCoord, zCoord, xCoord,
|
||||
yCoord, zCoord);
|
||||
readFromNBT(packet.func_148857_g());
|
||||
}
|
||||
@Override
|
||||
public void onDataPacket(NetworkManager net,
|
||||
S35PacketUpdateTileEntity packet)
|
||||
{
|
||||
worldObj.markBlockRangeForRenderUpdate(xCoord, yCoord, zCoord, xCoord,
|
||||
yCoord, zCoord);
|
||||
readFromNBT(packet.func_148857_g());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateEntity()
|
||||
{
|
||||
super.updateEntity();
|
||||
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()));
|
||||
} else if (tank.getFluidType() == null && getStackInSlot(2) != null)
|
||||
{
|
||||
setInventorySlotContents(2, null);
|
||||
}
|
||||
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()));
|
||||
} else if (tank.getFluidType() == null && getStackInSlot(2) != null)
|
||||
{
|
||||
setInventorySlotContents(2, null);
|
||||
}
|
||||
syncWithAll();
|
||||
}
|
||||
}
|
||||
|
||||
// IFluidHandler
|
||||
|
@ -138,9 +141,10 @@ public class TileQuantumTank extends TileMachineBase implements IFluidHandler,
|
|||
}
|
||||
|
||||
@Override
|
||||
public ItemStack decrStackSize(int slotId, int count)
|
||||
{
|
||||
return inventory.decrStackSize(slotId, count);
|
||||
public ItemStack decrStackSize(int slotId, int count) {
|
||||
ItemStack stack = inventory.decrStackSize(slotId, count);
|
||||
syncWithAll();
|
||||
return stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -153,6 +157,7 @@ public class TileQuantumTank extends TileMachineBase implements IFluidHandler,
|
|||
public void setInventorySlotContents(int slot, ItemStack stack)
|
||||
{
|
||||
inventory.setInventorySlotContents(slot, stack);
|
||||
syncWithAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue