aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java2
-rw-r--r--src/Java/gtPlusPlus/core/handler/events/MissingMappingsEvent.java56
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java3
-rw-r--r--src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java8
-rw-r--r--src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDustEx.java126
-rw-r--r--src/Java/gtPlusPlus/core/material/MaterialGenerator.java55
-rw-r--r--src/Java/gtPlusPlus/core/material/nuclear/NUCLIDE.java6
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java31
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java20
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,