Added button for recipes, fixed syncing with tanks

This commit is contained in:
modmuss50 2015-05-03 14:31:19 +01:00
parent 26b60d2896
commit 39492fadbd
4 changed files with 54 additions and 45 deletions

View file

@ -1,6 +1,7 @@
package techreborn.client.gui; 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.GuiButton;
import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
@ -10,6 +11,7 @@ import net.minecraft.util.StatCollector;
import techreborn.client.container.ContainerBlastFurnace; import techreborn.client.container.ContainerBlastFurnace;
import techreborn.tiles.TileBlastFurnace; import techreborn.tiles.TileBlastFurnace;
public class GuiBlastFurnace extends GuiContainer { public class GuiBlastFurnace extends GuiContainer {
private static final ResourceLocation texture = new ResourceLocation( private static final ResourceLocation texture = new ResourceLocation(
@ -24,7 +26,16 @@ public class GuiBlastFurnace extends GuiContainer {
this.xSize = 176; this.xSize = 176;
this.ySize = 167; this.ySize = 167;
blastfurnace = tileblastfurnace; blastfurnace = tileblastfurnace;
this.buttonList.add(new GuiButton(0, 0, 0, 20, 20, "R")); }
@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 @Override
@ -35,24 +46,17 @@ public class GuiBlastFurnace extends GuiContainer {
int k = (this.width - this.xSize) / 2; int k = (this.width - this.xSize) / 2;
int l = (this.height - this.ySize) / 2; int l = (this.height - this.ySize) / 2;
this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);
} }
protected void drawGuiContainerForegroundLayer(int p_146979_1_, protected void drawGuiContainerForegroundLayer(int p_146979_1_,
int p_146979_2_) 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(StatCollector.translateToLocal("tile.techreborn.blastfurnace.name"), 60, 6, 4210752);
this.fontRendererObj.drawString(blastfurnace.getHeat() + " heat", 75, 20, 4210752); this.fontRendererObj.drawString(blastfurnace.getHeat() + " heat", 75, 20, 4210752);
this.fontRendererObj.drawString( this.fontRendererObj.drawString(
I18n.format("container.inventory", new Object[0]), 8, I18n.format("container.inventory", new Object[0]), 8,
this.ySize - 96 + 2, 4210752); this.ySize - 96 + 2, 4210752);
} }
@Override
protected void actionPerformed(GuiButton button) {
super.actionPerformed(button);
if(button.id == 0){
//GuiUsageRecipe.openRecipeGui(rect.outputId, rect.results);
}
}
} }

View file

@ -117,7 +117,6 @@ public class BlastFurnaceRecipeHandler extends TemplateRecipeHandler {
+ centrifugeRecipie.centrifugeRecipie.getTickTime() / 20 + centrifugeRecipie.centrifugeRecipie.getTickTime() / 20
+ " seconds", 14, 114, -1); + " seconds", 14, 114, -1);
} }
} }
@Override @Override
@ -130,7 +129,7 @@ public class BlastFurnaceRecipeHandler extends TemplateRecipeHandler {
public void loadTransferRects() public void loadTransferRects()
{ {
this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect( 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) public void loadCraftingRecipes(String outputId, Object... results)

View file

@ -22,13 +22,14 @@ public class NEIConfig implements IConfigureNEI {
{ {
return ModInfo.MOD_VERSION; return ModInfo.MOD_VERSION;
} }
public static BlastFurnaceRecipeHandler blastFurnaceRecipeHandle;
@Override @Override
public void loadConfig() { public void loadConfig() {
CentrifugeRecipeHandler centrifugeRecipeHandler = new CentrifugeRecipeHandler(); CentrifugeRecipeHandler centrifugeRecipeHandler = new CentrifugeRecipeHandler();
ShapedRollingMachineHandler shapedRollingMachineHandler = new ShapedRollingMachineHandler(); ShapedRollingMachineHandler shapedRollingMachineHandler = new ShapedRollingMachineHandler();
ShapelessRollingMachineHandler shapelessRollingMachineHandler = new ShapelessRollingMachineHandler(); ShapelessRollingMachineHandler shapelessRollingMachineHandler = new ShapelessRollingMachineHandler();
BlastFurnaceRecipeHandler blastFurnaceRecipeHandler = new BlastFurnaceRecipeHandler(); NEIConfig.blastFurnaceRecipeHandle = new BlastFurnaceRecipeHandler();
API.registerRecipeHandler(centrifugeRecipeHandler); API.registerRecipeHandler(centrifugeRecipeHandler);
API.registerUsageHandler(centrifugeRecipeHandler); API.registerUsageHandler(centrifugeRecipeHandler);
@ -39,7 +40,7 @@ public class NEIConfig implements IConfigureNEI {
API.registerUsageHandler(shapelessRollingMachineHandler); API.registerUsageHandler(shapelessRollingMachineHandler);
API.registerRecipeHandler(shapelessRollingMachineHandler); API.registerRecipeHandler(shapelessRollingMachineHandler);
API.registerUsageHandler(blastFurnaceRecipeHandler); API.registerUsageHandler(NEIConfig.blastFurnaceRecipeHandle);
API.registerRecipeHandler(blastFurnaceRecipeHandler); API.registerRecipeHandler(NEIConfig.blastFurnaceRecipeHandle);
} }
} }

View file

@ -74,6 +74,7 @@ public class TileQuantumTank extends TileMachineBase implements IFluidHandler,
public void updateEntity() public void updateEntity()
{ {
super.updateEntity(); super.updateEntity();
if(!worldObj.isRemote){
FluidUtils.drainContainers(this, inventory, 0, 1); FluidUtils.drainContainers(this, inventory, 0, 1);
FluidUtils.fillContainers(this, inventory, 0, 1, tank.getFluidType()); FluidUtils.fillContainers(this, inventory, 0, 1, tank.getFluidType());
if (tank.getFluidType() != null && getStackInSlot(2) == null) if (tank.getFluidType() != null && getStackInSlot(2) == null)
@ -84,6 +85,8 @@ public class TileQuantumTank extends TileMachineBase implements IFluidHandler,
{ {
setInventorySlotContents(2, null); setInventorySlotContents(2, null);
} }
syncWithAll();
}
} }
// IFluidHandler // IFluidHandler
@ -138,9 +141,10 @@ public class TileQuantumTank extends TileMachineBase implements IFluidHandler,
} }
@Override @Override
public ItemStack decrStackSize(int slotId, int count) public ItemStack decrStackSize(int slotId, int count) {
{ ItemStack stack = inventory.decrStackSize(slotId, count);
return inventory.decrStackSize(slotId, count); syncWithAll();
return stack;
} }
@Override @Override
@ -153,6 +157,7 @@ public class TileQuantumTank extends TileMachineBase implements IFluidHandler,
public void setInventorySlotContents(int slot, ItemStack stack) public void setInventorySlotContents(int slot, ItemStack stack)
{ {
inventory.setInventorySlotContents(slot, stack); inventory.setInventorySlotContents(slot, stack);
syncWithAll();
} }
@Override @Override