aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-10-26 15:46:55 +0100
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-10-26 15:46:55 +0100
commit2cf05c4deaf3a26626853431f725d0ca375ffec3 (patch)
tree025ae135b88af6b9a0437a3721bcc2dec9ccc3e3 /src/Java
parente9dbe58c39b56d562bcdc17b1100a7c26ce7c10e (diff)
downloadGT5-Unofficial-2cf05c4deaf3a26626853431f725d0ca375ffec3.tar.gz
GT5-Unofficial-2cf05c4deaf3a26626853431f725d0ca375ffec3.tar.bz2
GT5-Unofficial-2cf05c4deaf3a26626853431f725d0ca375ffec3.zip
+ Added 4 new High-Tier Alloys. Lafium, Cinobite, Pikyonite & Abyssal.
+ Added missing Germanium Dust. + Added compatibility for Witchery. - Removed portability of Tanks for GTNH, tanks are still portable otherwise. $ Fixed calculations for automatic recipe generation, EBF and ABS recipe requirements for GT++ Alloys are now significantly increased. $ Fixed missing Control Core textures. % Cleaned up some recipe generation. % Improved Material.java.
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/api/objects/Logger.java8
-rw-r--r--src/Java/gtPlusPlus/core/common/compat/COMPAT_Witchery.java26
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java3
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java19
-rw-r--r--src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java165
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java26
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java9
-rw-r--r--src/Java/gtPlusPlus/core/item/general/ItemControlCore.java22
-rw-r--r--src/Java/gtPlusPlus/core/lib/CORE.java2
-rw-r--r--src/Java/gtPlusPlus/core/lib/LoadedMods.java6
-rw-r--r--src/Java/gtPlusPlus/core/material/ALLOY.java113
-rw-r--r--src/Java/gtPlusPlus/core/material/ELEMENT.java4
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java198
-rw-r--r--src/Java/gtPlusPlus/core/util/math/MathUtils.java107
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java38
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java41
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/AsmConfig.java9
-rw-r--r--src/Java/gtPlusPlus/preloader/asm/transformers/ClassTransformer_GT_BlockMachines_NBT.java28
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_TieredTank.java37
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java21
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/witchery/WitchUtils.java89
22 files changed, 667 insertions, 321 deletions
diff --git a/src/Java/gtPlusPlus/api/objects/Logger.java b/src/Java/gtPlusPlus/api/objects/Logger.java
index 8cb165ccb2..f994c40b52 100644
--- a/src/Java/gtPlusPlus/api/objects/Logger.java
+++ b/src/Java/gtPlusPlus/api/objects/Logger.java
@@ -112,15 +112,15 @@ public class Logger {
* Special Logger for Materials related content
*/
public static void MATERIALS(final String s) {
- /*if (CORE.DEVENV || CORE.DEBUG)
- modLogger.info("[Materials] "+s);*/
+ if (CORE.DEVENV || CORE.DEBUG)
+ modLogger.info("[Materials] "+s);
}
/**
* Special Logger for Debugging Materials related content
*/
public static void DEBUG_MATERIALS(final String s) {
- /*if (CORE.DEVENV || CORE.DEBUG)
- modLogger.info("[Debug][Materials] "+s);*/
+ if (CORE.DEVENV || CORE.DEBUG)
+ modLogger.info("[Debug][Materials] "+s);
}
/**
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_Witchery.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_Witchery.java
new file mode 100644
index 0000000000..cde6e3ae98
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_Witchery.java
@@ -0,0 +1,26 @@
+package gtPlusPlus.core.common.compat;
+
+import static gtPlusPlus.core.lib.LoadedMods.Witchery;
+
+import gregtech.api.util.GT_OreDictUnificator;
+
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import net.minecraft.item.ItemStack;
+
+public class COMPAT_Witchery {
+
+ public static void OreDict(){
+ run();
+ }
+
+ private static final void run(){
+ //Koboldite
+ ItemStack aKobolditeDust = ItemUtils.getItemStackWithMeta(Witchery, "witchery:ingredient", "Koboldite Dust", 148, 1);
+ ItemStack aKobolditeNugget = ItemUtils.getItemStackWithMeta(Witchery, "witchery:ingredient", "Koboldite Nugget", 149, 1);
+ ItemStack aKobolditeIngot = ItemUtils.getItemStackWithMeta(Witchery, "witchery:ingredient", "Koboldite Ingot", 150, 1);
+ if (aKobolditeDust != null) GT_OreDictUnificator.registerOre("dust"+"Koboldite", aKobolditeDust);
+ if (aKobolditeNugget != null) GT_OreDictUnificator.registerOre("nugget"+"Koboldite", aKobolditeNugget);
+ if (aKobolditeIngot != null) GT_OreDictUnificator.registerOre("ingot"+"Koboldite", aKobolditeIngot);
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
index c43fa3c9c0..c37369b00f 100644
--- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
+++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
@@ -163,6 +163,9 @@ public class COMPAT_HANDLER {
if (LoadedMods.PamsHarvestcraft){
COMPAT_HarvestCraft.OreDict();
}
+ if (LoadedMods.Witchery) {
+ COMPAT_Witchery.OreDict();
+ }
}
public static void RemoveRecipesFromOtherMods(){
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index eda11d2a38..5b8e8ab2a1 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -2,6 +2,8 @@ package gtPlusPlus.core.item;
import static gtPlusPlus.core.creative.AddToCreativeTab.*;
import static gtPlusPlus.core.lib.CORE.LOAD_ALL_CONTENT;
+import com.ibm.icu.util.RangeValueIterator.Element;
+
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.item.*;
@@ -368,9 +370,9 @@ public final class ModItems {
if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustLanthanum", 1) == null){
ItemUtils.generateSpecialUseDusts("Lanthanum", "Lanthanum", Materials.Lanthanum.mElement.name(), Utils.rgbtoHexValue(106, 127, 163));
}
- /*if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustGadolinium", 1) == null){
- ItemUtils.generateSpecialUseDusts("Gadolinium", "Gadolinium", "", Utils.rgbtoHexValue(Materials.Gadolinium.mRGBa[0], Materials.Gadolinium.mRGBa[1], Materials.Gadolinium.mRGBa[2]));
- }*/
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustGermanium", 1) == null){
+ ItemUtils.generateSpecialUseDusts("Germanium", "Germanium", "Ge", ELEMENT.getInstance().GERMANIUM.getRgbAsHex());
+ }
//Elements generate first so they can be used in compounds.
@@ -527,13 +529,20 @@ public final class ModItems {
}
MaterialGenerator.generate(ALLOY.TRINIUM_TITANIUM);
MaterialGenerator.generate(ALLOY.TRINIUM_NAQUADAH, false);
- MaterialGenerator.generate(ALLOY.TRINIUM_NAQUADAH_CARBON);
-
+ MaterialGenerator.generate(ALLOY.TRINIUM_NAQUADAH_CARBON);
+
+ //Top Tier Alloys
+ MaterialGenerator.generate(ALLOY.LAFIUM);
+ MaterialGenerator.generate(ALLOY.CINOBITE);
+ MaterialGenerator.generate(ALLOY.PIKYONIUM);
+ MaterialGenerator.generate(ALLOY.ABYSSAL);
+
//Must be the final Alloy to Generate
MaterialGenerator.generate(ALLOY.QUANTUM);
//Ores
MaterialGenerator.generateOreMaterial(FLUORIDES.FLUORITE);
+ MaterialGenerator.generateOreMaterial(ALLOY.KOBOLDITE);
GTplusplus_Everglades.GenerateOreMaterials();
diff --git a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java
index 6b4e3d8f4e..2be7b76f6c 100644
--- a/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java
+++ b/src/Java/gtPlusPlus/core/item/base/dusts/BaseItemDust.java
@@ -123,22 +123,21 @@ public class BaseItemDust extends Item{
protected final int sRadiation;
@Override
public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, final boolean p_77663_5_) {
- EntityUtils.applyRadiationDamageToEntity(iStack.stackSize, this.sRadiation, world, entityHolding);
+
+ if (this.dustInfo != null){
+ if (entityHolding instanceof EntityPlayer){
+ if (!((EntityPlayer) entityHolding).capabilities.isCreativeMode){
+ EntityUtils.applyRadiationDamageToEntity(iStack.stackSize, this.dustInfo.vRadiationLevel, world, entityHolding);
+ }
+ }
+ }
+
}
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
- //if (pileType != null && materialName != null && pileType != "" && materialName != "" && !pileType.equals("") && !materialName.equals("")){
- /*if (getUnlocalizedName().contains("DustTiny")){
- list.add(EnumChatFormatting.GRAY+"A tiny pile of " + materialName + " dust.");
- }
- else if (getUnlocalizedName().contains("DustSmall")){
- list.add(EnumChatFormatting.GRAY+"A small pile of " + materialName + " dust.");
- }
- else {
- list.add(EnumChatFormatting.GRAY+"A pile of " + materialName + " dust.");
- }*/
+
if (stack.getDisplayName().equalsIgnoreCase("fluorite")){
list.add("Mined from Sandstone and Limestone.");
}
@@ -167,143 +166,61 @@ public class BaseItemDust extends Item{
}
- private void addMacerationRecipe(){
- Logger.WARNING("Adding recipe for "+this.materialName+" Dusts");
-
- String tempIngot = this.getUnlocalizedName().replace("item.itemDust", "ingot");
- final String tempDust = this.getUnlocalizedName().replace("item.itemDust", "dust");
- ItemStack tempInputStack;
- ItemStack tempOutputStack;
+ private void addMacerationRecipe(){
- if (this.getUnlocalizedName().contains("DustSmall") || this.getUnlocalizedName().contains("DustTiny")){
- return;
- }
+ Logger.MATERIALS("Adding Maceration recipe for "+this.materialName+" Ingot -> Dusts");
+ final int chance = (this.mTier*10)/MathUtils.randInt(10, 20);
+ GT_ModHandler.addPulverisationRecipe(dustInfo.getIngot(1), dustInfo.getDust(1), null, chance);
+
+ }
- Logger.WARNING("Unlocalized name for OreDict nameGen: "+this.getUnlocalizedName());
- if (this.getUnlocalizedName().contains("item.")){
- tempIngot = this.getUnlocalizedName().replace("item.", "");
- Logger.WARNING("Generating OreDict Name: "+tempIngot);
- }
- else {
- tempIngot = this.getUnlocalizedName();
- }
+ private void addFurnaceRecipe(){
- tempIngot = tempIngot.replace("itemDust", "ingot");
- Logger.WARNING("Generating OreDict Name: "+tempIngot);
- final ItemStack[] outputStacks = {this.dustInfo.getDust(1)};
- if ((tempIngot != null) && !tempIngot.equals("")){
- tempInputStack = ItemUtils.getItemStackOfAmountFromOreDict(tempIngot, 1);
- tempOutputStack = ItemUtils.getItemStackOfAmountFromOreDict(tempDust, 1);
- ItemStack tempStackOutput2 = null;
- final int chance = (this.mTier*10)/MathUtils.randInt(10, 20);
- if (outputStacks.length != 0){
- if (outputStacks.length == 1){
- tempStackOutput2 = null;
- }
- else {
- if (!outputStacks[1].getUnlocalizedName().toLowerCase().contains("aaa_broken")){
- tempStackOutput2 = outputStacks[1];
- tempOutputStack = outputStacks[0];
- }
- else {
- tempStackOutput2 = null;
- }
- }
+ ItemStack aDust = dustInfo.getDust(1);
+ ItemStack aOutput;
+
+ if (this.dustInfo.requiresBlastFurnace()) {
+ aOutput = dustInfo.getHotIngot(1);
+ if (addBlastFurnaceRecipe(aDust, null, aOutput, null, dustInfo.getMeltingPointK())){
+ Logger.MATERIALS("Successfully added a blast furnace recipe for "+this.materialName);
}
else {
- tempStackOutput2 = null;
- }
- if ((null != tempOutputStack) && (null != tempInputStack)){
- if (ItemUtils.checkForInvalidItems(tempOutputStack) && ItemUtils.checkForInvalidItems(tempStackOutput2) && ItemUtils.checkForInvalidItems(tempInputStack)) {
- GT_ModHandler.addPulverisationRecipe(tempInputStack, tempOutputStack.splitStack(1), tempStackOutput2, chance);
- }
+ Logger.MATERIALS("Failed to add a blast furnace recipe for "+this.materialName);
}
}
- }
-
- private void addFurnaceRecipe(){
-
- String temp = "";
- if (this.getUnlocalizedName().contains("item.")){
- temp = this.getUnlocalizedName().replace("item.", "");
- }
else {
- temp = this.getUnlocalizedName();
- }
- if (temp.contains("DustTiny") || temp.contains("DustSmall")){
- return;
- }
- temp = temp.replace("itemDust", "ingot");
- if ((temp != null) && !temp.equals("")){
- ItemStack mThisStack = ItemUtils.getSimpleStack(this);
- if (this.dustInfo.requiresBlastFurnace()){
- Logger.WARNING("Adding recipe for Hot "+this.materialName+" Ingots in a Blast furnace.");
- final String tempIngot = temp.replace("ingot", "ingotHot");
- final ItemStack tempOutputStack = ItemUtils.getItemStackOfAmountFromOreDict(tempIngot, 1);
- if (null != tempOutputStack && tempOutputStack != ItemUtils.getSimpleStack(ModItems.AAA_Broken)){
- Logger.WARNING("This will produce "+tempOutputStack.getDisplayName() + " Debug: "+tempIngot);
- if (ItemUtils.checkForInvalidItems(tempOutputStack) && ItemUtils.checkForInvalidItems(mThisStack)) {
- this.addBlastFurnaceRecipe(mThisStack, null, tempOutputStack, null, 350*this.mTier);
- }
- }
- return;
+ aOutput = dustInfo.getIngot(1);
+ if (CORE.GT_Recipe.addSmeltingAndAlloySmeltingRecipe(aDust, aOutput)){
+ Logger.MATERIALS("Successfully added a furnace recipe for "+this.materialName);
}
- Logger.WARNING("Adding recipe for "+this.materialName+" Ingots in a furnace.");
- final ItemStack tempOutputStack = ItemUtils.getItemStackOfAmountFromOreDict(temp, 1);
- //Utils.LOG_WARNING("This will produce an ingot of "+tempOutputStack.getDisplayName() + " Debug: "+temp);
- if (null != tempOutputStack && tempOutputStack != ItemUtils.getSimpleStack(ModItems.AAA_Broken)){
- if ((this.mTier < 5) || !this.dustInfo.requiresBlastFurnace()){
- if (ItemUtils.checkForInvalidItems(tempOutputStack) && ItemUtils.checkForInvalidItems(mThisStack)) {
- if (CORE.GT_Recipe.addSmeltingAndAlloySmeltingRecipe(ItemUtils.getSimpleStack(this), tempOutputStack)){
- Logger.WARNING("Successfully added a furnace recipe for "+this.materialName);
- }
- else {
- Logger.WARNING("Failed to add a furnace recipe for "+this.materialName);
- }
- }
- }
- else if ((this.mTier >= 5) || this.dustInfo.requiresBlastFurnace()){
- Logger.WARNING("Adding recipe for "+this.materialName+" Ingots in a Blast furnace.");
- Logger.WARNING("This will produce "+tempOutputStack.getDisplayName());
- if (null != tempOutputStack && tempOutputStack != ItemUtils.getSimpleStack(ModItems.AAA_Broken)){
- if (ItemUtils.checkForInvalidItems(tempOutputStack) && ItemUtils.checkForInvalidItems(mThisStack)) {
- this.addBlastFurnaceRecipe(ItemUtils.getSimpleStack(this), null, tempOutputStack, null, 350*this.mTier);
- }
- }
- return;
- }
+ else {
+ Logger.MATERIALS("Failed to add a furnace recipe for "+this.materialName);
}
-
}
+
}
- private void addBlastFurnaceRecipe(final ItemStack input1, final ItemStack input2, final ItemStack output1, final ItemStack output2, final int tempRequired){
- //Special Cases
- /*if (input1.getUnlocalizedName().toLowerCase().contains("tantalloy61")){
- Utils.LOG_INFO("Adding Special handler for Staballoy-61 in the Blast Furnace");
- input2 = UtilsItems.getItemStackOfAmountFromOreDict("dustTantalloy60", 2);
- if (input2 == null){
- Utils.LOG_INFO("invalid itemstack.");
- }
- else {
- Utils.LOG_INFO("Found "+input2.getDisplayName());
- }
- }*/
+ private boolean addBlastFurnaceRecipe(final ItemStack input1, final ItemStack input2, final ItemStack output1, final ItemStack output2, final int tempRequired){
- int timeTaken = 250*this.mTier*20;
+ int timeTaken = 125*this.mTier*20;
if (this.mTier <= 4){
- timeTaken = 50*this.mTier*20;
+ timeTaken = 25*this.mTier*20;
+ }
+ int aSlot = mTier - 2;
+ if (aSlot < 2) {
+ aSlot = 2;
}
+ long aVoltage = GT_Values.V[aSlot >= 2 ? aSlot : 2];
- GT_Values.RA.addBlastRecipe(
+ return GT_Values.RA.addBlastRecipe(
input1,
input2,
GT_Values.NF, GT_Values.NF,
output1,
output2,
timeTaken,
- this.mTier*60,
+ (int) aVoltage,
tempRequired);
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
index 3da3c18836..eea1aed49f 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/CoalTar.java
@@ -47,23 +47,37 @@ public class CoalTar {
Coal_Gas = FluidUtils.generateFluidNonMolten("CoalGas", "Coal Gas", 500, new short[]{48, 48, 48, 100}, null, null);
//Ethanol
// v - Dehydrate cells to remove water
+
+
//Create Ethylene
- Ethylene = FluidUtils.generateFluidNonMolten("Ethylene", "Ethylene", -103, new short[]{255, 255, 255, 100}, null, null);
+ if (!FluidUtils.doesFluidExist("Ethylene")){
+ Ethylene = FluidUtils.generateFluidNonMolten("Ethylene", "Ethylene", -103, new short[]{255, 255, 255, 100}, null, null);
+ }
+ else {
+ Ethylene = FluidUtils.getWildcardFluidStack("Ethylene", 1).getFluid();
+ }
+
//Create Benzene - (Toluene + Hydrogen | 95% Benzene / 5% methane)
- Benzene = FluidUtils.generateFluidNonMolten("Benzene", "Benzene", 81, new short[]{150, 75, 0, 100}, null, null);
+ if (!FluidUtils.doesFluidExist("NitrousOxide")){
+ Benzene = FluidUtils.generateFluidNonMolten("Benzene", "Benzene", 81, new short[]{150, 75, 0, 100}, null, null);
+ }
+ else {
+ Benzene = FluidUtils.getWildcardFluidStack("Benzene", 1).getFluid();
+ }
+
//Create Ethylbenzene - Ethylbenzene is produced in on a large scale by combining benzene and ethylene in an acid-catalyzed chemical reaction
//Use Chemical Reactor
Ethylbenzene = FluidUtils.generateFluidNonMolten("Ethylbenzene", "Ethylbenzene", 136, new short[]{255, 255, 255, 100}, null, null);
//Create Anthracene
Anthracene = FluidUtils.generateFluidNonMolten("Anthracene", "Anthracene", 340, new short[]{255, 255, 255, 100}, null, null);
- //Toluene
- if (FluidUtils.getFluidStack("liquid_toluene", 1) == null){
+ //Toluene
+ if (!FluidUtils.doesFluidExist("Toluene")){
Toluene = FluidUtils.generateFluidNonMolten("Toluene", "Toluene", -95, new short[]{140, 70, 20, 100}, null, null);
}
else {
- Toluene = FluidUtils.getFluidStack("liquid_toluene", 1000).getFluid();
+ Toluene = FluidUtils.getWildcardFluidStack("Toluene", 1).getFluid();
Item itemCellToluene = new BaseItemComponent("Toluene", "Toluene", new short[]{140, 70, 20, 100});
- MaterialGenerator.addFluidCannerRecipe(ItemUtils.getEmptyCell(), ItemUtils.getSimpleStack(itemCellToluene), FluidUtils.getFluidStack("liquid_toluene", 1000), null);
+ MaterialGenerator.addFluidCannerRecipe(ItemUtils.getEmptyCell(), ItemUtils.getSimpleStack(itemCellToluene), FluidUtils.getFluidStack(Toluene, 1000), null);
}
//Create Coal Tar
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
index 7b5a90a64e..9bd8a521ab 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/RocketFuels.java
@@ -67,16 +67,11 @@ public class RocketFuels {
Nitrous_Oxide = FluidUtils.generateFluidNonMolten("NitrousOxide", "Nitrous Oxide", -91, new short[]{255, 255, 255, 100}, null, null);
//Nos
- if (FluidUtils.getFluidStack("NitrousOxide", 1) == null && FluidUtils.getFluidStack("nitrousoxide", 1) == null){
+ if (!FluidUtils.doesFluidExist("NitrousOxide")){
Nitrous_Oxide = FluidUtils.generateFluidNoPrefix("NitrousOxide", "Nitrous Oxide", -91, new short[]{255, 255, 255, 100});
}
else {
- if (FluidUtils.getFluidStack("NitrousOxide", 1) != null ) {
- Nitrous_Oxide = FluidUtils.getFluidStack("NitrousOxide", 1).getFluid();
- }
- else {
- Nitrous_Oxide = FluidUtils.getFluidStack("nitrousoxide", 1).getFluid();
- }
+ Nitrous_Oxide = FluidUtils.getWildcardFluidStack("NitrousOxide", 1).getFluid();
if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cellNitrousOxide", 1) == null){
new BaseItemComponent("NitrousOxide", "Nitrous Oxide", new short[] {10, 10, 175});
}
diff --git a/src/Java/gtPlusPlus/core/item/general/ItemControlCore.java b/src/Java/gtPlusPlus/core/item/general/ItemControlCore.java
index d8ec8944e9..8ad87c0ea8 100644
--- a/src/Java/gtPlusPlus/core/item/general/ItemControlCore.java
+++ b/src/Java/gtPlusPlus/core/item/general/ItemControlCore.java
@@ -10,7 +10,6 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
-import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.lib.CORE;
public class ItemControlCore extends Item {
@@ -29,16 +28,16 @@ public class ItemControlCore extends Item {
@Override
public void registerIcons(IIconRegister reg) {
- this.icons[0] = reg.registerIcon(CORE.MODID + ":" + "controlcore/core_0");
- this.icons[1] = reg.registerIcon(CORE.MODID + ":" + "controlcore/core_1");
- this.icons[2] = reg.registerIcon(CORE.MODID + ":" + "controlcore/core_2");
- this.icons[3] = reg.registerIcon(CORE.MODID + ":" + "controlcore/core_3");
- this.icons[4] = reg.registerIcon(CORE.MODID + ":" + "controlcore/core_4");
- this.icons[5] = reg.registerIcon(CORE.MODID + ":" + "controlcore/core_5");
- this.icons[6] = reg.registerIcon(CORE.MODID + ":" + "controlcore/core_6");
- this.icons[7] = reg.registerIcon(CORE.MODID + ":" + "controlcore/core_7");
- this.icons[8] = reg.registerIcon(CORE.MODID + ":" + "controlcore/core_8");
- this.icons[9] = reg.registerIcon(CORE.MODID + ":" + "controlcore/core_9");
+ this.icons[0] = reg.registerIcon(CORE.MODID + ":" + "controlcore/Core_0");
+ this.icons[1] = reg.registerIcon(CORE.MODID + ":" + "controlcore/Core_1");
+ this.icons[2] = reg.registerIcon(CORE.MODID + ":" + "controlcore/Core_2");
+ this.icons[3] = reg.registerIcon(CORE.MODID + ":" + "controlcore/Core_3");
+ this.icons[4] = reg.registerIcon(CORE.MODID + ":" + "controlcore/Core_4");
+ this.icons[5] = reg.registerIcon(CORE.MODID + ":" + "controlcore/Core_5");
+ this.icons[6] = reg.registerIcon(CORE.MODID + ":" + "controlcore/Core_6");
+ this.icons[7] = reg.registerIcon(CORE.MODID + ":" + "controlcore/Core_7");
+ this.icons[8] = reg.registerIcon(CORE.MODID + ":" + "controlcore/Core_8");
+ this.icons[9] = reg.registerIcon(CORE.MODID + ":" + "controlcore/Core_9");
}
@Override
@@ -46,6 +45,7 @@ public class ItemControlCore extends Item {
return this.icons[meta];
}
+ @SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public void getSubItems(Item item, CreativeTabs tab, List list) {
for (int i = 0; i < 10; i ++) {
diff --git a/src/Java/gtPlusPlus/core/lib/CORE.java b/src/Java/gtPlusPlus/core/lib/CORE.java
index 99092aed71..a6ffd96bbf 100644
--- a/src/Java/gtPlusPlus/core/lib/CORE.java
+++ b/src/Java/gtPlusPlus/core/lib/CORE.java
@@ -44,6 +44,7 @@ public class CORE {
public static boolean DEVENV = false;
public static boolean DEBUG = false;
+ public static boolean NBT_PERSISTENCY_PATCH_APPLIED = false;
//Only can be set in Dev, no config or setting elsewhere.
public static final boolean LOAD_ALL_CONTENT = false;;
@@ -114,6 +115,7 @@ public class CORE {
public static IGregtech_RecipeAdder sRecipeAdder;
public static IGregtech_RecipeAdder RA;
public static GregtechRecipe GT_Recipe = new GregtechRecipe();
+
public static final GT_Materials[] sMU_GeneratedMaterials = new GT_Materials[1000];
/**
diff --git a/src/Java/gtPlusPlus/core/lib/LoadedMods.java b/src/Java/gtPlusPlus/core/lib/LoadedMods.java
index 5426bb1a6a..2a7ef9bc39 100644
--- a/src/Java/gtPlusPlus/core/lib/LoadedMods.java
+++ b/src/Java/gtPlusPlus/core/lib/LoadedMods.java
@@ -52,6 +52,7 @@ public class LoadedMods {
public static boolean TecTech = false; //Technus' Mod
public static boolean TiCon = false;
public static boolean StevesCarts = false;
+ public static boolean Witchery = false;
@@ -279,6 +280,11 @@ public class LoadedMods {
TecTech = true;
Logger.INFO("Components enabled for: TecTech");
totalMods++;
+ }
+ if (Loader.isModLoaded("witchery")){
+ Witchery = true;
+ Logger.INFO("Components enabled for: Witchery");
+ totalMods++;
}
Logger.INFO("Content found for "+totalMods+" mods");
diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java
index e42a3e5501..23cb359ec9 100644
--- a/src/Java/gtPlusPlus/core/material/ALLOY.java
+++ b/src/Java/gtPlusPlus/core/material/ALLOY.java
@@ -13,6 +13,9 @@ public final class ALLOY {
public static final Material INVAR = MaterialUtils.generateMaterialFromGtENUM(Materials.Invar);
public static final Material KANTHAL = MaterialUtils.generateMaterialFromGtENUM(Materials.Kanthal);
public static final Material NICHROME = MaterialUtils.generateMaterialFromGtENUM(Materials.Nichrome);
+ public static final Material TUNGSTENSTEEL = MaterialUtils.generateMaterialFromGtENUM(Materials.TungstenSteel);
+ public static final Material STAINLESSSTEEL = MaterialUtils.generateMaterialFromGtENUM(Materials.StainlessSteel);
+ public static final Material OSMIRIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Osmiridium);
public static final Material ENERGYCRYSTAL = new Material(
"Energy Crystal", //Material Name
@@ -614,14 +617,120 @@ public final class ALLOY {
});
+ public static final Material KOBOLDITE = new Material(
+ "Koboldite", //Material Name
+ MaterialState.SOLID, //State
+ new short[]{80, 210, 255, 0}, //Material Colour
+ -1, //Melting Point in C
+ -1,
+ -1,
+ -1,
+ true, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ELEMENT.getInstance().NICKEL, 35),
+ new MaterialStack(ELEMENT.getInstance().THAUMIUM, 30),
+ new MaterialStack(ELEMENT.getInstance().IRON, 35)
+ });
+
+ /*
+ * Top Tier Alloys
+ */
+
+ //0lafe Compound
+ public static final Material LAFIUM = new Material(
+ "Lafium Compound", //Material Name
+ MaterialState.SOLID, //State
+ new short[]{75,180,255, 0}, //Material Colour
+ 6750, //Melting Point in C
+ 9865, //Boiling Point in C
+ -1,
+ -1,
+ true, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ALLOY.HASTELLOY_N, 8),
+ new MaterialStack(ELEMENT.getInstance().NAQUADAH, 4),
+ new MaterialStack(ELEMENT.getInstance().SAMARIUM, 2),
+ new MaterialStack(ELEMENT.getInstance().TUNGSTEN, 4),
+ new MaterialStack(ELEMENT.getInstance().ARGON, 2),
+ new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 6),
+ new MaterialStack(ELEMENT.getInstance().NICKEL, 8),
+ new MaterialStack(ELEMENT.getInstance().CARBON, 2)
+ });
-
+ //Cinobi Alloy
+ public static final Material CINOBITE = new Material(
+ "Cinobite A243", //Material Name
+ MaterialState.SOLID, //State
+ new short[]{255,75,45, 0}, //Material Colour
+ 7350, //Melting Point in C
+ 12565, //Boiling Point in C
+ -1,
+ -1,
+ true, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ALLOY.ZERON_100, 16),
+ new MaterialStack(ELEMENT.getInstance().NAQUADRIA, 7),
+ new MaterialStack(ELEMENT.getInstance().GADOLINIUM, 5),
+ new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 3),
+ new MaterialStack(ELEMENT.getInstance().MERCURY, 2),
+ new MaterialStack(ELEMENT.getInstance().TIN, 2),
+ new MaterialStack(ELEMENT.getInstance().TITANIUM, 12),
+ new MaterialStack(ALLOY.OSMIRIDIUM, 6)
+ });
+
+ //Piky Alloy
+ public static final Material PIKYONIUM = new Material(
+ "Pikyonium 64B", //Material Name
+ MaterialState.SOLID, //State
+ new short[]{110,255,20, 0}, //Material Colour
+ 7850, //Melting Point in C
+ 11765, //Boiling Point in C
+ -1,
+ -1,
+ true, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ALLOY.INCONEL_792, 16),
+ new MaterialStack(ALLOY.EGLIN_STEEL, 10),
+ new MaterialStack(ELEMENT.getInstance().NAQUADAH_ENRICHED, 8),
+ new MaterialStack(ELEMENT.getInstance().CERIUM, 6),
+ new MaterialStack(ELEMENT.getInstance().ANTIMONY, 4),
+ new MaterialStack(ELEMENT.getInstance().PLATINUM, 4),
+ new MaterialStack(ELEMENT.getInstance().YTTERBIUM, 2),
+ new MaterialStack(ALLOY.TUNGSTENSTEEL, 8)
+ });
+
+ //Piky Alloy
+ public static final Material ABYSSAL = new Material(
+ "Abyssal Alloy", //Material Name
+ MaterialState.SOLID, //State
+ new short[]{85,0,85, 0}, //Material Colour
+ 9650, //Melting Point in C
+ 13765, //Boiling Point in C
+ -1,
+ -1,
+ true, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ALLOY.STAINLESSSTEEL, 10),
+ new MaterialStack(ALLOY.TUNGSTEN_CARBIDE, 10),
+ new MaterialStack(ALLOY.NICHROME, 10),
+ new MaterialStack(ALLOY.BRONZE, 10),
+ new MaterialStack(ALLOY.INCOLOY_MA956, 10),
+ new MaterialStack(ELEMENT.getInstance().IODINE, 2),
+ new MaterialStack(ELEMENT.getInstance().RADON, 2),
+ new MaterialStack(ELEMENT.getInstance().GERMANIUM, 2),
+ });
+
//Quantum
public static final Material QUANTUM = new Material(
"Quantum", //Material Name
MaterialState.SOLID, //State
new short[]{128, 128, 255, 50}, //Material Colour
- 9999, //Melting Point in C
+ 9500, //Melting Point in C
25000, //Boiling Point in C
150, //Protons
200, //Neutrons
diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java
index fd8df711e9..9f37164aa0 100644
--- a/src/Java/gtPlusPlus/core/material/ELEMENT.java
+++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java
@@ -125,6 +125,8 @@ public final class ELEMENT {
//Fictional
public final Material YELLORIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Yellorium, new short[] {255, 242, 10});
public final Material NAQUADAH = MaterialUtils.generateMaterialFromGtENUM(Materials.Naquadah);
+ public final Material NAQUADAH_ENRICHED = MaterialUtils.generateMaterialFromGtENUM(Materials.NaquadahEnriched);
+ public final Material NAQUADRIA = MaterialUtils.generateMaterialFromGtENUM(Materials.Naquadria);
public final Material TRINIUM;
public final Material TRINIUM_REFINED;
//https://github.com/Blood-Asp/GT5-Unofficial/issues/609
@@ -142,6 +144,8 @@ public final class ELEMENT {
public final Material POLONIUM210 = new Material("Polonium-210", MaterialState.SOLID, Materials.Plutonium241.mIconSet, POLONIUM.vDurability, POLONIUM.getRGBA(), POLONIUM.getMeltingPointK(), POLONIUM.getBoilingPointK(), 84, 126, false, StringUtils.superscript("210Po"), 2, false);//Not a GT Inherited Material
public final Material AMERICIUM241 = new Material("Americium-241", MaterialState.SOLID, Materials.Americium.mIconSet, Materials.Americium.mDurability, Materials.Americium.mRGBa, Materials.Americium.mMeltingPoint, Materials.Americium.mBlastFurnaceTemp, 95, 146, false, StringUtils.superscript("241Am"), 2, false);//Not a GT Inherited Material
+ public final Material MAGIC = MaterialUtils.generateMaterialFromGtENUM(Materials.Magic, new short[] {10, 185, 140});
+ public final Material THAUMIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Thaumium);
static {
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index 01999ecbd4..4dd88030bd 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -255,17 +255,39 @@ public class Material {
this.isRadioactive = true;
this.vRadiationLevel = (byte) radiationLevel;
}
- else {
- Logger.MATERIALS(this.getLocalizedName()+" is not radioactive.");
- this.isRadioactive = false;
- this.vRadiationLevel = 0;
+ else {
+ if (vMaterialInput.size() > 0) {
+ AutoMap<Byte> aDataSet = new AutoMap<Byte>();
+ for (MaterialStack m : this.vMaterialInput) {
+ aDataSet.put(m.getStackMaterial().vRadiationLevel);
+ }
+ byte aA