aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorkekzdealer <kekzdealer@gmail.com>2020-05-10 20:20:54 +0200
committerkekzdealer <kekzdealer@gmail.com>2020-05-10 20:20:54 +0200
commit8c8708906e7d098fc08d617549e3b78454ca0de4 (patch)
tree091e5fa67abcd4b4c01a3f694725cbcd4e49edac /src/main
parentfca88e40761389aa252428fcb756af61a6b6324b (diff)
downloadGT5-Unofficial-8c8708906e7d098fc08d617549e3b78454ca0de4.tar.gz
GT5-Unofficial-8c8708906e7d098fc08d617549e3b78454ca0de4.tar.bz2
GT5-Unofficial-8c8708906e7d098fc08d617549e3b78454ca0de4.zip
Did work on adding LSC recipe stuff
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/common/Recipes.java72
-rw-r--r--src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java13
2 files changed, 83 insertions, 2 deletions
diff --git a/src/main/java/common/Recipes.java b/src/main/java/common/Recipes.java
index d4728bf4dd..202f6186a0 100644
--- a/src/main/java/common/Recipes.java
+++ b/src/main/java/common/Recipes.java
@@ -1,5 +1,7 @@
package common;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import cpw.mods.fml.common.Loader;
@@ -10,6 +12,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import items.ErrorItem;
import items.MetaItem_CraftingComponent;
@@ -38,10 +41,24 @@ public class Recipes {
registerRecipes_Nuclear();
//registerRecipes_ItemServer();
registerRecipes_Jars();
+ registerRecipes_LSC();
KekzCore.LOGGER.info("Finished registering recipes");
}
-
+
+ private static void lapoCapacitorRecipeAdder(GT_Recipe.GT_Recipe_AssemblyLine baseRecipe, Materials boxMaterial, ItemStack result) {
+ final ArrayList<ItemStack> baseInputs = (ArrayList<ItemStack>) Arrays.asList(baseRecipe.mInputs);
+ if(baseInputs.size() <= 14){
+ baseInputs.add(GT_OreDictUnificator.get(OrePrefixes.frameGt, boxMaterial, 4));
+ baseInputs.add(GT_OreDictUnificator.get(OrePrefixes.screw, boxMaterial, 24));
+
+ GT_Values.RA.addAssemblylineRecipe(baseRecipe.mResearchItem, baseRecipe.mResearchTime,
+ Util.toItemStackArray(baseInputs), baseRecipe.mFluidInputs, result,
+ baseRecipe.mDuration * 2, baseRecipe.mEUt);
+ KekzCore.LOGGER.info("Successfully extended Lapotronic Battery recipe for Lapotronic Capacitor of tier " + result.getItemDamage());
+ }
+ }
+
private static void registerRecipes_TFFT() {
// Controller
@@ -423,5 +440,56 @@ public class Recipes {
ThaumcraftApi.addInfusionCraftingRecipe("THAUMIUMREINFORCEDJAR", new ItemStack(Blocks.jarThaumiumReinforced, 1),
5, aspects_jarthaumiumreinforced, ItemApi.getBlock("blockJar", 0), recipe_jarthaumiumreinforced));
}
-
+
+ private static void registerRecipes_LSC(){
+
+ // Controller
+ final ItemStack filledLapoCrystal = GT_ModHandler.getIC2Item("itemBatLamaCrystal", 1, 1);
+ filledLapoCrystal.getTagCompound().setInteger("charge", 10000000);
+ final Object[] lsc_recipe = {
+ "LPL", "CBC", "LPL",
+ 'L', filledLapoCrystal,
+ 'P', ItemList.Circuit_Chip_PIC.get(1L),
+ 'C', OrePrefixes.circuit.get(Materials.Master)
+ 'B', new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0),
+ };
+ GT_ModHandler.addCraftingRecipe(KekzCore.lsc.getStackForm(1), lsc_recipe);
+
+ KekzCore.LOGGER.info("Reading Assembly Line recipes from GregTech recipe map");
+
+ for(GT_Recipe.GT_Recipe_AssemblyLine ar : GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes) {
+ if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_LapotronicOrb2.get(1L))) {
+ // LuV Lapo Orb
+ lapoCapacitorRecipeAdder(ar, Materials.Osmiridium, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2));
+ } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_Module.get(1L))) {
+ // ZPM Lapo Orb
+ lapoCapacitorRecipeAdder(ar, Materials.NaquadahAlloy, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3));
+ } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_Cluster.get(1L))) {
+ // UV Lapo Orb
+ lapoCapacitorRecipeAdder(ar, Materials.Neutronium, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4));
+ } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList..get(1L))) {
+ // Ultimate Battery
+ // TODO change material to Cosmic Neutronium
+ lapoCapacitorRecipeAdder(ar, Materials.Neutronium, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5));
+ } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_LapotronicOrb2.get(1L))) {
+ // Really Ultimate Battery
+ // TODO change material to Infinity
+ lapoCapacitorRecipeAdder(ar, Materials.Neutronium, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6));
+ }
+ }
+
+ // Blocks
+ final Object[] lcIV_recipe = {
+ "SLS", "LOL", "SLS",
+ 'S', OrePrefixes.screw.get(Materials.Lapis),
+ 'L', OrePrefixes.plate.get(Materials.Lapis),
+ 'O', ItemList.Energy_LapotronicOrb.get(1L)
+ };
+ GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), lcIV_recipe);
+ // Make sure the recipe doesn't exceed 16 slots
+ if(lcLuV_recipeBase.size() <= 14)
+
+
+ GT_Values.RA.addAssemblylineRecipe();
+ }
}
diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
index b499e4a941..e11961beda 100644
--- a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
+++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
@@ -14,6 +14,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynam
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
import gregtech.api.objects.GT_RenderedTexture;
+import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
@@ -242,18 +243,25 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock
if(Y < firstGlassHeight){
if((X == -2 || X == 2) && (Z == -1 || Z == 4)){
if(!thisController.getBlockOffset(offset.x(), offset.y(), offset.z()).getUnlocalizedName().equals(glassNameBorosilicate)){
+ final String badName = thisController.getBlockOffset(offset.x(), offset.y(), offset.z()).getUnlocalizedName();
+ KekzCore.LOGGER.info("Bad block in LSC glass shell: " + badName);
+ KekzCore.LOGGER.info("At offset: Y=" + offset.y() + ", X=" + offset.x() + ", Z=" + offset.z());
formationChecklist = false;
} else {
final int meta = thisController.getMetaIDOffset(offset.x(), offset.y(), offset.z());
if(firstGlassMeta == -1){
firstGlassMeta = meta;
} else if(meta != firstGlassMeta){
+ KekzCore.LOGGER.info("No glass mixing allowed in LSC!");
formationChecklist = false;
}
}
}
} else {
if (!thisController.getBlockOffset(offset.x(), offset.y(), offset.z()).getUnlocalizedName().equals(glassNameBorosilicate)) {
+ final String badName = thisController.getBlockOffset(offset.x(), offset.y(), offset.z()).getUnlocalizedName();
+ KekzCore.LOGGER.info("Bad block in LSC glass shell: " + badName);
+ KekzCore.LOGGER.info("At offset: Y=" + offset.y() + ", X=" + offset.x() + ", Z=" + offset.z());
formationChecklist = false;
}
}
@@ -270,6 +278,11 @@ public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlock
for(int highestCapacitor = capacitors.length - 1; highestCapacitor >= 0; highestCapacitor--){
if(capacitors[highestCapacitor] > 0){
formationChecklist = firstGlassMeta >= capacitors[highestCapacitor] - 2;
+ if(!formationChecklist){
+ KekzCore.LOGGER.info("LSC Glass is not of correct tier");
+ KekzCore.LOGGER.info("Highest capacitor tier (0 is IV): " + highestCapacitor);
+ KekzCore.LOGGER.info("Glass tier (0 is HV): " +firstGlassMeta);
+ }
}
}