aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConnor-Colenso <52056774+Connor-Colenso@users.noreply.github.com>2023-03-22 20:26:20 +0000
committerGitHub <noreply@github.com>2023-03-22 20:26:20 +0000
commitd1ec4f813c7182eda8bd9bb00feb2462e537f12e (patch)
tree813342735fe4aeb5ae21d6ea049c7610543c2418
parentfb2500045d1baa1ec5686b139efab560e23f97a1 (diff)
parent044e05cf3527a1701795b4f40629bac94d01ade8 (diff)
downloadGT5-Unofficial-d1ec4f813c7182eda8bd9bb00feb2462e537f12e.tar.gz
GT5-Unofficial-d1ec4f813c7182eda8bd9bb00feb2462e537f12e.tar.bz2
GT5-Unofficial-d1ec4f813c7182eda8bd9bb00feb2462e537f12e.zip
Merge pull request #63 from GTNewHorizons/UIV&UMV_Cap
UIV & UMV capacitor
-rw-r--r--dependencies.gradle2
-rw-r--r--src/main/java/common/Recipes.java90
-rw-r--r--src/main/java/common/blocks/Block_LapotronicEnergyUnit.java16
-rw-r--r--src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java48
-rw-r--r--src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java115
-rw-r--r--src/main/resources/assets/kekztech/lang/en_US.lang9
-rw-r--r--src/main/resources/assets/kekztech/textures/blocks/InsanelyUltimateEnergyUnit_side.pngbin0 -> 448 bytes
-rw-r--r--src/main/resources/assets/kekztech/textures/blocks/InsanelyUltimateEnergyUnit_top.pngbin0 -> 277 bytes
-rw-r--r--src/main/resources/assets/kekztech/textures/blocks/MegaUltimateEnergyUnit_side.pngbin0 -> 492 bytes
-rw-r--r--src/main/resources/assets/kekztech/textures/blocks/MegaUltimateEnergyUnit_top.pngbin0 -> 243 bytes
10 files changed, 232 insertions, 48 deletions
diff --git a/dependencies.gradle b/dependencies.gradle
index 65914d3c37..5da2f08d65 100644
--- a/dependencies.gradle
+++ b/dependencies.gradle
@@ -1,7 +1,7 @@
// Add your dependencies here
dependencies {
- compile 'com.github.GTNewHorizons:GT5-Unofficial:5.09.42.03:dev'
+ compile 'com.github.GTNewHorizons:GT5-Unofficial:5.09.42.09:dev'
compile 'com.github.GTNewHorizons:TecTech:5.0.89:dev'
compile 'com.github.GTNewHorizons:bartworks:0.5.151:dev'
compile 'com.github.GTNewHorizons:StructureLib:1.2.1:dev'
diff --git a/src/main/java/common/Recipes.java b/src/main/java/common/Recipes.java
index 3e4d0e659b..44eb36e642 100644
--- a/src/main/java/common/Recipes.java
+++ b/src/main/java/common/Recipes.java
@@ -758,6 +758,84 @@ public class Recipes {
640 * 20,
(int) TierEU.RECIPE_UHV);
+ if (Loader.isModLoaded("miscutils")) {
+ // Insanely Ultimate Capacitor (UIV)
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 8),
+ 24_000_000,
+ 1_280,
+ 32_000_000,
+ 32,
+ new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 4),
+ GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 24),
+ GT_ModHandler.getModItem("miscutils", "itemPlateDoubleHypogen", 32),
+ GT_ModHandler.getModItem("miscutils", "itemPlateDoubleHypogen", 32),
+ new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.Piko), 1 }, ItemList.ZPM4.get(8L),
+ ItemList.Field_Generator_UIV.get(4), ItemList.Circuit_Wafer_QPIC.get(64),
+ ItemList.Circuit_Wafer_QPIC.get(64),
+ GT_ModHandler.getModItem("dreamcraft", "item.RawPicoWafer", 64),
+ ItemList.Circuit_Parts_DiodeXSMD.get(64), ItemList.Circuit_Parts_InductorXSMD.get(32),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUIV, 64) },
+ new FluidStack[] { new FluidStack(solderUEV, 18_432),
+ new FluidStack(FluidRegistry.getFluid("molten.celestialtungsten"), 18432),
+ Materials.Quantium.getMolten(18_432), Materials.SuperCoolant.getFluid(128_000) },
+ new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9),
+ 300 * 20,
+ (int) TierEU.RECIPE_UIV);
+
+ // Mega Ultimate Capacitor (UMV)
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9),
+ 480_000_000,
+ 12_288,
+ 128_000_000,
+ 64,
+ new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 4),
+ GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 24),
+ GT_ModHandler.getModItem("miscutils", "itemPlateDoubleDragonblood", 32),
+ GT_ModHandler.getModItem("miscutils", "itemPlateDoubleDragonblood", 32),
+ new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.Quantum), 1 }, ItemList.ZPM5.get(8L),
+ ItemList.Field_Generator_UMV.get(4), ItemList.Circuit_Wafer_QPIC.get(64),
+ ItemList.Circuit_Wafer_QPIC.get(64),
+ GT_ModHandler.getModItem("dreamcraft", "item.PicoWafer", 64),
+ ItemList.Circuit_Parts_DiodeXSMD.get(64), ItemList.Circuit_Parts_InductorXSMD.get(64),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUMV, 64) },
+ new FluidStack[] { new FluidStack(solderUEV, 36_864),
+ new FluidStack(FluidRegistry.getFluid("molten.astraltitanium"), 36_864),
+ new FluidStack(FluidRegistry.getFluid("molten.celestialtungsten"), 36_864),
+ Materials.SuperCoolant.getFluid(256_000) },
+ new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 10),
+ 350 * 20,
+ (int) TierEU.RECIPE_UMV);
+ }
+ // UIV Capacitor alt recipe
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ItemList.ZPM5.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TranscendentMetal, 4),
+ GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 24),
+ GT_Utility.getIntegratedCircuit(6) },
+ null,
+ new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9),
+ 640 * 20,
+ (int) TierEU.RECIPE_UEV);
+
+ // UMV Capacitor alt recipe
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] { ItemList.ZPM6.get(1),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SpaceTime, 4),
+ GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 24),
+ GT_Utility.getIntegratedCircuit(6) },
+ null,
+ new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 10),
+ 640 * 20,
+ (int) TierEU.RECIPE_UIV);
+
// Capacitor recycling
GT_Values.RA.addUnboxingRecipe(
new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 7),
@@ -801,6 +879,18 @@ public class Recipes {
GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 24),
1200,
(int) TierEU.RECIPE_LV);
+ GT_Values.RA.addUnboxingRecipe(
+ new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 9),
+ ItemList.ZPM5.get(1L),
+ GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TranscendentMetal, 24),
+ 1200,
+ (int) TierEU.RECIPE_LV);
+ GT_Values.RA.addUnboxingRecipe(
+ new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 10),
+ ItemList.ZPM6.get(1L),
+ GT_OreDictUnificator.get(OrePrefixes.screw, Materials.SpaceTime, 24),
+ 1200,
+ (int) TierEU.RECIPE_LV);
}
/*
diff --git a/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java b/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java
index 2aff14cbf6..653c99216b 100644
--- a/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java
+++ b/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java
@@ -70,6 +70,10 @@ public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock {
private IIcon iconUltimateTop;
private IIcon iconUltimateExtremeSide;
private IIcon iconUltimateExtremeTop;
+ private IIcon iconUltimateInsaneSide;
+ private IIcon iconUltimateInsaneTop;
+ private IIcon iconUltimateMegaSide;
+ private IIcon iconUltimateMegaTop;
private Block_LapotronicEnergyUnit() {
super(Material.iron);
@@ -108,6 +112,10 @@ public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock {
iconUltimateTop = ir.registerIcon("kekztech:UltimateEnergyUnit_top");
iconUltimateExtremeSide = ir.registerIcon("kekztech:ReallyUltimateEnergyUnit_side");
iconUltimateExtremeTop = ir.registerIcon("kekztech:ReallyUltimateEnergyUnit_top");
+ iconUltimateInsaneSide = ir.registerIcon("kekztech:InsanelyUltimateEnergyUnit_side");
+ iconUltimateInsaneTop = ir.registerIcon("kekztech:InsanelyUltimateEnergyUnit_top");
+ iconUltimateMegaSide = ir.registerIcon("kekztech:MegaUltimateEnergyUnit_side");
+ iconUltimateMegaTop = ir.registerIcon("kekztech:MegaUltimateEnergyUnit_top");
}
@Override
@@ -127,6 +135,10 @@ public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock {
par3List.add(new ItemStack(par1, 1, 5));
// UEV Cap
par3List.add(new ItemStack(par1, 1, 8));
+ // UIV Cap
+ par3List.add(new ItemStack(par1, 1, 9));
+ // UMV Cap
+ par3List.add(new ItemStack(par1, 1, 10));
}
@Override
@@ -150,6 +162,10 @@ public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock {
return (side < 2) ? iconLapoEVTop : iconLapoEVSide;
case 8:
return (side < 2) ? iconUltimateExtremeTop : iconUltimateExtremeSide;
+ case 9:
+ return (side < 2) ? iconUltimateInsaneTop : iconUltimateInsaneSide;
+ case 10:
+ return (side < 2) ? iconUltimateMegaTop : iconUltimateMegaSide;
default:
return iconUltimateTop;
}
diff --git a/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java b/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java
index c66e6a40de..37f597b5ae 100644
--- a/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java
+++ b/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java
@@ -53,6 +53,20 @@ public class IB_LapotronicEnergyUnit extends ItemBlock {
private static BigInteger UEV_cap_eu_per_tick = UEV_wireless_eu_cap
.divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks));
+ // 600 Quadrillion EU.
+ public static BigInteger UIV_wireless_eu_cap = BigInteger.valueOf(60 * pow(10, 16));
+
+ // 100 Trillion EU/t
+ private static BigInteger UIV_cap_eu_per_tick = UIV_wireless_eu_cap
+ .divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks));
+
+ // 60 Quintillion EU.
+ public static BigInteger UMV_wireless_eu_cap = UIV_wireless_eu_cap.multiply(BigInteger.valueOf(100));
+
+ // 10 Quadrillion EU/t
+ private static BigInteger UMV_cap_eu_per_tick = UMV_wireless_eu_cap
+ .divide(BigInteger.valueOf(LSC_time_between_wireless_rebalance_in_ticks));
+
public static long EV_cap_storage = 60_000_000L;
public static long IV_cap_storage = 600_000_000L;
public static long LuV_cap_storage = 6_000_000_000L;
@@ -60,6 +74,8 @@ public class IB_LapotronicEnergyUnit extends ItemBlock {
public static long UV_cap_storage = 600_000_000_000L;
public static long UHV_cap_storage = Long.MAX_VALUE;
public static long UEV_cap_storage = Long.MAX_VALUE;
+ public static long UIV_cap_storage = Long.MAX_VALUE;
+ public static BigInteger UMV_cap_storage = BigInteger.valueOf(UIV_cap_storage).pow(2);
@SuppressWarnings("unchecked")
@Override
@@ -136,6 +152,38 @@ public class IB_LapotronicEnergyUnit extends ItemBlock {
+ EnumChatFormatting.GRAY
+ " capacitor.");
break;
+ case 9:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GT_Utility.formatNumbers(UIV_cap_storage)
+ + EnumChatFormatting.GRAY
+ + "EU");
+ lines.add(
+ "Supports up to " + EnumChatFormatting.RED
+ + GT_Utility.formatNumbers(UIV_cap_eu_per_tick)
+ + EnumChatFormatting.GRAY
+ + "EU/t of wireless transfer per "
+ + GT_Values.TIER_COLORS[11]
+ + GT_Values.VN[11]
+ + EnumChatFormatting.GRAY
+ + " capacitor.");
+ break;
+ case 10:
+ lines.add(
+ "Capacity: " + EnumChatFormatting.RED
+ + GT_Utility.formatNumbers(UMV_cap_storage)
+ + EnumChatFormatting.GRAY
+ + "EU");
+ lines.add(
+ "Supports up to " + EnumChatFormatting.RED
+ + GT_Utility.formatNumbers(UMV_cap_eu_per_tick)
+ + EnumChatFormatting.GRAY
+ + "EU/t of wireless transfer per "
+ + GT_Values.TIER_COLORS[12]
+ + GT_Values.VN[12]
+ + EnumChatFormatting.GRAY
+ + " capacitor.");
+ break;
}
}
}
diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
index 489594049e..7568bbb659 100644
--- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
+++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
@@ -86,6 +86,8 @@ public class GTMTE_LapotronicSuperCapacitor
private long max_passive_drain_eu_per_tick_per_uhv_cap = 1_000_000;
private long max_passive_drain_eu_per_tick_per_uev_cap = 100_000_000;
+ private long max_passive_drain_eu_per_tick_per_uiv_cap = (long) Math.pow(10, 10);
+ private long max_passive_drain_eu_per_tick_per_umv_cap = (long) Math.pow(10, 12);
private enum Capacitor {
@@ -96,7 +98,9 @@ public class GTMTE_LapotronicSuperCapacitor
UHV(6, MAX_LONG),
None(0, BigInteger.ZERO),
EV(1, BigInteger.valueOf(EV_cap_storage)),
- UEV(7, MAX_LONG),;
+ UEV(7, MAX_LONG),
+ UIV(8, BigInteger.valueOf(UIV_cap_storage)),
+ UMV(9, UMV_cap_storage);
private final int minimalGlassTier;
private final BigInteger providedCapacity;
@@ -275,7 +279,7 @@ public class GTMTE_LapotronicSuperCapacitor
/**
* Count the amount of capacitors of each tier in each slot. Index = meta - 1
*/
- private final int[] capacitors = new int[8];
+ private final int[] capacitors = new int[10];
private BigInteger capacity = BigInteger.ZERO;
private BigInteger stored = BigInteger.ZERO;
@@ -374,6 +378,18 @@ public class GTMTE_LapotronicSuperCapacitor
return capacitors[7];
}
+ private int getUIVCapacitorCount() {
+ return capacitors[8];
+ }
+
+ private int getUMVCapacitorCount() {
+ return capacitors[9];
+ }
+
+ private int wirelessCapableCapacitors() {
+ return capacitors[4] + capacitors[7] + capacitors[8] + capacitors[9];
+ }
+
@Override
protected GT_Multiblock_Tooltip_Builder createTooltip() {
final GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
@@ -386,15 +402,13 @@ public class GTMTE_LapotronicSuperCapacitor
+ GT_Values.TIER_COLORS[9]
+ GT_Values.VN[9]
+ EnumChatFormatting.GRAY
- + " capacitor and ")
+ + " capacitor.")
.addInfo(
- EnumChatFormatting.RED + GT_Utility.formatNumbers(max_passive_drain_eu_per_tick_per_uev_cap)
- + EnumChatFormatting.GRAY
- + " EU/t passive loss per "
- + GT_Values.TIER_COLORS[10]
- + GT_Values.VN[10]
+ "The passive loss increases " + EnumChatFormatting.DARK_RED
+ + "100"
+ EnumChatFormatting.GRAY
- + " capacitor.")
+ + "-fold"
+ + " for every capacitor tier above.")
.addInfo("Passive loss is multiplied by the number of maintenance issues present.").addSeparator()
.addInfo("Glass shell has to be Tier - 3 of the highest capacitor tier.")
.addInfo(
@@ -413,11 +427,7 @@ public class GTMTE_LapotronicSuperCapacitor
"This mode can only be enabled if you have a " + GT_Values.TIER_COLORS[9]
+ GT_Values.VN[9]
+ EnumChatFormatting.GRAY
- + " or "
- + GT_Values.TIER_COLORS[10]
- + GT_Values.VN[10]
- + EnumChatFormatting.GRAY
- + " capacitor in the multiblock.")
+ + "+ capacitor in the multiblock.")
.addInfo(
"When enabled every " + EnumChatFormatting.BLUE
+ GT_Utility.formatNumbers(LSC_time_between_wireless_rebalance_in_ticks)
@@ -432,20 +442,16 @@ public class GTMTE_LapotronicSuperCapacitor
+ GT_Values.TIER_COLORS[9]
+ GT_Values.VN[9]
+ EnumChatFormatting.GRAY
- + ")"
- + " or "
- + EnumChatFormatting.RED
- + GT_Utility.formatNumbers(UEV_wireless_eu_cap)
- + EnumChatFormatting.GRAY
- + "("
- + GT_Values.TIER_COLORS[10]
- + GT_Values.VN[10]
+ + ") EU in the LSC")
+ .addInfo("it will withdraw from the network and add to the LSC.")
+ .addInfo("If there is more it will add the EU to the network and remove it from the LSC.")
+ .addInfo(
+ "The threshold increases " + EnumChatFormatting.DARK_RED
+ + "100"
+ EnumChatFormatting.GRAY
- + ")"
- + " EU in the LSC")
- .addInfo("it will withdraw from the network and add to the LSC. If there is more it will add")
- .addInfo("the EU to the network and remove it from the LSC.").addSeparator()
- .beginVariableStructureBlock(5, 5, 4, 50, 5, 5, false)
+ + "-fold"
+ + " for every capacitor tier above.")
+ .addSeparator().beginVariableStructureBlock(5, 5, 4, 50, 5, 5, false)
.addStructureInfo("Modular height of 4-50 blocks.").addController("Front center bottom")
.addOtherStructurePart("Lapotronic Super Capacitor Casing", "5x2x5 base (at least 17x)")
.addOtherStructurePart(
@@ -461,8 +467,8 @@ public class GTMTE_LapotronicSuperCapacitor
+ GT_Values.VN[9]
+ EnumChatFormatting.GRAY
+ "-"
- + GT_Values.TIER_COLORS[10]
- + GT_Values.VN[10]
+ + GT_Values.TIER_COLORS[12]
+ + GT_Values.VN[12]
+ EnumChatFormatting.GRAY
+ ")",
"Center 3x(1-47)x3 above base (9-423 blocks)")
@@ -575,12 +581,14 @@ public class GTMTE_LapotronicSuperCapacitor
}
// Check if enough (more than 50%) non-empty caps
- if (capacitors[6] > capacitors[0] + capacitors[1]
+ if (capacitors[8] > capacitors[0] + capacitors[1]
+ capacitors[2]
+ capacitors[3]
+ getUHVCapacitorCount()
+ capacitors[6]
- + getUEVCapacitorCount())
+ + getUEVCapacitorCount()
+ + getUIVCapacitorCount()
+ + getUMVCapacitorCount())
return false;
// Calculate total capacity
@@ -733,7 +741,7 @@ public class GTMTE_LapotronicSuperCapacitor
}
}
- if (getUHVCapacitorCount() <= 0 && getUEVCapacitorCount() <= 0) {
+ if (wirelessCapableCapacitors() <= 0) {
wireless_mode = false;
}
@@ -747,7 +755,9 @@ public class GTMTE_LapotronicSuperCapacitor
// Find difference.
BigInteger transferred_eu = stored.subtract(
(LSC_wireless_eu_cap.multiply(BigInteger.valueOf(getUHVCapacitorCount())))
- .add(UEV_wireless_eu_cap.multiply(BigInteger.valueOf(getUEVCapacitorCount()))));
+ .add(UEV_wireless_eu_cap.multiply(BigInteger.valueOf(getUEVCapacitorCount())))
+ .add(UIV_wireless_eu_cap.multiply(BigInteger.valueOf(getUIVCapacitorCount())))
+ .add(UMV_wireless_eu_cap.multiply(BigInteger.valueOf(getUMVCapacitorCount()))));
if (transferred_eu.signum() == 1) {
inputLastTick += transferred_eu.longValue();
@@ -758,8 +768,10 @@ public class GTMTE_LapotronicSuperCapacitor
// If that difference can be added then do so.
if (addEUToGlobalEnergyMap(global_energy_user_uuid, transferred_eu)) {
// If it succeeds there was sufficient energy so set the internal capacity as such.
- stored = LSC_wireless_eu_cap.multiply(BigInteger.valueOf(getUHVCapacitorCount()))
- .add(UEV_wireless_eu_cap.multiply(BigInteger.valueOf(getUEVCapacitorCount())));
+ stored = LSC_wireless_eu_cap.multiply(BigInteger.valueOf(getUHVCapacitorCount())).add(
+ UEV_wireless_eu_cap.multiply(BigInteger.valueOf(getUEVCapacitorCount()))
+ .add(UIV_wireless_eu_cap.multiply(BigInteger.valueOf(getUIVCapacitorCount())))
+ .add(UMV_wireless_eu_cap.multiply(BigInteger.valueOf(getUMVCapacitorCount()))));
}
}
@@ -805,14 +817,19 @@ public class GTMTE_LapotronicSuperCapacitor
private long recalculateLossWithMaintenance(int repairStatus) {
repairStatusCache = repairStatus;
- // This cannot overflow because there is a 135 capacitor maximum per LSC.
- long temp_capacity_divided = capacity.divide(BigInteger.valueOf(100L * 86400L * 20L)).longValue();
+ long temp_capacity_divided = 0;
+
+ if (wirelessCapableCapacitors() == 0) {
+ temp_capacity_divided = capacity.divide(BigInteger.valueOf(100L * 86400L * 20L)).longValue();
+ }
- // Passive loss is multiplied by number of UHV/UEV caps. Minimum of 1 otherwise loss is 0 for non-UHV/UEV caps
+ // Passive loss is multiplied by number of UHV+ caps. Minimum of 1 otherwise loss is 0 for non-UHV+ caps
// calculations.
- if (getUHVCapacitorCount() != 0 || getUEVCapacitorCount() != 0) {
+ if (wirelessCapableCapacitors() != 0) {
temp_capacity_divided = getUHVCapacitorCount() * max_passive_drain_eu_per_tick_per_uhv_cap
- + getUEVCapacitorCount() * max_passive_drain_eu_per_tick_per_uev_cap;
+ + getUEVCapacitorCount() * max_passive_drain_eu_per_tick_per_uev_cap
+ + getUIVCapacitorCount() * max_passive_drain_eu_per_tick_per_uiv_cap
+ + getUMVCapacitorCount() * max_passive_drain_eu_per_tick_per_umv_cap;
}
// Passive loss is multiplied by number of maintenance issues.
@@ -894,6 +911,16 @@ public class GTMTE_LapotronicSuperCapacitor
+ " Capacitors detected: "
+ getUEVCapacitorCount());
ll.add(
+ GT_Values.TIER_COLORS[11] + GT_Values.VN[11]
+ + EnumChatFormatting.RESET
+ + " Capacitors detected: "
+ + getUIVCapacitorCount());
+ ll.add(
+ GT_Values.TIER_COLORS[12] + GT_Values.VN[12]
+ + EnumChatFormatting.RESET
+ + " Capacitors detected: "
+ + getUMVCapacitorCount());
+ ll.add(
"Total wireless EU: " + EnumChatFormatting.RED
+ GT_Utility.formatNumbers(getUserEU(global_energy_user_uuid)));
ll.add("---------------------------------------------");
@@ -997,7 +1024,7 @@ public class GTMTE_LapotronicSuperCapacitor
}
protected boolean canUseWireless() {
- return getUHVCapacitorCount() != 0 || getUEVCapacitorCount() != 0;
+ return wirelessCapableCapacitors() != 0;
}
@Override
@@ -1011,11 +1038,7 @@ public class GTMTE_LapotronicSuperCapacitor
"Wireless mode cannot be enabled without at least 1 " + GT_Values.TIER_COLORS[9]
+ GT_Values.VN[9]
+ EnumChatFormatting.RESET
- + " or "
- + GT_Values.TIER_COLORS[10]
- + GT_Values.VN[10]
- + EnumChatFormatting.RESET
- + " capacitor.");
+ + "+ capacitor.");
wireless_mode = false;
}
}
diff --git a/src/main/resources/assets/kekztech/lang/en_US.lang b/src/main/resources/assets/kekztech/lang/en_US.lang
index 348c357118..29083a7f9a 100644
--- a/src/main/resources/assets/kekztech/lang/en_US.lang
+++ b/src/main/resources/assets/kekztech/lang/en_US.lang
@@ -144,6 +144,8 @@ tile.kekztech_lapotronicenergyunit_block.5.name=Ultimate Capacitor (UHV)
tile.kekztech_lapotronicenergyunit_block.6.name=Empty Capacitor (-)
tile.kekztech_lapotronicenergyunit_block.7.name=Lapotron Capacitor (EV)
tile.kekztech_lapotronicenergyunit_block.8.name=Extremely Ultimate Capacitor (UEV)
+tile.kekztech_lapotronicenergyunit_block.9.name=Insanely Ultimate Capacitor (UIV)
+tile.kekztech_lapotronicenergyunit_block.10.name=Mega Ultimate Capacitor (UMV)
tile.kekztech_lapotronicenergyunit_block.desc=Part of the Lapotronic Super Capacitor
# -------- Thaumium Reinforced Jar: Block
@@ -192,7 +194,12 @@ achievement.tile.kekztech_lapotronicenergyunit_block.4=Lapotronic Capacitor (UV)
achievement.tile.kekztech_lapotronicenergyunit_block.5.desc=Pickup this item to see the recipe in NEI
achievement.tile.kekztech_lapotronicenergyunit_block.5=Ultimate Capacitor (UHV)
achievement.tile.kekztech_lapotronicenergyunit_block.8.desc=Beyond the ranks of Gods
-achievement.tile.kekztech_lapotronicenergyunit_block.8=Ultimate Capacitor (UEV)
+achievement.tile.kekztech_lapotronicenergyunit_block.8=Extremely Ultimate Capacitor (UEV)
+achievement.tile.kekztech_lapotronicenergyunit_block.9.desc=Insanity ensues!
+achievement.tile.kekztech_lapotronicenergyunit_block.9=Insanely Ultimate Capacitor (UIV)
+achievement.tile.kekztech_lapotronicenergyunit_block.10.desc=How far can we go?
+achievement.tile.kekztech_lapotronicenergyunit_block.10=Mega Ultimate Capacitor (UMV)
+
# -------- GUI
gui.kekztech_lapotronicenergyunit.wireless=Wireless mode
diff --git a/src/main/resources/assets/kekztech/textures/blocks/InsanelyUltimateEnergyUnit_side.png b/src/main/resources/assets/kekztech/textures/blocks/InsanelyUltimateEnergyUnit_side.png
new file mode 100644
index 0000000000..1ff488f081
--- /dev/null
+++ b/src/main/resources/assets/kekztech/textures/blocks/InsanelyUltimateEnergyUnit_side.png
Binary files differ
diff --git a/src/main/resources/assets/kekztech/textures/blocks/InsanelyUltimateEnergyUnit_top.png b/src/main/resources/assets/kekztech/textures/blocks/InsanelyUltimateEnergyUnit_top.png
new file mode 100644
index 0000000000..2e800c9201
--- /dev/null
+++ b/src/main/resources/assets/kekztech/textures/blocks/InsanelyUltimateEnergyUnit_top.png
Binary files differ
diff --git a/src/main/resources/assets/kekztech/textures/blocks/MegaUltimateEnergyUnit_side.png b/src/main/resources/assets/kekztech/textures/blocks/MegaUltimateEnergyUnit_side.png
new file mode 100644
index 0000000000..93e7e5d5b2
--- /dev/null
+++ b/src/main/resources/assets/kekztech/textures/blocks/MegaUltimateEnergyUnit_side.png
Binary files differ
diff --git a/src/main/resources/assets/kekztech/textures/blocks/MegaUltimateEnergyUnit_top.png b/src/main/resources/assets/kekztech/textures/blocks/MegaUltimateEnergyUnit_top.png
new file mode 100644
index 0000000000..66cadfbfb0
--- /dev/null
+++ b/src/main/resources/assets/kekztech/textures/blocks/MegaUltimateEnergyUnit_top.png
Binary files differ