diff options
Diffstat (limited to 'src/Java/gtPlusPlus')
10 files changed, 254 insertions, 61 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index 1471bf736d..4e26ce186e 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -36,6 +36,7 @@ import gtPlusPlus.core.handler.analytics.SegmentAnalytics; import gtPlusPlus.core.handler.analytics.SegmentHelper; import gtPlusPlus.core.handler.events.BlockEventHandler; import gtPlusPlus.core.handler.events.LoginEventHandler; +import gtPlusPlus.core.handler.events.MissingMappingsEvent; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.nuclear.FLUORIDES; @@ -115,6 +116,7 @@ public class GTplusplus implements ActionListener { // FirstCall(); Utils.registerEvent(new LoginEventHandler()); + Utils.registerEvent(new MissingMappingsEvent()); Logger.INFO("Login Handler Initialized"); diff --git a/src/Java/gtPlusPlus/core/handler/events/MissingMappingsEvent.java b/src/Java/gtPlusPlus/core/handler/events/MissingMappingsEvent.java new file mode 100644 index 0000000000..31600a36c3 --- /dev/null +++ b/src/Java/gtPlusPlus/core/handler/events/MissingMappingsEvent.java @@ -0,0 +1,56 @@ +package gtPlusPlus.core.handler.events; + +import static gtPlusPlus.core.item.base.dusts.BaseItemDustEx.mCachedPileLinkages; + +import org.apache.commons.lang3.StringUtils; + +import cpw.mods.fml.common.Mod.EventHandler; +import cpw.mods.fml.common.event.FMLMissingMappingsEvent; +import cpw.mods.fml.common.event.FMLMissingMappingsEvent.MissingMapping; + +import net.minecraft.item.ItemStack; + +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.lib.CORE; + +public class MissingMappingsEvent { + + @EventHandler + public void onMissingMapping(FMLMissingMappingsEvent event){ + for(MissingMapping mapping : event.get()) { + boolean bool1 = mapping.name.contains(CORE.MODID); + //Missing Blocks + if(mapping.type == cpw.mods.fml.common.registry.GameRegistry.Type.BLOCK && bool1) { + + //Example + //if(mapping.name.equals("PneumaticCraft:etchingAcid")) { + // mapping.remap(Fluids.etchingAcid.getBlock()); + //} + + + } + + //Missing Items + if(mapping.type == cpw.mods.fml.common.registry.GameRegistry.Type.ITEM && bool1) { + + //Example + //if(mapping.name.equals("PneumaticCraft:etchingAcidBucket")) { + // mapping.remap(Fluids.getBucket(Fluids.etchingAcid)); + //} + + if(mapping.name.contains("miscutils:itemDustTiny")) { + ItemStack stack = null; + String missingItemString = StringUtils.remove(mapping.name, "miscutils:itemDustTiny"); + missingItemString = StringUtils.prependIfMissing(missingItemString, "item.itemDust"); + if (mCachedPileLinkages.containsKey(missingItemString)) { + //stack = ItemUtils.getSimpleStack(Item.itemRegistry.) + Logger.REFLECTION("Mapping Event Found Missing Item in the Pile Linkage Cache."); + } + + //mapping.remap(stack.getItem()); + } + + } + } + } +} diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index 0f7c28d98d..e90fff3b89 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -380,7 +380,7 @@ public final class ModItems { //MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().RADON, false); MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().FRANCIUM, false); MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().RADIUM, false); - //MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().PROMETHIUM, false); + MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().PROMETHIUM, false); MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().ACTINIUM, false); MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().PROTACTINIUM, false); MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().NEPTUNIUM, false); //LFTR byproduct @@ -449,9 +449,9 @@ public final class ModItems { MaterialGenerator.generateNuclearMaterial(FLUORIDES.SELENIUM_HEXAFLUORIDE); //Generate Reactor Fuel Salts - MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ZrF4U235); - MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ZrF4UF4); - MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ThF4UF4); + MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ZrF4U235, false); + MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ZrF4UF4, false); + MaterialGenerator.generateNuclearMaterial(NUCLIDE.LiFBeF2ThF4UF4, false); //Generate some Alloys diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java index 4a1bafb251..558a0605fe 100644 --- a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java +++ b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java @@ -54,6 +54,7 @@ public class BaseItemComponent extends Item{ //this.setTextureName(this.getCorrectTextures()); this.componentColour = material.getRgbAsHex(); GameRegistry.registerItem(this, this.unlocalName); + if (componentType != ComponentTypes.DUST) GT_OreDictUnificator.registerOre(componentType.getOreDictName()+material.getUnlocalizedName(), ItemUtils.getSimpleStack(this)); if (LoadedMods.Thaumcraft) { ThaumcraftUtils.addAspectToItem(ItemUtils.getSimpleStack(this), GTPP_Aspects.METALLUM, 1); @@ -224,6 +225,8 @@ public class BaseItemComponent extends Item{ public static enum ComponentTypes { DUST("Dust", " Dust", "dust"), + DUSTSMALL("DustSmall", " Dust", "dustSmall"), + DUSTTINY("DustTiny", " Dust", "dustTiny"), INGOT("Ingot", " Ingot", "ingot"), HOTINGOT("HotIngot", " Hot Ingot", "ingotHot"), PLATE("Plate", " Plate", "plate"), diff --git a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java index 59d97c306d..10f5e0165e 100644 --- a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java +++ b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java @@ -17,6 +17,7 @@ import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.util.math.MathUtils; @@ -38,7 +39,6 @@ public class BaseItemDust extends Item{ public BaseItemDust(String unlocalizedName, String materialName, Material matInfo, int colour, String pileSize, int tier, int sRadioactivity, boolean addRecipes) { this.setUnlocalizedName(unlocalizedName); - this.setUnlocalizedName(unlocalizedName); this.setMaxStackSize(64); this.setTextureName(this.getCorrectTexture(pileSize)); @@ -238,7 +238,7 @@ public class BaseItemDust extends Item{ Logger.WARNING("Adding recipe for Hot "+this.materialName+" Ingots in a Blast furnace."); final String tempIngot = temp.replace("ingot", "ingotHot"); final ItemStack tempOutputStack = ItemUtils.getItemStackOfAmountFromOreDict(tempIngot, 1); - if (null != tempOutputStack){ + if (null != tempOutputStack && tempOutputStack != ItemUtils.getSimpleStack(ModItems.AAA_Broken)){ Logger.WARNING("This will produce "+tempOutputStack.getDisplayName() + " Debug: "+tempIngot); this.addBlastFurnaceRecipe(ItemUtils.getSimpleStack(this), null, tempOutputStack, null, 350*this.mTier); } @@ -247,7 +247,7 @@ public class BaseItemDust extends Item{ Logger.WARNING("Adding recipe for "+this.materialName+" Ingots in a furnace."); final ItemStack tempOutputStack = ItemUtils.getItemStackOfAmountFromOreDict(temp, 1); //Utils.LOG_WARNING("This will produce an ingot of "+tempOutputStack.getDisplayName() + " Debug: "+temp); - if (null != tempOutputStack){ + if (null != tempOutputStack && tempOutputStack != ItemUtils.getSimpleStack(ModItems.AAA_Broken)){ if ((this.mTier < 5) || !this.dustInfo.requiresBlastFurnace()){ if (CORE.GT_Recipe.addSmeltingAndAlloySmeltingRecipe(ItemUtils.getSimpleStack(this), tempOutputStack)){ Logger.WARNING("Successfully added a furnace recipe for "+this.materialName); @@ -259,7 +259,7 @@ public class BaseItemDust extends Item{ else if ((this.mTier >= 5) || this.dustInfo.requiresBlastFurnace()){ Logger.WARNING("Adding recipe for "+this.materialName+" Ingots in a Blast furnace."); Logger.WARNING("This will produce "+tempOutputStack.getDisplayName()); - if (null != tempOutputStack){ + if (null != tempOutputStack && tempOutputStack != ItemUtils.getSimpleStack(ModItems.AAA_Broken)){ this.addBlastFurnaceRecipe(ItemUtils.getSimpleStack(this), null, tempOutputStack, null, 350*this.mTier); } return; diff --git a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustEx.java b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustEx.java new file mode 100644 index 0000000000..0757177e58 --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustEx.java @@ -0,0 +1,126 @@ +package gtPlusPlus.core.item.base.dusts; + +import java.util.*; + +import org.apache.commons.lang3.StringUtils; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import gregtech.api.enums.TextureSet; +import gregtech.api.util.GT_OreDictUnificator; + +import gtPlusPlus.api.objects.data.Pair; +import gtPlusPlus.core.item.base.BaseItemComponent; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.material.Material; +import gtPlusPlus.core.util.minecraft.ItemUtils; + +public class BaseItemDustEx extends BaseItemComponent{ + + public static Map<String, String> mCachedPileLinkages = new HashMap<String, String>(); + + protected IIcon[] baseAr = new IIcon[3]; + protected IIcon[] overlayAr = new IIcon[3]; + public final static ComponentTypes[] componentTypeAr = new ComponentTypes[] {ComponentTypes.DUST, ComponentTypes.DUSTSMALL, ComponentTypes.DUSTTINY}; + + public BaseItemDustEx(final Material material) { + super(material, componentTypeAr[0]); + //OreDict this beauty + GT_OreDictUnificator.registerOre(componentTypeAr[0].getOreDictName()+material.getUnlocalizedName(), ItemUtils.simpleMetaStack(this, 0, 1)); + GT_OreDictUnificator.registerOre(componentTypeAr[1].getOreDictName()+material.getUnlocalizedName(), ItemUtils.simpleMetaStack(this, 0, 1)); + GT_OreDictUnificator.registerOre(componentTypeAr[2].getOreDictName()+material.getUnlocalizedName(), ItemUtils.simpleMetaStack(this, 0, 1)); + bakeRegistry(); + } + + private void bakeRegistry() { + String unlocalName = getUnlocalizedName(); + if (unlocalName.contains("item.")) { + unlocalName = StringUtils.remove(unlocalName, "item."); + } + if (unlocalName.contains("itemDust")) { + unlocalName = StringUtils.remove(unlocalName, "itemDust"); + } + mCachedPileLinkages.put(this.getUnlocalizedName(), "itemDust"+unlocalName); + mCachedPileLinkages.put(this.getUnlocalizedName(), "itemDustSmall"+unlocalName); + mCachedPileLinkages.put(this.getUnlocalizedName(), "itemDustTiny"+unlocalName); + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < 3; i ++) { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + public IIcon getIconFromDamageForRenderPass(int meta, int pass) { + if (CORE.ConfigSwitches.useGregtechTextures) { + if (meta == 0) { + if (pass == 0) { + return this.baseAr[0]; + } + else { + return this.overlayAr[0]; + } + } + else if (meta == 1) { + if (pass == 0) { + return this.baseAr[1]; + } + else { + return this.overlayAr[1]; + } + } + else { + if (pass == 0) { + return this.baseAr[2]; + } + else { + return this.overlayAr[2]; + } + } + } + else { + return this.baseAr[meta]; + } + } + + @Override + public void registerIcons(final IIconRegister i) { + if (CORE.ConfigSwitches.useGregtechTextures){ + this.baseAr[0] = i.registerIcon(getCorrectTextures()); + this.overlayAr[0] = i.registerIcon(getCorrectTextures() + "_OVERLAY"); + this.baseAr[1] = i.registerIcon(getCorrectTextures()+"Small"); + this.overlayAr[1] = i.registerIcon(getCorrectTextures() + "Small_OVERLAY"); + this.baseAr[2] = i.registerIcon(getCorrectTextures()+"Tiny"); + this.overlayAr[2] = i.registerIcon(getCorrectTextures() + "Tiny_OVERLAY"); + } + else { + this.baseAr[0] = i.registerIcon(getCorrectTextures()); + this.baseAr[1] = i.registerIcon(getCorrectTextures()+"Small"); + this.baseAr[2] = i.registerIcon(getCorrectTextures()+"Tiny"); + } + } + + @Override + public String getCorrectTextures(){ + if (!CORE.ConfigSwitches.useGregtechTextures){ + return CORE.MODID + ":" + "item"+this.componentType.getComponent(); + } + String metType = "9j4852jyo3rjmh3owlhw9oe"; + if (this.componentMaterial != null) { + TextureSet u = this.componentMaterial.getTextureSet(); + if (u != null) { + metType = u.mSetName; + } + } + metType = (metType.equals("9j4852jyo3rjmh3owlhw9oe") ? "METALLIC" : metType); + return "gregtech" + ":" + "materialicons/"+metType+"/" + this.componentType.getOreDictName(); + } + + +} diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java index 01690fa233..a596b9bdf1 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java @@ -9,6 +9,7 @@ import gtPlusPlus.core.block.base.BlockBaseModular; import gtPlusPlus.core.block.base.BlockBaseOre; import gtPlusPlus.core.item.base.bolts.BaseItemBolt; import gtPlusPlus.core.item.base.dusts.BaseItemDust; +import gtPlusPlus.core.item.base.dusts.BaseItemDustEx; import gtPlusPlus.core.item.base.gears.BaseItemGear; import gtPlusPlus.core.item.base.ingots.BaseItemIngot; import gtPlusPlus.core.item.base.ingots.BaseItemIngotHot; @@ -100,7 +101,7 @@ public class MaterialGenerator { Item temp; Block tempBlock; tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); - + temp = new BaseItemIngot(matInfo); temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", materialTier, sRadiation); temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", materialTier, sRadiation); @@ -129,7 +130,7 @@ public class MaterialGenerator { return true; } else if (matInfo.getState() == MaterialState.ORE){ - + } //Add A jillion Recipes - old code @@ -146,9 +147,9 @@ public class MaterialGenerator { RecipeGen_MaterialProcessing.generateRecipes(matInfo); new RecipeGen_Recycling(matInfo); return true; - - } catch (final Throwable t) - + + } catch (final Throwable t) + { Logger.WARNING(""+matInfo.getLocalizedName()+" failed to generate."); return false; @@ -206,22 +207,28 @@ public class MaterialGenerator { Block tempBlock; tempBlock = new BlockBaseModular(unlocalizedName, materialName,BlockTypes.STANDARD, Colour); - temp = new BaseItemIngot(matInfo); - temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", 3, sRadiation); + //temp = new BaseItemDust("itemDust"+unlocalizedName, materialName, matInfo, Colour, "Dust", 3, sRadiation); temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", 2, sRadiation); temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", 1, sRadiation); + + temp = new BaseItemDustEx(matInfo); + temp = new BaseItemIngot(matInfo); temp = new BaseItemNugget(matInfo); - temp = new BaseItemPlate(matInfo); - temp = new BaseItemPlateDouble(matInfo); + + if (generatePlates) { + temp = new BaseItemPlate(matInfo); + temp = new BaseItemPlateDouble(matInfo); + RecipeGen_Plates.generateRecipes(matInfo); + RecipeGen_Extruder.generateRecipes(matInfo); + RecipeGen_Assembler.generateRecipes(matInfo); + } - RecipeGen_Plates.generateRecipes(matInfo); - RecipeGen_Extruder.generateRecipes(matInfo); RecipeGen_ShapedCrafting.generateRecipes(matInfo); RecipeGen_Fluids.generateRecipes(matInfo); - RecipeGen_Assembler.generateRecipes(matInfo); - RecipeGen_DustGeneration.generateRecipes(matInfo, true); RecipeGen_MaterialProcessing.generateRecipes(matInfo); - new RecipeGen_Recycling(matInfo); + RecipeGen_DustGeneration.generateRecipes(matInfo, true); + new RecipeGen_Recycling(matInfo); + } catch (final Throwable t){ Logger.WARNING(""+matInfo.getLocalizedName()+" failed to generate."); } @@ -231,27 +238,27 @@ public class MaterialGenerator { public static void generateOreMaterial(final Material matInfo){ generateOreMaterial(matInfo, true, true, true, matInfo.getRGBA()); } - + @SuppressWarnings("unused") public static void generateOreMaterial(final Material matInfo, boolean generateOre, boolean generateDust, boolean generateSmallTinyDusts, short[] customRGB){ try { - + if (matInfo == null){ Logger.DEBUG_MATERIALS("Invalid Material while constructing null material."); return; } - + final String unlocalizedName = matInfo.getUnlocalizedName(); final String materialName = matInfo.getLocalizedName(); final short[] C = customRGB; final Integer Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]); - + if (Colour == null){ Logger.DEBUG_MATERIALS("Invalid Material while constructing "+materialName+"."); return; } - + int sRadiation = 0; if (matInfo.vRadiationLevel > 0){ sRadiation = matInfo.vRadiationLevel; @@ -259,10 +266,10 @@ public class MaterialGenerator { Item temp; Block tempBlock; - - + + if (generateOre) { - tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE, Colour.intValue()); + tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE, Colour.intValue()); } if (generateDust) { @@ -272,7 +279,7 @@ public class MaterialGenerator { temp = new BaseItemDust("itemDustTiny"+unlocalizedName, materialName, matInfo, Colour, "Tiny", matInfo.vTier, sRadiation, false); temp = new BaseItemDust("itemDustSmall"+unlocalizedName, materialName, matInfo, Colour, "Small", matInfo.vTier, sRadiation, false); } - + temp = new BaseItemCrushedOre(matInfo); temp = new BaseItemCentrifugedCrushedOre(matInfo); temp = new BaseItemPurifiedCrushedOre(matInfo); @@ -280,7 +287,7 @@ public class MaterialGenerator { temp = new BaseItemPurifiedDust(matInfo); RecipeGen_Ore.generateRecipes(matInfo); - + } catch (final Throwable t){ Logger.MATERIALS("[Error] "+(matInfo != null ? matInfo.getLocalizedName() : "Null Material")+" failed to generate."); t.printStackTrace(); diff --git a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java index 0c81a39959..45d35d1022 100644 --- a/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java +++ b/src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java @@ -17,7 +17,7 @@ public final class NUCLIDE { 870, //Boiling Point in C 150, //Protons 150, //Neutrons - false, //Uses Blast furnace? + true, //Uses Blast furnace? StringUtils.subscript(StringUtils.superscript("7")+"LiFBeF2ThF4UF4"), //Chemical Formula 5, //Radioactivity Level //Material Stacks with Percentage of required elements. @@ -36,7 +36,7 @@ public final class NUCLIDE { 940, //Boiling Point in C 150, //Protons 150, //Neutrons - false, //Uses Blast furnace? + true, //Uses Blast furnace? StringUtils.subscript(StringUtils.superscript("7")+"LiFBeF2ZrF4UF4"), //Chemical Formula 5, //Radioactivity Level //Material Stacks with Percentage of required elements. @@ -55,7 +55,7 @@ public final class NUCLIDE { 890, //Boiling Point in C 150, //Protons 150, //Neutrons - false, //Uses Blast furnace? + true, //Uses Blast furnace? StringUtils.subscript(StringUtils.superscript("7")+"LiFBeF2ZrF4")+StringUtils.superscript("235U"), //Chemical Formula 5, //Radioactivity Level //Material Stacks with Percentage of required elements. diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index 0a8f7b041b..73c70fa1e7 100644 --- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -1128,6 +1128,15 @@ public class RECIPES_GREGTECH { //FLiBe fuel GT_Values.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLi2BeF4", 1), null, FluidUtils.getFluidStack("molten.li2bef4", 144), 10000, 100, 500); + //LFTR Fuel 1 + GT_Values.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLiBeF2ZrF4U235", 1), null, + FluidUtils.getFluidStack("molten.libef2zrf4u235", 144), 10000, 250, 1000); + //LFTR Fuel 2 + GT_Values.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLiBeF2ZrF4UF4", 1), null, + FluidUtils.getFluidStack("molten.libef2zrf4uf4", 144), 10000, 150, 2000); + //LFTR Fuel 2 + GT_Values.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLiBeF2ThF4UF4", 1), null, + FluidUtils.getFluidStack("molten.libef2thf4uf4", 144), 10000, 200, 1500); } private static void chemicalBathRecipes() { @@ -1144,7 +1153,7 @@ public class RECIPES_GREGTECH { GT_Values.RA.addChemicalBathRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 10), FluidUtils.getFluidStack("hydrofluoricacid", 10 * 144), - ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 5), null, null, new int[] {}, 90 * 20, + ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumFluoride", 10), null, null, new int[] {}, 90 * 20, 500); } @@ -1165,26 +1174,11 @@ public class RECIPES_GREGTECH { ItemUtils.getItemStackOfAmountFromOreDict("dustUranium235", 1), null, null, FluidUtils.getFluidStack("hydrofluoricacid", 144 * 5), FluidUtils.getFluidStack("molten.uraniumtetrafluoride", 144 * 5), null, 3000, 500); - // GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", - // 1), ItemUtils.getItemStackOfAmountFromOreDict("cellFluorine", 1), - // null, null, FluidUtils.getFluidStack("molten.uraniumtetrafluoride", - // 720), FluidUtils.getFluidStack("molten.uraniumhexafluoride", 288), - // null, 5000, 2000); - // GT_Values.RA.addMixerRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustSteel", - // 20), ItemUtils.getItemStackOfAmountFromOreDict("dustSilicon", 1), - // ItemUtils.getItemStackOfAmountFromOreDict("dustNickel", 5), - // ItemUtils.getItemStackOfAmountFromOreDict("dustAluminium", 4), null, - // null, ItemUtils.getItemStackOfAmountFromOreDict("dustEglinSteel", - // 30), 1200, 60); } private static void chemicalReactorRecipes() { GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumCarbonate", 5), // Input - // Stack - // 1 ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumHydroxide", 5), // Input - // Stack - // 2 null, // Fluid Input null, // Fluid Output ItemUtils.getItemStackOfAmountFromOreDict("dustLi2CO3CaOH2", 10), // Output @@ -1192,8 +1186,6 @@ public class RECIPES_GREGTECH { 600 * 20); GT_Values.RA.addChemicalRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 5), // Input - // Stack - // 1 null, // Input Stack 2 FluidUtils.getFluidStack("hydrofluoricacid", 5 * 144), // Fluid // Input @@ -1217,7 +1209,6 @@ public class RECIPES_GREGTECH { ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 1), 300 * 20); // LFTR Fuel Related Compounds - if (CORE.GTNH) { // Hydroxide AddGregtechRecipe.addChemicalRecipeForBasicMachineOnly( @@ -1272,7 +1263,7 @@ public class RECIPES_GREGTECH { //Refine GT HF into GT++ HF GT_Values.RA.addChemicalRecipe( ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2), - ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid_gt5u", 5), + ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid_GT5U", 5), null, // Fluid Input FluidUtils.getFluidStack("hydrofluoricacid", 6000), // Fluid Output ItemUtils.getItemStackOfAmountFromOreDict("cellEmpty", 7), diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java index 3b5db4aab5..ec015b2690 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java @@ -28,6 +28,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ if (!CORE.GTNH) { //Nuggets + if (material.getNugget(1) != null) GT_ModHandler.addShapelessCraftingRecipe( material.getIngot(1), new Object[]{ @@ -46,6 +47,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ //Plates //Single Plate Shaped/Shapeless + if (material.getPlate(1) != null) GT_ModHandler.addCraftingRecipe( material.getPlate(1), gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, @@ -55,6 +57,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ Character.valueOf('B'), material.getIngot(1)}); + if (material.getPlate(1) != null) GT_ModHandler.addShapelessCraftingRecipe( material.getPlate(1), new Object[]{gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, @@ -62,6 +65,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ material.getIngot(1)}); //Double Plate Shaped/Shapeless + if (material.getPlateDouble(1) != null) GT_ModHandler.addCraftingRecipe( material.getPlateDouble(1), gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS | gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED, @@ -71,6 +75,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ Character.valueOf('B'), material.getPlate(1)}); + if (material.getPlateDouble(1) != null) GT_ModHandler.addShapelessCraftingRecipe( material.getPlateDouble(1), new Object[]{gregtech.api.enums.ToolDictNames.craftingToolForgeHammer, @@ -78,7 +83,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ material.getPlate(1)}); //Ring Recipe - if (!material.isRadioactive){ + if (!material.isRadioactive && material.getRing(1) != null){ if (LoadedMods.DreamCraft){ if (RecipeUtils.recipeBuilder( "craftingToolHardHammer", null, null, @@ -107,7 +112,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ //Framebox Recipe - if (!material.isRadioactive){ + if (!material.isRadioactive && material.getFrameBox(1) != null){ final ItemStack stackStick = material.getRod(1); if (RecipeUtils.recipeBuilder( stackStick, stackStick, stackStick, @@ -152,7 +157,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ //Shaped Recipe - Bolts - if (!material.isRadioactive){ + if (!material.isRadioactive && material.getBolt(1) != null){ if (RecipeUtils.recipeBuilder( "craftingToolSaw", null, null, null, material.getRod(1), null, @@ -167,6 +172,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ //Shaped Recipe - Ingot to Rod + if (material.getRod(1) != null) if (RecipeUtils.recipeBuilder( "craftingToolFile", null, null, null, material.getIngot(1), null, @@ -180,6 +186,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ //Shaped Recipe - Long Rod to two smalls + if (material.getRod(1) != null) if (RecipeUtils.recipeBuilder( "craftingToolSaw", null, null, material.getLongRod(1), null, null, @@ -192,6 +199,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ } //Two small to long rod + if (material.getLongRod(1) != null) if (RecipeUtils.recipeBuilder( material.getRod(1), "craftingToolHardHammer", material.getRod(1), null, null, null, @@ -204,7 +212,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ } //Rotor Recipe - if (!material.isRadioactive){ + if (!material.isRadioactive && material.getRotor(1) != null){ if (RecipeUtils.recipeBuilder( material.getPlate(1), "craftingToolHardHammer", material.getPlate(1), material.getScrew(1), material.getRing(1), "craftingToolFile", @@ -218,7 +226,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ } //Gear Recipe - if (!material.isRadioactive){ + if (!material.isRadioactive && material.getGear(1) != null){ if (RecipeUtils.recipeBuilder( material.getRod(1), material.getPlate(1), material.getRod(1), material.getPlate(1), "craftingToolWrench", material.getPlate(1), @@ -232,7 +240,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ } //Screws - if (!material.isRadioactive){ + if (!material.isRadioactive && material.getScrew(1) != null){ if (RecipeUtils.recipeBuilder( "craftingToolFile", material.getBolt(1), null, material.getBolt(1), null, null, |