aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common
diff options
context:
space:
mode:
authorJakub <53441451+kuba6000@users.noreply.github.com>2022-10-09 12:41:23 +0200
committerGitHub <noreply@github.com>2022-10-09 12:41:23 +0200
commitff887926da7c738e45586f683094558fba7fb591 (patch)
tree6bddd89df26e5df6690bbbf2b73d5e99336a5d9b /src/main/java/gregtech/common
parenteedb84e125cac3f9fade78ab1ec31e256ba3449f (diff)
downloadGT5-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')
-rw-r--r--src/main/java/gregtech/common/gui/GT_Container_IndustrialApiary.java16
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java146
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java36
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);