diff --git a/src/main/java/techreborn/api/recipe/machines/IndustrialElectrolyzerRecipe.java b/src/main/java/techreborn/api/recipe/machines/IndustrialElectrolyzerRecipe.java index 18475fc96..c9db57f5d 100644 --- a/src/main/java/techreborn/api/recipe/machines/IndustrialElectrolyzerRecipe.java +++ b/src/main/java/techreborn/api/recipe/machines/IndustrialElectrolyzerRecipe.java @@ -8,9 +8,7 @@ import techreborn.tiles.TileIndustrialElectrolyzer; public class IndustrialElectrolyzerRecipe extends BaseRecipe { - public FluidStack fluidStack; - - public IndustrialElectrolyzerRecipe(ItemStack inputCells, ItemStack input2, FluidStack fluidStack, ItemStack output1, ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick) + public IndustrialElectrolyzerRecipe(ItemStack inputCells, ItemStack input2, ItemStack output1, ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick) { super("industrialElectrolyzerRecipe", tickTime, euPerTick); if (inputCells != null) @@ -25,26 +23,6 @@ public class IndustrialElectrolyzerRecipe extends BaseRecipe { addOutput(output3); if (output4 != null) addOutput(output4); - this.fluidStack = fluidStack; - } - - public IndustrialElectrolyzerRecipe(boolean userOreDic, ItemStack inputCells, ItemStack input2, FluidStack fluidStack, ItemStack output1, ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick) - { - super("industrialElectrolyzerRecipe", tickTime, euPerTick); - this.useOreDictionary = userOreDic; - if (inputCells != null) - inputs.add(inputCells); - if( input2 != null) - inputs.add(input2); - if (output1 != null) - addOutput(output1); - if (output2 != null) - addOutput(output2); - if (output3 != null) - addOutput(output3); - if (output4 != null) - addOutput(output4); - this.fluidStack = fluidStack; } @Override @@ -52,49 +30,6 @@ public class IndustrialElectrolyzerRecipe extends BaseRecipe { return "Industrial Electrolyzer"; } - @Override - public boolean canCraft(TileEntity tile) { - if (fluidStack == null) { - return true; - } - if (tile instanceof TileIndustrialElectrolyzer) { - TileIndustrialElectrolyzer grinder = (TileIndustrialElectrolyzer) tile; - if (grinder.tank.getFluid() == null) { - return false; - } - if (grinder.tank.getFluid().getFluidID() == fluidStack.getFluidID()) { - if (grinder.tank.getFluidAmount() >= fluidStack.amount) { - return true; - } - } - } - return false; - } - - @Override - public boolean onCraft(TileEntity tile) { - if (fluidStack == null) { - return true; - } - if (tile instanceof TileIndustrialElectrolyzer) { - TileIndustrialElectrolyzer grinder = (TileIndustrialElectrolyzer) tile; - if (grinder.tank.getFluid() == null) { - return false; - } - if (grinder.tank.getFluid().getFluidID() == fluidStack.getFluidID()) { - if (grinder.tank.getFluidAmount() >= fluidStack.amount) { - if (grinder.tank.getFluidAmount() > 0) { - grinder.tank.setFluid(new FluidStack(fluidStack.getFluid(), grinder.tank.getFluidAmount() - fluidStack.amount)); - } else { - grinder.tank.setFluid(null); - } - return true; - } - } - } - return false; - } - @Override public boolean useOreDic() { diff --git a/src/main/java/techreborn/client/container/ContainerIndustrialElectrolyzer.java b/src/main/java/techreborn/client/container/ContainerIndustrialElectrolyzer.java index 2a25b189f..ae4fbeb13 100644 --- a/src/main/java/techreborn/client/container/ContainerIndustrialElectrolyzer.java +++ b/src/main/java/techreborn/client/container/ContainerIndustrialElectrolyzer.java @@ -33,9 +33,6 @@ public class ContainerIndustrialElectrolyzer extends ContainerCrafting { this.addSlotToContainer(new SlotOutput(electrolyzer.inventory, 3, 70, 19)); this.addSlotToContainer(new SlotOutput(electrolyzer.inventory, 4, 90, 19)); this.addSlotToContainer(new SlotOutput(electrolyzer.inventory, 5, 110, 19)); - // power - this.addSlotToContainer(new Slot(electrolyzer.inventory, 6, 8, 51)); - int i; for (i = 0; i < 3; ++i) diff --git a/src/main/java/techreborn/client/gui/GuiIndustrialElectrolyzer.java b/src/main/java/techreborn/client/gui/GuiIndustrialElectrolyzer.java index 741da7c25..80c21acd1 100644 --- a/src/main/java/techreborn/client/gui/GuiIndustrialElectrolyzer.java +++ b/src/main/java/techreborn/client/gui/GuiIndustrialElectrolyzer.java @@ -40,25 +40,6 @@ public class GuiIndustrialElectrolyzer 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); - - if (eletrolyzer.tank.getFluidAmount() != 0) - { - IIcon fluidIcon = eletrolyzer.tank.getFluid().getFluid().getIcon(); - if (fluidIcon != null) - { - drawTexturedModalRect(k + 7, l + 15, 176, 31, 20, 55); - - this.mc.renderEngine - .bindTexture(TextureMap.locationBlocksTexture); - int liquidHeight = eletrolyzer.tank.getFluidAmount() * 47 - / eletrolyzer.tank.getCapacity(); - DrawUtil.drawRepeated(fluidIcon, k + 11, l + 19 + 47 - - liquidHeight, 12.0D, liquidHeight, this.zLevel); - - this.mc.renderEngine.bindTexture(texture); - drawTexturedModalRect(k + 11, l + 19, 176, 86, 12, 47); - } - } } protected void drawGuiContainerForegroundLayer(int p_146979_1_, diff --git a/src/main/java/techreborn/compat/nei/recipes/IndustrialElectrolyzerRecipeHandler.java b/src/main/java/techreborn/compat/nei/recipes/IndustrialElectrolyzerRecipeHandler.java index 02dc99b16..6a3c81492 100644 --- a/src/main/java/techreborn/compat/nei/recipes/IndustrialElectrolyzerRecipeHandler.java +++ b/src/main/java/techreborn/compat/nei/recipes/IndustrialElectrolyzerRecipeHandler.java @@ -2,6 +2,7 @@ package techreborn.compat.nei.recipes; import codechicken.lib.gui.GuiDraw; import codechicken.nei.PositionedStack; +import codechicken.nei.recipe.TemplateRecipeHandler; import ic2.core.util.DrawUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.inventory.GuiContainer; @@ -12,6 +13,7 @@ import techreborn.api.recipe.machines.IndustrialElectrolyzerRecipe; import techreborn.client.gui.GuiIndustrialElectrolyzer; import techreborn.util.ItemUtils; +import java.awt.Rectangle; import java.util.List; public class IndustrialElectrolyzerRecipeHandler extends GenericRecipeHander implements INeiBaseRecipe { @@ -68,25 +70,9 @@ public class IndustrialElectrolyzerRecipeHandler extends GenericRecipeHander imp } @Override - public void drawBackground(int recipeIndex) { - super.drawBackground(recipeIndex); - CachedRecipe recipe = arecipes.get(recipeIndex); - if (recipe instanceof CachedGenericRecipe) { - if (((CachedGenericRecipe) recipe).recipie instanceof IndustrialElectrolyzerRecipe) { - IndustrialElectrolyzerRecipe grinderRecipe = (IndustrialElectrolyzerRecipe) ((CachedGenericRecipe) recipe).recipie; - if (grinderRecipe.fluidStack != null) { - IIcon fluidIcon = grinderRecipe.fluidStack.getFluid().getIcon(); - if (fluidIcon != null) { - - Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture); - int liquidHeight = grinderRecipe.fluidStack.amount * 100 / 16000; - DrawUtil.drawRepeated(fluidIcon, 7, 22 + 47 - liquidHeight, 14.0D, liquidHeight, GuiDraw.gui.getZLevel()); - - } - GuiDraw.drawString(grinderRecipe.fluidStack.amount + "mb of " + grinderRecipe.fluidStack.getLocalizedName(), 14, 135, -1); - } - } - } - + public void loadTransferRects() { + this.transferRects.add(new TemplateRecipeHandler.RecipeTransferRect( + new Rectangle(80, 20, 15, 15), getNeiBaseRecipe().getRecipeName(), new Object[0])); } + } diff --git a/src/main/java/techreborn/init/ModRecipes.java b/src/main/java/techreborn/init/ModRecipes.java index 01d5e8950..35a24fd35 100644 --- a/src/main/java/techreborn/init/ModRecipes.java +++ b/src/main/java/techreborn/init/ModRecipes.java @@ -1953,7 +1953,6 @@ public class ModRecipes { static void addIndustrialElectrolyzerRecipes() { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( - null, ItemCells.getCellByName("sulfuricAcid", 7), null, ItemCells.getCellByName("hydrogen", 2), @@ -1964,7 +1963,6 @@ public class ModRecipes { )); RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( - null, ItemCells.getCellByName("nitrocarbon", 2), null, ItemCells.getCellByName("nitrogen"), @@ -1977,7 +1975,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("ruby", 6), IC2Items.getItem("cell"), - null, ItemDusts.getDustByName("aluminum", 2), new ItemStack(IC2Items.getItem("cell").getItem(), 1, 5), ItemDusts.getDustByName("chrome", 1), @@ -1988,7 +1985,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("sapphire", 5), IC2Items.getItem("cell"), - null, ItemDusts.getDustByName("aluminum", 2), new ItemStack(IC2Items.getItem("cell").getItem(), 1, 5), null, @@ -1999,7 +1995,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemCells.getCellByName("nitrogenDioxide", 3), null, - null, ItemCells.getCellByName("nitrogen", 1), new ItemStack(IC2Items.getItem("cell").getItem(), 1, 5), null, @@ -2010,7 +2005,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemCells.getCellByName("sodiumSulfide", 2), null, - null, ItemCells.getCellByName("sodium", 1), ItemDusts.getDustByName("sulfur", 1), null, @@ -2021,7 +2015,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("greenSapphire", 5), IC2Items.getItem("cell"), - null, ItemDusts.getDustByName("aluminum", 2), new ItemStack(IC2Items.getItem("cell").getItem(), 1, 5), null, @@ -2032,7 +2025,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("emerald", 29), new ItemStack(IC2Items.getItem("cell").getItem(), 18, 0), - null, ItemCells.getCellByName("berylium", 3), ItemDusts.getDustByName("aluminum", 2), ItemCells.getCellByName("silicon", 6), @@ -2043,7 +2035,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( new ItemStack(IC2Items.getItem("silicondioxideDust").getItem(), 3, 0), new ItemStack(IC2Items.getItem("cell").getItem(), 2, 0), - null, ItemCells.getCellByName("silicon", 1), new ItemStack(IC2Items.getItem("cell").getItem(), 1, 5), null, @@ -2051,21 +2042,18 @@ public class ModRecipes { 60, 60 )); - RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe(false, - new ItemStack(Items.dye, 3, 15), + RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe(new ItemStack(Items.dye, 3, 15), new ItemStack(IC2Items.getItem("cell").getItem(), 1, 0), null, ItemCells.getCellByName("calcium", 1), null, null, - null, 20, 106 )); RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemCells.getCellByName("glyceryl", 20), null, - null, ItemCells.getCellByName("carbon", 3), ItemCells.getCellByName("hydrogen", 5), ItemCells.getCellByName("nitrogen", 3), @@ -2076,7 +2064,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("peridot", 9), new ItemStack(IC2Items.getItem("cell").getItem(), 4, 0), - null, ItemDusts.getDustByName("magnesium", 2), ItemDusts.getDustByName("iron"), ItemCells.getCellByName("silicon", 2), @@ -2087,7 +2074,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemCells.getCellByName("calciumCarbonate", 5), null, - null, ItemCells.getCellByName("carbon"), ItemCells.getCellByName("calcium"), new ItemStack(IC2Items.getItem("cell").getItem(), 1, 5), @@ -2098,7 +2084,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemCells.getCellByName("sodiumPersulfate", 6), null, - null, ItemCells.getCellByName("sodium"), ItemDusts.getDustByName("sulfur"), new ItemStack(IC2Items.getItem("cell").getItem(), 2, 5), @@ -2109,7 +2094,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("pyrope", 20), new ItemStack(IC2Items.getItem("cell").getItem(), 9, 0), - null, ItemDusts.getDustByName("aluminum", 2), ItemDusts.getDustByName("magnesium", 3), ItemCells.getCellByName("silicon", 3), @@ -2123,7 +2107,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( sand, new ItemStack(IC2Items.getItem("cell").getItem(), 2, 0), - null, ItemCells.getCellByName("silicon", 1), new ItemStack(IC2Items.getItem("cell").getItem(), 1, 5), null, @@ -2134,7 +2117,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("almandine", 20), new ItemStack(IC2Items.getItem("cell").getItem(), 9, 0), - null, ItemDusts.getDustByName("aluminum", 2), ItemDusts.getDustByName("iron", 3), ItemCells.getCellByName("silicon", 3), @@ -2145,7 +2127,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("spessartine", 20), new ItemStack(IC2Items.getItem("cell").getItem(), 9, 0), - null, ItemDusts.getDustByName("aluminum", 2), ItemDusts.getDustByName("manganese", 3), ItemCells.getCellByName("silicon", 3), @@ -2156,7 +2137,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("andradite", 20), new ItemStack(IC2Items.getItem("cell").getItem(), 12, 0), - null, ItemCells.getCellByName("calcium", 3), ItemDusts.getDustByName("iron", 2), ItemCells.getCellByName("silicon", 3), @@ -2167,7 +2147,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("grossular", 20), new ItemStack(IC2Items.getItem("cell").getItem(), 12, 0), - null, ItemCells.getCellByName("calcium", 3), ItemDusts.getDustByName("aluminum", 2), ItemCells.getCellByName("silicon", 3), @@ -2178,7 +2157,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("Uvarovite", 20), new ItemStack(IC2Items.getItem("cell").getItem(), 12, 0), - null, ItemCells.getCellByName("calcium", 3), ItemDusts.getDustByName("chrome", 2), ItemCells.getCellByName("silicon", 3), @@ -2189,7 +2167,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( new ItemStack(IC2Items.getItem("cell").getItem(), 6, 10), null, - null, ItemCells.getCellByName("hydrogen", 4), new ItemStack(IC2Items.getItem("cell").getItem(), 1, 5), new ItemStack(IC2Items.getItem("cell").getItem(), 1, 0), @@ -2200,7 +2177,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( ItemDusts.getDustByName("darkAshes"), new ItemStack(IC2Items.getItem("cell").getItem(), 2, 0), - null, ItemCells.getCellByName("carbon", 2), null, null, @@ -2214,7 +2190,6 @@ public class ModRecipes { RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe( salt, new ItemStack(IC2Items.getItem("cell").getItem(), 2, 0), - null, ItemCells.getCellByName("sodium"), ItemCells.getCellByName("chlorine"), null, diff --git a/src/main/java/techreborn/tiles/TileIndustrialElectrolyzer.java b/src/main/java/techreborn/tiles/TileIndustrialElectrolyzer.java index 42d59494b..6a8ba47be 100644 --- a/src/main/java/techreborn/tiles/TileIndustrialElectrolyzer.java +++ b/src/main/java/techreborn/tiles/TileIndustrialElectrolyzer.java @@ -20,12 +20,11 @@ import techreborn.init.ModFluids; import techreborn.util.Inventory; import techreborn.util.Tank; -public class TileIndustrialElectrolyzer extends TileMachineBase implements IWrenchable, IEnergyTile, IFluidHandler, IInventory, ISidedInventory { +public class TileIndustrialElectrolyzer extends TileMachineBase implements IWrenchable, IEnergyTile, IInventory, ISidedInventory { public int tickTime; public BasicSink energy; public Inventory inventory = new Inventory(7, "TileIndustrialElectrolyzer", 64); - public Tank tank = new Tank("TileIndustrialElectrolyzer", 16000, this); public RecipeCrafter crafter; public TileIndustrialElectrolyzer() @@ -36,9 +35,12 @@ public class TileIndustrialElectrolyzer extends TileMachineBase implements IWren int[] inputs = new int[2]; inputs[0] = 0; inputs[1] = 1; - int[] outputs = new int[1]; + int[] outputs = new int[4]; outputs[0] = 2; - crafter = new RecipeCrafter("industrialelectrolyzerRecipe", this, energy, 2, 1, inventory, inputs, outputs); + outputs[1] = 3; + outputs[2] = 4; + outputs[3] = 5; + crafter = new RecipeCrafter("industrialelectrolyzerRecipe", this, energy, 2, 4, inventory, inputs, outputs); } @Override @@ -100,7 +102,6 @@ public class TileIndustrialElectrolyzer extends TileMachineBase implements IWren inventory.readFromNBT(tagCompound); energy.readFromNBT(tagCompound); crafter.readFromNBT(tagCompound); - tank.readFromNBT(tagCompound); } @Override @@ -109,7 +110,6 @@ public class TileIndustrialElectrolyzer extends TileMachineBase implements IWren super.writeToNBT(tagCompound); inventory.writeToNBT(tagCompound); energy.writeToNBT(tagCompound); - tank.writeToNBT(tagCompound); crafter.writeToNBT(tagCompound); } @@ -217,50 +217,4 @@ public class TileIndustrialElectrolyzer extends TileMachineBase implements IWren return slotIndex == 2 || slotIndex == 3 || slotIndex == 4 || slotIndex == 5; } - /* IFluidHandler */ - @Override - public int fill(ForgeDirection from, FluidStack resource, boolean doFill) { - if(resource.getFluid() == FluidRegistry.WATER || resource.getFluid() == ModFluids.fluidMercury || resource.getFluid() == ModFluids.fluidSodiumpersulfate) { - int filled = tank.fill(resource, doFill); - tank.compareAndUpdate(); - return filled; - } - return 0; - } - - @Override - public FluidStack drain(ForgeDirection 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(ForgeDirection from, int maxDrain, boolean doDrain) { - FluidStack drained = tank.drain(maxDrain, doDrain); - tank.compareAndUpdate(); - return drained; - } - - @Override - public boolean canFill(ForgeDirection from, Fluid fluid) { - if(fluid == FluidRegistry.WATER || fluid == ModFluids.fluidMercury || fluid == ModFluids.fluidSodiumpersulfate) { - return true; - } - return false; - } - - @Override - public boolean canDrain(ForgeDirection from, Fluid fluid) { - return false; - } - - @Override - public FluidTankInfo[] getTankInfo(ForgeDirection from) { - return new FluidTankInfo[] { tank.getInfo() }; - } - } diff --git a/src/main/resources/assets/techreborn/textures/gui/industrial_electrolyzer.png b/src/main/resources/assets/techreborn/textures/gui/industrial_electrolyzer.png index 82a361e59..760c7d8dc 100644 Binary files a/src/main/resources/assets/techreborn/textures/gui/industrial_electrolyzer.png and b/src/main/resources/assets/techreborn/textures/gui/industrial_electrolyzer.png differ