aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core')
-rw-r--r--src/Java/gtPlusPlus/core/block/ModBlocks.java4
-rw-r--r--src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java56
-rw-r--r--src/Java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java102
-rw-r--r--src/Java/gtPlusPlus/core/config/ConfigHandler.java3
-rw-r--r--src/Java/gtPlusPlus/core/handler/BookHandler.java2
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java12
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java12
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java55
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java3
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java1
-rw-r--r--src/Java/gtPlusPlus/core/lib/LoadedMods.java108
-rw-r--r--src/Java/gtPlusPlus/core/material/ALLOY.java2
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java99
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java40
-rw-r--r--src/Java/gtPlusPlus/core/recipe/common/CI.java97
-rw-r--r--src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java4
-rw-r--r--src/Java/gtPlusPlus/core/util/data/ArrayUtils.java10
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java76
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java138
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/LangUtils.java100
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java3
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/NBTUtils.java11
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java26
24 files changed, 726 insertions, 240 deletions
diff --git a/src/Java/gtPlusPlus/core/block/ModBlocks.java b/src/Java/gtPlusPlus/core/block/ModBlocks.java
index 4bc5908f98..db9ad2264c 100644
--- a/src/Java/gtPlusPlus/core/block/ModBlocks.java
+++ b/src/Java/gtPlusPlus/core/block/ModBlocks.java
@@ -55,7 +55,8 @@ public final class ModBlocks {
public static Block blockCasingsMisc;
public static Block blockCasings2Misc;
public static Block blockCasings3Misc;
- public static Block blockCasings4Misc;
+ public static Block blockCasings4Misc;
+ public static Block blockCasingsTieredGTPP;
public static Block blockMetaTileEntity;
public static Block blockHeliumGenerator;
@@ -97,7 +98,6 @@ public final class ModBlocks {
public static Block blockPooCollector;
public static Block blockPestKiller;
- public static GregtechMetaTieredCasingBlocks1 BlockTieredCasings1;
public static void init() {
Logger.INFO("Initializing Blocks.");
diff --git a/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java b/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java
index ed531cef2d..2210e68e8a 100644
--- a/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java
+++ b/src/Java/gtPlusPlus/core/block/general/antigrief/BlockWitherProof.java
@@ -12,6 +12,8 @@ import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.boss.EntityDragon;
import net.minecraft.entity.boss.EntityWither;
import net.minecraft.entity.boss.IBossDisplayData;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.world.Explosion;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
@@ -105,6 +107,60 @@ public class BlockWitherProof extends Block{
return false;
}
+ @Override
+ public void breakBlock(World p_149749_1_, int p_149749_2_, int p_149749_3_, int p_149749_4_, Block p_149749_5_, int p_149749_6_) {
+ super.breakBlock(p_149749_1_, p_149749_2_, p_149749_3_, p_149749_4_, p_149749_5_, p_149749_6_);
+ }
+
+ @Override
+ public float getPlayerRelativeBlockHardness(EntityPlayer aPlayer, World p_149737_2_, int p_149737_3_, int p_149737_4_, int p_149737_5_) {
+ if (aPlayer != null && aPlayer instanceof EntityPlayerMP) {
+ return 1f;
+ }
+ return -1f;
+ }
+
+ @Override
+ public float getExplosionResistance(Entity p_149638_1_) {
+ return Float.MAX_VALUE;
+ }
+
+ @Override
+ public void onBlockClicked(World p_149699_1_, int p_149699_2_, int p_149699_3_, int p_149699_4_, EntityPlayer p_149699_5_) {
+ super.onBlockClicked(p_149699_1_, p_149699_2_, p_149699_3_, p_149699_4_, p_149699_5_);
+ }
+
+ @Override
+ public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) {
+ if ((entity == null) || !entity.isEntityAlive()){
+ return;
+ }
+ if ((entity instanceof EntityWither) || (entity instanceof EntityDragon) || (entity instanceof IBossDisplayData)){
+ return;
+ }
+ else {
+ super.onEntityCollidedWithBlock(world, x, y, z, entity);
+ }
+ }
+
+ @Override
+ public void harvestBlock(World p_149636_1_, EntityPlayer p_149636_2_, int p_149636_3_, int p_149636_4_, int p_149636_5_, int p_149636_6_) {
+ super.harvestBlock( p_149636_1_, p_149636_2_, p_149636_3_, p_149636_4_, p_149636_5_, p_149636_6_);
+ }
+
+ @Override
+ public boolean canHarvestBlock(EntityPlayer player, int meta) {
+ if (player != null && player instanceof EntityPlayerMP) {
+ return true;
+ }
+ return super.canHarvestBlock(player, meta);
+ }
+
+ @Override
+ public float getExplosionResistance(Entity par1Entity, World world, int x, int y, int z, double explosionX, double explosionY, double explosionZ) {
+ return Float.MAX_VALUE;
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java b/src/Java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java
index 5b9c17bacf..06b6f14822 100644
--- a/src/Java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java
+++ b/src/Java/gtPlusPlus/core/commands/CommandEnableDebugWhileRunning.java
@@ -20,92 +20,92 @@ public class CommandEnableDebugWhileRunning implements ICommand
public CommandEnableDebugWhileRunning(){
this.aliases = new ArrayList<>();
+ this.aliases.add("gtplusplus");
}
@Override
public int compareTo(final Object o){
- return 0;
-
+ if (o instanceof Comparable<?>) {
+ @SuppressWarnings("unchecked")
+ Comparable<ICommand> a = (Comparable<ICommand>) o;
+ if (a.equals(this)) {
+ return 0;
+ }
+ else {
+ return -1;
+ }
+ }
+ return -1;
}
@Override
public String getCommandName(){
- return "debugmodegtpp";
+ return "gtpp";
}
-
- // Use '/debugmodegtpp' along with 'logging' or 'debug' to toggle Debug mode and Logging.
+
+ // Use '/gtpp' along with 'logging' or 'debug' to toggle Debug mode and Logging.
// Using nothing after the command toggles both to their opposite states respectively.
@Override
public String getCommandUsage(final ICommandSender var1){
- return "/debugmodegtpp";
-
+ return "/gtpp ?";
}
@Override
public List<String> getCommandAliases(){
return this.aliases;
-
}
@Override
public void processCommand(final ICommandSender S, final String[] argString){
-
- if (argString == null || argString.length == 0 || argString.length > 1) {
- Logger.INFO("Toggling Debug Mode & Logging.");
+ int aMaxArgumentsAllowed = 1;
+
+ if ((argString == null || argString.length == 0 || argString.length > aMaxArgumentsAllowed) || argString[0].toLowerCase().equals("?")) {
+ Logger.INFO("Listing commands and their uses.");
+ final EntityPlayer P = CommandUtils.getPlayer(S);
+ AsmConfig.disableAllLogging = Utils.invertBoolean(AsmConfig.disableAllLogging);
+ PlayerUtils.messagePlayer(P, "The following are valid args for the '/gtpp' command:");
+ PlayerUtils.messagePlayer(P, "? - This help command.");
+ PlayerUtils.messagePlayer(P, "logging - Toggles ALL GT++ logging for current session.");
+ PlayerUtils.messagePlayer(P, "debug - Toggles GT++ Debug Mode. Only use when advised, may break everything. (OP)");
+ }
+ else if (argString[0].toLowerCase().equals("debug")) {
+ Logger.INFO("Toggling Debug Mode.");
final EntityPlayer P = CommandUtils.getPlayer(S);
if (PlayerUtils.isPlayerOP(P)) {
- CORE.DEBUG = Utils.invertBoolean(CORE.DEBUG);
- PlayerUtils.messagePlayer(P, "Toggled GT++ Debug Mode - Enabled: "+CORE.DEBUG);
- AsmConfig.disableAllLogging = Utils.invertBoolean(AsmConfig.disableAllLogging);
- PlayerUtils.messagePlayer(P, "Toggled GT++ Logging - Enabled: "+(!AsmConfig.disableAllLogging));
- }
- }
- else {
- if (argString[0].toLowerCase().equals("debug")) {
- Logger.INFO("Toggling Debug Mode.");
- final EntityPlayer P = CommandUtils.getPlayer(S);
- if (PlayerUtils.isPlayerOP(P)) {
- CORE.DEBUG = Utils.invertBoolean(CORE.DEBUG);
- PlayerUtils.messagePlayer(P, "Toggled GT++ Debug Mode - Enabled: "+CORE.DEBUG);
- }
- }
- else if (argString[0].toLowerCase().equals("logging")) {
- Logger.INFO("Toggling Logging.");
- final EntityPlayer P = CommandUtils.getPlayer(S);
- if (PlayerUtils.isPlayerOP(P)) {
- AsmConfig.disableAllLogging = Utils.invertBoolean(AsmConfig.disableAllLogging);
- PlayerUtils.messagePlayer(P, "Toggled GT++ Logging - Enabled: "+(!AsmConfig.disableAllLogging));
- }
- }
- else {
- final EntityPlayer P = CommandUtils.getPlayer(S);
- if (PlayerUtils.isPlayerOP(P)) {
- PlayerUtils.messagePlayer(P, "Invalid command, use 'debug' or 'logging'");
- }
+ CORE.DEBUG = Utils.invertBoolean(CORE.DEBUG);
+ PlayerUtils.messagePlayer(P, "Toggled GT++ Debug Mode - Enabled: "+CORE.DEBUG);
}
}
-
-
-
+ else if (argString[0].toLowerCase().equals("logging")) {
+ Logger.INFO("Toggling Logging.");
+ final EntityPlayer P = CommandUtils.getPlayer(S);
+ AsmConfig.disableAllLogging = Utils.invertBoolean(AsmConfig.disableAllLogging);
+ PlayerUtils.messagePlayer(P, "Toggled GT++ Logging - Enabled: "+(!AsmConfig.disableAllLogging));
+ }
+ else {
+ final EntityPlayer P = CommandUtils.getPlayer(S);
+ PlayerUtils.messagePlayer(P, "Invalid command, use '?' as an argument for help.'");
+ }
+
}
@Override
public boolean canCommandSenderUseCommand(final ICommandSender var1){
- if (var1 == null) {
- return false;
- }
- final EntityPlayer P = CommandUtils.getPlayer(var1);
- if (P != null && PlayerUtils.isPlayerOP(P)) {
- return true;
+ if (var1 == null || CommandUtils.getPlayer(var1) == null) {
+ return false;
}
- return false;
+ return true;
}
@Override
public List<?> addTabCompletionOptions(final ICommandSender var1, final String[] var2){
- return null;
+ ArrayList<String> aTabCompletes = new ArrayList<String>();
+ aTabCompletes.add("?");
+ aTabCompletes.add("logging");
+ aTabCompletes.add("debug");
+ return aTabCompletes;
}
@Override
@@ -115,7 +115,7 @@ public class CommandEnableDebugWhileRunning implements ICommand
}
public boolean playerUsesCommand(final World W, final EntityPlayer P, final int cost){
- return true;
+ return true;
}
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/config/ConfigHandler.java b/src/Java/gtPlusPlus/core/config/ConfigHandler.java
index ecaf031030..61e7045192 100644
--- a/src/Java/gtPlusPlus/core/config/ConfigHandler.java
+++ b/src/Java/gtPlusPlus/core/config/ConfigHandler.java
@@ -113,6 +113,9 @@ public class ConfigHandler {
"gregtech", true, "Very basic automated cauldron for dust washing.");
enableMachine_Pollution = config.getBoolean("enableMachinePollution",
"gregtech", true, "Pollution Detector & Scrubbers.");
+ enableMachine_RF_Convetor = config.getBoolean("enableMachineRFConvetor", "gregtech",
+ true, "Converts RF to GTEU. Requires COFH-Core to be installed.");
+
// Multi machines
enableMultiblock_AlloyBlastSmelter = config.getBoolean("enableMultiblockAlloyBlastSmelter",
diff --git a/src/Java/gtPlusPlus/core/handler/BookHandler.java b/src/Java/gtPlusPlus/core/handler/BookHandler.java
index 860946f513..d9d3efe680 100644
--- a/src/Java/gtPlusPlus/core/handler/BookHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/BookHandler.java
@@ -125,7 +125,7 @@ public class BookHandler {
"The Mode can be set by using a Screwdriver on the controller block. Each mode allows the use of Numbered Circuits, to allow a different machine 'type' for each input bus.",
"[Metal Work] Mode A - Allows the multiblock to function as a Compressor, a Lathe or an Electro-Magnet. To allow a hatch to run in Compressor mode, insert a No. 20 circuit. For Lathe, use No. 21 and for Electro-Magnet use No. 22.",
"[Fluid Work] Mode B - Allows the multiblock to function as a Fermenter, a Fluid Extractor or an Extractor. To allow a hatch to run in Fermenter mode, insert a No. 20 circuit. For Fluid Extractor, use No. 21 and for Extractor use No. 22.",
- "[Misc. Work] Mode C - Allows the multiblock to function as a Laser Engraver, a Replicator or an Autoclave. To allow a hatch to run in Laser Engraver mode, insert a No. 20 circuit. For Autoclave, use No. 21 and for Replicator use No. 22. REPLICATOR DISABLED.",
+ "[Misc. Work] Mode C - Allows the multiblock to function as a Laser Engraver, an Autoclave or a Fluid Solidifier. To allow a hatch to run in Laser Engraver mode, insert a No. 20 circuit. For Autoclave, use No. 21 and for Solidifier use No. 22.",
});
book_NuclearManual = writeBookTemplate(
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
index be02e352c7..d7c971e71f 100644
--- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
+++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
@@ -68,6 +68,7 @@ import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialCuttingF
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialElectrolyzer;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialExtruder;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialFishPond;
+import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialAlloySmelter;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialFuelRefinery;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialGeneratorArray;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechIndustrialMacerator;
@@ -216,6 +217,7 @@ public class COMPAT_HANDLER {
GregtechPowerBreakers.run();
GregtechFluidReactor.run();
GregtechAlgaeContent.run();
+ GregtechIndustrialAlloySmelter.run();
//New Horizons Content
NewHorizonsAccelerator.run();
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 8bfcfe2d70..354107147b 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -4,7 +4,6 @@ import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc;
import static gtPlusPlus.core.lib.CORE.LOAD_ALL_CONTENT;
import cpw.mods.fml.common.registry.GameRegistry;
-import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.api.objects.Logger;
@@ -14,7 +13,6 @@ import gtPlusPlus.core.common.compat.COMPAT_Baubles;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.BaseEuItem;
import gtPlusPlus.core.item.base.BaseItemBackpack;
-import gtPlusPlus.core.item.base.BaseItemBurnable;
import gtPlusPlus.core.item.base.BaseItemComponent.ComponentTypes;
import gtPlusPlus.core.item.base.BaseItemDamageable;
import gtPlusPlus.core.item.base.BaseItemTCShard;
@@ -55,7 +53,6 @@ import gtPlusPlus.core.item.general.ItemGenericToken;
import gtPlusPlus.core.item.general.ItemGiantEgg;
import gtPlusPlus.core.item.general.ItemHalfCompleteCasings;
import gtPlusPlus.core.item.general.ItemLavaFilter;
-import gtPlusPlus.core.item.general.RF2EU_Battery;
import gtPlusPlus.core.item.general.books.ItemBaseBook;
import gtPlusPlus.core.item.general.capture.ItemEntityCatcher;
import gtPlusPlus.core.item.general.chassis.ItemBoilerChassis;
@@ -97,6 +94,7 @@ import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.everglades.GTplusplus_Everglades;
+import gtPlusPlus.xmod.cofh.HANDLER_COFH;
import gtPlusPlus.xmod.eio.material.MaterialEIO;
import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems;
import net.minecraft.item.EnumRarity;
@@ -621,7 +619,7 @@ public final class ModItems {
MaterialGenerator.generate(ALLOY.MARAGING350);
MaterialGenerator.generate(ALLOY.AQUATIC_STEEL);
- MaterialGenerator.generate(ALLOY.NITINOL_60);
+ MaterialGenerator.generate(ALLOY.NITINOL_60,true,false);
//Composite Alloys
MaterialGenerator.generate(ALLOY.STELLITE);
@@ -1135,10 +1133,6 @@ public final class ModItems {
if (LoadedMods.IndustrialCraft2|| LOAD_ALL_CONTENT){
Logger.INFO("IndustrialCraft2 Found - Loading Resources.");
- if (LoadedMods.CoFHCore) {
- RfEuBattery = new RF2EU_Battery();
- }
-
//Baubles Mod Test
try {
final Class<?> baublesTest = ReflectionUtils.getClass("baubles.api.IBauble");
@@ -1167,7 +1161,7 @@ public final class ModItems {
//UtilsItems.generateSpawnEgg("ic2", "boatcarbon", Utils.generateSingularRandomHexValue(), Utils.generateSingularRandomHexValue());
-
+ HANDLER_COFH.initItems();
/*
* Misc Items
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
index 8428328f37..981bfed479 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
@@ -272,6 +272,8 @@ public class CoalTar extends ItemPackage {
recipePhthalicAcidToPhthalicAnhydride();
recipeEthylBenzineFuelsIntoHeavyFuel();
+
+ recipePhthalicAcidConversion();
//Burn the coal gas!
GT_Values.RA.addFuel(ItemUtils.getItemStackOfAmountFromOreDict("cellCoalGas", 1), null, 96, 1);
@@ -282,6 +284,14 @@ public class CoalTar extends ItemPackage {
return true;
}
+ private void recipePhthalicAcidConversion() {
+ FluidStack aMyAcid = FluidUtils.getFluidStack(Phthalic_Acid, 500);
+ FluidStack aGtAcid = FluidUtils.getFluidStack("phtalicacid", 500);
+ if (aMyAcid != null && aGtAcid != null) {
+ CORE.RA.addDistilleryRecipe(CI.getNumberedBioCircuit(8), aMyAcid, aGtAcid, null, 50, 16, false);
+ }
+ }
+
@Override
public void items() {
//Phthalic_Acid = FluidUtils.generateFluidNonMolten("PhthalicAcid", "Phthalic Acid", 207, new short[]{210, 220, 210, 100}, null, null);
@@ -347,7 +357,7 @@ public class CoalTar extends ItemPackage {
Naphthalene = FluidUtils.generateFluidNonMolten("Naphthalene", "Naphthalene", 115, new short[]{210, 185, 135, 100}, null, null);
// v - Oxidize with mercury and nitric acid
//Create Phthalic Acid
- Phthalic_Acid = FluidUtils.generateFluidNonMolten("PhthalicAcid", "Phthalic Acid", 207, new short[]{210, 220, 210, 100}, null, null);
+ Phthalic_Acid = FluidUtils.generateFluidNonMolten("PhthalicAcid", "Phtalic Acid", 207, new short[]{210, 220, 210, 100}, null, null);
// v - Dehydrate at 180C+
//Create Phthalic Anhydride
//ItemUtils.generateSpecialUseDusts("PhthalicAnhydride", "Phthalic Anhydride", "C6H4(CO)2O", Utils.rgbtoHexValue(175, 175, 175));
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
index 6e5b47041f..49d3303688 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/GenericChem.java
@@ -87,7 +87,7 @@ public class GenericChem extends ItemPackage {
// Phenol Byproducts
public Item PhenolicResins; //https://en.wikipedia.org/wiki/Phenol_formaldehyde_resin
- public ItemGenericChemBase mGenericChemItem1;
+ public static ItemGenericChemBase mGenericChemItem1;
@@ -112,6 +112,7 @@ public class GenericChem extends ItemPackage {
public static ItemStack mOrangeCatalyst;
public static ItemStack mPurpleCatalyst;
public static ItemStack mBrownCatalyst;
+ public static ItemStack mPinkCatalyst;
public void registerItemStacks() {
@@ -124,6 +125,7 @@ public class GenericChem extends ItemPackage {
mOrangeCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 3, 1);
mPurpleCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 4, 1);
mBrownCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 5, 1);
+ mPinkCatalyst = ItemUtils.simpleMetaStack(mGenericChemItem1, 6, 1);
}
@@ -135,6 +137,7 @@ public class GenericChem extends ItemPackage {
ItemUtils.addItemToOreDictionary(mOrangeCatalyst, "catalystVanadiumPalladium");
ItemUtils.addItemToOreDictionary(mPurpleCatalyst, "catalystIridiumRuthenium");
ItemUtils.addItemToOreDictionary(mBrownCatalyst, "catalystNickelAluminium");
+ ItemUtils.addItemToOreDictionary(mPinkCatalyst, "catalystPlatinumRhodium");
}
@@ -206,6 +209,7 @@ public class GenericChem extends ItemPackage {
recipeCatalystOrange();
recipeCatalystPurple();
recipeCatalystBrown();
+ recipeCatalystPink();
recipeNitroBenzene();
recipeAniline();
@@ -224,7 +228,7 @@ public class GenericChem extends ItemPackage {
private void recipeCyclohexane() {
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierTwoChip(),
ItemUtils.getSimpleStack(mBrownCatalyst, 0)
@@ -247,7 +251,7 @@ public class GenericChem extends ItemPackage {
private void recipeCyclohexanone() {
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierTwoChip(),
ItemUtils.getSimpleStack(mBlueCatalyst, 0)
@@ -266,7 +270,7 @@ public class GenericChem extends ItemPackage {
120,
2);
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierTwoChip(),
},
@@ -293,7 +297,7 @@ public class GenericChem extends ItemPackage {
// Assembly Recipe
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
getTierOneChip(),
- ItemUtils.getSimpleStack(AgriculturalChem.mCatalystCarrier, 10),
+ CI.getEmptyCatalyst(10),
ELEMENT.getInstance().IRON.getDust(2),
ELEMENT.getInstance().COPPER.getDust(2),
},
@@ -308,7 +312,7 @@ public class GenericChem extends ItemPackage {
// Assembly Recipe
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
getTierThreeChip(),
- ItemUtils.getSimpleStack(AgriculturalChem.mCatalystCarrier, 10),
+ CI.getEmptyCatalyst(10),
ELEMENT.getInstance().TUNGSTEN.getDust(4),
ELEMENT.getInstance().NICKEL.getDust(4),
},
@@ -323,7 +327,7 @@ public class GenericChem extends ItemPackage {
// Assembly Recipe
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
getTierTwoChip(),
- ItemUtils.getSimpleStack(AgriculturalChem.mCatalystCarrier, 10),
+ CI.getEmptyCatalyst(10),
ELEMENT.getInstance().COBALT.getDust(3),
ELEMENT.getInstance().TITANIUM.getDust(3),
},
@@ -338,7 +342,7 @@ public class GenericChem extends ItemPackage {
// Assembly Recipe
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
getTierTwoChip(),
- ItemUtils.getSimpleStack(AgriculturalChem.mCatalystCarrier, 10),
+ CI.getEmptyCatalyst(10),
ELEMENT.getInstance().VANADIUM.getDust(5),
ELEMENT.getInstance().PALLADIUM.getDust(5),
},
@@ -353,7 +357,7 @@ public class GenericChem extends ItemPackage {
// Assembly Recipe
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
getTierFourChip(),
- ItemUtils.getSimpleStack(AgriculturalChem.mCatalystCarrier, 10),
+ CI.getEmptyCatalyst(10),
ELEMENT.getInstance().IRIDIUM.getDust(6),
ELEMENT.getInstance().RUTHENIUM.getDust(6),
},
@@ -368,7 +372,7 @@ public class GenericChem extends ItemPackage {
// Assembly Recipe
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
getTierOneChip(),
- ItemUtils.getSimpleStack(AgriculturalChem.mCatalystCarrier, 10),
+ CI.getEmptyCatalyst(10),
ELEMENT.getInstance().NICKEL.getDust(4),
ELEMENT.getInstance().ALUMINIUM.getDust(4),
},
@@ -379,10 +383,25 @@ public class GenericChem extends ItemPackage {
}
+ private void recipeCatalystPink() {
+ // Assembly Recipe
+ CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
+ getTierThreeChip(),
+ CI.getEmptyCatalyst(10),
+ ELEMENT.getInstance().PLATINUM.getDust(4),
+ ELEMENT.getInstance().RHODIUM.getDust(4),
+ },
+ GT_Values.NF,
+ ItemUtils.getSimpleStack(mPinkCatalyst, 10),
+ 30 * 20,
+ 2000);
+
+ }
+
private void recipeCadaverineAndPutrescine() {
// Basic Recipe
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierOneChip(),
ItemUtils.getSimpleStack(Items.rotten_flesh, 64)
@@ -402,7 +421,7 @@ public class GenericChem extends ItemPackage {
1);
// Advanced Recipe
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierTwoChip(),
ItemUtils.getSimpleStack(Items.rotten_flesh, 128),
@@ -426,7 +445,7 @@ public class GenericChem extends ItemPackage {
private void recipeAniline() {
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierThreeChip(),
ItemUtils.getSimpleStack(mBlueCatalyst, 0)
@@ -449,7 +468,7 @@ public class GenericChem extends ItemPackage {
private void recipeNitroBenzene() {
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
getTierThreeChip(),
},
@@ -474,7 +493,7 @@ public class GenericChem extends ItemPackage {
private void recipe2Ethylanthraquinone() {
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
ItemUtils.getItemStackOfAmountFromOreDict("dustPhthalicAnhydride", 4),
@@ -504,7 +523,7 @@ public class GenericChem extends ItemPackage {
private void recipe2Ethylanthrahydroquinone() {
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
ItemUtils.getSimpleStack(mOrangeCatalyst, 0),
@@ -553,7 +572,7 @@ public class GenericChem extends ItemPackage {
private void recipeLithiumHydroperoxide() {
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
ItemUtils.getItemStackOfAmountFromOreDict("dustLithiumHydroxide", 7),
@@ -587,7 +606,7 @@ public class GenericChem extends ItemPackage {
private void recipeHydrogenPeroxide() {
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedCircuit(4),
},
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java b/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java
index 8a003ec7aa..208fecd57c 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/general/ItemGenericChemBase.java
@@ -19,7 +19,7 @@ public class ItemGenericChemBase extends Item {
final protected IIcon base[];
- final private int aMetaSize = 6;
+ final private int aMetaSize = 7;
/*
* 0 - Red Metal Catalyst //FeCu
@@ -28,6 +28,7 @@ public class ItemGenericChemBase extends Item {
* 3 - Orange Metal Catalyst //Vanadium Pd
* 4 - Purple Metal Catalyst //IrIdium Ruthenium
* 5 - Brown Metal Catalyst //NiAl
+ * 6 - Pink Metal Catalyst //PtRh
*
*/
diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java
index 2a267dc16d..34d7475df3 100644
--- a/src/Java/gtPlusPlus/core/lib/CORE.java
+++ b/src/Java/gtPlusPlus/core/lib/CORE.java
@@ -237,6 +237,7 @@ public class CORE {
public static boolean enableMachine_ComponentAssemblers = false;
public static boolean enableCustom_Pipes = true;
public static boolean enableCustom_Cables = true;
+ public static boolean enableMachine_RF_Convetor = false;
//Multiblocks
public static boolean enableMultiblock_AlloyBlastSmelter = true;
diff --git a/src/Java/gtPlusPlus/core/lib/LoadedMods.java b/src/Java/gtPlusPlus/core/lib/LoadedMods.java
index d96875b811..329cf634b6 100644
--- a/src/Java/gtPlusPlus/core/lib/LoadedMods.java
+++ b/src/Java/gtPlusPlus/core/lib/LoadedMods.java
@@ -2,6 +2,8 @@ package gtPlusPlus.core.lib;
import static gtPlusPlus.core.lib.CORE.*;
+import java.util.HashMap;
+
import cpw.mods.fml.common.Loader;
import gtPlusPlus.api.objects.Logger;
@@ -50,6 +52,7 @@ public class LoadedMods {
public static boolean Mekanism = false;
public static boolean RedTech = false; //RedMage's Mod
public static boolean TecTech = false; //Technus' Mod
+ public static boolean KekzTech = false; //KekzDealers' Mod
public static boolean TiCon = false;
public static boolean StevesCarts = false;
public static boolean Witchery = false;
@@ -63,7 +66,7 @@ public class LoadedMods {
@SuppressWarnings("deprecation")
public static void checkLoaded(){
Logger.INFO("Looking for optional mod prereqs.");
- if (Loader.isModLoaded("gregtech") ){
+ if (isModLoaded("gregtech") ){
Gregtech = true;
Logger.INFO("Components enabled for: Gregtech");
if (Gregtech){
@@ -80,140 +83,140 @@ public class LoadedMods {
totalMods++;
}
- if (Loader.isModLoaded("dreamcraft")){
+ if (isModLoaded("dreamcraft")){
DreamCraft = true;
GTNH = true;
Logger.INFO("Components enabled for: DreamCraft");
Logger.INFO("Components enabled for: GT: New Horizons");
totalMods++;
}
- if (Loader.isModLoaded("beyondrealitycore")){
+ if (isModLoaded("beyondrealitycore")){
BeyondRealityCore = true;
BRC = true;
Logger.INFO("Components enabled for: Beyond Reality");
totalMods++;
}
- if (Loader.isModLoaded("PlayerAPI")){
+ if (isModLoaded("PlayerAPI")){
PlayerAPI = true;
Logger.INFO("Components enabled for: PlayerAPI");
totalMods++;
}
- if (Loader.isModLoaded("berriespp")) {
+ if (isModLoaded("berriespp")) {
CropsPlusPlus = true;
Logger.INFO("Components enabled for: Crops++");
totalMods++;
}
- if (Loader.isModLoaded("xreliquary")) {
+ if (isModLoaded("xreliquary")) {
Reliquary = true;
Logger.INFO("Components enabled for: Reliquary");
totalMods++;
}
- if (Loader.isModLoaded("TConstruct")){
+ if (isModLoaded("TConstruct")){
TiCon = true;
Logger.INFO("Components enabled for: Tinkers Construct");
totalMods++;
}
- if (Loader.isModLoaded("BuildCraft")){
+ if (isModLoaded("BuildCraft")){
BuildCraft = true;
Logger.INFO("Components enabled for: BuildCraft");
totalMods++;
}
- if ((Loader.isModLoaded("EnderIO")) && !ConfigSwitches.disableEnderIOIntegration){
+ if ((isModLoaded("EnderIO")) && !ConfigSwitches.disableEnderIOIntegration){
EnderIO = true;
Logger.INFO("Components enabled for: EnderIO");
totalMods++;
}
- if (Loader.isModLoaded("BigReactors")){
+ if (isModLoaded("BigReactors")){
Big_Reactors = true;
Logger.INFO("Components enabled for: Big Reactors");
totalMods++;
}
- if (Loader.isModLoaded("IC2")){
+ if (isModLoaded("IC2")){
IndustrialCraft2 = true;
Logger.INFO("Components enabled for: IndustrialCraft2");
totalMods++;
}
- if (Loader.isModLoaded("IC2-Classic-Spmod")){
+ if (isModLoaded("IC2-Classic-Spmod")){
IndustrialCraft2Classic = true;
Logger.INFO("Components enabled for: IndustrialCraft2-Classic");
totalMods++;
}
- if (Loader.isModLoaded("simplyjetpacks")){
+ if (isModLoaded("simplyjetpacks")){
Simply_Jetpacks = true;
Logger.INFO("Components enabled for: Simply Jetpacks");
totalMods++;
}
- if (Loader.isModLoaded("rftools")){
+ if (isModLoaded("rftools")){
RFTools = true;
Logger.INFO("Components enabled for: RFTools");
totalMods++;
}
- if (Loader.isModLoaded("StevesCarts")){
+ if (isModLoaded("StevesCarts")){
StevesCarts = true;
Logger.INFO("Components enabled for: StevesCarts");
totalMods++;
}
- if (Loader.isModLoaded("OpenBlocks")){
+ if (isModLoaded("OpenBlocks")){
OpenBlocks = true;
Logger.INFO("Components enabled for: OpenBlocks");
totalMods++;
}
- if (Loader.isModLoaded("Thaumcraft")){
+ if (isModLoaded("Thaumcraft")){
Thaumcraft = true;
Logger.INFO("Components enabled for: Thaumcraft");
totalMods++;
}
- if (Loader.isModLoaded("BiomesOPlenty")){
+ if (isModLoaded("BiomesOPlenty")){
BiomesOPlenty = true;
Logger.INFO("Components enabled for: BiomesOPlenty");
totalMods++;
}
- if (Loader.isModLoaded("ExtraUtilities")){
+ if (isModLoaded("ExtraUtilities")){
Extra_Utils = true;
Logger.INFO("Components enabled for: Extra_Utils");
totalMods++;
}
- if (Loader.isModLoaded("harvestcraft")){
+ if (isModLoaded("harvestcraft")){
PamsHarvestcraft = true;
Logger.INFO("Components enabled for: PamsHarvestcraft");
totalMods++;
}
- if (Loader.isModLoaded("PneumaticCraft")){
+ if (isModLoaded("PneumaticCraft")){
PneumaticCraft = true;
Logger.INFO("Components enabled for: PneumaticCraft");
totalMods++;
}
- if (Loader.isModLoaded("MorePlanet")){
+ if (isModLoaded("MorePlanet")){
MorePlanets = true;
Logger.INFO("Components enabled for: MorePlanets");
totalMods++;
}
- if (Loader.isModLoaded("ForbiddenMagic")){
+ if (isModLoaded("ForbiddenMagic")){
ForbiddenMagic = true;
Logger.INFO("Components enabled for: ForbiddenMagic");
totalMods++;
}
- if (Loader.isModLoaded("CompactWindmills")){
+ if (isModLoaded("CompactWindmills")){
CompactWindmills = true;
Logger.INFO("Components enabled for: CompactWindmills");
totalMods++;
}
- if (Loader.isModLoaded("Railcraft")){
+ if (isModLoaded("Railcraft")){
Railcraft = true;
Logger.INFO("Components enabled for: Railcraft");
totalMods++;
}
- if (Loader.isModLoaded("Waila")){
+ if (isModLoaded("Waila")){
Waila = true;
Logger.INFO("Components enabled for: WAILA");
totalMods++;
}
- if (Loader.isModLoaded("Mekanism")){
+ if (isModLoaded("Mekanism")){
Mekanism = true;
Logger.INFO("Components enabled for: Mekanism - This feature is not configurable and balances Mekanism to suit GT.");
totalMods++;
}
- if (Loader.isModLoaded("Growthcraft")){
+ if (isModLoaded("Growthcraft")){
Logger.INFO("Growthcraft Version: "+getModVersion("Growthcraft"));
if (getModVersion("Growthcraft").equals("1.7.10-2.3.1")){
//Load Growthcraft Compat
@@ -226,67 +229,67 @@ public class LoadedMods {
Logger.INFO("Growthcraft found, but the version was too new. I will update GC support eventually.");
}
}
- if (Loader.isModLoaded("CoFHCore")){
+ if (isModLoaded("CoFHCore")){
CoFHCore = true;
Logger.INFO("Components enabled for: CoFHCore");
totalMods++;
}
- if (Loader.isModLoaded("Forestry")){
+ if (isModLoaded("Forestry")){
Forestry = true;
Logger.INFO("Components enabled for: Forestry");
totalMods++;
}
- if (Loader.isModLoaded("MagicBees")){
+ if (isModLoaded("MagicBees")){
MagicBees = true;
Logger.INFO("Components enabled for: MagicBees");
totalMods++;
}
- if (Loader.isModLoaded("psychedelicraft")){
+ if (isModLoaded("psychedelicraft")){
Psychedelicraft = true;
Logger.INFO("Components enabled for: Psychedelicraft");
totalMods++;
}
- if (Loader.isModLoaded("ImmersiveEngineering")){
+ if (isModLoaded("ImmersiveEngineering")){
ImmersiveEngineering = true;
Logger.INFO("Components enabled for: ImmersiveEngineering");
totalMods++;
}
- if (Loader.isModLoaded("ExtraBees")){
+ if (isModLoaded("ExtraBees")){
ExtraBees = true;
Logger.INFO("Components enabled for: ExtraBees");
totalMods++;
}
- if (Loader.isModLoaded("ThermalFoundation") == false){
+ if (isModLoaded("ThermalFoundation") == false){
ThermalFoundation = false;
Logger.INFO("Components enabled for: ThermalFoundation - This feature will disable itself if you add TF.");
totalMods++;
}
- else if (Loader.isModLoaded("ThermalFoundation")){
+ else if (isModLoaded("ThermalFoundation")){
ThermalFoundation = true;
Logger.INFO("Components disabled for: ThermalFoundation - This feature will enable itself if you remove TF.");
//totalMods++;
}
- if (Loader.isModLoaded("ihl")){
+ if (isModLoaded("ihl")){
IHL = true;
Logger.INFO("Components enabled for: IHL");
totalMods++;
}
- if (Loader.isModLoaded("Baubles")){
+ if (isModLoaded("Baubles")){
Baubles = true;
Logger.INFO("Components enabled for: Baubles");
totalMods++;
}
- if (Loader.isModLoaded("GalacticraftCore")){
+ if (isModLoaded("GalacticraftCore")){
GalacticraftCore = true;
Logger.INFO("Components enabled for: Galacticraft Core");
totalMods++;
}
- if (Loader.isModLoaded("OpenComputers")){
+ if (isModLoaded("OpenComputers")){
OpenComputers = true;
Logger.INFO("Components enabled for: OpenComputers");
totalMods++;
}
- if (Loader.isModLoaded("computronics")){
+ if (isModLoaded("computronics")){
Computronics = true;
Logger.INFO("Components disabled for: Computronics - This feature will enable itself if you remove Computronics.");
totalMods++;
@@ -294,17 +297,22 @@ public class LoadedMods {
else {
Logger.INFO("Components enabled for: Computronics - This feature will disable itself if you add Computronics.");
}
- if (Loader.isModLoaded("GTRedtech")){
+ if (isModLoaded("GTRedtech")){
RedTech = true;
Logger.INFO("Components enabled for: GTRedtech");
totalMods++;
}
- if (Loader.isModLoaded("tectech")){
+ if (isModLoaded("tectech")){
TecTech = true;
Logger.INFO("Components enabled for: TecTech");
totalMods++;
+ }
+ if (isModLoaded("kekztech")){
+ KekzTech = true;
+ Logger.INFO("Components enabled for: KekzTech");
+ totalMods++;
}
- if (Loader.isModLoaded("witchery")){
+ if (isModLoaded("witchery")){
Witchery = true;
Logger.INFO("Components enabled for: Witchery");
totalMods++;
@@ -318,5 +326,17 @@ public class LoadedMods {
final String ver = cpw.mods.fml.common.FMLCommonHandler.instance().findContainerFor(modName).getVersion();
return ver;
}
+
+ private static final HashMap<String, Boolean> mLoadedModCache = new HashMap<String, Boolean>();
+
+ public static boolean isModLoaded(String aModName) {
+ Boolean aResult = mLoadedModCache.get(aModName);
+ if (aResult == null) {
+ boolean aTemp = Loader.isModLoaded(aModName);
+ mLoadedModCache.put(aModName, aTemp);
+ aResult = aTemp;
+ }
+ return aResult;
+ }
}
diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java
index 95e3631aaf..4e28b4a428 100644
--- a/src/Java/gtPlusPlus/core/material/ALLOY.java
+++ b/src/Java/gtPlusPlus/core/material/ALLOY.java
@@ -775,7 +775,7 @@ public final class ALLOY {
"Pikyonium 64B", //Material Name
MaterialState.SOLID, //State
new short[]{52, 103, 186, 0}, //Material Colour
- 7850, //Melting Point in C
+ 6850, //Melting Point in C
11765, //Boiling Point in C
-1,
-1,
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index cf2242067f..f1676689e7 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -17,6 +17,7 @@ import gregtech.api.util.ThermalFuel;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.item.chemistry.AgriculturalChem;
import gtPlusPlus.core.item.chemistry.GenericChem;
import gtPlusPlus.core.item.chemistry.IonParticles;
import gtPlusPlus.core.item.chemistry.RocketFuels;
@@ -39,6 +40,7 @@ import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
import gtPlusPlus.everglades.dimension.Dimension_Everglades;
+import gtPlusPlus.plugin.agrichem.BioRecipes;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
@@ -91,6 +93,7 @@ public class RECIPES_GREGTECH {
latheRecipes();
vacuumFreezerRecipes();
fluidheaterRecipes();
+ chemplantRecipes();
/**
@@ -107,6 +110,30 @@ public class RECIPES_GREGTECH {
addFuels();
}
+ private static void chemplantRecipes() {
+
+ // Advanced method for Nitric Acid Production
+ /* CORE.RA.addChemicalPlantRecipe(
+ new ItemStack[] {
+ CI.getNumberedBioCircuit(17),
+ CI.getPinkCatalyst(0),
+ },
+ new FluidStack[] {
+ FluidUtils.getLava(10000),
+ FluidUtils.getDistilledWater(5000)
+ },
+ new ItemStack[] {
+
+ },
+ new FluidStack[] {
+ FluidUtils.getFluidStack("nitricacid", 2000),
+ },
+ 10 * 20,
+ 480,
+ 3);*/
+
+ }
+
private static void fluidheaterRecipes() {
GT_Values.RA.addFluidHeaterRecipe(CI.getNumberedCircuit(20), FluidUtils.getWater(1000), FluidUtils.getHotWater(1000), 30, 30);
@@ -511,6 +538,30 @@ public class RECIPES_GREGTECH {
private static void laserEngraverRecipes() {
+ // Laser Sensors and Emitters together
+ GregtechItemList[] aTransParts = new GregtechItemList[] {
+ GregtechItemList.TransmissionComponent_ULV,
+ GregtechItemList.TransmissionComponent_LV,
+ GregtechItemList.TransmissionComponent_MV,
+ GregtechItemList.TransmissionComponent_HV,
+ GregtechItemList.TransmissionComponent_EV,
+ GregtechItemList.TransmissionComponent_IV,
+ GregtechItemList.TransmissionComponent_LuV,
+ GregtechItemList.TransmissionComponent_ZPM,
+ GregtechItemList.TransmissionComponent_UV,
+ GregtechItemList.TransmissionComponent_MAX,
+ };
+ for (int i=0;i<10;i++) {
+ GT_Values.RA.addLaserEngraverRecipe(
+ CI.getEmitter(i, 2),
+ CI.getSensor(i, 2),
+ aTransParts[i].get(1),
+ 20 * 5,
+ MaterialUtils.getVoltageForTier(i));
+ }
+
+
+
GT_Values.RA.addLaserEngraverRecipe(
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 6L),
GregtechItemList.Laser_Lens_Special.get(0),
@@ -647,6 +698,18 @@ public class RECIPES_GREGTECH {
20 * 120,
30720);
+ //NITINOL_60
+ CORE.RA.addBlastSmelterRecipe(
+ new ItemStack[] {
+ ELEMENT.getInstance().TITANIUM.getDust(3),
+ ELEMENT.getInstance().NICKEL.getDust(2)
+ },
+ ALLOY.NITINOL_60.getFluid(5 * 144),
+ 0,
+ 20 * 75,
+ 7680);
+
+
@@ -835,13 +898,13 @@ public class RECIPES_GREGTECH {
//Gelid Cryotheum
CORE.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustCryotheum", 1), FluidUtils.getFluidStack("cryotheum", 250), 200, 240);
-
+
//Ender Fluid
CORE.RA.addFluidExtractionRecipe(ItemUtils.getSimpleStack(Items.ender_pearl), FluidUtils.getFluidStack("ender", 250), 100, 30);
-
+
//Blazing Pyrotheum
CORE.RA.addFluidExtractionRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustPyrotheum", 1), FluidUtils.getFluidStack("pyrotheum", 250), 200, 240);
-
+
}
@@ -1556,10 +1619,10 @@ public class RECIPES_GREGTECH {
GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Invar, 8L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Invar, 4L), GregtechItemList.Fluid_Cell_144L.get(1L, new Object[0]), 75, 32);
}
}
-
+
if (LoadedMods.Baubles) {
-
+
// Turbine Housing Research Page
@@ -1588,8 +1651,8 @@ public class RECIPES_GREGTECH {
ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1),
20 * 60 * 10,
(int) GT_Values.V[7]);
-
-
+
+
// Supreme Pizza Gloves
CORE.RA.addSixSlotAssemblingRecipe(new ItemStack[] {
ItemUtils.getGregtechCircuit(19),
@@ -1752,27 +1815,7 @@ public class RECIPES_GREGTECH {
}
- private static void centrifugeRecipes() {
-
- //Try use all woods found, fix/add methane extraction.
- ArrayList<ItemStack> aLogData = OreDictionary.getOres("logWood");
- ArrayList<ItemStack> aRubberLogs = OreDictionary.getOres("logRubber");
- if (!aLogData.isEmpty() && !aRubberLogs.isEmpty()) {
- Logger.INFO("Fixing Methane output of centrifuged logs.");
- //First Check to see if it's a rubber log
- for (ItemStack stack : aLogData) {
- if (aRubberLogs.contains(stack)) {
- if (GT_Values.RA.addCentrifugeRecipe(GT_Utility.copyAmount(1L, stack), null, null, Materials.Methane.getGas(60L), ItemList.IC2_Resin.get(1L, new Object[0]), GT_ModHandler.getIC2Item("plantBall", 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L), null, null, new int[] { 5000, 3750, 2500, 2500 }, 200, 20)) {
- Logger.INFO("Added rubber plant based methane extraction for "+ItemUtils.getItemName(stack));
- }
- }
- else {
- if (GT_Values.RA.addCentrifugeRecipe(GT_Utility.copyAmount(1L, stack), null, null, Materials.Methane.getGas(60L), GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, GT_Values.NI, null, 200, 20)) {
- Logger.INFO("Added methane extraction for "+ItemUtils.getItemName(stack));
- }
- }
- }
- }
+ private static void centrifugeRecipes() {
GT_Values.RA.addCentrifugeRecipe(ItemUtils.getItemStackOfAmountFromOreDict("dustThorium", 8), GT_Values.NI,
GT_Values.NF, GT_Values.NF, ELEMENT.getInstance().THORIUM232.getDust(2),
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index 8225a40c29..2165f27ec7 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -22,6 +22,7 @@ import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import gtPlusPlus.everglades.dimension.Dimension_Everglades;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy;
import gtPlusPlus.xmod.gregtech.common.covers.CoverManager;
import gtPlusPlus.xmod.gregtech.common.items.MetaCustomCoverItem;
import net.minecraft.block.Block;
@@ -252,7 +253,7 @@ public class RECIPES_Machines {
CI.getTieredComponentOfMaterial(Materials.Steel, OrePrefixes.gearGt, 6),
CI.getTieredComponentOfMaterial(Materials.Aluminium, OrePrefixes.plate, 32),
CI.getTieredComponentOfMaterial(Materials.CobaltBrass, OrePrefixes.dust, 16),
- ALLOY.STAINLESS_STEEL.getFrameBox(4),
+ CI.getTieredComponent(OrePrefixes.frameGt, 2, 4),
},
ALLOY.STEEL.getFluid(2 * (144 * 4)),
GregtechItemList.ChemicalPlant_Controller.get(1),
@@ -292,7 +293,7 @@ public class RECIPES_Machines {
private static void distillus() {
- CORE.RA.addFluidReactorRecipe(
+ CORE.RA.addChemicalPlantRecipe(
new ItemStack[] {
CI.getNumberedBioCircuit(19),
ItemList.Distillation_Tower.get(2),
@@ -337,7 +338,7 @@ public class RECIPES_Machines {
CI.getElectricPiston(i, 10),
CI.getFieldGenerator(i + 1, 6),
CI.getPlate(i, 16),
- CI.getEmitter(i - 1, 24),
+ CI.getTransmissionComponent(i - 1, 8),
CI.getTieredComponent(OrePrefixes.cableGt08, i, 16)
},
ALLOY.EGLIN_STEEL.getFluid(i * (144 * 4)),
@@ -393,14 +394,14 @@ public class RECIPES_Machines {
for (int i=0;i<10;i++) {
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
- CI.getNumberedBioCircuit(22),
+ CI.getNumberedBioCircuit(20),
CI.getTieredMachineCasing(i),
CI.getPlate(i, 8),
CI.getGear(i, 2),
CI.getTieredComponent(OrePrefixes.cableGt02, i, 4),
CI.getTieredComponent(OrePrefixes.circuit, i, 2)
},
- CI.getTieredFluid(i, 144 * i * 2),
+ CI.getAlternativeTieredFluid(i, 144 * i * 2),
aHulls[i].get(1),
20 * 20,
MaterialUtils.getVoltageForTier(i));
@@ -540,13 +541,15 @@ public class RECIPES_Machines {
20 * 30,
30);
+ ItemStack aFluidRegulator1 = ItemUtils.getItemListObject("FluidRegulator_MV", "Pump_HV", GTNH ? 4 : 2);
+ ItemStack aFluidRegulator2 = ItemUtils.getItemListObject("FluidRegulator_IV", "Pump_LuV", GTNH ? 4 : 2);
+
//Poo Collector
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
CI.machineHull_MV,
- CI.getTieredComponent(OrePrefixes.circuit, 2, GTNH ? 4 : 2),
+ aFluidRegulator1,
CI.getTieredComponent(OrePrefixes.pipeMedium, 2, GTNH ? 4 : 2),
- CI.getElectricPump(2, GTNH ? 4 : 2),
ALLOY.EGLIN_STEEL.getPlate(GTNH ? 8 : 4),
ALLOY.POTIN.getScrew(GTNH ? 12 : 6)
},
@@ -560,9 +563,8 @@ public class RECIPES_Machines {
new ItemStack[] {
CI.getTieredMachineHull(-1),
ItemUtils.getSimpleStack(ModBlocks.blockPooCollector),
- CI.getTieredComponent(OrePrefixes.circuit, 5, GTNH ? 8 : 4),
+ aFluidRegulator2,
CI.getTieredComponent(OrePrefixes.pipeHuge, 6, GTNH ? 8 : 4),
- CI.getElectricPump(5, GTNH ? 12 : 6),
CI.getTieredComponent(OrePrefixes.screw, 6, GTNH ? 32 : 16)
},
CI.getAlternativeTieredFluid(5, 144 * 9),
@@ -603,6 +605,16 @@ public class RECIPES_Machines {
plateEnergeticAlloy, pipeLargeCopper, plateEnergeticAlloy,
RECIPE_SteamCondenser);
}
+
+
+ //Steam Condenser
+ if (LoadedMods.CoFHCore && CORE.ConfigSwitches.enableMachine_RF_Convetor){
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.getPlate(4, 1), CI.getTieredCircuitOreDictName(5), CI.getPlate(4, 1),
+ CI.getTransmissionComponent(3, 1), CI.getTieredGTPPMachineCasing(4, 1), CI.getTransmissionComponent(3, 1),
+ CI.getPlate(4, 1), plateEnergeticAlloy, CI.getPlate(4, 1),
+ GregtechItemList.Energy_Buffer_RF_Convertor.get(1));
+ }
if (CORE.ConfigSwitches.enableMultiblock_IronBlastFurnace){
@@ -886,6 +898,7 @@ public class RECIPES_Machines {
"plateDoubleGrisium", "rotorGrisium", "plateDoubleGrisium",
RECIPE_IndustrialMultiTankController);
}
+ //TODO
//Semi-Fluid Generators
ItemStack mSemiFluidgen = ItemUtils.getItemStackFromFQRN("IC2:blockGenerator:7", 1);
@@ -1485,8 +1498,7 @@ public class RECIPES_Machines {
GregtechItemList.Casing_Refinery_Structural.get(4),
ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR, GTNH ? 2 : 1),
CI.getTieredComponent(OrePrefixes.cableGt08, GTNH ? 7 : 6, GTNH ? 32 : 16),
- CI.getEmitter(GTNH ? 6 : 5, 2),
- CI.getSensor(GTNH ? 6 : 5, 2),
+ CI.getTransmissionComponent(GTNH ? 6 : 5, 2),
GregtechItemList.Gregtech_Computer_Cube.get(1),
},
CI.getTieredFluid(7, 144 * (GTNH ? 32 : 8)), GregtechItemList.GT4_Multi_Crafter.get(1),
@@ -2175,8 +2187,7 @@ public class RECIPES_Machines {
int aTier = (i + 1);
ItemStack[] aInputs = new ItemStack[] {
CI.getTieredMachineHull(i, 1 * aCostMultiplier),
- CI.getEmitter(i, 2 * aCostMultiplier),
- CI.getSensor(i, 2 * aCostMultiplier),
+ CI.getTransmissionComponent(i, 2 * aCostMultiplier),
CI.getFieldGenerator(i, 1 * aCostMultiplier),
CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier),
CI.getTieredComponent(OrePrefixes.circuit, aTier, 2 * aCostMultiplier),
@@ -2196,9 +2207,8 @@ public class RECIPES_Machines {
CORE.RA.addSixSlotAssemblingRecipe(
new ItemStack[] {
CI.getTieredMachineHull(-1, 1 * aCostMultiplier),
- CI.getEmitter(2, 2 * aCostMultiplier),
+ CI.getTransmissionComponent(2, 2 * aCostMultiplier),
CI.getElectricPiston(4, 2 * aCostMultiplier),
- CI.getSensor(4, 1 * aCostMultiplier),
CI.getTieredComponent(OrePrefixes.plate, 5, 4 * aCostMultiplier),
CI.getTieredComponent(OrePrefixes.pipeSmall, 4, 1 * aCostMultiplier),
},
diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java
index 6b8f992266..1d3d386da3 100644
--- a/src/Java/gtPlusPlus/core/recipe/common/CI.java
+++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java
@@ -7,6 +7,7 @@ import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.item.chemistry.AgriculturalChem;
+import gtPlusPlus.core.item.chemistry.GenericChem;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
@@ -564,7 +565,7 @@ public class CI {
private static final Material[] aMaterial_Secondary = new Material[] {
ALLOY.STEEL,
ALLOY.SILICON_CARBIDE,
- ALLOY.TUNGSTEN_CARBIDE,
+ ALLOY.BABBIT_ALLOY,
ALLOY.INCONEL_690,
ALLOY.STELLITE,
ALLOY.ARCANITE,
@@ -579,7 +580,7 @@ public class CI {
private static final Material[] aMaterial_Tertiary = new Material[] {
ELEMENT.getInstance().LEAD,
ELEMENT.getInstance().ALUMINIUM,
- ALLOY.STAINLESS_STEEL,
+ ELEMENT.STANDALONE.BLACK_METAL,
ELEMENT.getInstance().TUNGSTEN,
ALLOY.HASTELLOY_N,
ALLOY.ENERGYCRYSTAL,
@@ -1264,4 +1265,96 @@ public class CI {
return ItemUtils.getOrePrefixStack(aPrefix, aMaterial, aAmount);
}
+ public static ItemStack getTransmissionComponent(int aTier, int aAmount) {
+ GregtechItemList[] aTransParts = new GregtechItemList[] {
+ GregtechItemList.TransmissionComponent_ULV,
+ GregtechItemList.TransmissionComponent_LV,
+ GregtechItemList.TransmissionComponent_MV,
+ GregtechItemList.TransmissionComponent_HV,
+ GregtechItemList.TransmissionComponent_EV,
+ GregtechItemList.TransmissionComponent_IV,
+ GregtechItemList.TransmissionComponent_LuV,
+ GregtechItemList.TransmissionComponent_ZPM,
+ GregtechItemList.TransmissionComponent_UV,
+ GregtechItemList.TransmissionComponent_MAX,
+ };
+ return aTransParts[aTier].get(aAmount);
+ }
+
+ public static ItemStack getEmptyCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 13, aAmount);
+ }
+
+ /**
+ * Aluminium + Silver Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getGreenCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(AgriculturalChem.mAgrichemItem1, 14, aAmount);
+ }
+
+ /**
+ * Iron + Copper Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getRedCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 0, aAmount);
+ }
+
+ /**
+ * Tungsten + Nickel Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getYellowCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 1, aAmount);
+ }
+
+ /**
+ * Cobalt + Titanium Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getBlueCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 2, aAmount);
+ }
+
+ /**
+ * Vanadium + Palladium Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getOrangeCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 3, aAmount);
+ }
+
+ /**
+ * Iridium + Ruthenium Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getPurpleCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 4, aAmount);
+ }
+
+ /**
+ * Aluminium + Nickel Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getBrownCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 5, aAmount);
+ }
+
+ /**
+ * Platinum + Rhodium Catalyst
+ * @param aAmount - Stacksize
+ * @return - A Catalyst stack of given size
+ */
+ public static ItemStack getPinkCatalyst(int aAmount) {
+ return ItemUtils.simpleMetaStack(GenericChem.mGenericChemItem1, 6, aAmount);
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java b/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java
index 6cd13dc209..add55b8d27 100644
--- a/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java
+++ b/src/Java/gtPlusPlus/core/slots/SlotChemicalPlantInput.java
@@ -20,9 +20,9 @@ public class SlotChemicalPlantInput extends Slot {
}
public static boolean isItemValidForChemicalPlantSlot(ItemStack aStack) {
- boolean validItem = Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.containsInput(aStack);
+ boolean validItem = Gregtech_Recipe_Map.sChemicalPlantRecipes.containsInput(aStack);
if (!validItem) {
- for (Recipe_GT f : Gregtech_Recipe_Map.sFluidChemicalReactorRecipes.mRecipeList) {
+ for (Recipe_GT f : Gregtech_Recipe_Map.sChemicalPlantRecipes.mRecipeList) {
if (f.mFluidInputs.length > 0) {
for (FluidStack g : f.mFluidInputs) {
if (g != null) {
diff --git a/src/Java/gtPlusPlus/core/util/data/ArrayUtils.java b/src/Java/gtPlusPlus/core/util/data/ArrayUtils.java
index 3e96220995..6f5bb5b453 100644
--- a/src/Java/gtPlusPlus/core/util/data/ArrayUtils.java
+++ b/src/Java/gtPlusPlus/core/util/data/ArrayUtils.java
@@ -10,6 +10,7 @@ import java.util.Set;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
public class ArrayUtils {
@@ -88,5 +89,14 @@ public class ArrayUtils {
return org.apache.commons.lang3.ArrayUtils.toString(aArray);
}
+ public static <T> Object[] getArrayFromArrayList(ArrayList<T> aArrayList) {
+ Object[] aGenericArray = new Object[aArrayList.size()];
+ int aIndex = 0;
+ for (T object : aArrayList) {
+ aGenericArray[aIndex++] = object;
+ }
+ return aGenericArray;
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java
index d69dd5d66e..be57853dda 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/HazmatUtils.java
@@ -18,6 +18,7 @@ import gtPlusPlus.GTplusplus;
import gtPlusPlus.GTplusplus.INIT_PHASE;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.util.Utils;
import ic2.core.item.armor.ItemArmorHazmat;
import ic2.core.item.armor.ItemArmorNanoSuit;
@@ -35,6 +36,38 @@ public class HazmatUtils {
private static boolean mInit = false;
private static HazmatUtils mInstance;
+
+ private static final String[] mDefaultHazmat = new String[] {
+ "IC2:itemArmorNanoHelmet:27",
+ "IC2:itemArmorNanoChestplate:27",
+ "IC2:itemArmorNanoLegs:27",
+ "IC2:itemArmorNanoBoots:27",
+
+ "IC2:itemArmorQuantumHelmet:27",
+ "IC2:itemArmorQuantumChestplate:27",
+ "IC2:itemArmorQuantumLegs:27",
+ "IC2:itemArmorQuantumBoots:27",
+ };
+
+
+ private static final String[] mGravisuit = new String[] {
+ "GraviSuite:advNanoChestPlate:27",
+ "GraviSuite:graviChestPlate:27",
+ };
+ private static final String[] mElectroMagicTools = new String[] {
+ "EMT:NanosuitGogglesRevealing:27",
+ "EMT:NanoBootsTraveller:27",
+ "EMT:NanosuitWing:27",
+ "EMT:itemArmorQuantumChestplate:27",
+ "EMT:QuantumGogglesRevealing:27",
+ "EMT:QuantumBootsTraveller:27",
+ "EMT:QuantumWing:27",
+ };
+ private static final String[] mAdvancedSolarPanels = new String[] {
+ "AdvancedSolarPanel:advanced_solar_helmet:27",
+ "AdvancedSolarPanel:hybrid_solar_helmet:27",
+ "AdvancedSolarPanel:ultimate_solar_helmet:27",
+ };
public static void init() {
if (mInit) {
@@ -49,19 +82,36 @@ public class HazmatUtils {
sHazmatList.add(GT_ModHandler.getIC2Item("hazmatBoots", 1L, 32767));
// Make Nano a hazmat suit
- addProtection(ItemUtils.getItemStackFromFQRN("IC2:itemArmorNanoHelmet:27", 1));
- addProtection(ItemUtils.getItemStackFromFQRN("IC2:itemArmorNanoChestplate:27", 1));
- addProtection(ItemUtils.getItemStackFromFQRN("IC2:itemArmorNanoLegs:27", 1));
- addProtection(ItemUtils.getItemStackFromFQRN("IC2:itemArmorNanoBoots:27", 1));
-
- Logger.INFO("[Hazmat] Registered Nano as hazmat gear.");
-
- // Make Quantum a hazmat suit
- addProtection(ItemUtils.getItemStackFromFQRN("IC2:itemArmorQuantumHelmet:27", 1));
- addProtection(ItemUtils.getItemStackFromFQRN("IC2:itemArmorQuantumChestplate:27", 1));
- addProtection(ItemUtils.getItemStackFromFQRN("IC2:itemArmorQuantumLegs:27", 1));
- addProtection(ItemUtils.getItemStackFromFQRN("IC2:itemArmorQuantumBoots:27", 1));
- Logger.INFO("[Hazmat] Registered Quantum as hazmat gear.");
+ // Make Quantum a hazmat suit
+
+
+ if (LoadedMods.IndustrialCraft2 || LoadedMods.IndustrialCraft2Classic) {
+ for (String aItemName : mDefaultHazmat) {
+ addProtection(ItemUtils.getItemStackFromFQRN(aItemName, 1));
+ }
+ Logger.INFO("[Hazmat] Registered IC2 Items as hazmat gear.");
+ }
+
+ if (LoadedMods.isModLoaded("EMT")) {
+ for (String aItemName : mElectroMagicTools) {
+ addProtection(ItemUtils.getItemStackFromFQRN(aItemName, 1));
+ }
+ Logger.INFO("[Hazmat] Registered EMT Items as hazmat gear.");
+ }
+
+ if (LoadedMods.isModLoaded("GraviSuite")) {
+ for (String aItemName : mGravisuit) {
+ addProtection(ItemUtils.getItemStackFromFQRN(aItemName, 1));
+ }
+ Logger.INFO("[Hazmat] Registered Gravisuit Items as hazmat gear.");
+ }
+
+ if (LoadedMods.isModLoaded("AdvancedSolarPanel")) {
+ for (String aItemName : mAdvancedSolarPanels) {
+ addProtection(ItemUtils.getItemStackFromFQRN(aItemName, 1));
+ }
+ Logger.INFO("[Hazmat] Registered Adv. Solar Items as hazmat gear.");
+ }
Utils.registerEvent(mInstance);
Logger.INFO("[Hazmat] Registered Tooltip handler for hazmat gear.");
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
index cb490203df..d7d611a1e4 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java
@@ -25,11 +25,14 @@ import gtPlusPlus.core.item.base.dusts.BaseItemDustUnique;
import gtPlusPlus.core.item.base.dusts.decimal.BaseItemCentidust;
import gtPlusPlus.core.item.base.dusts.decimal.BaseItemDecidust;
import gtPlusPlus.core.item.base.plates.BaseItemPlate_OLD;
+import gtPlusPlus.core.item.chemistry.AgriculturalChem;
+import gtPlusPlus.core.item.chemistry.GenericChem;
import gtPlusPlus.core.item.tool.staballoy.MultiPickaxeBase;
import gtPlusPlus.core.item.tool.staballoy.MultiSpadeBase;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.Material;
+import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.math.MathUtils;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
@@ -39,6 +42,7 @@ import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_DustGeneration;
import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentData;
+import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item;
@@ -100,6 +104,11 @@ public class ItemUtils {
return y;
}
+ public static ItemStack getWildcardStack(final ItemStack x) {
+ final ItemStack y = ItemUtils.simpleMetaStack(x, WILDCARD_VALUE, 1);
+ return y;
+ }
+
public static ItemStack getIC2Cell(final String S) {
final ItemStack moreTemp = ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell" + S, 1);
@@ -154,13 +163,20 @@ public class ItemUtils {
}
}
- public static void addItemToOreDictionary(final ItemStack stack, final String oreDictName) {
+ public static void addItemToOreDictionary(ItemStack stack, final String oreDictName, boolean useWildcardMeta) {
+ if (useWildcardMeta) {
+ stack = ItemUtils.getWildcardStack(stack);
+ }
try {
- GT_OreDictUnificator.registerOre(oreDictName, stack);
+ OreDictionary.registerOre(oreDictName, stack);
} catch (final NullPointerException e) {
- Logger.ERROR(stack.getDisplayName() + " not registered. [NULL]");
+ Logger.ERROR(ItemUtils.getItemName(stack) + " not registered. [NULL]");
}
}
+
+ public static void addItemToOreDictionary(final ItemStack stack, final String oreDictName) {
+ addItemToOreDictionary(stack, oreDictName, false);
+ }
public static ItemStack getItemStackWithMeta(final boolean MOD, final String FQRN, final String itemName,
final int meta, final int itemstackSize) {
@@ -896,46 +912,10 @@ public class ItemUtils {
return CORE.burnables.add(new Pair<Integer, ItemStack>(burn, aBurnable));
}
- /**
- * Quick Block Name Lookup that is friendly to servers and locale.
- */
- private static volatile Map<String, String> mLocaleCache = new HashMap<String, String>();
-
public static String getLocalizedNameOfBlock(BlockPos pos) {
Block block = pos.world.getBlock(pos.xPos, pos.yPos, pos.zPos);
int metaData = pos.world.getBlockMetadata(pos.xPos, pos.yPos, pos.zPos);
- return getLocalizedNameOfBlock(block, metaData);
- }
-
- public synchronized static String getLocalizedNameOfBlock(Block block, int meta) {
- if (block == null || meta < 0) {
- return "Bad Block";
- }
- String mCacheKey = block.getUnlocalizedName() + ":" + meta;
- if (mLocaleCache.containsKey(mCacheKey)) {
- // Recache the key if it's invalid.
- if (mLocaleCache.get(mCacheKey).toLowerCase().contains(".name")) {
- mLocaleCache.remove(mCacheKey);
- String mNew = ItemUtils.simpleMetaStack(block, meta, 1).getDisplayName();
- //Logger.INFO("Re-caching "+mNew+" into locale cache.");
- mLocaleCache.put(mCacheKey, mNew);
- }
- //Logger.INFO("Returning Cached Value.");
- return mLocaleCache.get(mCacheKey);
- } else {
- Item item = Item.getItemFromBlock(block);
- if (item == null) {
- return "Bad Item";
- }
- String unlocalizedName = item.getUnlocalizedName(new ItemStack(block, 1, meta));
- String blockName = StatCollector.translateToLocal(unlocalizedName + ".name");
- if (blockName.toLowerCase().contains(".name")) {
- blockName = ItemUtils.simpleMetaStack(block, meta, 1).getDisplayName();
- }
- mLocaleCache.put(mCacheKey, blockName);
- //Logger.INFO("Cached New Value.");
- return blockName;
- }
+ return LangUtils.getLocalizedNameOfBlock(block, metaData);
}
public static boolean checkForInvalidItems(ItemStack mInput) {
@@ -1255,5 +1235,83 @@ public class ItemUtils {
}
return getNullStack();
}
+
+ public static ItemStack getItemListObject(String aObjectFromExperimentalName, String aReplacementName, int aAmount) {
+ ItemList aItemListObject = getItemListObject(aObjectFromExperimentalName, aReplacementName);
+ if (aItemListObject == ItemList.NULL || aItemListObject == null) {
+ return null;
+ }
+ else {
+ return aItemListObject.get(aAmount);
+ }
+ }
+
+ public static ItemStack getItemListObject(ItemList aItemListObject, int aAmount) {
+ if (aItemListObject == ItemList.NULL || aItemListObject == null) {
+ return null;
+ }
+ else {
+ return aItemListObject.get(aAmount);
+ }
+ }
+
+ public static ItemList getItemListObject(String aObjectFromExperimentalName, String aReplacementName) {
+ ItemList aVal = ItemList.valueOf(aObjectFromExperimentalName);
+ if (aVal != null) {
+ return aVal;
+ }
+ else {
+ aVal = ItemList.valueOf(aReplacementName);
+ if (aVal != null) {
+ return aVal;
+ }
+ else {
+ return ItemList.NULL;
+ }
+ }
+ }
+
+ public static boolean isControlCircuit(ItemStack aStack) {
+ if (aStack != null) {
+ Item aItem = aStack.getItem();
+ if (aItem == CI.getNumberedBioCircuit(0).getItem() || aItem == CI.getNumberedCircuit(0).getItem()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public static boolean isCatalyst(ItemStack aStack) {
+
+ if (GT_Utility.areStacksEqual(aStack, GenericChem.mBlueCatalyst, true)) {
+ return true;
+ }
+ if (GT_Utility.areStacksEqual(aStack, GenericChem.mBrownCatalyst, true)) {
+ return true;
+ }
+ if (GT_Utility.areStacksEqual(aStack, GenericChem.mOrangeCatalyst, true)) {
+ return true;
+ }
+ if (GT_Utility.areStacksEqual(aStack, GenericChem.mPurpleCatalyst, true)) {
+ return true;
+ }
+ if (GT_Utility.areStacksEqual(aStack, GenericChem.mRedCatalyst, true)) {
+ return true;
+ }
+ if (GT_Utility.areStacksEqual(aStack, GenericChem.mYellowCatalyst, true)) {
+ return true;
+ }
+ if (GT_Utility.areStacksEqual(aStack, GenericChem.mPinkCatalyst, true)) {
+ return true;
+ }
+ if (GT_Utility.areStacksEqual(aStack, AgriculturalChem.mGreenCatalyst, true)) {
+ return true;
+ }
+ return false;
+ }
+
+ public static String getLocalizedNameOfBlock(Block aBlock, int aMeta) {
+ return LangUtils.getLocalizedNameOfBlock(aBlock, aMeta);
+ }
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/LangUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/LangUtils.java
index 01d0efac54..0b24e962af 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/LangUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/LangUtils.java
@@ -7,7 +7,13 @@ import java.util.Properties;
import cpw.mods.fml.common.registry.LanguageRegistry;
import gregtech.api.util.GT_LanguageManager;
+import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
+import net.minecraft.block.Block;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.StatCollector;
public class LangUtils {
@@ -15,7 +21,7 @@ public class LangUtils {
public static boolean rewriteEntryForLanguageRegistry(String aKey, String aNewValue){
return rewriteEntryForLanguageRegistry("en_US", aKey, aNewValue);
}
-
+
@SuppressWarnings("unchecked")
public static boolean rewriteEntryForLanguageRegistry(String aLang, String aKey, String aNewValue){
LanguageRegistry aInstance = LanguageRegistry.instance();
@@ -43,7 +49,7 @@ public class LangUtils {
}
}
catch (IllegalArgumentException | IllegalAccessException e) {
-
+
}
}
return false;
@@ -52,5 +58,93 @@ public class LangUtils {
public static String trans(String aNr, String aEnglish) {
return GT_LanguageManager.addStringLocalization("Interaction_DESCRIPTION_Index_GTPP_" + aNr, aEnglish, false);
}
-
+
+
+
+ /**
+ * Quick Block Name Lookup that is friendly to servers and locale.
+ */
+ private static final Map<String, String> mLocaleCache = new HashMap<String, String>();
+
+ public static String getLocalizedNameOfBlock(Block aBlock, int aMeta) {
+ if (aBlock != null) {
+ return getLocalizedNameOfItemStack(ItemUtils.simpleMetaStack(aBlock, aMeta, 1));
+ }
+ return "Bad Block Name";
+ }
+
+ public static String getLocalizedNameOfItem(Item aItem, int aMeta) {
+ if (aItem != null) {
+ return getLocalizedNameOfItemStack(ItemUtils.simpleMetaStack(aItem, aMeta, 1));
+ }
+ return "Bad Item Name";
+ }
+
+ public static String getLocalizedNameOfItemStack(ItemStack aStack) {
+ String aUnlocalized;
+ if (aStack != null) {
+ aUnlocalized = ItemUtils.getUnlocalizedItemName(aStack)+"."+aStack.getItemDamage()+".name";
+ if (aUnlocalized == null || aUnlocalized.length() <= 0) {
+ return "Bad Locale Data";
+ }
+ String mCacheKey = aUnlocalized;
+ if (mLocaleCache.containsKey(mCacheKey)) {
+ // Recache the key if it's invalid.
+ if (mLocaleCache.get(mCacheKey).toLowerCase().contains(".name") || mLocaleCache.get(mCacheKey).toLowerCase().contains("|")) {
+ mLocaleCache.remove(mCacheKey);
+ String mNew;
+ try {
+ mNew = ("" + StatCollector
+ .translateToLocal(aStack.getItem().getUnlocalizedNameInefficiently(aStack) + ".name"))
+ .trim();
+ if (aStack.hasTagCompound()) {
+ if (aStack.stackTagCompound != null && aStack.stackTagCompound.hasKey("display", 10)) {
+ NBTTagCompound nbttagcompound = aStack.stackTagCompound.getCompoundTag("display");
+
+ if (nbttagcompound.hasKey("Name", 8)) {
+ mNew = nbttagcompound.getString("Name");
+ }
+ }
+ }
+ } catch (Throwable t) {
+ mNew = "ERROR - Empty Stack";
+ }
+ Logger.INFO("Re-caching "+mNew+" into locale cache. Key: "+mCacheKey);
+ mLocaleCache.put(mCacheKey, mNew);
+ }
+ Logger.INFO("Returning Cached Value. Key: "+mCacheKey);
+ return mLocaleCache.get(mCacheKey);
+ }
+ else {
+ String unlocalizedName = aStack.getItem().getUnlocalizedName(aStack);
+ Logger.INFO("Cached New Value. UnlocalName: "+unlocalizedName);
+ String blockName = StatCollector.translateToLocal(unlocalizedName + ".name");
+ Logger.INFO("Cached New Value. TranslatedName: "+unlocalizedName);
+ if (blockName.toLowerCase().contains(".name") || blockName.toLowerCase().contains("|")) {
+ try {
+ blockName = ("" + StatCollector
+ .translateToLocal(aStack.getItem().getUnlocalizedNameInefficiently(aStack) + ".name"))
+ .trim();
+ if (aStack.hasTagCompound()) {
+ if (aStack.stackTagCompound != null && aStack.stackTagCompound.hasKey("display", 10)) {
+ NBTTagCompound nbttagcompound = aStack.stackTagCompound.getCompoundTag("display");
+ if (nbttagcompound.hasKey("Name", 8)) {
+ blockName = nbttagcompound.getString("Name");
+ }
+ }
+ }
+ } catch (Throwable t) {
+ blockName = "ERROR - Empty Stack";
+ }
+ }
+ mLocaleCache.put(mCacheKey, blockName);
+ Logger.INFO("Cached New Value. Key: "+mCacheKey);
+ return blockName;
+ }
+
+ }
+ return "Bad ItemStack Name";
+ }
+
+
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
index 9c623bb9be..2108087542 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
@@ -352,7 +352,8 @@ public class MaterialUtils {
}
if (g == null) {
Logger.INFO("Failed finding material '"+aMaterialName+"' & fallback '"+aFallbackMaterialName+"', returning _NULL.");
- g = Materials._NULL;
+ CORE.crash();
+ //g = Materials._NULL;
}
return g;
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/NBTUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/NBTUtils.java
index 66abbded15..b0623d429d 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/NBTUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/NBTUtils.java
@@ -464,4 +464,15 @@ public class NBTUtils {
return ReflectionUtils.setField(aEntity, "customEntityData", aTag);
}
+ public static boolean hasTagCompound(ItemStack aStack) {
+ return aStack.hasTagCompound();
+ }
+
+ public static void createEmptyTagCompound(ItemStack aStack) {
+ if (!hasTagCompound(aStack)) {
+ NBTTagCompound aTag = new NBTTagCompound();
+ aStack.setTagCompound(aTag);
+ }
+ }
+
}
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
index 2fb7344a28..9a8a8e691c 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/PlayerUtils.java
@@ -1,10 +1,13 @@
package gtPlusPlus.core.util.minecraft;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.UUID;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-
+import gtPlusPlus.core.util.Utils;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
@@ -13,8 +16,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.server.MinecraftServer;
import net.minecraft.world.World;
-import gtPlusPlus.core.util.Utils;
-
public class PlayerUtils {
public static void messagePlayer(final EntityPlayer P, final String S){
@@ -100,18 +101,27 @@ public class PlayerUtils {
return null;
}
- @SideOnly(Side.SERVER)
public static ItemStack getItemStackInPlayersHand(final EntityPlayer player){
ItemStack heldItem = null;
- try{heldItem = player.getHeldItem();
- }catch(final NullPointerException e){
+ try{
+ heldItem = player.getHeldItem();
+ }
+ catch(final NullPointerException e){
e.printStackTrace();
return null;
}
if (heldItem != null){
return heldItem;
}
- return null;
+ else {
+ if (Utils.isClient()) {
+ heldItem = player.getItemInUse();
+ }
+ else {
+ heldItem = player.getCurrentEquippedItem();
+ }
+ }
+ return heldItem;
}
@SideOnly(Side.CLIENT)