Skip to content
This repository has been archived by the owner on May 25, 2024. It is now read-only.

Commit

Permalink
Merge pull request #63 from GTNewHorizons/UIV&UMV_Cap
Browse files Browse the repository at this point in the history
UIV & UMV capacitor
  • Loading branch information
Connor-Colenso authored Mar 22, 2023
2 parents fb25000 + 044e05c commit d1ec4f8
Show file tree
Hide file tree
Showing 10 changed files with 232 additions and 48 deletions.
2 changes: 1 addition & 1 deletion dependencies.gradle
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
90 changes: 90 additions & 0 deletions src/main/java/common/Recipes.java
Original file line number Diff line number Diff line change
Expand Up @@ -758,6 +758,84 @@ private static void registerRecipes_LSC() {
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),
Expand Down Expand Up @@ -801,6 +879,18 @@ private static void registerRecipes_LSC() {
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);
}

/*
Expand Down
16 changes: 16 additions & 0 deletions src/main/java/common/blocks/Block_LapotronicEnergyUnit.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@ public ResourceLocation getTextureFile() {
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);
Expand Down Expand Up @@ -108,6 +112,10 @@ public void registerBlockIcons(IIconRegister ir) {
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
Expand All @@ -127,6 +135,10 @@ public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List
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
Expand All @@ -150,6 +162,10 @@ public IIcon getIcon(int side, int meta) {
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;
}
Expand Down
48 changes: 48 additions & 0 deletions src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,29 @@ public String getUnlocalizedName(ItemStack stack) {
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;
public static long ZPM_cap_storage = 60_000_000_000L;
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
Expand Down Expand Up @@ -136,6 +152,38 @@ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boo
+ 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;
}
}
}
Loading

0 comments on commit d1ec4f8

Please sign in to comment.