aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus
diff options
context:
space:
mode:
authorJohann Bernhardt <johann.bernhardt@tum.de>2021-12-13 23:39:55 +0100
committerJohann Bernhardt <johann.bernhardt@tum.de>2021-12-13 23:39:55 +0100
commita2a9ad400f23726885020f1a77627f9561487948 (patch)
tree9116c76f46d49d951ac63442af335a0bd6016052 /src/main/java/gtPlusPlus
parent20b5d2932ef44e1c96104d6ec0528012f5c83d21 (diff)
parent868ddab78797403d58dbc84d357f792926e94f42 (diff)
downloadGT5-Unofficial-a2a9ad400f23726885020f1a77627f9561487948.tar.gz
GT5-Unofficial-a2a9ad400f23726885020f1a77627f9561487948.tar.bz2
GT5-Unofficial-a2a9ad400f23726885020f1a77627f9561487948.zip
Merge tag '1.7.20' into unified-build-script2
# Conflicts: # build.properties # src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java
Diffstat (limited to 'src/main/java/gtPlusPlus')
-rw-r--r--src/main/java/gtPlusPlus/GTplusplus.java14
-rw-r--r--src/main/java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java16
-rw-r--r--src/main/java/gtPlusPlus/core/item/ModItems.java7
-rw-r--r--src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java8
-rw-r--r--src/main/java/gtPlusPlus/core/material/MISC_MATERIALS.java4
-rw-r--r--src/main/java/gtPlusPlus/core/material/MaterialGenerator.java57
-rw-r--r--src/main/java/gtPlusPlus/core/material/nuclear/FLUORIDES.java2
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java114
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java49
-rw-r--r--src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java77
-rw-r--r--src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java30
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java131
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java34
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluorite.java224
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java68
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java29
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java39
17 files changed, 602 insertions, 301 deletions
diff --git a/src/main/java/gtPlusPlus/GTplusplus.java b/src/main/java/gtPlusPlus/GTplusplus.java
index a70ce24e45..9787a38504 100644
--- a/src/main/java/gtPlusPlus/GTplusplus.java
+++ b/src/main/java/gtPlusPlus/GTplusplus.java
@@ -512,7 +512,7 @@ public class GTplusplus implements ActionListener {
sMissingItemMappings.put("miscutils:Krypton", GameRegistry.findItem(CORE.MODID, "itemCellKrypton"));
sMissingItemMappings.put("miscutils:itemCellZirconiumTetrafluoride", GameRegistry.findItem(CORE.MODID, "ZirconiumTetrafluoride"));
sMissingItemMappings.put("miscutils:Li2BeF4", GameRegistry.findItem(CORE.MODID, "itemCellLithiumTetrafluoroberyllate"));
-
+
// Cryolite
sMissingBlockMappings.put("miscutils:oreCryolite", GameRegistry.findBlock(CORE.MODID, "oreCryoliteF"));
sMissingItemMappings.put("miscutils:itemDustTinyCryolite", GameRegistry.findItem(CORE.MODID, "itemDustTinyCryoliteF"));
@@ -524,6 +524,18 @@ public class GTplusplus implements ActionListener {
sMissingItemMappings.put("miscutils:crushedPurifiedCryolite", GameRegistry.findItem(CORE.MODID, "crushedPurifiedCryoliteF"));
sMissingItemMappings.put("miscutils:crushedCentrifugedCryolite", GameRegistry.findItem(CORE.MODID, "crushedCentrifugedCryoliteF"));
sMissingItemMappings.put("miscutils:oreCryolite", GameRegistry.findItem(CORE.MODID, "oreCryoliteF"));
+
+ // Fluorite
+ sMissingBlockMappings.put("miscutils:oreFluorite", GameRegistry.findBlock(CORE.MODID, "oreFluoriteF"));
+ sMissingItemMappings.put("miscutils:itemDustTinyFluorite", GameRegistry.findItem(CORE.MODID, "itemDustTinyFluoriteF"));
+ sMissingItemMappings.put("miscutils:itemDustSmallFluorite", GameRegistry.findItem(CORE.MODID, "itemDustSmallFluoriteF"));
+ sMissingItemMappings.put("miscutils:itemDustFluorite", GameRegistry.findItem(CORE.MODID, "itemDustFluoriteF"));
+ sMissingItemMappings.put("miscutils:dustPureFluorite", GameRegistry.findItem(CORE.MODID, "dustPureFluoriteF"));
+ sMissingItemMappings.put("miscutils:dustImpureFluorite", GameRegistry.findItem(CORE.MODID, "dustImpureFluoriteF"));
+ sMissingItemMappings.put("miscutils:crushedFluorite", GameRegistry.findItem(CORE.MODID, "crushedFluoriteF"));
+ sMissingItemMappings.put("miscutils:crushedPurifiedFluorite", GameRegistry.findItem(CORE.MODID, "crushedPurifiedFluoriteF"));
+ sMissingItemMappings.put("miscutils:crushedCentrifugedFluorite", GameRegistry.findItem(CORE.MODID, "crushedCentrifugedFluoriteF"));
+ sMissingItemMappings.put("miscutils:oreFluorite", GameRegistry.findItem(CORE.MODID, "oreFluoriteF"));
}
@Mod.EventHandler
diff --git a/src/main/java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java b/src/main/java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java
index fda7760607..10dea8a7bf 100644
--- a/src/main/java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java
+++ b/src/main/java/gtPlusPlus/core/handler/events/GeneralTooltipEventHandler.java
@@ -6,8 +6,10 @@ import gtPlusPlus.GTplusplus;
import gtPlusPlus.GTplusplus.INIT_PHASE;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.sys.KeyboardUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
@@ -22,7 +24,7 @@ public class GeneralTooltipEventHandler {
@SubscribeEvent
public void onItemTooltip(ItemTooltipEvent event){
-
+
if (GTplusplus.CURRENT_LOAD_PHASE != INIT_PHASE.STARTED && GTplusplus.CURRENT_LOAD_PHASE != INIT_PHASE.SERVER_START) {
return;
}
@@ -68,8 +70,16 @@ public class GeneralTooltipEventHandler {
event.toolTip.add(EnumChatFormatting.GOLD+"Capacity: "+EnumChatFormatting.AQUA+"128000L");
}
}
-
-
+
+ // Custom Flasks
+
+ if (GregtechItemList.VOLUMETRIC_FLASK_8k.hasBeenSet() && event.itemStack.getItem() == GregtechItemList.VOLUMETRIC_FLASK_8k.getItem()) {
+ event.toolTip.add("Max Capacity: "+MathUtils.formatNumbers(8000)+"L");
+ }
+ if (GregtechItemList.VOLUMETRIC_FLASK_32k.hasBeenSet() && event.itemStack.getItem() == GregtechItemList.VOLUMETRIC_FLASK_32k.getItem()) {
+ event.toolTip.add("Max Capacity: "+MathUtils.formatNumbers(32000)+"L");
+ }
+
if (CORE.ConfigSwitches.enableAnimatedTurbines) {
boolean shift = false;
diff --git a/src/main/java/gtPlusPlus/core/item/ModItems.java b/src/main/java/gtPlusPlus/core/item/ModItems.java
index 4c6f0dc712..47278c559d 100644
--- a/src/main/java/gtPlusPlus/core/item/ModItems.java
+++ b/src/main/java/gtPlusPlus/core/item/ModItems.java
@@ -523,6 +523,9 @@ public final class ModItems {
MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().POLONIUM210, false);
MaterialGenerator.generateNuclearMaterial(ELEMENT.getInstance().AMERICIUM241, false);
+ if (!CORE.GTNH) {
+ MaterialGenerator.generateOreMaterialWithAllExcessComponents(ELEMENT.getInstance().TRINIUM);
+ }
//Custom Materials that will have standalone refinery processes
MaterialGenerator.generate(ELEMENT.STANDALONE.ADVANCED_NITINOL, false);
@@ -534,8 +537,8 @@ public final class ModItems {
//Custom Materials that are from Runescape
MaterialGenerator.generate(ELEMENT.STANDALONE.BLACK_METAL);
MaterialGenerator.generate(ELEMENT.STANDALONE.WHITE_METAL);
- MaterialGenerator.generate(ELEMENT.STANDALONE.GRANITE, false, false);
- MaterialGenerator.generate(ELEMENT.STANDALONE.RUNITE, false);
+ MaterialGenerator.generateOreMaterialWithAllExcessComponents(ELEMENT.STANDALONE.GRANITE);
+ MaterialGenerator.generateOreMaterialWithAllExcessComponents(ELEMENT.STANDALONE.RUNITE);
MaterialGenerator.generate(ELEMENT.STANDALONE.DRAGON_METAL, false);
MISC_MATERIALS.run();
diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java b/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java
index dfc85c533b..8dd2cd1187 100644
--- a/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java
+++ b/src/main/java/gtPlusPlus/core/item/chemistry/MilledOreProcessing.java
@@ -243,10 +243,10 @@ public class MilledOreProcessing extends ItemPackage {
//milledMonazite TODO
registerOreDataForMilledType(
MonaziteFlotationFroth,
- ELEMENT.getInstance().ERBIUM, 96,
- ELEMENT.getInstance().LANTHANUM, 96,
- ELEMENT.getInstance().PRASEODYMIUM, 96,
- ELEMENT.getInstance().EUROPIUM, 32
+ ELEMENT.getInstance().ERBIUM, 64,
+ ELEMENT.getInstance().LANTHANUM, 32,
+ ELEMENT.getInstance().LUTETIUM, 16,
+ ELEMENT.getInstance().EUROPIUM, 8
);
diff --git a/src/main/java/gtPlusPlus/core/material/MISC_MATERIALS.java b/src/main/java/gtPlusPlus/core/material/MISC_MATERIALS.java
index aaee1cc790..0b93e7dd9c 100644
--- a/src/main/java/gtPlusPlus/core/material/MISC_MATERIALS.java
+++ b/src/main/java/gtPlusPlus/core/material/MISC_MATERIALS.java
@@ -138,8 +138,8 @@ public final class MISC_MATERIALS {
new MaterialStack(MaterialUtils.generateMaterialFromGtENUM(Materials.NetherQuartz), 1),
new MaterialStack(MaterialUtils.generateMaterialFromGtENUM(Materials.Galena), 1),
new MaterialStack(MaterialUtils.generateMaterialFromGtENUM(Materials.Chalcopyrite), 1),
- new MaterialStack(MaterialUtils.generateMaterialFromGtENUM(Materials.Cobaltite), 1),
- new MaterialStack(ELEMENT.STANDALONE.GRANITE, 1)
+ new MaterialStack(ORES.CRYOLITE, 1),
+ new MaterialStack(ELEMENT.getInstance().YTTRIUM, 1)
});
public static final Material RARE_EARTH_MID = new Material(
diff --git a/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java b/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java
index 8425ed89be..d1ea784b81 100644
--- a/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java
+++ b/src/main/java/gtPlusPlus/core/material/MaterialGenerator.java
@@ -46,6 +46,7 @@ import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_DustGeneration;
import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Extruder;
import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_FluidCanning;
import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Fluids;
+import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Fluorite;
import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_MaterialProcessing;
import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_MetalRecipe;
import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Ore;
@@ -397,13 +398,67 @@ public class MaterialGenerator {
temp = new BaseItemPurifiedDust(matInfo);
Logger.MATERIALS("Generated all ore components for "+matInfo.getLocalizedName()+", now generating processing recipes.");
- new RecipeGen_Ore(matInfo);
+
+ if (matInfo == FLUORIDES.FLUORITE){
+ new RecipeGen_Fluorite(matInfo);
+ }
+ else {
+ new RecipeGen_Ore(matInfo);
+ }
} catch (final Throwable t){
Logger.MATERIALS("[Error] "+(matInfo != null ? matInfo.getLocalizedName() : "Null Material")+" failed to generate.");
t.printStackTrace();
}
}
+
+ public static boolean generateOreMaterialWithAllExcessComponents(final Material matInfo){
+ try {
+ if (matInfo == null){
+ Logger.DEBUG_MATERIALS("Invalid Material while constructing null material.");
+ return false;
+ }
+ final short[] C = matInfo.getRGBA();
+ final Integer Colour = Utils.rgbtoHexValue(C[0], C[1], C[2]);
+
+ tempBlock = new BlockBaseOre(matInfo, BlockTypes.ORE, Colour.intValue());
+ tempBlock = new BlockBaseModular(matInfo,BlockTypes.STANDARD);
+ temp = new BaseItemIngot(matInfo);
+ temp = new BaseItemDust(matInfo);
+ temp = new BaseItemNugget(matInfo);
+ temp = new BaseItemPlate(matInfo);
+ temp = new BaseItemPlateDouble(matInfo);
+
+
+ temp = new BaseItemCrushedOre(matInfo);
+ temp = new BaseItemCentrifugedCrushedOre(matInfo);
+ temp = new BaseItemPurifiedCrushedOre(matInfo);
+ temp = new BaseItemImpureDust(matInfo);
+ temp = new BaseItemPurifiedDust(matInfo);
+
+ Logger.MATERIALS("Generated all ore & base components for "+matInfo.getLocalizedName()+", now generating processing recipes.");
+
+ new RecipeGen_Ore(matInfo, true);
+ new RecipeGen_AlloySmelter(matInfo);
+ new RecipeGen_Assembler(matInfo);
+ new RecipeGen_BlastSmelter(matInfo);
+ new RecipeGen_MetalRecipe(matInfo);
+ new RecipeGen_Extruder(matInfo);
+ new RecipeGen_Fluids(matInfo);
+ new RecipeGen_Plates(matInfo);
+ new RecipeGen_ShapedCrafting(matInfo);
+ new RecipeGen_MaterialProcessing(matInfo);
+ new RecipeGen_DustGeneration(matInfo);
+ new RecipeGen_Recycling(matInfo);
+ return true;
+ }
+ catch (final Throwable t){
+ Logger.MATERIALS(""+matInfo.getLocalizedName()+" failed to generate.");
+ t.printStackTrace();
+ return false;
+ }
+
+ }
}
diff --git a/src/main/java/gtPlusPlus/core/material/nuclear/FLUORIDES.java b/src/main/java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
index 5872587872..d5c6e4a6bf 100644
--- a/src/main/java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
+++ b/src/main/java/gtPlusPlus/core/material/nuclear/FLUORIDES.java
@@ -10,7 +10,7 @@ import gtPlusPlus.core.material.state.MaterialState;
public class FLUORIDES {
public static final Material FLUORITE = new Material(
- "Fluorite", //Material Name
+ "Fluorite (F)", //Material Name
MaterialState.ORE, //State
null, //Material Colour
Materials.Fluorine.mMeltingPoint, //Melting Point in C
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index 5156b938db..3d0e6aebfd 100644
--- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -390,6 +390,28 @@ public class RECIPES_GREGTECH {
20 * 20,
MaterialUtils.getVoltageForTier(aBotmiumTier-2),
6);
+
+
+ //Refine GT HF into GT++ HF
+ if (FluidUtils.doesHydrofluoricAcidGtExist()) {
+ CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedAdvancedCircuit(22),
+ },
+ new FluidStack[] {
+ FluidUtils.getHydrofluoricAcid(2000),
+ FluidUtils.getHydrofluoricAcidGT(5000)
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getHydrofluoricAcid(6000)
+ },
+ 30 * 20,
+ 480,
+ 3);
+ }
}
@@ -1268,30 +1290,6 @@ public class RECIPES_GREGTECH {
2 * 20,
500); // EU
- // CaF2 + H2SO4 → CaSO4(solid) + 2 HF
- FluidStack aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 16000);
- if (aGregtechHydro == null) {
- aGregtechHydro = FluidUtils.getFluidStack("hydrofluoricacid", 16000);
- }
-
- CORE.RA.addDehydratorRecipe(
- new ItemStack[] {
- CI.getNumberedAdvancedCircuit(5),
- ItemUtils.getItemStackOfAmountFromOreDict("dustFluorite", 37),
- },
- FluidUtils.getFluidStack("sulfuricacid", 56 * 144),
- aGregtechHydro, // Fluid output (slot 2)
- new ItemStack[] {
- ItemUtils.getItemStackOfAmountFromOreDict("dustCalciumSulfate", 30),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSilver", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustGold", 2),
- ItemUtils.getItemStackOfAmountFromOreDict("dustTin", 1),
- ItemUtils.getItemStackOfAmountFromOreDict("dustCopper", 2)
- },
- new int[] { 10000, 100, 100, 300, 200 },
- 10 * 60 * 20,
- 230); // EU
-
CORE.RA.addDehydratorRecipe(
new ItemStack[] {
@@ -1662,19 +1660,35 @@ public class RECIPES_GREGTECH {
* so if you dissolve aparite in sulphuric acid you'll get a mixture of
* SO2, H2O, HF and HCl
*/
- final FluidStack[] apatiteOutput = { FluidUtils.getFluidStack("sulfurousacid", 3800),
- FluidUtils.getFluidStack("hydrogenchloride", 1000), FluidUtils.getFluidStack("hydrofluoricacid", 400) };
- GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("sulfuricapatite", 5200), apatiteOutput, null,
- 45 * 20, 256);
+ final FluidStack[] apatiteOutput = {
+ FluidUtils.getFluidStack("sulfurousacid", 3800),
+ FluidUtils.getFluidStack("hydrogenchloride", 1000),
+ FluidUtils.getFluidStack("hydrofluoricacid", 400) };
+ GT_Values.RA.addDistillationTowerRecipe(
+ FluidUtils.getFluidStack("sulfuricapatite", 5200),
+ apatiteOutput, null,
+ 45 * 20,
+ 120);
- final FluidStack[] sulfurousacidOutput = { FluidUtils.getFluidStack("sulfurdioxide", 500),
+ final FluidStack[] sulfurousacidOutput = {
+ FluidUtils.getFluidStack("sulfurdioxide", 500),
FluidUtils.getFluidStack("water", 500) };
- GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("sulfurousacid", 1000), sulfurousacidOutput,
- null, 10 * 20, 60);
+ GT_Values.RA.addDistillationTowerRecipe(
+ FluidUtils.getFluidStack("sulfurousacid", 1000),
+ sulfurousacidOutput,
+ null,
+ 10 * 20,
+ 60);
- final FluidStack[] sulfurdioxideOutput = { FluidUtils.getFluidStack("oxygen", 144 * 2) };
- GT_Values.RA.addDistillationTowerRecipe(FluidUtils.getFluidStack("sulfurdioxide", 144 * 3), sulfurdioxideOutput,
- ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 1), 5 * 20, 30);
+ final FluidStack[] sulfurdioxideOutput = {
+ FluidUtils.getFluidStack("oxygen", 2000)
+ };
+ GT_Values.RA.addDistillationTowerRecipe(
+ FluidUtils.getFluidStack("sulfurdioxide", 144 * 3),
+ sulfurdioxideOutput,
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSulfur", 1),
+ 5 * 20,
+ 30);
}
private static void addFuels() {
@@ -1735,16 +1749,6 @@ public class RECIPES_GREGTECH {
}
private static void chemicalBathRecipes() {
-
- GT_Values.RA.addChemicalBathRecipe(
- FLUORIDES.FLUORITE.getCrushed(2),
- FluidUtils.getFluidStack("hydrogen", 2000),
- FLUORIDES.FLUORITE.getCrushedPurified(8),
- FLUORIDES.FLUORITE.getDustImpure(4),
- FLUORIDES.FLUORITE.getDustPurified(2),
- new int[] { 10000, 5000, 1000 },
- 30 * 20,
- 240);
}
@@ -1787,25 +1791,13 @@ public class RECIPES_GREGTECH {
10 * 20);
GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("dustApatite", 16),
- null,
- FluidUtils.getFluidStack("sulfuricacid", 144 * 32),
- FluidUtils.getFluidStack("sulfuricapatite", 144 * 8),
- ItemUtils.getItemStackOfAmountFromOreDict("dustSmallSulfur", 1),
+ CI.getNumberedAdvancedCircuit(21),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustApatite", 32),
+ FluidUtils.getFluidStack("sulfuricacid", 4000),
+ FluidUtils.getFluidStack("sulfuricapatite", 8000),
+ ItemUtils.getItemStackOfAmountFromOreDict("dustSmallSulfur", 8),
20 * 20);
- ItemStack temp_GT5u_SA = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellHydrofluoricAcid_GT5U", 5);
- if (temp_GT5u_SA != null) {
- //Refine GT HF into GT++ HF
- GT_Values.RA.addChemicalRecipe(
- ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2),
- temp_GT5u_SA,
- null, // Fluid Input
- FluidUtils.getFluidStack("hydrofluoricacid", 6000), // Fluid Output
- CI.emptyCells(7),
- 2 * 20);
- }
-
}
private static void blastFurnaceRecipes() {
diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java
index 97636e9e65..864d0bcca8 100644
--- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java
+++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java
@@ -168,34 +168,47 @@ public class RECIPES_RareEarthProcessing {
GT_Values.RA.addChemicalBathRecipe(
ItemUtils.getSimpleStack(aRareEarth, 3),
FluidUtils.getFluidStack(aSulfuric, 1000),
- RARE_EARTH_LOW.getCrushed(1),
- RARE_EARTH_LOW.getCrushed(1),
- RARE_EARTH_LOW.getCrushed(1),
- new int[] {10000, 10000, 9000},
+ RARE_EARTH_LOW.getCrushed(2),
+ RARE_EARTH_LOW.getCrushed(2),
+ RARE_EARTH_LOW.getCrushed(2),
+ new int[] {10000, 10000, 10000},
20 * 30,
- (int) GT_Values.V[1]);
+ MaterialUtils.getVoltageForTier(1));
// HV Rare Earth
GT_Values.RA.addChemicalBathRecipe(
ItemUtils.getSimpleStack(aRareEarth, 6),
- FluidUtils.getFluidStack(aHydrocholric, 3000),
- RARE_EARTH_MID.getCrushed(2),
- RARE_EARTH_MID.getCrushed(2),
- RARE_EARTH_MID.getCrushed(2),
+ FluidUtils.getFluidStack(aHydrocholric, 2000),
+ RARE_EARTH_MID.getCrushed(4),
+ RARE_EARTH_MID.getCrushed(4),
+ RARE_EARTH_MID.getCrushed(4),
new int[] {10000, 9000, 8000},
- 20 * 60,
- (int) GT_Values.V[3]);
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(3));
// IV Rare Earth
GT_Values.RA.addChemicalBathRecipe(
ItemUtils.getSimpleStack(aRareEarth, 9),
- FluidUtils.getFluidStack(aNitric, 6000),
- RARE_EARTH_HIGH.getCrushed(3),
- RARE_EARTH_HIGH.getCrushed(3),
- RARE_EARTH_HIGH.getCrushed(3),
- new int[] {9000, 8000, 7000},
- 20 * 90,
- (int) GT_Values.V[5]);
+ FluidUtils.getHydrofluoricAcid(3000),
+ RARE_EARTH_HIGH.getCrushed(6),
+ RARE_EARTH_HIGH.getCrushed(6),
+ RARE_EARTH_HIGH.getCrushed(6),
+ new int[] {10000, 9000, 8000},
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(5));
+
+ if (FluidUtils.doesHydrofluoricAcidGtExist()) {
+ // IV Rare Earth
+ GT_Values.RA.addChemicalBathRecipe(
+ ItemUtils.getSimpleStack(aRareEarth, 9),
+ FluidUtils.getHydrofluoricAcidGT(6000),
+ RARE_EARTH_HIGH.getCrushed(6),
+ RARE_EARTH_HIGH.getCrushed(6),
+ RARE_EARTH_HIGH.getCrushed(6),
+ new int[] {9000, 8000, 7000},
+ 20 * 30,
+ MaterialUtils.getVoltageForTier(5));
+ }
}
diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java
index a6bd50ff17..73fa919731 100644
--- a/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java
+++ b/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java
@@ -1,5 +1,7 @@
package gtPlusPlus.core.util.minecraft;
+import java.util.HashMap;
+
import gregtech.api.enums.Dyes;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
@@ -24,7 +26,9 @@ import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.IFluidContainerItem;
public class FluidUtils {
-
+
+ private static HashMap<String, Fluid> sFluidCache = new HashMap<String, Fluid>();
+
public static FluidStack getWater(final int amount){
return FluidUtils.getFluidStack("water", amount);
}
@@ -87,44 +91,67 @@ public class FluidUtils {
return FluidUtils.getFluidStack("ic2uumatter", amount);
}
- public static FluidStack getFluidStack(final String fluidName, final int amount){
- Logger.WARNING("Trying to get a fluid stack of "+fluidName);
- try {
- FluidStack x = FluidRegistry.getFluidStack(fluidName, amount);
- return x != null ? x.copy() : null;
+ public static FluidStack getHydrofluoricAcid(int amount) {
+ return FluidUtils.getFluidStack("hydrofluoricacid", amount);
+ }
+
+ public static Fluid sGregtechHydrofluoricAcid = null;
+
+ public static FluidStack getHydrofluoricAcidGT(int amount) {
+ if (sGregtechHydrofluoricAcid == null) {
+ FluidStack aGTHF = FluidUtils.getFluidStack("hydrofluoricacid_gt5u", 1);
+ sGregtechHydrofluoricAcid = aGTHF != null ? aGTHF.getFluid() : getHydrofluoricAcid(1).getFluid();
}
- catch (final Throwable e){
- return null;
+ return FluidUtils.getFluidStack(sGregtechHydrofluoricAcid, amount);
+ }
+
+ public static boolean doesHydrofluoricAcidGtExist() {
+ if (sGregtechHydrofluoricAcid == null) {
+ getHydrofluoricAcidGT(1);
}
-
+ return sGregtechHydrofluoricAcid != null && sGregtechHydrofluoricAcid != getHydrofluoricAcid(1).getFluid();
}
-
- public static FluidStack getFluidStack(final FluidStack vmoltenFluid, final int fluidAmount) {
- Logger.WARNING("Trying to get a fluid stack of "+vmoltenFluid.getFluid().getName());
- try {
- FluidStack x = FluidRegistry.getFluidStack(vmoltenFluid.getFluid().getName(), fluidAmount);
- return x != null ? x.copy() : null;
+
+ private static FluidStack createFluidStack(Fluid aFluid, int aAmount) {
+ if (aFluid != null) {
+ return new FluidStack(aFluid, aAmount);
}
- catch (final Throwable e){
- return null;
+ return null;
+ }
+
+ public static FluidStack getFluidStack(final String aFluidName, final int aAmount){
+ Fluid aFluid = sFluidCache.get(aFluidName);
+ if (aFluid != null) {
+ return createFluidStack(aFluid, aAmount);
}
+ else {
+ Fluid aLookupFluid = FluidRegistry.getFluid(aFluidName);
+ if (aLookupFluid != null) {
+ sFluidCache.put(aFluidName, aLookupFluid);
+ return createFluidStack(aLookupFluid, aAmount);
+ }
+ }
+ return null;
}
- public static FluidStack getFluidStack(final Fluid vFluid, final int fluidAmount) {
- Logger.WARNING("Trying to get a fluid stack of "+vFluid.getName());
- try {
- FluidStack x = FluidRegistry.getFluidStack(vFluid.getName(), fluidAmount);
- return x != null ? x.copy() : null;
+ public static FluidStack getFluidStack(final FluidStack aFluidStack, final int aAmount) {
+ if (aFluidStack == null) {
+ return null;
}
- catch (final Throwable e){
+ return new FluidStack(aFluidStack, aAmount);
+ }
+
+ public static FluidStack getFluidStack(final Fluid aFluid, final int aAmount) {
+ if (aFluid == null) {
return null;
}
+ return new FluidStack(aFluid, aAmount);
}
public static FluidStack[] getFluidStackArray(final String fluidName, final int amount){
Logger.WARNING("Trying to get a fluid stack of "+fluidName);
try {
- final FluidStack[] singleFluid = {FluidRegistry.getFluidStack(fluidName, amount)};
+ final FluidStack[] singleFluid = {getFluidStack(fluidName, amount)};
return singleFluid;
}
catch (final Throwable e){
@@ -136,7 +163,7 @@ public class FluidUtils {
public static FluidStack[] getFluidStackArray(final FluidStack fluidName, final int amount){
Logger.WARNING("Trying to get a fluid stack of "+fluidName);
try {
- final FluidStack[] singleFluid = {FluidRegistry.getFluidStack(fluidName.getLocalizedName(), amount)};
+ final FluidStack[] singleFluid = {getFluidStack(fluidName, amount)};
return singleFluid;
}
catch (final Throwable e){
diff --git a/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java b/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java
index 0709f0b1ff..ef8aa080c2 100644
--- a/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java
+++ b/src/main/java/gtPlusPlus/everglades/GTplusplus_Everglades.java
@@ -126,36 +126,6 @@ public class GTplusplus_Everglades implements ActionListener {
if (LoadedMods.Big_Reactors) {
MaterialGenerator.generateOreMaterial(ELEMENT.getInstance().YELLORIUM, false, false, true, new short[] {255, 242, 10});
}
-
- if (!CORE.GTNH) {
- MaterialGenerator.generateOreMaterial(
- ELEMENT.getInstance().TRINIUM,
- true,
- false,
- false,
- ELEMENT.getInstance().TRINIUM_REFINED.getRGBA());
- }
-
-
-
- /*
- * OSRS Materials
- */
-
- MaterialGenerator.generateOreMaterial(
- ELEMENT.STANDALONE.GRANITE,
- true,
- false,
- false,
- ELEMENT.STANDALONE.GRANITE.getRGBA());
- MaterialGenerator.generateOreMaterial(
- ELEMENT.STANDALONE.RUNITE,
- true,
- false,
- false,
- ELEMENT.STANDALONE.RUNITE.getRGBA());
-
-
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java
index e6fd5dc797..5fb3b11d08 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_AirIntake.java
@@ -1,30 +1,30 @@
package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
-import net.minecraftforge.common.util.ForgeDirection;
-import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidStack;
-import net.minecraft.world.World;
-import net.minecraft.item.ItemStack;
+import java.lang.reflect.Field;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
+import gregtech.api.objects.GT_RenderedTexture;
import gtPlusPlus.api.objects.random.XSTR;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
-
-import gregtech.api.metatileentity.MetaTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-
-import java.lang.reflect.Field;
-
import net.minecraft.entity.player.EntityPlayer;
-import gregtech.api.interfaces.IIconContainer;
-import gregtech.api.objects.GT_RenderedTexture;
-import gregtech.api.enums.Textures;
-import gregtech.api.interfaces.ITexture;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.world.World;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
public class GT_MetaTileEntity_Hatch_AirIntake extends GT_MetaTileEntity_Hatch_Input {
+
private static XSTR floatGen;
+ public int mProgresstime = 0, mMaxProgresstime = 0;
public GT_MetaTileEntity_Hatch_AirIntake(final int aID, final String aName, final String aNameRegional,
final int aTier) {
@@ -127,17 +127,42 @@ public class GT_MetaTileEntity_Hatch_AirIntake extends GT_MetaTileEntity_Hatch_I
public void onPostTick(final IGregTechTileEntity aBaseMetaTileEntity, final long aTick) {
super.onPostTick(aBaseMetaTileEntity, aTick);
- if (this.getBaseMetaTileEntity().isActive() && addAirToHatch(aTick)) {
- if (aTick % 8 == 0) {
- if (aBaseMetaTileEntity.isClientSide()) {
- this.pollutionParticles(this.getBaseMetaTileEntity().getWorld(), "cloud");
- }
+
+ if (!aBaseMetaTileEntity.isAllowedToWork()) {
+ aBaseMetaTileEntity.setActive(false);
+ mProgresstime = 0;
+ mMaxProgresstime = 0;
+ }
+ else {
+ aBaseMetaTileEntity.setActive(true);
+ mMaxProgresstime = 4;
+ if (++mProgresstime >= mMaxProgresstime) {
+ addAirToHatch(aTick);
+ mProgresstime = 0;
}
- }
+ }
}
+
+ @Override
+ public int getProgresstime() {
+ return mProgresstime;
+ }
+
+ @Override
+ public int maxProgresstime() {
+ return mMaxProgresstime;
+ }
+
+ @Override
+ public int increaseProgress(int aProgress) {
+ mProgresstime += aProgress;
+ return mMaxProgresstime - mProgresstime;
+ }
public void pollutionParticles(final World aWorld, final String name) {
-
+ if (this.getBaseMetaTileEntity().isServerSide()) {
+ return;
+ }
final float ran1 = GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat();
float ran2 = 0.0f;
float ran3 = 0.0f;
@@ -159,14 +184,13 @@ public class GT_MetaTileEntity_Hatch_AirIntake extends GT_MetaTileEntity_Hatch_I
zSpd = (float) Math.cos(temp) * 0.1f;
ySpd = -ySpd;
yPos = yPos - 0.8f;
- } else {
+ }
+ else {
xSpd = aDir.offsetX * (0.1f + 0.2f * GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat());
zSpd = aDir.offsetZ * (0.1f + 0.2f * GT_MetaTileEntity_Hatch_AirIntake.floatGen.nextFloat());
xSpd = -xSpd;