diff options
author | Jakub <53441451+kuba6000@users.noreply.github.com> | 2022-10-09 12:41:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-09 12:41:23 +0200 |
commit | ff887926da7c738e45586f683094558fba7fb591 (patch) | |
tree | 6bddd89df26e5df6690bbbf2b73d5e99336a5d9b /src/main/java/gregtech/common | |
parent | eedb84e125cac3f9fade78ab1ec31e256ba3449f (diff) | |
download | GT5-Unofficial-ff887926da7c738e45586f683094558fba7fb591.tar.gz GT5-Unofficial-ff887926da7c738e45586f683094558fba7fb591.tar.bz2 GT5-Unofficial-ff887926da7c738e45586f683094558fba7fb591.zip |
Apply new Bees formula in Industrial Apiary and move all gendustry upgrades to Gregtech (#1447)
* Update forestry
* Apply new formula (+uncap the chance)
* Yeet gendustry upgrades
* Conversion recipes
* Add upgrade frame
* Remove recipes
* Gendustry way
* Yeet gendustry
* Fix
Diffstat (limited to 'src/main/java/gregtech/common')
3 files changed, 157 insertions, 41 deletions
diff --git a/src/main/java/gregtech/common/gui/GT_Container_IndustrialApiary.java b/src/main/java/gregtech/common/gui/GT_Container_IndustrialApiary.java index b2a2c4cae1..18cbee5d9c 100644 --- a/src/main/java/gregtech/common/gui/GT_Container_IndustrialApiary.java +++ b/src/main/java/gregtech/common/gui/GT_Container_IndustrialApiary.java @@ -12,7 +12,6 @@ import gregtech.api.util.GT_ApiaryUpgrade; import gregtech.api.util.GT_Utility; import gregtech.common.tileentities.machines.basic.GT_MetaTileEntity_IndustrialApiary; import java.util.ArrayList; -import net.bdew.gendustry.api.items.IApiaryUpgrade; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.ICrafting; @@ -109,11 +108,8 @@ public class GT_Container_IndustrialApiary extends GT_ContainerMetaTile_Machine if (slotstack != null && !GT_Utility.areStacksEqual(slotstack, s)) return null; // super would replace item if (slotstack == null && !slot.isItemValid(s)) return super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer); - if (!(s.getItem() instanceof IApiaryUpgrade) && !GT_ApiaryUpgrade.isUpgrade(s)) - return super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer); - int max = 1; - if (s.getItem() instanceof IApiaryUpgrade) max = ((IApiaryUpgrade) s.getItem()).getMaxNumber(s); - else max = GT_ApiaryUpgrade.getUpgrade(s).getMaxNumber(); + if (!GT_ApiaryUpgrade.isUpgrade(s)) return super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer); + int max = GT_ApiaryUpgrade.getUpgrade(s).getMaxNumber(); if (slotstack != null) max = Math.max(0, max - slotstack.stackSize); max = Math.min(max, s.stackSize); if (max == 0) return null; @@ -204,8 +200,7 @@ public class GT_Container_IndustrialApiary extends GT_ContainerMetaTile_Machine if (!(s.inventory instanceof InventoryPlayer)) return super.transferStackInSlot(aPlayer, aSlotIndex); ItemStack aStack = s.getStack(); if (aStack == null) return super.transferStackInSlot(aPlayer, aSlotIndex); - if (!(aStack.getItem() instanceof IApiaryUpgrade) && !GT_ApiaryUpgrade.isUpgrade(aStack)) - return super.transferStackInSlot(aPlayer, aSlotIndex); + if (!GT_ApiaryUpgrade.isUpgrade(aStack)) return super.transferStackInSlot(aPlayer, aSlotIndex); for (int i = getSlotStartIndex() + 2; i < getSlotStartIndex() + 2 + 4; i++) { Slot iSlot = getSlot(i); ItemStack iStack = iSlot.getStack(); @@ -214,10 +209,7 @@ public class GT_Container_IndustrialApiary extends GT_ContainerMetaTile_Machine } else { if (!GT_Utility.areStacksEqual(aStack, iStack)) continue; } - int max = 1; - if (aStack.getItem() instanceof IApiaryUpgrade) - max = ((IApiaryUpgrade) aStack.getItem()).getMaxNumber(aStack); - else max = GT_ApiaryUpgrade.getUpgrade(aStack).getMaxNumber(); + int max = GT_ApiaryUpgrade.getUpgrade(aStack).getMaxNumber(); if (iStack == null) { max = Math.min(max, aStack.stackSize); ItemStack newstack = aStack.splitStack(max); diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java index 59abe764fb..d4e60d61c6 100644 --- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java +++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java @@ -617,50 +617,157 @@ public class GT_MetaGenerated_Item_03 extends GT_MetaGenerated_Item_X32 { ItemList.WovenKevlar.set(addItem(tLastID = 193, "Woven Kevlar", "For make Kevlar Plates", o)); ItemList.Spinneret.set(addItem(tLastID = 194, "Spinneret", "For make Kevlar Fiber", o)); + ItemList.IndustrialApiary_Upgrade_Frame.set(addItem(tLastID = 199, "Upgrade Frame", "Crafting component", o)); + ItemList.IndustrialApiary_Upgrade_Acceleration_1.set(addItem( tLastID = 200, "Acceleration Upgrade x2", - "Acceleration upgrade for Industrial Apiary/n Unlocks 2x acceleration level", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 2x acceleration level/n * Energy Consumption +1 AMP LV", OrePrefixes.apiaryUpgrade.name())); ItemList.IndustrialApiary_Upgrade_Acceleration_2.set(addItem( tLastID = 201, "Acceleration Upgrade x4", - "Acceleration upgrade for Industrial Apiary/n Unlocks 4x acceleration level", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 4x acceleration level/n * Energy Consumption +1 AMP MV", OrePrefixes.apiaryUpgrade.name())); ItemList.IndustrialApiary_Upgrade_Acceleration_3.set(addItem( tLastID = 202, "Acceleration Upgrade x8", - "Acceleration upgrade for Industrial Apiary/n Unlocks 8x acceleration level", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 8x acceleration level/n * Energy Consumption +1 AMP HV", OrePrefixes.apiaryUpgrade.name())); ItemList.IndustrialApiary_Upgrade_Acceleration_4.set(addItem( tLastID = 203, "Acceleration Upgrade x16", - "Acceleration upgrade for Industrial Apiary/n Unlocks 16x acceleration level", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 16x acceleration level/n * Energy Consumption +1 AMP EV", OrePrefixes.apiaryUpgrade.name())); ItemList.IndustrialApiary_Upgrade_Acceleration_5.set(addItem( tLastID = 204, "Acceleration Upgrade x32", - "Acceleration upgrade for Industrial Apiary/n Unlocks 32x acceleration level", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 32x acceleration level/n * Energy Consumption +1 AMP IV", OrePrefixes.apiaryUpgrade.name())); ItemList.IndustrialApiary_Upgrade_Acceleration_6.set(addItem( tLastID = 205, "Acceleration Upgrade x64", - "Acceleration upgrade for Industrial Apiary/n Unlocks 64x acceleration level", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 64x acceleration level/n * Energy Consumption +1 AMP LuV", OrePrefixes.apiaryUpgrade.name())); ItemList.IndustrialApiary_Upgrade_Acceleration_7.set(addItem( tLastID = 206, "Acceleration Upgrade x128", - "Acceleration upgrade for Industrial Apiary/n Unlocks 128x acceleration level", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 128x acceleration level/n * Energy Consumption +1 AMP ZPM", OrePrefixes.apiaryUpgrade.name())); ItemList.IndustrialApiary_Upgrade_Acceleration_8.set(addItem( tLastID = 207, "Acceleration Upgrade x256", - "Acceleration upgrade for Industrial Apiary/n Unlocks 256x acceleration level", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 256x acceleration level/n * Energy Consumption +1 AMP UV", OrePrefixes.apiaryUpgrade.name())); ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.set(addItem( tLastID = 208, "Upgraded Acceleration Upgrade x256", - "Acceleration upgrade for Industrial Apiary/n Unlocks 256x acceleration level/n Will also grant 8x production upgrade", + "Acceleration upgrade for Industrial Apiary/n Maximum Installed: 1/n * Unlocks 256x acceleration level/n * Will also grant 8x production upgrade/n * Energy Consumption +1 AMP UV", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_PRODUCTION.set(addItem( + tLastID = 209, + "Production Upgrade", + "Production upgrade for Industrial Apiary/n Maximum Installed: 8/n Increases production modifier by 0.25/n Energy Consumption +40%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_PLAINS.set(addItem( + tLastID = 210, + "Plains Emulation Upgrade", + "Plains emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Plains/n * Energy Consumption +40%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_LIGHT.set(addItem( + tLastID = 211, + "Light Upgrade", + "Light upgrade for Industrial Apiary/n Maximum Installed: 1/n * Internal Lighting/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_FLOWERING.set(addItem( + tLastID = 212, + "Flowering Upgrade", + "Flowering upgrade for Industrial Apiary/n Maximum Installed: 8/n * Flowering and Pollination +20%/n * Energy Consumption +10%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_WINTER.set(addItem( + tLastID = 213, + "Winter Emulation Upgrade", + "Winter emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Taiga/n * Energy Consumption +50%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_DRYER.set(addItem( + tLastID = 214, + "Dryer Upgrade", + "Dryer upgrade for Industrial Apiary/n Maximum Installed: 8/n * Humidity -25%/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_AUTOMATION.set(addItem( + tLastID = 215, + "Automation Upgrade", + "Automation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Automation/n * Energy Consumption +10%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_HUMIDIFIER.set(addItem( + tLastID = 216, + "Humidifier Upgrade", + "Humidifier upgrade for Industrial Apiary/n Maximum Installed: 8/n * Humidity +25%/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_HELL.set(addItem( + tLastID = 217, + "HELL Upgrade", + "HELL upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: HELL/n * Energy Consumption +50%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_POLLEN.set(addItem( + tLastID = 218, + "Pollen Scrubber Upgrade", + "Pollen scrubber upgrade for Industrial Apiary/n Maximum Installed: 1/n * Flowering and Pollination -100%/n * Energy Consumption +30%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_DESERT.set(addItem( + tLastID = 219, + "Desert Upgrade", + "Desert upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Desert/n * Energy Consumption +20%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_COOLER.set(addItem( + tLastID = 220, + "Cooler Upgrade", + "Cooler upgrade for Industrial Apiary/n Maximum Installed: 8/n * Temperature -25%/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_LIFESPAN.set(addItem( + tLastID = 221, + "Lifespan Upgrade", + "Lifespan upgrade for Industrial Apiary/n Maximum Installed: 4/n * Lifespan -33%/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_SEAL.set(addItem( + tLastID = 222, + "Seal Upgrade", + "Seal upgrade for Industrial Apiary/n Maximum Installed: 1/n * Rain Protection/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_STABILIZER.set(addItem( + tLastID = 223, + "Genetic Stabilizer Upgrade", + "Genetic stabilizer upgrade for Industrial Apiary/n Maximum Installed: 1/n * Genetic Decay -100%/n * Energy Consumption +150%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_JUNGLE.set(addItem( + tLastID = 224, + "Jungle Emulation Upgrade", + "Jungle emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Jungle/n * Energy Consumption +20%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_TERRITORY.set(addItem( + tLastID = 225, + "Territory Upgrade", + "Territory upgrade for Industrial Apiary/n Maximum Installed: 4/n * Territory +50%/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_OCEAN.set(addItem( + tLastID = 226, + "Ocean Emulation Upgrade", + "Ocean emulation upgrade for Industrial Apiary/n Maximum Installed: 1/n * Biome Override: Ocean/n * Energy Consumption +20%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_SKY.set(addItem( + tLastID = 227, + "Open Sky Upgrade", + "Open sky upgrade for Industrial Apiary/n Maximum Installed: 1/n * Open Sky Simulation/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_HEATER.set(addItem( + tLastID = 228, + "Heater Upgrade", + "Heater upgrade for Industrial Apiary/n Maximum Installed: 8/n * Temperature +25%/n * Energy Consumption +5%", + OrePrefixes.apiaryUpgrade.name())); + ItemList.IndustrialApiary_Upgrade_SIEVE.set(addItem( + tLastID = 229, + "Sieve Upgrade", + "Sieve upgrade for Industrial Apiary/n Maximum Installed: 1/n * Pollen Collection/n * Energy Consumption +25%", OrePrefixes.apiaryUpgrade.name())); OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_1.get(1L)); @@ -672,6 +779,27 @@ public class GT_MetaGenerated_Item_03 extends GT_MetaGenerated_Item_X32 { OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_7.get(1L)); OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_8.get(1L)); OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_Acceleration_8_Upgraded.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_PRODUCTION.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_PLAINS.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_LIGHT.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_FLOWERING.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_WINTER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_DRYER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_AUTOMATION.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_HUMIDIFIER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_HELL.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_POLLEN.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_DESERT.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_COOLER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_LIFESPAN.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_SEAL.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_STABILIZER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_JUNGLE.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_TERRITORY.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_OCEAN.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_SKY.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_HEATER.get(1L)); + OrePrefixes.apiaryUpgrade.add(ItemList.IndustrialApiary_Upgrade_SIEVE.get(1L)); } @Override diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java index 09ad7ddbf3..472c39c744 100644 --- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java +++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java @@ -14,6 +14,7 @@ import forestry.api.core.*; import forestry.api.genetics.AlleleManager; import forestry.api.genetics.IEffectData; import forestry.api.genetics.IIndividual; +import forestry.apiculture.genetics.Bee; import forestry.core.errors.EnumErrorCode; import forestry.plugins.PluginApiculture; import gregtech.api.interfaces.ITexture; @@ -21,6 +22,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; import gregtech.api.render.TextureFactory; +import gregtech.api.util.GT_ApiaryModifier; import gregtech.api.util.GT_ApiaryUpgrade; import gregtech.api.util.GT_Utility; import gregtech.common.GT_Client; @@ -30,8 +32,6 @@ import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.util.*; -import net.bdew.gendustry.api.ApiaryModifiers; -import net.bdew.gendustry.api.items.IApiaryUpgrade; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.InventoryPlayer; @@ -232,9 +232,8 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM IAlleleBeeSpecies primary = genome.getPrimary(); IAlleleBeeSpecies secondary = genome.getSecondary(); - float speed = genome.getSpeed() - * getProductionModifier(null, 1f) - * beemodifier.getProductionModifier(null, 1.f); + float speed = genome.getSpeed(); + float prodMod = getProductionModifier(null, 1f) * beemodifier.getProductionModifier(null, 1.f); HashMap<GT_Utility.ItemId, Float> drops = new HashMap<>(); HashMap<GT_Utility.ItemId, ItemStack> dropstacks = new HashMap<>(); @@ -244,7 +243,9 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(entry.getKey()); drops.merge( id, - Math.min(1f, entry.getValue() * speed) * (float) entry.getKey().stackSize * cycles, + Bee.getFinalChance(entry.getValue(), speed, prodMod, 8f) + * (float) entry.getKey().stackSize + * cycles, Float::sum); dropstacks.computeIfAbsent(id, k -> entry.getKey()); } @@ -253,7 +254,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(entry.getKey()); drops.merge( id, - Math.min(1f, (float) Math.round(entry.getValue() / 2.0F) * speed) + Bee.getFinalChance(entry.getValue() / 2f, speed, prodMod, 8f) * (float) entry.getKey().stackSize * cycles, Float::sum); @@ -265,7 +266,9 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM GT_Utility.ItemId id = GT_Utility.ItemId.createNoCopy(entry.getKey()); drops.merge( id, - Math.min(1f, entry.getValue() * speed) * (float) entry.getKey().stackSize * cycles, + Bee.getFinalChance(entry.getValue(), speed, prodMod, 8f) + * (float) entry.getKey().stackSize + * cycles, Float::sum); dropstacks.computeIfAbsent(id, k -> entry.getKey()); } @@ -549,7 +552,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM || beeRoot.isMember(aStack, EnumBeeType.PRINCESS.ordinal()); else if (aIndex == drone) return beeRoot.isMember(aStack, EnumBeeType.DRONE.ordinal()); else if (aIndex < getOutputSlot()) { - if (!(aStack.getItem() instanceof IApiaryUpgrade) && !GT_ApiaryUpgrade.isUpgrade(aStack)) return false; + if (!GT_ApiaryUpgrade.isUpgrade(aStack)) return false; for (int i = drone + 1; i < drone + 1 + 4; i++) { if (aIndex == i) continue; ItemStack s = getStackInSlot(i); @@ -815,24 +818,16 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM private float temperatureMod = 0f; private boolean isAutomated = false; private boolean isRetrievingPollen = false; - private int maxspeed = 0; public void updateModifiers() { - maxspeed = 0; - ApiaryModifiers mods = new ApiaryModifiers(); + GT_ApiaryModifier mods = new GT_ApiaryModifier(); for (int i = 2; i < 2 + 4; i++) { ItemStack s = getInputAt(i); if (s == null) continue; - if (s.getItem() instanceof IApiaryUpgrade) { - IApiaryUpgrade up = (IApiaryUpgrade) s.getItem(); - up.applyModifiers(mods, s); - } else if (GT_ApiaryUpgrade.isUpgrade(s)) { + if (GT_ApiaryUpgrade.isUpgrade(s)) { GT_ApiaryUpgrade upgrade = GT_ApiaryUpgrade.getUpgrade(s); - if (upgrade != null) { - maxspeed = upgrade.applyMaxSpeedModifier(maxspeed); - upgrade.applyModifiers(mods, s); - } + upgrade.applyModifiers(mods); } } @@ -851,6 +846,7 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM temperatureMod = mods.temperature; isAutomated = mods.isAutomated; isRetrievingPollen = mods.isCollectingPollen; + maxspeed = mods.maxSpeed; if (mLockedSpeed) mSpeed = maxspeed; else mSpeed = Math.min(mSpeed, maxspeed); |