diff --git a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/SimpleAutomationTileEntity.java b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/SimpleAutomationTileEntity.java index beb8b3c..66c32ad 100644 --- a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/SimpleAutomationTileEntity.java +++ b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/SimpleAutomationTileEntity.java @@ -1,6 +1,5 @@ package net.fuzzycraft.botanichorizons.addons.tileentity; -import cpw.mods.fml.common.FMLLog; import net.fuzzycraft.botanichorizons.util.InventoryHelper; import net.fuzzycraft.botanichorizons.util.multiblock.MultiblockHelper; import net.minecraft.entity.item.EntityItem; @@ -42,6 +41,8 @@ public SimpleAutomationTileEntity(MultiblockHelper structure) { // Business logic + abstract void consumeNonItemResources(R recipe, int parallel); + // process recipes public void handleCrafts() { int parallel = 64; @@ -88,6 +89,7 @@ public void handleCrafts() { // perform recipe in batch ItemStack output = output_instance.copy(); output.stackSize = output.stackSize * parallel; + consumeNonItemResources(recipe, parallel); // commit to inventory inventoryHandler.setInventorySlotContents(INPUT_SIZE + OUTPUT_SIZE - 1, output); diff --git a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedAlchemyPool.java b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedAlchemyPool.java index eb4750b..d15e809 100644 --- a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedAlchemyPool.java +++ b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedAlchemyPool.java @@ -17,8 +17,10 @@ public class TileAdvancedAlchemyPool extends TileAdvancedManaPool { + public static final int MANA_CAPACITY = 50000; + public TileAdvancedAlchemyPool() { - super(Multiblocks.poolAlchemy); + super(Multiblocks.poolAlchemy, MANA_CAPACITY); } @Override @@ -42,6 +44,6 @@ public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { public void renderHUD(Minecraft mc, ScaledResolution res) { ChargeState state = ChargeState.genState(isOnline, storedMana, ACTIVATE_MANA); String tooltip = state.getLocalisedHudString(BHBlocks.autoPoolAlchemy); - HUDHandler.drawSimpleManaHUD(state.color, storedMana, MANA_CAPACITY, tooltip, res); + HUDHandler.drawSimpleManaHUD(state.color, storedMana, manaCapacity, tooltip, res); } } diff --git a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedAlfPortal.java b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedAlfPortal.java index 79a8b3a..a13554e 100644 --- a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedAlfPortal.java +++ b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedAlfPortal.java @@ -113,6 +113,11 @@ public RecipeElvenTrade findMatchingRecipe(@Nonnull ItemStack stack) { return null; } + @Override + void consumeNonItemResources(RecipeElvenTrade recipe, int parallel) { + storedMana -= parallel * RECIPE_MANA; + } + // Botania has an annoying habit of specifying multiple ingredients as ["oreDict", "oreDict", "oreDict"] // Reduce these cases into a simple number // diff --git a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedConjurationPool.java b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedConjurationPool.java index 7ac2533..559c199 100644 --- a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedConjurationPool.java +++ b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedConjurationPool.java @@ -10,7 +10,6 @@ import net.minecraft.client.gui.ScaledResolution; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import vazkii.botania.api.BotaniaAPI; import vazkii.botania.api.recipe.RecipeManaInfusion; @@ -18,8 +17,10 @@ public class TileAdvancedConjurationPool extends TileAdvancedManaPool { + public static final int MANA_CAPACITY = 1000000; + public TileAdvancedConjurationPool() { - super(Multiblocks.poolConjuration); + super(Multiblocks.poolConjuration, MANA_CAPACITY); } @Override @@ -43,6 +44,6 @@ public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { public void renderHUD(Minecraft mc, ScaledResolution res) { ChargeState state = ChargeState.genState(isOnline, storedMana, ACTIVATE_MANA); String tooltip = state.getLocalisedHudString(BHBlocks.autoPoolConjuration); - HUDHandler.drawSimpleManaHUD(state.color, storedMana, MANA_CAPACITY, tooltip, res); + HUDHandler.drawSimpleManaHUD(state.color, storedMana, manaCapacity, tooltip, res); } } diff --git a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedCraftingPool.java b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedCraftingPool.java index dc7d0df..13a8a89 100644 --- a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedCraftingPool.java +++ b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedCraftingPool.java @@ -1,6 +1,5 @@ package net.fuzzycraft.botanichorizons.addons.tileentity; -import cpw.mods.fml.common.FMLLog; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.fuzzycraft.botanichorizons.addons.BHBlocks; @@ -18,8 +17,10 @@ public class TileAdvancedCraftingPool extends TileAdvancedManaPool { + public static final int MANA_CAPACITY = 50000; + public TileAdvancedCraftingPool() { - super(Multiblocks.poolInfusion); + super(Multiblocks.poolInfusion, MANA_CAPACITY); } @Override @@ -45,6 +46,6 @@ public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { public void renderHUD(Minecraft mc, ScaledResolution res) { ChargeState state = ChargeState.genState(isOnline, storedMana, ACTIVATE_MANA); String tooltip = state.getLocalisedHudString(BHBlocks.autoPoolInfusion); - HUDHandler.drawSimpleManaHUD(state.color, storedMana, MANA_CAPACITY, tooltip, res); + HUDHandler.drawSimpleManaHUD(state.color, storedMana, manaCapacity, tooltip, res); } } diff --git a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedManaPool.java b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedManaPool.java index 77aa0d3..39eb31c 100644 --- a/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedManaPool.java +++ b/src/main/java/net/fuzzycraft/botanichorizons/addons/tileentity/TileAdvancedManaPool.java @@ -13,7 +13,7 @@ public abstract class TileAdvancedManaPool extends SimpleAutomationTileEntity { // Balance - public static final int MANA_CAPACITY = 50000; + public final int manaCapacity; public static final int CYCLE_TICKS = 20; // time between checks public static final int MAX_PARALLELS = 64; public static final int ACTIVATE_MANA = 1000; @@ -22,8 +22,9 @@ public abstract class TileAdvancedManaPool extends SimpleAutomationTileEntity