diff --git a/src/main/java/techreborn/api/recipe/RecipeCrafter.java b/src/main/java/techreborn/api/recipe/RecipeCrafter.java index 40d327b90..c09fd7ee6 100644 --- a/src/main/java/techreborn/api/recipe/RecipeCrafter.java +++ b/src/main/java/techreborn/api/recipe/RecipeCrafter.java @@ -92,7 +92,7 @@ public class RecipeCrafter { for (IBaseRecipeType recipe : RecipeHanderer.getRecipeClassFromName(recipeName)) { boolean isFullRecipe = false; for (int i = 0; i < inputs; i++) { - if (ItemUtils.isItemEqual(inventory.getStackInSlot(inputSlots[i]), recipe.getInputs().get(i), true, true, true)) { + if (ItemUtils.isItemEqual(inventory.getStackInSlot(inputSlots[i]), recipe.getInputs().get(i), true, true, true) && inventory.getStackInSlot(inputSlots[i]).stackSize >= recipe.getInputs().get(i).stackSize) { isFullRecipe = true; } else { isFullRecipe = false; @@ -105,7 +105,7 @@ public class RecipeCrafter { } } else { for (int i = 0; i < inputs; i++) { - if (!ItemUtils.isItemEqual(inventory.getStackInSlot(inputSlots[i]), currentRecipe.getInputs().get(i), true, true, true)) { + if (!ItemUtils.isItemEqual(inventory.getStackInSlot(inputSlots[i]), currentRecipe.getInputs().get(i), true, true, true) || (inventory.getStackInSlot(inputSlots[i]) == null || (inventory.getStackInSlot(inputSlots[i]).stackSize < currentRecipe.getInputs().get(i).stackSize))) { currentRecipe = null; currentTickTime = 0; return; diff --git a/src/main/java/techreborn/compat/nei/recipes/AlloySmelterRecipeHandler.java b/src/main/java/techreborn/compat/nei/recipes/AlloySmelterRecipeHandler.java index 95063c683..62341ae36 100644 --- a/src/main/java/techreborn/compat/nei/recipes/AlloySmelterRecipeHandler.java +++ b/src/main/java/techreborn/compat/nei/recipes/AlloySmelterRecipeHandler.java @@ -13,15 +13,12 @@ public class AlloySmelterRecipeHandler extends GenericRecipeHander implements IN public void addPositionedStacks(List input, List outputs, IBaseRecipeType recipeType) { int offset = 4; PositionedStack pStack = new PositionedStack(recipeType.getInputs().get(0), 56 - offset, 25 - offset); - pStack.setMaxSize(1); input.add(pStack); PositionedStack pStack2 = new PositionedStack(recipeType.getInputs().get(1), 56 - offset, 43 - offset); - pStack2.setMaxSize(1); input.add(pStack2); PositionedStack pStack3 = new PositionedStack(recipeType.getOutputs().get(0), 116 - offset, 35 - offset); - pStack3.setMaxSize(1); outputs.add(pStack3); } diff --git a/src/main/java/techreborn/compat/nei/recipes/AssemblingMachineRecipeHandler.java b/src/main/java/techreborn/compat/nei/recipes/AssemblingMachineRecipeHandler.java index af8f25338..d9d4f2b51 100644 --- a/src/main/java/techreborn/compat/nei/recipes/AssemblingMachineRecipeHandler.java +++ b/src/main/java/techreborn/compat/nei/recipes/AssemblingMachineRecipeHandler.java @@ -13,15 +13,12 @@ public class AssemblingMachineRecipeHandler extends GenericRecipeHander implemen public void addPositionedStacks(List input, List outputs, IBaseRecipeType recipeType) { int offset = 4; PositionedStack pStack = new PositionedStack(recipeType.getInputs().get(0), 47 - offset, 17 - offset); - pStack.setMaxSize(1); input.add(pStack); PositionedStack pStack2 = new PositionedStack(recipeType.getInputs().get(1), 65 - offset, 17 - offset); - pStack2.setMaxSize(1); input.add(pStack2); PositionedStack pStack3 = new PositionedStack(recipeType.getOutputs().get(0), 116 - offset, 35 - offset); - pStack3.setMaxSize(1); outputs.add(pStack3); } diff --git a/src/main/java/techreborn/compat/nei/recipes/ImplosionCompressorRecipeHandler.java b/src/main/java/techreborn/compat/nei/recipes/ImplosionCompressorRecipeHandler.java index 2106ad91a..af4b55138 100644 --- a/src/main/java/techreborn/compat/nei/recipes/ImplosionCompressorRecipeHandler.java +++ b/src/main/java/techreborn/compat/nei/recipes/ImplosionCompressorRecipeHandler.java @@ -12,19 +12,15 @@ public class ImplosionCompressorRecipeHandler extends GenericRecipeHander implem public void addPositionedStacks(List input, List outputs, IBaseRecipeType recipeType) { int offset = 4; PositionedStack pStack = new PositionedStack(recipeType.getInputs().get(0), 34 - offset, 16 - offset); - pStack.setMaxSize(1); input.add(pStack); PositionedStack pStack2 = new PositionedStack(recipeType.getInputs().get(1), 34 - offset, 34 - offset); - pStack2.setMaxSize(1); input.add(pStack2); PositionedStack pStack3 = new PositionedStack(recipeType.getOutputs().get(0), 86 - offset, 25 - offset); - pStack3.setMaxSize(1); outputs.add(pStack3); PositionedStack pStack4 = new PositionedStack(recipeType.getOutputs().get(1), 104 - offset, 25 - offset); - pStack4.setMaxSize(1); outputs.add(pStack4); } diff --git a/src/main/java/techreborn/compat/nei/recipes/LatheRecipeHandler.java b/src/main/java/techreborn/compat/nei/recipes/LatheRecipeHandler.java index 35a9881ce..7243937bb 100644 --- a/src/main/java/techreborn/compat/nei/recipes/LatheRecipeHandler.java +++ b/src/main/java/techreborn/compat/nei/recipes/LatheRecipeHandler.java @@ -14,11 +14,9 @@ public class LatheRecipeHandler extends GenericRecipeHander implements INeiBaseR public void addPositionedStacks(List input, List outputs, IBaseRecipeType recipeType) { int offset = 4; PositionedStack pStack = new PositionedStack(recipeType.getInputs().get(0), 56 - offset, 17 - offset); - pStack.setMaxSize(1); input.add(pStack); PositionedStack pStack3 = new PositionedStack(recipeType.getOutputs().get(0), 116 - offset, 35 - offset); - pStack3.setMaxSize(1); outputs.add(pStack3); } diff --git a/src/main/java/techreborn/init/ModRecipes.java b/src/main/java/techreborn/init/ModRecipes.java index c6500e73a..be2f32cfc 100644 --- a/src/main/java/techreborn/init/ModRecipes.java +++ b/src/main/java/techreborn/init/ModRecipes.java @@ -198,7 +198,7 @@ public class ModRecipes { Blocks.cobblestone); TechRebornAPI.registerBlastFurnaceRecipe(new BlastFurnaceRecipe(new ItemStack(Items.apple), new ItemStack(Items.ender_pearl), new ItemStack(Items.golden_apple), new ItemStack(Items.diamond), 120, 1000)); - RecipeHanderer.addRecipe(new ImplosionCompressorRecipe(new ItemStack(Blocks.planks), new ItemStack(Blocks.wool), new ItemStack(Items.brewing_stand), new ItemStack(Items.carrot), 120, 5)); + RecipeHanderer.addRecipe(new ImplosionCompressorRecipe(new ItemStack(Blocks.planks, 4), new ItemStack(Blocks.wool), new ItemStack(Items.brewing_stand), new ItemStack(Items.carrot), 120, 5)); RecipeHanderer.addRecipe(new AlloySmelterRecipe(new ItemStack(Items.coal), new ItemStack(Blocks.sand), new ItemStack(Items.diamond), 120, 5)); RecipeHanderer.addRecipe(new AssemblingMachineRecipe(new ItemStack(Items.coal), new ItemStack(Blocks.sand), new ItemStack(Items.diamond), 120, 5)); diff --git a/src/main/java/techreborn/tiles/TileAlloySmelter.java b/src/main/java/techreborn/tiles/TileAlloySmelter.java index c9ce52dcc..d3ec43b41 100644 --- a/src/main/java/techreborn/tiles/TileAlloySmelter.java +++ b/src/main/java/techreborn/tiles/TileAlloySmelter.java @@ -5,6 +5,7 @@ import ic2.api.energy.tile.IEnergyTile; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import techreborn.api.recipe.RecipeCrafter; import techreborn.config.ConfigTechReborn; import techreborn.init.ModBlocks; @@ -78,4 +79,33 @@ public class TileAlloySmelter extends TileMachineBase implements IWrenchable, IE return false; } + @Override + public void readFromNBT(NBTTagCompound tagCompound) + { + super.readFromNBT(tagCompound); + inventory.readFromNBT(tagCompound); + energy.readFromNBT(tagCompound); + crafter.readFromNBT(tagCompound); + } + + @Override + public void writeToNBT(NBTTagCompound tagCompound) + { + super.writeToNBT(tagCompound); + inventory.writeToNBT(tagCompound); + energy.writeToNBT(tagCompound); + crafter.writeToNBT(tagCompound); + } + + @Override + public void invalidate() + { + energy.invalidate(); + } + @Override + public void onChunkUnload() + { + energy.onChunkUnload(); + } + } diff --git a/src/main/java/techreborn/tiles/TileAssemblingMachine.java b/src/main/java/techreborn/tiles/TileAssemblingMachine.java index d46ddad96..228719d08 100644 --- a/src/main/java/techreborn/tiles/TileAssemblingMachine.java +++ b/src/main/java/techreborn/tiles/TileAssemblingMachine.java @@ -5,6 +5,7 @@ import ic2.api.energy.tile.IEnergyTile; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import techreborn.api.recipe.RecipeCrafter; import techreborn.config.ConfigTechReborn; import techreborn.init.ModBlocks; @@ -78,4 +79,33 @@ public class TileAssemblingMachine extends TileMachineBase implements IWrenchabl return false; } + @Override + public void readFromNBT(NBTTagCompound tagCompound) + { + super.readFromNBT(tagCompound); + inventory.readFromNBT(tagCompound); + energy.readFromNBT(tagCompound); + crafter.readFromNBT(tagCompound); + } + + @Override + public void writeToNBT(NBTTagCompound tagCompound) + { + super.writeToNBT(tagCompound); + inventory.writeToNBT(tagCompound); + energy.writeToNBT(tagCompound); + crafter.writeToNBT(tagCompound); + } + + @Override + public void invalidate() + { + energy.invalidate(); + } + @Override + public void onChunkUnload() + { + energy.onChunkUnload(); + } + } diff --git a/src/main/java/techreborn/tiles/TileDragonEggSiphoner.java b/src/main/java/techreborn/tiles/TileDragonEggSiphoner.java index c8535bae8..bc7283a26 100644 --- a/src/main/java/techreborn/tiles/TileDragonEggSiphoner.java +++ b/src/main/java/techreborn/tiles/TileDragonEggSiphoner.java @@ -7,6 +7,7 @@ import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import techreborn.api.recipe.RecipeCrafter; @@ -80,4 +81,31 @@ public class TileDragonEggSiphoner extends TileMachineBase implements IWrenchabl return false; } + @Override + public void invalidate() + { + energy.invalidate(); + } + @Override + public void onChunkUnload() + { + energy.onChunkUnload(); + } + + @Override + public void readFromNBT(NBTTagCompound tagCompound) + { + super.readFromNBT(tagCompound); + inventory.readFromNBT(tagCompound); + energy.readFromNBT(tagCompound); + } + + @Override + public void writeToNBT(NBTTagCompound tagCompound) + { + super.writeToNBT(tagCompound); + inventory.writeToNBT(tagCompound); + energy.writeToNBT(tagCompound); + } + } diff --git a/src/main/java/techreborn/tiles/TileGrinder.java b/src/main/java/techreborn/tiles/TileGrinder.java index 851cbdc4d..c63ce0c38 100644 --- a/src/main/java/techreborn/tiles/TileGrinder.java +++ b/src/main/java/techreborn/tiles/TileGrinder.java @@ -3,6 +3,7 @@ package techreborn.tiles; import ic2.api.energy.tile.IEnergyTile; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import techreborn.init.ModBlocks; import techreborn.util.Inventory; import ic2.api.energy.prefab.BasicSink; @@ -55,4 +56,31 @@ public class TileGrinder extends TileMachineBase implements IWrenchable, IEnergy return false; } + @Override + public void readFromNBT(NBTTagCompound tagCompound) + { + super.readFromNBT(tagCompound); + inventory.readFromNBT(tagCompound); + energy.readFromNBT(tagCompound); + } + + @Override + public void writeToNBT(NBTTagCompound tagCompound) + { + super.writeToNBT(tagCompound); + inventory.writeToNBT(tagCompound); + energy.writeToNBT(tagCompound); + } + + @Override + public void invalidate() + { + energy.invalidate(); + } + @Override + public void onChunkUnload() + { + energy.onChunkUnload(); + } + } diff --git a/src/main/java/techreborn/tiles/TileIndustrialElectrolyzer.java b/src/main/java/techreborn/tiles/TileIndustrialElectrolyzer.java index 3e63e7ee2..1718a9079 100644 --- a/src/main/java/techreborn/tiles/TileIndustrialElectrolyzer.java +++ b/src/main/java/techreborn/tiles/TileIndustrialElectrolyzer.java @@ -5,6 +5,7 @@ import ic2.api.energy.tile.IEnergyTile; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import techreborn.api.recipe.RecipeCrafter; import techreborn.config.ConfigTechReborn; import techreborn.init.ModBlocks; @@ -78,4 +79,32 @@ public class TileIndustrialElectrolyzer extends TileMachineBase implements IWren return false; } + @Override + public void readFromNBT(NBTTagCompound tagCompound) + { + super.readFromNBT(tagCompound); + inventory.readFromNBT(tagCompound); + energy.readFromNBT(tagCompound); + } + + @Override + public void writeToNBT(NBTTagCompound tagCompound) + { + super.writeToNBT(tagCompound); + inventory.writeToNBT(tagCompound); + energy.writeToNBT(tagCompound); + } + + @Override + public void invalidate() + { + energy.invalidate(); + } + @Override + public void onChunkUnload() + { + energy.onChunkUnload(); + } + + } diff --git a/src/main/java/techreborn/tiles/TileLathe.java b/src/main/java/techreborn/tiles/TileLathe.java index c4a8343a6..28e3ef6e3 100644 --- a/src/main/java/techreborn/tiles/TileLathe.java +++ b/src/main/java/techreborn/tiles/TileLathe.java @@ -5,6 +5,7 @@ import ic2.api.energy.tile.IEnergyTile; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import techreborn.api.recipe.RecipeCrafter; import techreborn.config.ConfigTechReborn; import techreborn.init.ModBlocks; @@ -77,4 +78,33 @@ public class TileLathe extends TileMachineBase implements IWrenchable, IEnergyTi return false; } + @Override + public void readFromNBT(NBTTagCompound tagCompound) + { + super.readFromNBT(tagCompound); + inventory.readFromNBT(tagCompound); + energy.readFromNBT(tagCompound); + crafter.readFromNBT(tagCompound); + } + + @Override + public void writeToNBT(NBTTagCompound tagCompound) + { + super.writeToNBT(tagCompound); + inventory.writeToNBT(tagCompound); + energy.writeToNBT(tagCompound); + crafter.writeToNBT(tagCompound); + } + + @Override + public void invalidate() + { + energy.invalidate(); + } + @Override + public void onChunkUnload() + { + energy.onChunkUnload(); + } + } diff --git a/src/main/java/techreborn/tiles/TileMachineBase.java b/src/main/java/techreborn/tiles/TileMachineBase.java index a8e233c62..04f9643af 100644 --- a/src/main/java/techreborn/tiles/TileMachineBase.java +++ b/src/main/java/techreborn/tiles/TileMachineBase.java @@ -54,4 +54,6 @@ public class TileMachineBase extends TileEntity { readFromNBT(packet.func_148857_g()); } + + } diff --git a/src/main/java/techreborn/tiles/TileMatterFabricator.java b/src/main/java/techreborn/tiles/TileMatterFabricator.java index c6a976797..1047f06e8 100644 --- a/src/main/java/techreborn/tiles/TileMatterFabricator.java +++ b/src/main/java/techreborn/tiles/TileMatterFabricator.java @@ -3,6 +3,7 @@ package techreborn.tiles; import ic2.api.energy.tile.IEnergyTile; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; import techreborn.init.ModBlocks; import techreborn.util.Inventory; import ic2.api.energy.prefab.BasicSink; @@ -55,4 +56,32 @@ public class TileMatterFabricator extends TileMachineBase implements IWrenchable return false; } + + @Override + public void readFromNBT(NBTTagCompound tagCompound) + { + super.readFromNBT(tagCompound); + inventory.readFromNBT(tagCompound); + energy.readFromNBT(tagCompound); + } + + @Override + public void writeToNBT(NBTTagCompound tagCompound) + { + super.writeToNBT(tagCompound); + inventory.writeToNBT(tagCompound); + energy.writeToNBT(tagCompound); + } + + @Override + public void invalidate() + { + energy.invalidate(); + } + @Override + public void onChunkUnload() + { + energy.onChunkUnload(); + } + }