From 7000eb5d40f2536ebe7971354fa55d0dab2d265a Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Wed, 26 Oct 2016 23:49:54 +1000 Subject: + Added Nuggets for each material. + Added Fluid Extractor recipes for Nuggets, small, tiny and normal Dusts. + Added Fluid Solidifier recipe for molten fluids to ingots. (Must add one for each material component) % Changed internal logic of the Blast Smelter, it now constructs and has the correct textures. --- .../core/item/base/BaseItemComponent.java | 3 +- .../core/item/base/nugget/BaseItemNugget.java | 11 +++ src/Java/gtPlusPlus/core/util/item/ItemUtils.java | 17 ++-- .../GregtechMetaTileEntity_AlloyBlastSmelter.java | 44 ++++----- .../gregtech/loaders/RecipeGen_BlastSmelter.java | 101 +++++++++++++++------ .../assets/miscutils/textures/items/itemNugget.png | Bin 0 -> 4585 bytes 6 files changed, 110 insertions(+), 66 deletions(-) create mode 100644 src/Java/gtPlusPlus/core/item/base/nugget/BaseItemNugget.java create mode 100644 src/resources/assets/miscutils/textures/items/itemNugget.png (limited to 'src') diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java index 5f0e535123..ee9d451948 100644 --- a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java +++ b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java @@ -129,7 +129,8 @@ public class BaseItemComponent extends Item{ BOLT("Bolt", " Bolt", "bolt"), ROTOR("Rotor", " Rotor", "rotor"), RING("Ring", " Ring", "ring"), - CELL("Cell", " Cell", "cell"); + CELL("Cell", " Cell", "cell"), + NUGGET("Nugget", " Nugget", "nugget"); private String COMPONENT_NAME; private String DISPLAY_NAME; diff --git a/src/Java/gtPlusPlus/core/item/base/nugget/BaseItemNugget.java b/src/Java/gtPlusPlus/core/item/base/nugget/BaseItemNugget.java new file mode 100644 index 0000000000..d4f7ac02a6 --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/base/nugget/BaseItemNugget.java @@ -0,0 +1,11 @@ +package gtPlusPlus.core.item.base.nugget; + +import gtPlusPlus.core.item.base.BaseItemComponent; +import gtPlusPlus.core.material.Material; + +public class BaseItemNugget extends BaseItemComponent{ + + public BaseItemNugget(Material material) { + super(material, BaseItemComponent.ComponentTypes.NUGGET); + } +} diff --git a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java index 49e29476d4..39cdaacdb6 100644 --- a/src/Java/gtPlusPlus/core/util/item/ItemUtils.java +++ b/src/Java/gtPlusPlus/core/util/item/ItemUtils.java @@ -16,6 +16,7 @@ import gtPlusPlus.core.item.base.dusts.decimal.BaseItemDecidust; import gtPlusPlus.core.item.base.gears.BaseItemGear; import gtPlusPlus.core.item.base.ingots.BaseItemIngot; import gtPlusPlus.core.item.base.ingots.BaseItemIngotHot; +import gtPlusPlus.core.item.base.nugget.BaseItemNugget; import gtPlusPlus.core.item.base.plates.BaseItemPlate; import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble; import gtPlusPlus.core.item.base.rings.BaseItemRing; @@ -235,8 +236,8 @@ public class ItemUtils { return GameRegistry.findItemStack(fqrnSplit[0], fqrnSplit[1], Size); }*/ - - + + public static void generateSpawnEgg(String entityModID, String parSpawnName, int colourEgg, int colourOverlay){ Item itemSpawnEgg = new BasicSpawnEgg(entityModID, parSpawnName, colourEgg, colourOverlay).setUnlocalizedName("spawn_egg_"+parSpawnName.toLowerCase()).setTextureName(CORE.MODID+":spawn_egg"); GameRegistry.registerItem(itemSpawnEgg, "spawnEgg"+parSpawnName); @@ -327,7 +328,7 @@ public class ItemUtils { temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation); - + temp = new BaseItemNugget(matInfo); temp = new BaseItemPlate(matInfo); temp = new BaseItemRod(matInfo); temp = new BaseItemRodLong(matInfo); @@ -346,7 +347,7 @@ public class ItemUtils { temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", materialTier, sRadiation); - + temp = new BaseItemNugget(matInfo); temp = new BaseItemPlate(matInfo); temp = new BaseItemPlateDouble(matInfo); temp = new BaseItemBolt(matInfo); @@ -458,7 +459,7 @@ public class ItemUtils { if (GT_OreDictUnificator.get(OrePrefixes.dust, material, 1L) != null){ Material placeholder = MaterialUtils.generateMaterialFromGtENUM(material); if (placeholder != null) - generateDecidust(placeholder); + generateDecidust(placeholder); } return null; } @@ -470,12 +471,12 @@ public class ItemUtils { } return null; } - + public static BaseItemCentidust generateCentidust(Materials material){ if (GT_OreDictUnificator.get(OrePrefixes.dust, material, 1L) != null){ Material placeholder = MaterialUtils.generateMaterialFromGtENUM(material); if (placeholder != null) - generateCentidust(placeholder); + generateCentidust(placeholder); } return null; } @@ -556,7 +557,7 @@ public class ItemUtils { return itemNames; } - + public static ItemStack getGregtechCircuit(int Meta){ return ItemUtils.getItemStackWithMeta(LoadedMods.Gregtech, "gregtech:gt.integrated_circuit", "Gregtech Circuit", Meta, 0); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java index b6b66f17b4..408a3723e0 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_AlloyBlastSmelter.java @@ -1,6 +1,5 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi; -import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; import gregtech.api.gui.GT_GUIContainer_MultiMachine; import gregtech.api.interfaces.ITexture; @@ -11,6 +10,7 @@ import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gregtech.api.util.Recipe_GT; +import gtPlusPlus.core.block.ModBlocks; import java.util.ArrayList; import java.util.Arrays; @@ -43,13 +43,13 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter "Controller Block for the Alloy Blast Smelter", //Outputs 144mb fluid for every inputStack.stackSize; Time to use those hot metals. "Size: 3x3x4 (Hollow)", "Controller (front middle at bottom)", - "16x Heating Coils (two middle Layers, hollow)", + "16x Blast Smelter Heat Containment Coils (two middle Layers, hollow)", "1x Input bus (one of bottom)", "1x Output Hatch (one of bottom)", "1x Energy Hatch (one of bottom)", "1x Maintenance Hatch (one of bottom)", "1x Muffler Hatch (top middle)", - "Heat Proof Machine Casings for the rest"}; + "Blast Smelter Casings for the rest"}; } @Override @@ -146,48 +146,38 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX; int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ; - this.mHeatingCapacity = 0; + //this.mHeatingCapacity = 0; if (!aBaseMetaTileEntity.getAirOffset(xDir, 1, zDir)) { return false; } if (!aBaseMetaTileEntity.getAirOffset(xDir, 2, zDir)) { return false; } - addMufflerToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir, 3, zDir), 11); + addMufflerToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir, 3, zDir), 72); byte tUsedMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + 1, 2, zDir); - switch (tUsedMeta) { - case 12: - this.mHeatingCapacity = 1800; - break; - case 13: - this.mHeatingCapacity = 2700; - break; - case 14: - this.mHeatingCapacity = 3600; - break; - default: - return false; - } + + this.mHeatingCapacity = 20000; + for (int i = -1; i < 2; i++) { for (int j = -1; j < 2; j++) { if ((i != 0) || (j != 0)) { - if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j) != GregTech_API.sBlockCasings1) { + if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j) != ModBlocks.blockCasingsMisc) { return false; } - if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j) != tUsedMeta) { + if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j) != 14) { return false; } - if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != GregTech_API.sBlockCasings1) { + if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != ModBlocks.blockCasingsMisc) { return false; } - if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != tUsedMeta) { + if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != 14) { return false; } - if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j) != GregTech_API.sBlockCasings1) { + if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j) != ModBlocks.blockCasingsMisc) { return false; } - if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j) != 11) { + if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j) != 15) { return false; } } @@ -197,11 +187,11 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter for (int j = -1; j < 2; j++) { if ((xDir + i != 0) || (zDir + j != 0)) { IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 0, zDir + j); - if ((!addMaintenanceToMachineList(tTileEntity, 11)) && (!addInputToMachineList(tTileEntity, 11)) && (!addOutputToMachineList(tTileEntity, 11)) && (!addEnergyInputToMachineList(tTileEntity, 11))) { - if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j) != GregTech_API.sBlockCasings1) { + if ((!addMaintenanceToMachineList(tTileEntity, 72)) && (!addInputToMachineList(tTileEntity, 72)) && (!addOutputToMachineList(tTileEntity, 72)) && (!addEnergyInputToMachineList(tTileEntity, 72))) { + if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j) != ModBlocks.blockCasingsMisc) { return false; } - if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j) != 11) { + if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j) != 15) { return false; } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java index 7c986ad9bb..bca7861d58 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.loaders; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.SubTag; @@ -21,9 +23,9 @@ public class RecipeGen_BlastSmelter { if (M.equals(Materials.Iridium) || M.equals(Materials.Osmium) || M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) - || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) - || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) - || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) + || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) + || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) + || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) || !M.equals(Materials.Osmiridium) ){ @@ -192,6 +194,20 @@ public class RecipeGen_BlastSmelter { } + int mMaterialListSize=0; + if (M.getComposites() != null){ + for (gtPlusPlus.core.material.MaterialStack ternkfsdf : M.getComposites()){ + if (ternkfsdf != null) + mMaterialListSize++; + } + } + else { + mMaterialListSize = 1; + } + + Utils.LOG_WARNING("Size: "+mMaterialListSize); + + //Make a simple one Material Materialstack[] and log it for validity. circuitGT = ItemUtils.getGregtechCircuit(1); ItemStack[] tItemStackTest = new ItemStack[]{circuitGT, tStack}; @@ -204,18 +220,26 @@ public class RecipeGen_BlastSmelter { } //Generate Recipes for all singular materials that can be made molten. - if (M.requiresBlastFurnace()) { - - if (M.getFluid(10) == null){ - Utils.LOG_WARNING("Material Fluid was Null. Why you lie gaem."); - } - else { - Utils.LOG_WARNING("Material Fluid: "+M.getFluid(10).getFluid().getName()); - - } - - if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluid(fluidAmount), 100, duration, 240)){ - Utils.LOG_WARNING("Success."); + if (mMaterialListSize >= 1){ + if (M.requiresBlastFurnace()) { + if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluid(fluidAmount), 100, duration, 240)){ + Utils.LOG_WARNING("Success."); + if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ingot.get(0), M.getFluid(144), M.getIngot(1), duration, 120)){ + Utils.LOG_INFO("Success, Also added a Fluid solidifier recipe."); + if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluid(144), 100, duration, 120)){ + Utils.LOG_INFO("Success, Also added a Fluid Extractor recipe."); + } + if (GT_Values.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDictNoBroken("nugget"+M.getLocalizedName(), 1), null, M.getFluid(16), 100, duration/9, 120)){ + Utils.LOG_INFO("Success, Also added a Fluid Extractor recipe."); + } + if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, duration/4, 120)){ + Utils.LOG_INFO("Success, Also added a Fluid Extractor recipe."); + } + if (GT_Values.RA.addFluidExtractionRecipe(M.getTinyDust(1), null, M.getFluid(16), 100, duration/9, 120)){ + Utils.LOG_INFO("Success, Also added a Fluid Extractor recipe."); + } + } + } } else { Utils.LOG_WARNING("Failed."); @@ -224,11 +248,29 @@ public class RecipeGen_BlastSmelter { else { if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluid(fluidAmount), 100, duration/2, 120)){ Utils.LOG_WARNING("Success."); + if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ingot.get(0), M.getFluid(144), M.getIngot(1), duration/2, 60)){ + Utils.LOG_INFO("Success, Also added a Fluid solidifier recipe."); + if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluid(144), 100, duration/2, 60)){ + Utils.LOG_INFO("Success, Also added a Fluid Extractor recipe."); + } + ItemStack tempitem = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("nugget"+M.getLocalizedName(), 1); + if (tempitem != null){ + if (GT_Values.RA.addFluidExtractionRecipe(tempitem, null, M.getFluid(16), 100, duration/2/9, 60)){ + Utils.LOG_INFO("Success, Also added a Fluid Extractor recipe."); + } + } + if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, duration/2/4, 60)){ + Utils.LOG_INFO("Success, Also added a Fluid Extractor recipe."); + } + if (GT_Values.RA.addFluidExtractionRecipe(M.getTinyDust(1), null, M.getFluid(16), 100, duration/2/9, 60)){ + Utils.LOG_INFO("Success, Also added a Fluid Extractor recipe."); + } + } } else { Utils.LOG_WARNING("Failed."); } - } + } if (tMaterial != null){ //Reset the Variables for compounds if last recipe was a success. @@ -236,11 +278,7 @@ public class RecipeGen_BlastSmelter { counter=0; - int mMaterialListSize=0; - for (gtPlusPlus.core.material.MaterialStack ternkfsdf:M.getComposites()){ - mMaterialListSize++; - } - Utils.LOG_WARNING("Size: "+mMaterialListSize); + //If this Material has some kind of compound list, proceed if (mMaterialListSize > 1){ gtPlusPlus.core.material.MaterialStack[] tempStack = new gtPlusPlus.core.material.MaterialStack[mMaterialListSize]; @@ -254,12 +292,9 @@ public class RecipeGen_BlastSmelter { if (xMaterial != null){ if (xMaterial.getStackMaterial() != null){ Utils.LOG_WARNING("FOUND: "+xMaterial.getStackMaterial().getLocalizedName()); - Utils.LOG_WARNING("ADDING: "+xMaterial.getStackMaterial().getLocalizedName()); - - } - - tempStack[ooo] = xMaterial; - + Utils.LOG_WARNING("ADDING: "+xMaterial.getStackMaterial().getLocalizedName()); + } + tempStack[ooo] = xMaterial; } ooo++; } @@ -274,9 +309,10 @@ public class RecipeGen_BlastSmelter { components[irc] = M.getComposites()[irc].getDustStack(r); } } - + + //Adds a circuit - if (mMaterialListSize > 0 && mMaterialListSize < 9){ + if (mMaterialListSize < 9 && mMaterialListSize != 0){ ItemStack[] components_NoCircuit = components; //Builds me an ItemStack[] of the materials. - With a circuit components = new ItemStack[components_NoCircuit.length+1]; @@ -288,18 +324,23 @@ public class RecipeGen_BlastSmelter { components[fr] = components_NoCircuit[fr-1]; } } + Utils.LOG_INFO("Should have added a circuit. mMaterialListSize: "+mMaterialListSize+" | circuit: "+components[0].getDisplayName()); + } + else { + Utils.LOG_INFO("Did not add a circuit. mMaterialListSize: "+mMaterialListSize); } //Set Fluid output fluidAmount = 144*inputStackCount; - Utils.LOG_INFO("Adding an Alloy Blast Smelter Recipe for "+M.getLocalizedName()+" using it's compound dusts. This material has "+ inputStackCount+" parts. Gives "+fluidAmount+"L of molten metal."); Utils.LOG_INFO("tMaterial.length: "+components.length+"."); for (int das=0;das