From 992205b07db139d19f521dc3d80b158d244ffcfb Mon Sep 17 00:00:00 2001 From: Prometheus0000 Date: Thu, 15 Apr 2021 14:31:35 -0400 Subject: Add EV and empty capacitors No recipes, reused textures for now --- .../common/blocks/Block_LapotronicEnergyUnit.java | 7 ++- .../common/itemBlocks/IB_LapotronicEnergyUnit.java | 2 + .../GTMTE_LapotronicSuperCapacitor.java | 72 +++++++++++++++++++--- 3 files changed, 71 insertions(+), 10 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java b/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java index b49d287669..ad64612247 100644 --- a/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java +++ b/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java @@ -68,7 +68,10 @@ public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock { public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) { // Multi casing par3List.add(new ItemStack(par1, 1, 0)); - // Lapo units IV - UV + // Empty capacitor + par3List.add(new ItemStack(par1, 1, 6)); + // Lapo capacitors EV - UV + par3List.add(new ItemStack(par1, 1, 7)); par3List.add(new ItemStack(par1, 1, 1)); par3List.add(new ItemStack(par1, 1, 2)); par3List.add(new ItemStack(par1, 1, 3)); @@ -86,6 +89,8 @@ public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock { case 3: return (side < 2) ? iconLapoZPMTop : iconLapoZPMSide; case 4: return (side < 2) ? iconLapoUVTop : iconLapoUVSide; case 5: return (side < 2) ? iconUltimateTop : iconUltimateSide; + case 6: return (side < 2) ? iconBaseTop : iconBaseSide;//temp + case 7: return (side < 2) ? iconLapoIVTop : iconLapoIVSide;//temp default: return iconUltimateTop; } } diff --git a/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java b/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java index 7891be8ea1..b6a8fc2468 100644 --- a/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java +++ b/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java @@ -39,6 +39,8 @@ public class IB_LapotronicEnergyUnit extends ItemBlock { case 3: lines.add("Capacity: 10,000,000,000 EU"); break; case 4: lines.add("Capacity: 100,000,000,000 EU"); break; case 5: lines.add("Capacity: 9,223,372,036,854,775,807 EU"); break; + case 6: lines.add("Capacity: None"); break; + case 7: lines.add("Capacity: 10,000,000 EU"); break; } } } diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index bea7ea2ec5..48c82812b9 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -51,7 +51,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock private final Set mEnergyTunnelsTT = new HashSet<>(); private final Set mDynamoTunnelsTT = new HashSet<>(); // Count the amount of capacitors of each tier in each slot (translate with meta - 1) - private final int[] capacitors = new int[5]; + private final int[] capacitors = new int[7]; private BigInteger capacity = BigInteger.ZERO; private BigInteger stored = BigInteger.ZERO; private BigInteger passiveDischargeAmount = BigInteger.ZERO; @@ -233,14 +233,28 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock final int meta = thisController.getMetaIDOffset(offset.x(), offset.y(), offset.z()); if(thisController.getBlockOffset(offset.x(), offset.y(), offset.z()) == LSC_PART && (meta > 0)) { // Add capacity - if(meta <= 4){ + /*if(meta <= 4){ final long c = (long) (100000000L * Math.pow(10, meta - 1)); tempCapacity = tempCapacity.add(BigInteger.valueOf(c)); capacity = capacity.add(BigInteger.valueOf(c)); } else if(meta <= 5){ tempCapacity = tempCapacity.add(BigInteger.valueOf((long) (100000000L * Math.pow(10, 3)))); capacity = capacity.add(MAX_LONG); + }*/ + + + + switch(meta - 1) { + case 1: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000L)); capacity = capacity.add(BigInteger.valueOf(100000000L)); break; + case 2: tempCapacity = tempCapacity.add(BigInteger.valueOf(1000000000L)); capacity = capacity.add(BigInteger.valueOf(1000000000L)); break; + case 3: tempCapacity = tempCapacity.add(BigInteger.valueOf(10000000000L)); capacity = capacity.add(BigInteger.valueOf(10000000000L)); break; + case 4: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000000L)); capacity = capacity.add(BigInteger.valueOf(100000000000L)); break; + case 5: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000000L)); capacity = capacity.add(MAX_LONG); break; + case 6: tempCapacity = tempCapacity.add(BigInteger.valueOf(0L)); capacity = capacity.add(BigInteger.valueOf(0L)); break; + case 7: tempCapacity = tempCapacity.add(BigInteger.valueOf(10000000L)); capacity = capacity.add(BigInteger.valueOf(10000000L)); break; + default: break; } + capacitors[meta - 1]++; } else if(thisController.getBlockOffset(offset.x(), offset.y(), offset.z()).getUnlocalizedName().equals(glassNameBorosilicate)){ firstGlassHeight = Y; @@ -295,10 +309,40 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock final int colourCorrectedMeta = firstGlassMeta > 5 ? 0 : firstGlassMeta; for(int highestCapacitor = capacitors.length - 1; highestCapacitor >= 0; highestCapacitor--){ if(capacitors[highestCapacitor] > 0){ - if(colourCorrectedMeta < highestCapacitor){ + /*if(colourCorrectedMeta < highestCapacitor){ formationChecklist = false; } - break; + break;*/ + + //if glass < cap + switch (highestCapacitor) { + case 0: + break; + case 1: + if(colourCorrectedMeta < highestCapacitor){ + formationChecklist = false; + } + break; + case 2: + if(colourCorrectedMeta < highestCapacitor){ + formationChecklist = false; + } + break; + case 3: + if(colourCorrectedMeta < highestCapacitor){ + formationChecklist = false; + } + break; + case 4: + if(colourCorrectedMeta < highestCapacitor){ + formationChecklist = false; + } + break; + case 5: + break; + case 6: + break; + } } } @@ -315,14 +359,24 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock // Calculate total capacity capacity = BigInteger.ZERO; for(int i = 0; i < capacitors.length; i++){ - if(i <= 3){ + /*if(i <= 3){ final long c = (long) (100000000L * Math.pow(10, i)); - capacity = capacity.add( - BigInteger.valueOf(c).multiply(BigInteger.valueOf(capacitors[i]))); + capacity = capacity.add(BigInteger.valueOf(c).multiply(BigInteger.valueOf(capacitors[i]))); } else { - capacity = capacity.add( - MAX_LONG.multiply(BigInteger.valueOf(capacitors[i]))); + capacity = capacity.add(MAX_LONG.multiply(BigInteger.valueOf(capacitors[i]))); + }*/ + + switch(i) { + case 0: capacity = capacity.add(BigInteger.valueOf(100000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; + case 1: capacity = capacity.add(BigInteger.valueOf(1000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; + case 2: capacity = capacity.add(BigInteger.valueOf(10000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; + case 3: capacity = capacity.add(BigInteger.valueOf(100000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; + case 4: capacity = capacity.add(MAX_LONG.multiply(BigInteger.valueOf(capacitors[i]))); break; + case 5: capacity = capacity.add(BigInteger.valueOf(0L).multiply(BigInteger.valueOf(capacitors[i]))); break; + case 6: capacity = capacity.add(BigInteger.valueOf(10000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; + default: break; } + } // Calculate how much energy to void each tick passiveDischargeAmount = new BigDecimal(tempCapacity).multiply(PASSIVE_DISCHARGE_FACTOR_PER_TICK).toBigInteger(); -- cgit From 30d8b876408505e1f1596dbf2900e1ccf0dece37 Mon Sep 17 00:00:00 2001 From: Prometheus0000 Date: Fri, 16 Apr 2021 06:24:03 -0400 Subject: Add icons and recipes, and clean up spaces --- src/main/java/common/Recipes.java | 35 +++++++++++++++++++-- .../common/blocks/Block_LapotronicEnergyUnit.java | 13 ++++++-- .../GTMTE_LapotronicSuperCapacitor.java | 34 +++----------------- .../textures/blocks/LapotronicEnergyUnit6_side.png | Bin 0 -> 279 bytes .../textures/blocks/LapotronicEnergyUnit6_top.png | Bin 0 -> 259 bytes .../textures/blocks/LapotronicEnergyUnit7_side.png | Bin 0 -> 279 bytes .../textures/blocks/LapotronicEnergyUnit7_top.png | Bin 0 -> 276 bytes 7 files changed, 48 insertions(+), 34 deletions(-) create mode 100644 src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit6_side.png create mode 100644 src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit6_top.png create mode 100644 src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit7_side.png create mode 100644 src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit7_top.png (limited to 'src/main/java') diff --git a/src/main/java/common/Recipes.java b/src/main/java/common/Recipes.java index 87b495cf1a..d93b40b47f 100644 --- a/src/main/java/common/Recipes.java +++ b/src/main/java/common/Recipes.java @@ -427,6 +427,28 @@ public class Recipes { 'L', OrePrefixes.block.get(Materials.Lapis) }; GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0), lcBase_recipe); + + // Empty Capacitor + final Object[] lcEmpty_recipe = { + "SLS", "L L", "SLS", + 'S', OrePrefixes.screw.get(Materials.Lapis), + 'L', OrePrefixes.plate.get(Materials.Lapis) + }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), lcEmpty_recipe); + + // EV Capacitor + final Object[] lcEV_recipe = { + "SLS", "LCL", "SLS", + 'S', OrePrefixes.screw.get(Materials.Lapis), + 'L', OrePrefixes.plate.get(Materials.Lapis), + 'C', GT_ModHandler.getIC2Item("lapotronCrystal", 1L, GT_Values.W) + }; + GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 7), lcEV_recipe); + + //EV cap alt recipe + GT_Values.RA.addAssemblerRecipe(new ItemStack[] {(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6)), GT_ModHandler.getIC2Item("lapotronCrystal", 1L, GT_Values.W), GT_Utility.getIntegratedCircuit(7)}, null, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 7), 200, 480); + + // IV Capacitor final Object[] lcIV_recipe = { "SLS", "LOL", "SLS", 'S', OrePrefixes.screw.get(Materials.Lapis), @@ -435,6 +457,9 @@ public class Recipes { }; GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), lcIV_recipe); + //IV cap alt recipe + GT_Values.RA.addAssemblerRecipe(new ItemStack[] {(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6)), ItemList.Energy_LapotronicOrb.get(1L), GT_Utility.getIntegratedCircuit(1)}, null, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), 200, 1920); + // LuV Capacitor GT_Values.RA.addAssemblylineRecipe( new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), 288000, @@ -458,6 +483,7 @@ public class Recipes { }, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2), 2000, 100000 ); + // ZPM Capacitor GT_Values.RA.addAssemblylineRecipe( new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2), 288000, @@ -482,6 +508,7 @@ public class Recipes { }, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3), 2000, 100000 ); + // UV Capacitor GT_Values.RA.addAssemblylineRecipe( new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3), 288000, @@ -506,6 +533,7 @@ public class Recipes { }, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4), 2000, 200000 ); + // Ultimate Capacitor GT_Values.RA.addAssemblylineRecipe( new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4), 288000, @@ -534,9 +562,13 @@ public class Recipes { ); // Capacitor recycling + GT_Values.RA.addUnboxingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 7), + GT_ModHandler.getIC2Item("lapotronCrystal", 1L, 26), + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), + 1200, 32); GT_Values.RA.addUnboxingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), ItemList.Energy_LapotronicOrb.get(1L), - GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Lapis, 4), + new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6), 1200, 32); GT_Values.RA.addUnboxingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2), ItemList.Energy_LapotronicOrb2.get(1L), @@ -596,7 +628,6 @@ public class Recipes { }*/ private static void registerRecipes_Cosmetics() { - // Hex Tiles final ItemStack[] hexTiles = { GT_Utility.getIntegratedCircuit(6), diff --git a/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java b/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java index ad64612247..75de60a308 100644 --- a/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java +++ b/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java @@ -19,6 +19,10 @@ public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock { private IIcon iconBaseSide; private IIcon iconBaseTop; + private IIcon iconLapoEmptySide; + private IIcon iconLapoEmptyTop; + private IIcon iconLapoEVSide; + private IIcon iconLapoEVTop; private IIcon iconLapoIVSide; private IIcon iconLapoIVTop; private IIcon iconLapoLuVSide; @@ -50,6 +54,11 @@ public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock { iconBaseSide = ir.registerIcon("kekztech:LSCBase_side"); iconBaseTop = ir.registerIcon("kekztech:LSCBase_top"); + + iconLapoEmptySide = ir.registerIcon("kekztech:LapotronicEnergyUnit6_side"); + iconLapoEmptyTop = ir.registerIcon("kekztech:LapotronicEnergyUnit6_top"); + iconLapoEVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit7_side"); + iconLapoEVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit7_top"); iconLapoIVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit1_side"); iconLapoIVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit1_top"); iconLapoLuVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit2_side"); @@ -89,8 +98,8 @@ public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock { case 3: return (side < 2) ? iconLapoZPMTop : iconLapoZPMSide; case 4: return (side < 2) ? iconLapoUVTop : iconLapoUVSide; case 5: return (side < 2) ? iconUltimateTop : iconUltimateSide; - case 6: return (side < 2) ? iconBaseTop : iconBaseSide;//temp - case 7: return (side < 2) ? iconLapoIVTop : iconLapoIVSide;//temp + case 6: return (side < 2) ? iconLapoEmptyTop : iconLapoEmptySide; + case 7: return (side < 2) ? iconLapoEVTop : iconLapoEVSide; default: return iconUltimateTop; } } diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index 48c82812b9..aa9cdf42a1 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -233,17 +233,6 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock final int meta = thisController.getMetaIDOffset(offset.x(), offset.y(), offset.z()); if(thisController.getBlockOffset(offset.x(), offset.y(), offset.z()) == LSC_PART && (meta > 0)) { // Add capacity - /*if(meta <= 4){ - final long c = (long) (100000000L * Math.pow(10, meta - 1)); - tempCapacity = tempCapacity.add(BigInteger.valueOf(c)); - capacity = capacity.add(BigInteger.valueOf(c)); - } else if(meta <= 5){ - tempCapacity = tempCapacity.add(BigInteger.valueOf((long) (100000000L * Math.pow(10, 3)))); - capacity = capacity.add(MAX_LONG); - }*/ - - - switch(meta - 1) { case 1: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000L)); capacity = capacity.add(BigInteger.valueOf(100000000L)); break; case 2: tempCapacity = tempCapacity.add(BigInteger.valueOf(1000000000L)); capacity = capacity.add(BigInteger.valueOf(1000000000L)); break; @@ -253,8 +242,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock case 6: tempCapacity = tempCapacity.add(BigInteger.valueOf(0L)); capacity = capacity.add(BigInteger.valueOf(0L)); break; case 7: tempCapacity = tempCapacity.add(BigInteger.valueOf(10000000L)); capacity = capacity.add(BigInteger.valueOf(10000000L)); break; default: break; - } - + } capacitors[meta - 1]++; } else if(thisController.getBlockOffset(offset.x(), offset.y(), offset.z()).getUnlocalizedName().equals(glassNameBorosilicate)){ firstGlassHeight = Y; @@ -309,15 +297,9 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock final int colourCorrectedMeta = firstGlassMeta > 5 ? 0 : firstGlassMeta; for(int highestCapacitor = capacitors.length - 1; highestCapacitor >= 0; highestCapacitor--){ if(capacitors[highestCapacitor] > 0){ - /*if(colourCorrectedMeta < highestCapacitor){ - formationChecklist = false; - } - break;*/ - - //if glass < cap switch (highestCapacitor) { - case 0: - break; + case 0://For the empty/EV/IV caps, any BS glass works + break; case 1: if(colourCorrectedMeta < highestCapacitor){ formationChecklist = false; @@ -358,14 +340,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock // Calculate total capacity capacity = BigInteger.ZERO; - for(int i = 0; i < capacitors.length; i++){ - /*if(i <= 3){ - final long c = (long) (100000000L * Math.pow(10, i)); - capacity = capacity.add(BigInteger.valueOf(c).multiply(BigInteger.valueOf(capacitors[i]))); - } else { - capacity = capacity.add(MAX_LONG.multiply(BigInteger.valueOf(capacitors[i]))); - }*/ - + for(int i = 0; i < capacitors.length; i++){ switch(i) { case 0: capacity = capacity.add(BigInteger.valueOf(100000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; case 1: capacity = capacity.add(BigInteger.valueOf(1000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; @@ -376,7 +351,6 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock case 6: capacity = capacity.add(BigInteger.valueOf(10000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; default: break; } - } // Calculate how much energy to void each tick passiveDischargeAmount = new BigDecimal(tempCapacity).multiply(PASSIVE_DISCHARGE_FACTOR_PER_TICK).toBigInteger(); diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit6_side.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit6_side.png new file mode 100644 index 0000000000..852873db1d Binary files /dev/null and b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit6_side.png differ diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit6_top.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit6_top.png new file mode 100644 index 0000000000..c5034dfd93 Binary files /dev/null and b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit6_top.png differ diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit7_side.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit7_side.png new file mode 100644 index 0000000000..852873db1d Binary files /dev/null and b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit7_side.png differ diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit7_top.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit7_top.png new file mode 100644 index 0000000000..06a1bd064f Binary files /dev/null and b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit7_top.png differ -- cgit From c26fbffe39353d943ad6ab8cfca46e15dbba4e71 Mon Sep 17 00:00:00 2001 From: Prometheus0000 Date: Sat, 17 Apr 2021 11:33:53 -0400 Subject: Fix --- .../java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index aa9cdf42a1..a8d1f345d5 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -233,7 +233,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock final int meta = thisController.getMetaIDOffset(offset.x(), offset.y(), offset.z()); if(thisController.getBlockOffset(offset.x(), offset.y(), offset.z()) == LSC_PART && (meta > 0)) { // Add capacity - switch(meta - 1) { + switch(meta) { case 1: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000L)); capacity = capacity.add(BigInteger.valueOf(100000000L)); break; case 2: tempCapacity = tempCapacity.add(BigInteger.valueOf(1000000000L)); capacity = capacity.add(BigInteger.valueOf(1000000000L)); break; case 3: tempCapacity = tempCapacity.add(BigInteger.valueOf(10000000000L)); capacity = capacity.add(BigInteger.valueOf(10000000000L)); break; @@ -335,7 +335,6 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock } mEnergyTunnelsTT.clear(); mDynamoTunnelsTT.clear(); - } // Calculate total capacity @@ -347,7 +346,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock case 2: capacity = capacity.add(BigInteger.valueOf(10000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; case 3: capacity = capacity.add(BigInteger.valueOf(100000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; case 4: capacity = capacity.add(MAX_LONG.multiply(BigInteger.valueOf(capacitors[i]))); break; - case 5: capacity = capacity.add(BigInteger.valueOf(0L).multiply(BigInteger.valueOf(capacitors[i]))); break; + case 5: break; case 6: capacity = capacity.add(BigInteger.valueOf(10000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; default: break; } -- cgit From fab7d28390f522deb3142789c72cf6c5ad99c0aa Mon Sep 17 00:00:00 2001 From: Prometheus0000 Date: Sat, 17 Apr 2021 12:17:34 -0400 Subject: Remove the other one that doesn't do anything --- src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java') diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index a8d1f345d5..1c97db12fa 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -239,7 +239,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock case 3: tempCapacity = tempCapacity.add(BigInteger.valueOf(10000000000L)); capacity = capacity.add(BigInteger.valueOf(10000000000L)); break; case 4: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000000L)); capacity = capacity.add(BigInteger.valueOf(100000000000L)); break; case 5: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000000L)); capacity = capacity.add(MAX_LONG); break; - case 6: tempCapacity = tempCapacity.add(BigInteger.valueOf(0L)); capacity = capacity.add(BigInteger.valueOf(0L)); break; + case 6: break; case 7: tempCapacity = tempCapacity.add(BigInteger.valueOf(10000000L)); capacity = capacity.add(BigInteger.valueOf(10000000L)); break; default: break; } -- cgit From 75bba0667b13089cda6e791ddcb507eb311cc755 Mon Sep 17 00:00:00 2001 From: Prometheus0000 Date: Sat, 17 Apr 2021 13:03:01 -0400 Subject: change switch to function --- .../GTMTE_LapotronicSuperCapacitor.java | 43 +++++++++++++++++++++- 1 file changed, 41 insertions(+), 2 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index 1c97db12fa..c7e77d9cd8 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -233,6 +233,8 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock final int meta = thisController.getMetaIDOffset(offset.x(), offset.y(), offset.z()); if(thisController.getBlockOffset(offset.x(), offset.y(), offset.z()) == LSC_PART && (meta > 0)) { // Add capacity + + switch(meta) { case 1: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000L)); capacity = capacity.add(BigInteger.valueOf(100000000L)); break; case 2: tempCapacity = tempCapacity.add(BigInteger.valueOf(1000000000L)); capacity = capacity.add(BigInteger.valueOf(1000000000L)); break; @@ -297,7 +299,9 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock final int colourCorrectedMeta = firstGlassMeta > 5 ? 0 : firstGlassMeta; for(int highestCapacitor = capacitors.length - 1; highestCapacitor >= 0; highestCapacitor--){ if(capacitors[highestCapacitor] > 0){ - switch (highestCapacitor) { + formationChecklist = checkGlassTier(colourCorrectedMeta, highestCapacitor); + + /*switch (highestCapacitor) { case 0://For the empty/EV/IV caps, any BS glass works break; case 1: @@ -324,7 +328,8 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock break; case 6: break; - } + }*/ + } } @@ -357,6 +362,40 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock return formationChecklist; } + public boolean checkGlassTier(int colourCorrectedMeta, int highestCapacitor) { + switch (highestCapacitor) { + case 0://For the empty/EV/IV caps, any BS glass works + break; + case 1: + if(colourCorrectedMeta < highestCapacitor){ + return false; + } + break; + case 2: + if(colourCorrectedMeta < highestCapacitor){ + return false; + } + break; + case 3: + if(colourCorrectedMeta < highestCapacitor){ + return false; + } + break; + case 4: + if(colourCorrectedMeta < highestCapacitor){ + return false; + } + break; + case 5: + break; + case 6: + break; + default: + break; + } + return true; + } + @Override public boolean addEnergyInputToMachineList(IGregTechTileEntity te, int aBaseCasingIndex) { if (te == null) { -- cgit From 4d672ab9d8efde048adbea2532e26d539ac64e87 Mon Sep 17 00:00:00 2001 From: Prometheus0000 Date: Sun, 18 Apr 2021 13:55:43 -0400 Subject: Revert previous and move the other 2 switches to functions They actually work right, will redo the other one when I figure out how to get it to do the structure check properly --- .../GTMTE_LapotronicSuperCapacitor.java | 72 ++++++++++++---------- 1 file changed, 40 insertions(+), 32 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index c7e77d9cd8..ba3f0992de 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -233,18 +233,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock final int meta = thisController.getMetaIDOffset(offset.x(), offset.y(), offset.z()); if(thisController.getBlockOffset(offset.x(), offset.y(), offset.z()) == LSC_PART && (meta > 0)) { // Add capacity - - - switch(meta) { - case 1: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000L)); capacity = capacity.add(BigInteger.valueOf(100000000L)); break; - case 2: tempCapacity = tempCapacity.add(BigInteger.valueOf(1000000000L)); capacity = capacity.add(BigInteger.valueOf(1000000000L)); break; - case 3: tempCapacity = tempCapacity.add(BigInteger.valueOf(10000000000L)); capacity = capacity.add(BigInteger.valueOf(10000000000L)); break; - case 4: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000000L)); capacity = capacity.add(BigInteger.valueOf(100000000000L)); break; - case 5: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000000L)); capacity = capacity.add(MAX_LONG); break; - case 6: break; - case 7: tempCapacity = tempCapacity.add(BigInteger.valueOf(10000000L)); capacity = capacity.add(BigInteger.valueOf(10000000L)); break; - default: break; - } + tempCapacity = calculateTempCapacity(tempCapacity, meta); capacitors[meta - 1]++; } else if(thisController.getBlockOffset(offset.x(), offset.y(), offset.z()).getUnlocalizedName().equals(glassNameBorosilicate)){ firstGlassHeight = Y; @@ -299,9 +288,9 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock final int colourCorrectedMeta = firstGlassMeta > 5 ? 0 : firstGlassMeta; for(int highestCapacitor = capacitors.length - 1; highestCapacitor >= 0; highestCapacitor--){ if(capacitors[highestCapacitor] > 0){ - formationChecklist = checkGlassTier(colourCorrectedMeta, highestCapacitor); - /*switch (highestCapacitor) { + + switch (highestCapacitor) { case 0://For the empty/EV/IV caps, any BS glass works break; case 1: @@ -328,7 +317,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock break; case 6: break; - }*/ + } } } @@ -343,28 +332,31 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock } // Calculate total capacity - capacity = BigInteger.ZERO; - for(int i = 0; i < capacitors.length; i++){ - switch(i) { - case 0: capacity = capacity.add(BigInteger.valueOf(100000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; - case 1: capacity = capacity.add(BigInteger.valueOf(1000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; - case 2: capacity = capacity.add(BigInteger.valueOf(10000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; - case 3: capacity = capacity.add(BigInteger.valueOf(100000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; - case 4: capacity = capacity.add(MAX_LONG.multiply(BigInteger.valueOf(capacitors[i]))); break; - case 5: break; - case 6: capacity = capacity.add(BigInteger.valueOf(10000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; - default: break; - } - } + calculateCapacity(); + // Calculate how much energy to void each tick passiveDischargeAmount = new BigDecimal(tempCapacity).multiply(PASSIVE_DISCHARGE_FACTOR_PER_TICK).toBigInteger(); passiveDischargeAmount = recalculateLossWithMaintenance(super.getRepairStatus()); return formationChecklist; } - public boolean checkGlassTier(int colourCorrectedMeta, int highestCapacitor) { + public BigInteger calculateTempCapacity(BigInteger tempCapacity, int meta) { + switch(meta) { + case 1: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000L)); capacity = capacity.add(BigInteger.valueOf(100000000L)); break; + case 2: tempCapacity = tempCapacity.add(BigInteger.valueOf(1000000000L)); capacity = capacity.add(BigInteger.valueOf(1000000000L)); break; + case 3: tempCapacity = tempCapacity.add(BigInteger.valueOf(10000000000L)); capacity = capacity.add(BigInteger.valueOf(10000000000L)); break; + case 4: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000000L)); capacity = capacity.add(BigInteger.valueOf(100000000000L)); break; + case 5: tempCapacity = tempCapacity.add(BigInteger.valueOf(100000000000L)); capacity = capacity.add(MAX_LONG); break; + case 6: break; + case 7: tempCapacity = tempCapacity.add(BigInteger.valueOf(10000000L)); capacity = capacity.add(BigInteger.valueOf(10000000L)); break; + default: break; + } + return tempCapacity; + } + + /*public boolean checkGlassTier(int colourCorrectedMeta, int highestCapacitor) { switch (highestCapacitor) { - case 0://For the empty/EV/IV caps, any BS glass works + case 0://For the empty/EV/IV caps, any BS glass works. The case is meta - 1 break; case 1: if(colourCorrectedMeta < highestCapacitor){ @@ -391,9 +383,25 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock case 6: break; default: - break; + return false; + } + return true;//if it was already true, stay true + }*/ + + public void calculateCapacity() { + capacity = BigInteger.ZERO; + for(int i = 0; i < capacitors.length; i++){ + switch(i) { + case 0: capacity = capacity.add(BigInteger.valueOf(100000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; + case 1: capacity = capacity.add(BigInteger.valueOf(1000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; + case 2: capacity = capacity.add(BigInteger.valueOf(10000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; + case 3: capacity = capacity.add(BigInteger.valueOf(100000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; + case 4: capacity = capacity.add(MAX_LONG.multiply(BigInteger.valueOf(capacitors[i]))); break; + case 5: break; + case 6: capacity = capacity.add(BigInteger.valueOf(10000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; + default: break; + } } - return true; } @Override -- cgit From f652923c5136e04110a433f9382e3eef8ef2a743 Mon Sep 17 00:00:00 2001 From: Prometheus0000 Date: Mon, 19 Apr 2021 10:00:46 -0400 Subject: Get 3rd switch to work in a function --- .../GTMTE_LapotronicSuperCapacitor.java | 66 ++++++---------------- 1 file changed, 18 insertions(+), 48 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index ba3f0992de..a53e56b8a9 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -200,8 +200,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock } final Vector3ic offset = rotateOffsetVector(forgeDirection, X, Y, Z); - final IGregTechTileEntity currentTE = - thisController.getIGregTechTileEntityOffset(offset.x(), offset.y(), offset.z()); + final IGregTechTileEntity currentTE = thisController.getIGregTechTileEntityOffset(offset.x(), offset.y(), offset.z()); // Tries to add TE as either of those kinds of hatches. // The number is the texture index number for the texture that needs to be painted over the hatch texture @@ -278,7 +277,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock } } - if(minCasingAmount > 0){ + if(minCasingAmount > 0) { formationChecklist = false; } @@ -287,38 +286,8 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock // Borosilicate glass after 5 are just recolours of 0 final int colourCorrectedMeta = firstGlassMeta > 5 ? 0 : firstGlassMeta; for(int highestCapacitor = capacitors.length - 1; highestCapacitor >= 0; highestCapacitor--){ - if(capacitors[highestCapacitor] > 0){ - - - switch (highestCapacitor) { - case 0://For the empty/EV/IV caps, any BS glass works - break; - case 1: - if(colourCorrectedMeta < highestCapacitor){ - formationChecklist = false; - } - break; - case 2: - if(colourCorrectedMeta < highestCapacitor){ - formationChecklist = false; - } - break; - case 3: - if(colourCorrectedMeta < highestCapacitor){ - formationChecklist = false; - } - break; - case 4: - if(colourCorrectedMeta < highestCapacitor){ - formationChecklist = false; - } - break; - case 5: - break; - case 6: - break; - } - + if(capacitors[highestCapacitor] > 0 && formationChecklist == true) { + formationChecklist = checkGlassTier(colourCorrectedMeta, highestCapacitor); } } @@ -354,28 +323,29 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock return tempCapacity; } - /*public boolean checkGlassTier(int colourCorrectedMeta, int highestCapacitor) { + public boolean checkGlassTier(int colourCorrectedMeta, int highestCapacitor) { + Boolean check = true; switch (highestCapacitor) { case 0://For the empty/EV/IV caps, any BS glass works. The case is meta - 1 break; case 1: - if(colourCorrectedMeta < highestCapacitor){ - return false; + if(colourCorrectedMeta < highestCapacitor) { + check = false; } break; case 2: - if(colourCorrectedMeta < highestCapacitor){ - return false; + if(colourCorrectedMeta < highestCapacitor) { + check = false; } break; case 3: - if(colourCorrectedMeta < highestCapacitor){ - return false; + if(colourCorrectedMeta < highestCapacitor) { + check = false; } break; case 4: - if(colourCorrectedMeta < highestCapacitor){ - return false; + if(colourCorrectedMeta < highestCapacitor) { + check = false; } break; case 5: @@ -383,14 +353,14 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock case 6: break; default: - return false; + check = false; } - return true;//if it was already true, stay true - }*/ + return check;//if it was already true, stay true + } public void calculateCapacity() { capacity = BigInteger.ZERO; - for(int i = 0; i < capacitors.length; i++){ + for(int i = 0; i < capacitors.length; i++) { switch(i) { case 0: capacity = capacity.add(BigInteger.valueOf(100000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; case 1: capacity = capacity.add(BigInteger.valueOf(1000000000L).multiply(BigInteger.valueOf(capacitors[i]))); break; -- cgit From 019d2c5c8cb9669dd19a66e54d637de83255e795 Mon Sep 17 00:00:00 2001 From: Prometheus0000 Date: Mon, 19 Apr 2021 11:40:01 -0400 Subject: Add check for more than 50% non-empty caps --- .../java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/main/java') diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index a53e56b8a9..581b3de7ad 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -300,6 +300,11 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock mDynamoTunnelsTT.clear(); } + //Check if enough (more than 50%) non-empty caps + int emptyCheck = capacitors[5]/(capacitors[0] + capacitors[1] + capacitors[2] + capacitors[3] + capacitors[4] + capacitors[6]); + if (emptyCheck > 0.5) + formationChecklist = false; + // Calculate total capacity calculateCapacity(); @@ -355,7 +360,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock default: check = false; } - return check;//if it was already true, stay true + return check; //Return false if it fails the check, otherwise true } public void calculateCapacity() { -- cgit From 4a675efcd20ac1c1d858f7019b3e7b34a15d6e18 Mon Sep 17 00:00:00 2001 From: Prometheus0000 Date: Mon, 19 Apr 2021 11:46:07 -0400 Subject: Update TT text to reflect changes --- src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/main/java') diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index 581b3de7ad..6e5e4fbca6 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -89,7 +89,8 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock .addStructureInfo("Modular height of 4-18 blocks.") .addController("Front center bottom") .addOtherStructurePart("Lapotronic Super Capacitor Casing", "5x2x5 base (at least 17x)") - .addOtherStructurePart("Lapotronic Capacitor (IV-UV), Ultimate Capacitor (UHV)", "Center 3x(1-15)x3 above base (9-135 blocks)") + .addOtherStructurePart("Lapotronic Capacitor (EV-UV), Ultimate Capacitor (UHV)", "Center 3x(1-15)x3 above base (9-135 blocks)") + .addStructureInfo("You can also use the Empty Capacitor to save materials if you use it for less than half the blocks") .addOtherStructurePart("Borosilicate Glass (any)", "41-265x, Encase capacitor pillar") .addEnergyHatch("Any casing") .addDynamoHatch("Any casing") -- cgit From 3db66d3a7850b955868fff2ad5e628afa7c81534 Mon Sep 17 00:00:00 2001 From: Prometheus0000 Date: Thu, 29 Apr 2021 11:18:54 -0400 Subject: Change int to double to properly use fractions --- src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java') diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java index 6e5e4fbca6..2476b2cf87 100644 --- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java +++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java @@ -302,7 +302,7 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock } //Check if enough (more than 50%) non-empty caps - int emptyCheck = capacitors[5]/(capacitors[0] + capacitors[1] + capacitors[2] + capacitors[3] + capacitors[4] + capacitors[6]); + double emptyCheck = ((double) capacitors[5]) / (double) (capacitors[0] + capacitors[1] + capacitors[2] + capacitors[3] + capacitors[4] + capacitors[6]); if (emptyCheck > 0.5) formationChecklist = false; -- cgit