aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/items
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/items')
-rw-r--r--src/main/java/gregtech/api/items/GT_BreederCell_Item.java20
-rw-r--r--src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java37
2 files changed, 43 insertions, 14 deletions
diff --git a/src/main/java/gregtech/api/items/GT_BreederCell_Item.java b/src/main/java/gregtech/api/items/GT_BreederCell_Item.java
index 3d51415783..438b0f467e 100644
--- a/src/main/java/gregtech/api/items/GT_BreederCell_Item.java
+++ b/src/main/java/gregtech/api/items/GT_BreederCell_Item.java
@@ -14,6 +14,7 @@ import net.minecraft.world.World;
import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Utility;
import ic2.api.reactor.IReactor;
import ic2.api.reactor.IReactorComponent;
@@ -43,13 +44,18 @@ public class GT_BreederCell_Item extends GT_Generic_Item implements IReactorComp
GregTech_API.sAfterGTPostload.add(() -> {
mProduct = aProduct.get();
if (!hidden && !neiAdded) {
- GT_Values.RA.addIC2ReactorBreederCell(
- new ItemStack(this),
- mProduct,
- deflector,
- mHeatBonusStep,
- mHeatBonusMultiplier,
- getMaxDamage());
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(this))
+ .itemOutputs(mProduct)
+ .setNEIDesc(
+ deflector ? "Neutron reflecting Breeder" : "Heat neutral Breeder",
+ String.format("Every %d reactor hull heat", mHeatBonusStep),
+ String.format("increase speed by %d00%%", mHeatBonusMultiplier),
+ String.format("Required pulses: %d", getMaxDamage()))
+ .duration(0)
+ .eut(0)
+ .addTo(RecipeMaps.ic2NuclearFakeRecipes);
+
neiAdded = true;
}
});
diff --git a/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java b/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java
index 8698bac886..2509cf6261 100644
--- a/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java
+++ b/src/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java
@@ -8,10 +8,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import gregtech.api.enums.GT_Values;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Utility;
import ic2.api.reactor.IReactor;
import ic2.api.reactor.IReactorComponent;
import ic2.core.IC2Potion;
+import ic2.core.init.MainConfig;
+import ic2.core.util.ConfigUtil;
public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implements IReactorComponent {
@@ -36,13 +39,33 @@ public class GT_RadioactiveCellIC_Item extends GT_RadioactiveCell_Item implement
this.sMox = aMox;
if (aDepleted != null && aEnergy > 0 && aHeat > 0) {
// avoid adding depleted cells to recipe map
- GT_Values.RA.addIC2ReactorFuelCell(
- new ItemStack(this),
- aDepleted,
- aMox,
- aHeat * MYSTERIOUS_MULTIPLIER_HEAT,
- aEnergy,
- aCellcount);
+
+ int pulses = aCellcount / 2 + 1;
+
+ // for the mysterious constant 5.0f,
+ // see ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric.getOfferedEnergy
+ // don't ask, just accept
+ float nukePowerMult = 5.0f * ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/nuclear");
+ GT_Values.RA.stdBuilder()
+ .itemInputs(new ItemStack(this))
+ .itemOutputs(aDepleted)
+ .setNEIDesc(
+ aMox ? "MOX Model" : "Uranium Model",
+ "Neutron Pulse: " + aCellcount,
+ aCellcount == 1
+ ? String.format("Heat: %.1f * n1 * (n1 + 1)", (aHeat * MYSTERIOUS_MULTIPLIER_HEAT) / 2f)
+ : String.format(
+ "Heat: %.1f * (%d + n1) * (%d + n1)",
+ (aHeat * MYSTERIOUS_MULTIPLIER_HEAT) * aCellcount / 2f,
+ aCellcount,
+ aCellcount + 1),
+ String.format(
+ "Energy: %.1f + n2 * %.1f EU/t",
+ aEnergy * aCellcount * pulses * nukePowerMult,
+ aEnergy * nukePowerMult))
+ .duration(0)
+ .eut(0)
+ .addTo(RecipeMaps.ic2NuclearFakeRecipes);
}
}