aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java14
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java10
-rw-r--r--src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java237
-rw-r--r--src/Java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java44
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/IonParticles.java49
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java77
-rw-r--r--src/Java/gtPlusPlus/core/material/ALLOY.java22
-rw-r--r--src/Java/gtPlusPlus/core/material/ELEMENT.java8
-rw-r--r--src/Java/gtPlusPlus/core/material/ORES.java2
-rw-r--r--src/Java/gtPlusPlus/core/material/Particle.java7
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java10
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java25
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java215
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java4
-rw-r--r--src/resources/assets/miscutils/lang/en_US.lang664
16 files changed, 1254 insertions, 144 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index 077efe102a..c92d38f46a 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -167,12 +167,6 @@ public class GTplusplus implements ActionListener {
mChunkLoading.init(event);
proxy.init(event);
proxy.registerNetworkStuff();
-
- //Set Variables for Fluorite Block handling
- Logger.INFO("Setting some Variables for the block break event handler.");
- BlockEventHandler.oreLimestone = OreDictionary.getOres("oreLimestone");
- BlockEventHandler.blockLimestone = OreDictionary.getOres("limestone");
- BlockEventHandler.fluoriteOre = FLUORIDES.FLUORITE.getOre(1);
Core_Manager.init();
//Used by foreign players to generate .lang files for translation.
@@ -190,7 +184,13 @@ public class GTplusplus implements ActionListener {
proxy.postInit(event);
BookHandler.runLater();
Core_Manager.postInit();
- SprinklerHandler.registerModFerts();
+ //SprinklerHandler.registerModFerts();
+
+ //Set Variables for Fluorite Block handling
+ Logger.INFO("Setting some Variables for the block break event handler.");
+ BlockEventHandler.oreLimestone = OreDictionary.getOres("oreLimestone");
+ BlockEventHandler.blockLimestone = OreDictionary.getOres("limestone");
+ BlockEventHandler.fluoriteOre = FLUORIDES.FLUORITE.getOre(1);
Logger.INFO("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Logger.INFO("| Recipes succesfully Loaded: " + RegistrationHandler.recipesSuccess + " | Failed: "
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index 04470b3554..2fd23ec88d 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -37,8 +37,10 @@ import gtPlusPlus.core.item.base.plates.BaseItemPlateDouble;
import gtPlusPlus.core.item.bauble.HealthBoostBauble;
import gtPlusPlus.core.item.bauble.ModularBauble;
import gtPlusPlus.core.item.chemistry.CoalTar;
+import gtPlusPlus.core.item.chemistry.IonParticles;
import gtPlusPlus.core.item.chemistry.NuclearChem;
import gtPlusPlus.core.item.chemistry.RocketFuels;
+import gtPlusPlus.core.item.chemistry.StandardBaseParticles;
import gtPlusPlus.core.item.effects.RarityUncommon;
import gtPlusPlus.core.item.general.*;
import gtPlusPlus.core.item.general.books.ItemBaseBook;
@@ -536,6 +538,7 @@ public final class ModItems {
MaterialGenerator.generate(ALLOY.MARAGING250);
MaterialGenerator.generate(ALLOY.MARAGING300);
MaterialGenerator.generate(ALLOY.MARAGING350);
+ MaterialGenerator.generate(ALLOY.AQUATIC_STEEL);
MaterialGenerator.generate(ALLOY.NITINOL_60);
@@ -811,11 +814,8 @@ public final class ModItems {
dustTechnetium99M = new DustDecayable("dustTechnetium99M", ELEMENT.getInstance().TECHNETIUM.getRgbAsHex(), 8570, new String[] {""+StringUtils.superscript("99ᵐTc"), "Result: Technicium 99 ("+StringUtils.superscript("99Tc")+")"}, dustTechnetium99, 4);
dustMolybdenum99 = new DustDecayable("dustMolybdenum99", ELEMENT.getInstance().MOLYBDENUM.getRgbAsHex(), 16450, new String[] {""+StringUtils.superscript("99Mo"), "Result: Technicium 99ᵐ ("+StringUtils.superscript("99ᵐTc")+")"}, dustTechnetium99M, 4);
- new BaseItemParticle(ELEMENT.getInstance().HYDROGEN, "Ion");
- new BaseItemParticle(ELEMENT.getInstance().HELIUM, "Ion");
- new BaseItemParticle(ELEMENT.getInstance().LITHIUM, "Ion");
- new BaseItemParticle(ELEMENT.getInstance().BERYLLIUM, "Ion");
-
+ new IonParticles();
+ new StandardBaseParticles();
diff --git a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
index ec0b490f63..4dbb5851f2 100644
--- a/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
+++ b/src/Java/gtPlusPlus/core/item/base/BaseItemComponent.java
@@ -7,15 +7,6 @@ import java.util.Map;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-
-import net.minecraft.client.renderer.texture.IIconRegister;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraft.util.IIcon;
-import net.minecraft.world.World;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TextureSet;
import gregtech.api.util.GT_OreDictUnificator;
@@ -32,15 +23,23 @@ import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.sys.KeyboardUtils;
import gtPlusPlus.xmod.thaumcraft.aspect.GTPP_Aspects;
import gtPlusPlus.xmod.thaumcraft.util.ThaumcraftUtils;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
public class BaseItemComponent extends Item{
private final static Class<TextureSet> mTextureSetPreload;
-
+
static {
mTextureSetPreload = TextureSet.class;
}
-
+
public final Material componentMaterial;
public final String materialName;
public final String unlocalName;
@@ -62,9 +61,9 @@ public class BaseItemComponent extends Item{
//this.setTextureName(this.getCorrectTextures());
this.componentColour = material.getRgbAsHex();
GameRegistry.registerItem(this, this.unlocalName);
-
+
//if (componentType != ComponentTypes.DUST)
-
+
GT_OreDictUnificator.registerOre(componentType.getOreDictName()+material.getUnlocalizedName(), ItemUtils.getSimpleStack(this));
if (LoadedMods.Thaumcraft) {
ThaumcraftUtils.addAspectToItem(ItemUtils.getSimpleStack(this), GTPP_Aspects.METALLUM, 1);
@@ -91,7 +90,7 @@ public class BaseItemComponent extends Item{
GT_OreDictUnificator.registerOre(ComponentTypes.CELL.getOreDictName()+unlocalName, ItemUtils.getSimpleStack(this));
registerComponent();
}
-
+
public boolean registerComponent() {
if (this.componentMaterial == null) {
return false;
@@ -197,6 +196,7 @@ public class BaseItemComponent extends Item{
super.addInformation(stack, aPlayer, list, bool);
}
+ @SuppressWarnings("unchecked")
@Override
public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, final boolean p_77663_5_) {
if (this.componentMaterial != null){
@@ -206,6 +206,19 @@ public class BaseItemComponent extends Item{
}
}
}
+
+ if (extraData != null) {
+ if (componentMaterial != null && componentMaterial.getRGBA()[3] > 1) {
+ if (((Map<Integer, Short[]>) extraData).get(9999) == null) {
+ ((Map<Integer, Short[]>) extraData).put(9999, new Short[] {0});
+ }
+ Short aCurrentFrame = ((Map<Integer, Short[]>) extraData).get(9999)[0];
+ short fC = (short) (aCurrentFrame >= Short.MAX_VALUE ? 0 : aCurrentFrame+1);
+ ((Map<Integer, Short[]>) extraData).put((int) 9999, new Short[] {(short) (fC), 0});
+ ((Map<Integer, Short[]>) extraData).put((int) 9998, new Short[] {aCurrentFrame, 0});
+
+ }
+ }
}
@@ -221,15 +234,209 @@ public class BaseItemComponent extends Item{
return (CORE.ConfigSwitches.useGregtechTextures ? true : false);
}
+ @SuppressWarnings("unchecked")
@Override
public int getColorFromItemStack(final ItemStack stack, final int renderPass) {
+
+
if (renderPass == 0 && !CORE.ConfigSwitches.useGregtechTextures){
return Utils.rgbtoHexValue(255, 255, 255);
}
if (renderPass == 1 && CORE.ConfigSwitches.useGregtechTextures){
return Utils.rgbtoHexValue(255, 255, 255);
}
+
+
+
+ try {
+ if (this.componentMaterial == null) {
+ if (extraData != null) {
+ if (short.class.isInstance(extraData)){
+ short[] abc = (short[]) extraData;
+ return Utils.rgbtoHexValue(abc[0], abc[1], abc[2]);
+ }
+ }
+ return this.componentColour;
+ }
+
+ if (this.componentMaterial.getRGBA()[3] <= 1) {
+ return this.componentColour;
+ }
+ else {
+
+ //Mild Glow Effect
+ if (this.componentMaterial.getRGBA()[3] == 2) {
+ if (extraData == null) {
+ extraData = new HashMap<Integer, Short[]>();
+ ((Map<Integer, Short[]>) extraData).put((int) Short.MAX_VALUE, new Short[] {0});
+ ((Map<Integer, Short[]>) extraData).put((int) Short.MAX_VALUE-1, new Short[] {0});
+ short[] er = this.componentMaterial.getRGBA();
+ short value = 1;
+ Short[] ht = new Short[] {er[0], er[1], er[2]};
+ for (int y = 0; y < 40; y++) {
+ if (y < 20) {
+ value = 1;
+ }
+ else {
+ value = -1;
+ }
+ short r = (short) (ht[0] + value);
+ short g = (short) (ht[1] + value);
+ short b = (short) (ht[2] + value);
+ Short[] qq = new Short[] {(short) Math.min(255, r), (short) Math.min(255, g), (short) Math.min(255, b)};
+ ht = qq;
+ ((Map<Integer, Short[]>) extraData).put(y, qq);
+ }
+ }
+ if (extraData != null) {
+
+ Short aCurrentFrame = ((Map<Integer, Short[]>) extraData).get((int) Short.MAX_VALUE)[0];
+ Short aSize = 40;
+ short nextFrame = (short) ((aCurrentFrame < aSize) ? (aCurrentFrame+1) : 0);
+ Short[] aCurrentFrameRGB = ((Map<Integer, Short[]>) extraData).get(aCurrentFrame < aSize ? (int) aCurrentFrame : 0);
+ ((Map<Integer, Short[]>) extraData).put((int) Short.MAX_VALUE, new Short[] {nextFrame});
+ return Utils.rgbtoHexValue(aCurrentFrameRGB[0], aCurrentFrameRGB[1], aCurrentFrameRGB[2]);
+
+
+ /*Short aCurrentFrame = ((Map<Integer, Short[]>) extraData).get((int) Short.MAX_VALUE)[0];
+ Short[] aCurrentFrameRGB = ((Map<Integer, Short[]>) extraData).get((int) aCurrentFrame);
+ short nextFrame = aCurrentFrame < 40 ? aCurrentFrame++ : 0;
+ ((Map<Integer, Short[]>) extraData).put((int) Short.MAX_VALUE, new Short[] {nextFrame});
+ return Utils.rgbtoHexValue(aCurrentFrameRGB[0], aCurrentFrameRGB[1], aCurrentFrameRGB[2]);*/
+ }
+ }
+
+ //Rainbow Hue Cycle
+ else if (this.componentMaterial.getRGBA()[3] == 3) {
+ if (extraData == null) {
+ extraData = new HashMap<Integer, Short[]>();
+ ((Map<Integer, Short[]>) extraData).put((int) Short.MAX_VALUE, new Short[] {0});
+ ((Map<Integer, Short[]>) extraData).put((int) Short.MAX_VALUE-1, new Short[] {0});
+ int aSlot = 0;
+
+ //Let's say you're starting with green:
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 0});
+ //Slowly start adding in some red to get to yellow:
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 51, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 51, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 51, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {102, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {102, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {102, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {153, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {153, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {153, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {204, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {204, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {204, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 255, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 255, 0});
+ //Then, take out the green to get to red:
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 204, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 204, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 204, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 153, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 153, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 153, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 102, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 102, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 102, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 51, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 51, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 51, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 0});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 0});
+ //Now, add blue to get to purple:
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 51});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 51});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 51});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 102});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 102});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 102});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 153});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 153});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 153});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 204});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 204});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 204});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {255, 0, 255});
+ //Then, remove red to get to blue:
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {204, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {204, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {204, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {153, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {153, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {153, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {102, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {102, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] {102, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 51, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 51, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 51, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 0, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 0, 255});
+ //Add the green back in to get to cyan:
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 51, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 51, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 51, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 102, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 102, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 102, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 153, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 153, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 153, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 204, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 204, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 204, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 255});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 255});
+ //And finally remove the blue to get back to green:
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 204});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 204});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 204});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 153});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 153});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 153});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 102});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 102});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 102});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 51});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 51});
+ ((Map<Integer, Short[]>) extraData).put(aSlot++, new Short[] { 0, 255, 51});
+ ((Map<Integer, Short[]>) extraData).put((int) Byte.MAX_VALUE, new Short[] {(short) (((Map<Integer, Short[]>) extraData).size()-1)});
+
+
+ }
+ if (extraData != null) {
+ Short aCurrentFrame = ((Map<Integer, Short[]>) extraData).get((int) Short.MAX_VALUE)[0];
+ Short aSize = (short) (((Map<Integer, Short[]>) extraData).size() - 3);
+ short nextFrame = (short) ((aCurrentFrame < aSize) ? (aCurrentFrame+1) : 0);
+ Short[] aCurrentFrameRGB = ((Map<Integer, Short[]>) extraData).get(aCurrentFrame < aSize ? (int) aCurrentFrame : 0);
+ ((Map<Integer, Short[]>) extraData).put((int) Short.MAX_VALUE, new Short[] {nextFrame});
+ return Utils.rgbtoHexValue(aCurrentFrameRGB[0], aCurrentFrameRGB[1], aCurrentFrameRGB[2]);
+ }
+ }
+ }
+
+
+ }
+ catch (Throwable t) {
+
+ }
return this.componentColour;
+
+
+
+
+
}
@Override
@@ -307,7 +514,7 @@ public class BaseItemComponent extends Item{
public OrePrefixes getGtOrePrefix() {
return this.a_GT_EQUAL;
}
-
+
}
}
diff --git a/src/Java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java b/src/Java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java
index 363b9ad00d..89cd1e55ae 100644
--- a/src/Java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java
+++ b/src/Java/gtPlusPlus/core/item/base/misc/BaseItemParticle.java
@@ -1,26 +1,54 @@
package gtPlusPlus.core.item.base.misc;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.item.base.CoreItem;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.material.Material;
+import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
-public class BaseItemParticle extends CoreItem {
-
- private final Material mParticleMaterial;
+public abstract class BaseItemParticle extends CoreItem {
+
+ protected static final Map<Integer, Integer> aColourMap = new LinkedHashMap<Integer, Integer> ();
+ private final int aMaxCount;
- public BaseItemParticle(Material aMat, String aType) {
- super("particle"+aMat.getLocalizedName()+aType, aMat.getLocalizedName()+" "+aType, AddToCreativeTab.tabOther, 64, 0, new String[] {}, EnumRarity.rare, EnumChatFormatting.DARK_AQUA, false, null);
+ public BaseItemParticle(String aType, int aCount, EnumRarity aRarity) {
+ super("particle"+aType, aType, AddToCreativeTab.tabOther, 64, 0, new String[] {}, aRarity, EnumChatFormatting.DARK_AQUA, false, null);
this.setTextureName(CORE.MODID + ":" + "science/Atom");
- mParticleMaterial = aMat;
+ aMaxCount = aCount;
+ this.setHasSubtypes(true);
+
}
@Override
public int getColorFromItemStack(final ItemStack stack, final int HEX_OxFFFFFF) {
- return this.mParticleMaterial.getRgbAsHex();
+ return aColourMap.get(stack.getItemDamage());
+ }
+
+
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ @Override
+ public void getSubItems(Item item, CreativeTabs tab, List list) {
+ for (int i = 0; i < aMaxCount; i ++) {
+ list.add(new ItemStack(item, 1, i));
+ }
}
+
+ @Override
+ public final String getItemStackDisplayName(final ItemStack tItem) {
+ String aReturnValue = super.getItemStackDisplayName(tItem);
+ String[] a2 = getAffixes();
+ aReturnValue = (a2[0] + aReturnValue + a2[1]);
+ return aReturnValue;
+ }
+
+ public abstract String[] getAffixes();
+
}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/IonParticles.java b/src/Java/gtPlusPlus/core/item/chemistry/IonParticles.java
new file mode 100644
index 0000000000..ff5f67d2da
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/chemistry/IonParticles.java
@@ -0,0 +1,49 @@
+package gtPlusPlus.core.item.chemistry;
+
+import gregtech.api.enums.Materials;
+import gtPlusPlus.core.item.base.misc.BaseItemParticle;
+import gtPlusPlus.core.util.Utils;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.ItemStack;
+
+public class IonParticles extends BaseItemParticle {
+
+ public IonParticles() {
+ super("Ion", aElements.length, EnumRarity.rare);
+ }
+
+ private static final String[] aElements = new String[]{"Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminum", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon", "Potassium", "Calcium", "Scandium", "Titanium", "Vanadium", "Chromium", "Manganese", "Iron", "Cobalt", "Nickel", "Copper", "Zinc", "Gallium", "Germanium", "Arsenic", "Selenium", "Bromine", "Krypton", "Rubidium", "Strontium", "Yttrium", "Zirconium", "Niobium", "Molybdenum", "Technetium", "Ruthenium", "Rhodium", "Palladium", "Silver", "Cadmium", "Indium", "Tin", "Antimony", "Tellurium", "Iodine", "Xenon", "Cesium", "Barium", "Lanthanum", "Cerium", "Praseodymium", "Neodymium", "Promethium", "Samarium", "Europium", "Gadolinium", "Terbium", "Dysprosium", "Holmium", "Erbium", "Thulium", "Ytterbium", "Lutetium", "Hafnium", "Tantalum", "Tungsten", "Rhenium", "Osmium", "Iridium", "Platinum", "Gold", "Mercury", "Thallium", "Lead", "Bismuth", "Polonium", "Astatine", "Radon", "Francium", "Radium", "Actinium", "Thorium", "Protactinium", "Uranium", "Neptunium", "Plutonium", "Americium", "Curium", "Berkelium", "Californium", "Einsteinium", "Fermium", "Mendelevium", "Nobelium", "Lawrencium", "Rutherfordium", "Dubnium", "Seaborgium", "Bohrium", "Hassium", "Meitnerium", "Darmstadtium", "Roentgenium", "Copernicium", "Nihonium", "Flerovium", "Moscovium", "Livermorium", "Tennessine", "Oganesson"};
+
+ static {
+ //Generate Ions
+ int key = 0;
+ for (String s : aElements) {
+ Materials m = Materials.get(s);
+ int aColour = 0;
+ if (m == null) {
+ aColour = Utils.rgbtoHexValue(128, 128, 128);
+ }
+ else {
+ aColour = Utils.rgbtoHexValue(m.mRGBa[0], m.mRGBa[1], m.mRGBa[2]);
+ }
+ aColourMap.put(key++, aColour);
+ }
+
+ }
+
+ @Override
+ public String[] getAffixes() {
+ return new String[] {"", ""};
+ }
+
+ @Override
+ public String getUnlocalizedName() {
+ return "";
+ }
+
+ @Override
+ public String getUnlocalizedName(final ItemStack itemStack) {
+ return "item.particle.ion" + "." + aElements[itemStack.getItemDamage()];
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java b/src/Java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java
new file mode 100644
index 0000000000..dd07d41b3d
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/chemistry/StandardBaseParticles.java
@@ -0,0 +1,77 @@
+package gtPlusPlus.core.item.chemistry;
+
+import gregtech.api.enums.Materials;
+import gtPlusPlus.core.item.base.misc.BaseItemParticle;
+import gtPlusPlus.core.material.Particle;
+import gtPlusPlus.core.material.Particle.ElementaryGroup;
+import gtPlusPlus.core.util.Utils;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.ItemStack;
+
+public class StandardBaseParticles extends BaseItemParticle {
+
+ public StandardBaseParticles() {
+ super("Base", aTypes.length, EnumRarity.rare);
+ }
+
+ private static final String[] aTypes = new String[] { "Graviton", "Up", "Down", "Charm", "Strange", "Top",
+ "Bottom", "Electron", "Electron Neutrino", "Muon", "Muon Neutrino", "Tau", "Tau Neutrino", "Gluon",
+ "Photon", "Z Boson", "W Boson", "Higgs Boson", "Proton", "Neutron", "Lambda", "Omega", "Pion",
+ "ETA Meson", };
+
+ static {
+ //Generate Ions
+ int key = 0;
+ for (String s : aTypes) {
+ Particle p;
+ for (Particle o : Particle.aMap) {
+ int aColour = 0;
+ if (o.mParticleName.toLowerCase().equals(s.toLowerCase())) {
+ if (o.mParticleType == ElementaryGroup.BARYON) {
+ aColour = Utils.rgbtoHexValue(174, 226, 156);
+ aColourMap.put(key++, aColour);
+ }
+ else if (o.mParticleType == ElementaryGroup.BOSON) {
+ if (o == Particle.HIGGS_BOSON) {
+ aColour = Utils.rgbtoHexValue(226, 196, 104);
+ aColourMap.put(key++, aColour);
+ }
+ else {
+ aColour = Utils.rgbtoHexValue(226, 52, 66);
+ aColourMap.put(key++, aColour);
+ }
+ }
+ else if (o.mParticleType == ElementaryGroup.LEPTON) {
+ aColour = Utils.rgbtoHexValue(126, 226, 95);
+ aColourMap.put(key++, aColour);
+ }
+ else if (o.mParticleType == ElementaryGroup.MESON) {
+ aColour = Utils.rgbtoHexValue(90, 154, 226);
+ aColourMap.put(key++, aColour);
+ }
+ else {
+ aColour = Utils.rgbtoHexValue(188, 61, 226);
+ aColourMap.put(key++, aColour);
+ }
+ }
+ }
+ }
+
+ }
+
+ @Override
+ public String[] getAffixes() {
+ return new String[] {"", ""};
+ }
+
+ @Override
+ public String getUnlocalizedName() {
+ return "";
+ }
+
+ @Override
+ public String getUnlocalizedName(final ItemStack itemStack) {
+ return "item.particle.base" + "." + aTypes[itemStack.getItemDamage()];
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/material/ALLOY.java b/src/Java/gtPlusPlus/core/material/ALLOY.java
index 6a659fc165..a27cace300 100644
--- a/src/Java/gtPlusPlus/core/material/ALLOY.java
+++ b/src/Java/gtPlusPlus/core/material/ALLOY.java
@@ -280,6 +280,26 @@ public final class ALLOY {
new MaterialStack(ELEMENT.getInstance().COBALT, 8),
});
+ public static final Material AQUATIC_STEEL = new Material(
+ "Watertight Steel", //Material Name
+ MaterialState.SOLID, //State
+ new short[] {120, 120, 180}, //Material Colour
+ 2673, //Melting Point in C
+ 4835,
+ -1,
+ -1,
+ true, //Uses Blast furnace?
+ //Material Stacks with Percentage of required elements.
+ new MaterialStack[]{
+ new MaterialStack(ALLOY.STEEL, 60),
+ new MaterialStack(ELEMENT.getInstance().CARBON, 10),
+ new MaterialStack(ELEMENT.getInstance().MANGANESE, 5),
+ new MaterialStack(ELEMENT.getInstance().SILICON, 10),
+ new MaterialStack(ELEMENT.getInstance().PHOSPHORUS, 5),
+ new MaterialStack(ELEMENT.getInstance().SULFUR, 5),
+ new MaterialStack(ELEMENT.getInstance().ALUMINIUM, 5)
+ });
+
public static final Material STELLITE = new Material(
"Stellite", //Material Name
MaterialState.SOLID, //State
@@ -459,7 +479,7 @@ public final class ALLOY {
"Tungsten Titanium Carbide", //Material Name
MaterialState.SOLID, //State
null,
- -1, //Melting Point in C
+ 4422, //Melting Point in C
-1,
-1,
-1,
diff --git a/src/Java/gtPlusPlus/core/material/ELEMENT.java b/src/Java/gtPlusPlus/core/material/ELEMENT.java
index d69ad9b065..99bc37444e 100644
--- a/src/Java/gtPlusPlus/core/material/ELEMENT.java
+++ b/src/Java/gtPlusPlus/core/material/ELEMENT.java
@@ -47,7 +47,7 @@ public final class ELEMENT {
public final Material ARSENIC = MaterialUtils.generateMaterialFromGtENUM(Materials.Arsenic);
public final Material SELENIUM = new Material("Selenium", MaterialState.SOLID, new short[]{190, 190, 190}, 217, 685, 34, 45, false, "Se", 0);//Not a GT Inherited Material
public final Material BROMINE = new Material("Bromine", MaterialState.PURE_LIQUID, new short[]{200, 25, 25}, -7, 58, 35, 45, false, "Br", 0);//Not a GT Inherited Material
- public final Material KRYPTON = new Material("Krypton", MaterialState.GAS, new short[]{255, 255, 255}, -157, -153, 36, 48, false, "Kr", 0);//Not a GT Inherited Material
+ public final Material KRYPTON = new Material("Krypton", MaterialState.PURE_LIQUID, new short[]{255, 255, 255}, -157, -153, 36, 48, false, "Kr", 0);//Not a GT Inherited Material
public final Material RUBIDIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Rubidium);
public final Material STRONTIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Strontium);
public final Material YTTRIUM = MaterialUtils.generateMaterialFromGtENUM(Materials.Yttrium);
@@ -206,9 +206,9 @@ public final class ELEMENT {
public static class STANDALONE {
- public static final Material CELESTIAL_TUNGSTEN = new Material("Celestial Tungsten", MaterialState.SOLID, TextureSets.REFINED.get(), ELEMENT.INSTANCE.TUNGSTEN.getRGB(), INSTANCE.TUNGSTEN.getMeltingPointC()+6500, INSTANCE.TUNGSTEN.getBoilingPointC()+7500, 160, 101, true, "✦◆✦", 0);//Not a GT Inherited Material
- public static final Material ASTRAL_TITANIUM = new Material("Astral Titanium", MaterialState.SOLID, TextureSets.REFINED.get(), ELEMENT.INSTANCE.TITANIUM.getRGB(), INSTANCE.TITANIUM.getMeltingPointC()+7500, INSTANCE.TITANIUM.getBoilingPointC()+7500, 145, 133, true, "✧◇✧", 0);//Not a GT Inherited Material
- public static final Material CHRONOMATIC_GLASS = new Material("Chromatic Glass", MaterialState.SOLID, new short[]{255, 255, 255}, 9200, 17550, 40, 51, false, "🕛🕒🕕🕘🕛 ", 0);//Not a GT Inherited Material
+ public static final Material CELESTIAL_TUNGSTEN = new Material("Celestial Tungsten", MaterialState.SOLID, TextureSets.REFINED.get(), new short[] {50, 50, 50, 2}, INSTANCE.TUNGSTEN.getMeltingPointC()+6500, INSTANCE.TUNGSTEN.getBoilingPointC()+7500, 160, 101, true, "✦◆✦", 0);//Not a GT Inherited Material
+ public static final Material ASTRAL_TITANIUM = new Material("Astral Titanium", MaterialState.SOLID, TextureSets.REFINED.get(), new short[] {220, 160, 240, 2}, INSTANCE.TITANIUM.getMeltingPointC()+7500, INSTANCE.TITANIUM.getBoilingPointC()+7500, 145, 133, true, "✧◇✧", 0);//Not a GT Inherited Material
+ public static final Material CHRONOMATIC_GLASS = new Material("Chromatic Glass", MaterialState.SOLID, new short[]{255, 255, 255, 3}, 9200, 17550, 40, 51, false, "⌘☯𓍰 𓍱 𓍲 𓍳 𓍴 𓍵 𓍶 𓍷 𓍸 ☯⌘ ", 0);//Not a GT Inherited Material
public static final Material ADVANCED_NITINOL = new Material("Advanced Nitinol", MaterialState.SOLID, TextureSets.ENRICHED.get(), ALLOY.NITINOL_60.getRGB(), 8400, 14377, 40, 51, true, "⚷⚙⚷ Ni4Ti6", 0);//Not a GT Inherited Material
public static final Material HYPOGEN = new Material("Hypogen", MaterialState.SOLID, TextureSets.NUCLEAR.get(), new short[]{220, 120, 75}, 12255, 19377, 240, 251, true, "Hy⚶", 0);//Not a GT Inherited Material
diff --git a/src/Java/gtPlusPlus/core/material/ORES.java b/src/Java/gtPlusPlus/core/material/ORES.java
index 78a0d250a9..a8b86a142c 100644
--- a/src/Java/gtPlusPlus/core/material/ORES.java
+++ b/src/Java/gtPlusPlus/core/material/ORES.java
@@ -797,7 +797,7 @@ public final class ORES {
public static final Material DEEP_EARTH_REACTOR_FUEL_DEPOSIT = new Material(
- "Radioactive Minerial Mix", //Material Name
+ "Radioactive Mineral Mix", //Material Name
MaterialState.ORE, //State
TextureSets.NUCLEAR.get(), //Texture Set
null, //Material Colour
diff --git a/src/Java/gtPlusPlus/core/material/Particle.java b/src/Java/gtPlusPlus/core/material/Particle.java
index 5b3e37b4a9..6cc0f878d6 100644
--- a/src/Java/gtPlusPlus/core/material/Particle.java
+++ b/src/Java/gtPlusPlus/core/material/Particle.java
@@ -1,5 +1,7 @@
package gtPlusPlus.core.material;
+import gtPlusPlus.api.objects.data.AutoMap;
+
public class Particle {
public static final Particle GRAVITON;
@@ -32,6 +34,8 @@ public class Particle {
public static final Particle PION;
public static final Particle ETA_MESON;
+ public static final AutoMap<Particle> aMap = new AutoMap<Particle>();
+
static {
/*
@@ -99,7 +103,8 @@ public class Particle {
public Particle(ElementaryGroup aParticleType, String aParticleName, Particle[] aComposition) {
mParticleType = aParticleType;
mParticleName = aParticleName;
- mComposition = aComposition == null ? new Particle[] {this} : aComposition;
+ mComposition = aComposition == null ? new Particle[] {this} : aComposition;
+ aMap.put(this);
}
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index 4ce4bb3da6..5cca67402b 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -1193,7 +1193,7 @@ public class RECIPES_Machines {
}
if (CORE.ConfigSwitches.enableMultiblock_IndustrialFishingPort){
- ItemStack plate = ALLOY.INCONEL_792.getPlate(1);
+ ItemStack plate = ALLOY.AQUATIC_STEEL.getPlate(1);
RecipeUtils.recipeBuilder(
plate, CI.craftingToolHammer_Hard, plate,
"plateEglinSteel", "frameGtEglinSteel", "plateEglinSteel",
@@ -1478,9 +1478,9 @@ public class RECIPES_Machines {
new ItemStack[] {
aDrillController,
ItemUtils.getItemStackOfAmountFromOreDict("frameGtTriniumNaquadahCarbonite", 3),
- ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(8), 2 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack(CI.conveyorModule_ZPM, 2 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack(CI.electricPump_ZPM, 4 * (CORE.GTNH ? 2 : 1)),
+ ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(9), 2 * (CORE.GTNH ? 4 : 1)),
+ ItemUtils.getSimpleStack((CORE.GTNH ? CI.conveyorModule_UV : CI.conveyorModule_ZPM), 2 * (CORE.GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((CORE.GTNH ? CI.electricPump_UV : CI.electricPump_ZPM), 4 * (CORE.GTNH ? 2 : 1)),
},
ALLOY.LAFIUM.getFluid(144 * 8 * (CORE.GTNH ? 2 : 1)),
GregtechItemList.BedrockMiner_MKI.get(1),
@@ -1494,7 +1494,7 @@ public class RECIPES_Machines {
ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleTriniumTitaniumAlloy", 1 * (CORE.GTNH ? 2 : 1)),
ItemUtils.getItemStackOfAmountFromOreDict("gearGtPikyonium64B", 2 * (CORE.GTNH ? 2 : 1)),
ALLOY.TRINIUM_REINFORCED_STEEL.getPlateDouble(4 * (CORE.GTNH ? 2 : 1)),
- ItemUtils.getSimpleStack(CI.machineHull_LuV, 1 * (CORE.GTNH ? 2 : 1)),
+ ItemUtils.getSimpleStack((CORE.GTNH ? CI.machineHull_UV : CI.machineHull_LuV), 1 * (CORE.GTNH ? 2 : 1)),
},
ALLOY.MARAGING350.getFluid(144 * 16 * (CORE.GTNH ? 2 : 1)),
GregtechItemList.Casing_BedrockMiner.get(1),
diff --git a/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java b/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java
index 9e8ad6f57e..f58bd06cab 100644
--- a/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java
+++ b/src/Java/gtPlusPlus/xmod/galacticraft/HANDLER_GalactiCraft.java
@@ -13,20 +13,20 @@ public class HANDLER_GalactiCraft {
public static void preInit(){
if (LoadedMods.GalacticraftCore){
- mSystemsCache.put("HD10180", new SystemHD10180());
- for (BaseSolarSystem solar : mSystemsCache.values()) {
+ //mSystemsCache.put("HD10180", new SystemHD10180());
+ /*for (BaseSolarSystem solar : mSystemsCache.values()) {
Logger.SPACE("Running 'pre-init' for "+solar.mSystemName);
solar.preInit();
- }
+ }*/
}
}
public static void init(){
if (LoadedMods.GalacticraftCore){
- for (BaseSolarSystem solar : mSystemsCache.values()) {
+ /*for (BaseSolarSystem solar : mSystemsCache.values()) {
Logger.SPACE("Running 'init' for "+solar.mSystemName);
solar.init();
- }
+ }*/
}
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
index 26ac0dd4b2..1e5f138d7b 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java
@@ -349,8 +349,8 @@ GT_MetaTileEntity_MultiBlockBase {
public static Method aLogger = null;
public void log(String s) {
- boolean isDebugLogging = CORE.DEBUG;
- boolean reset = false;
+ boolean isDebugLogging = CORE.DEBUG || true;
+ boolean reset = true;
if (aLogger == null || reset) {
if (isDebugLogging) {
try {
@@ -614,13 +614,14 @@ GT_MetaTileEntity_MultiBlockBase {
}
if (aBaseMetaTileEntity.isServerSide()) {
- if (mUpdate == 0 || this.mStartUpCheck == 0) {
+ if (this.mUpdate == 1 || this.mStartUpCheck == 1) {
this.mChargeHatches.clear();
this.mDischargeHatches.clear();
this.mControlCoreBus.clear();
this.mMultiDynamoHatches.clear();
}
}
+
super.onPostTick(aBaseMetaTileEntity, aTick);
}
@@ -752,7 +753,7 @@ GT_MetaTileEntity_MultiBlockBase {
final int aBaseCasingIndex) {
if (aList.isEmpty()) {
if (aTileEntity instanceof GT_MetaTileEntity_Hatch) {
- Logger.INFO("Adding " + aTileEntity.getInventoryName() + " at " + new BlockPos(aTileEntity.getBaseMetaTileEntity()).getLocationString());
+ log("Adding " + aTileEntity.getInventoryName() + " at " + new BlockPos(aTileEntity.getBaseMetaTileEntity()).getLocationString());
updateTexture(aTileEntity, aBaseCasingIndex);
return aList.add((E) aTileEntity);
}
@@ -765,13 +766,13 @@ GT_MetaTileEntity_MultiBlockBase {
BlockPos aPos = new BlockPos(b);
if (b != null && aPos != null) {
if (aCurPos.equals(aPos)) {
- Logger.INFO("Found Duplicate "+b.getInventoryName()+" at " + aPos.getLocationString());
+ log("Found Duplicate "+b.getInventoryName()+" at " + aPos.getLocationString());
return false;
}
}
}
if (aTileEntity instanceof GT_MetaTileEntity_Hatch) {
- Logger.INFO("Adding " + aCur.getInventoryName() + " at " + aCurPos.getLocationString());
+ log("Adding " + aCur.getInventoryName() + " at " + aCurPos.getLocationString());
updateTexture(aTileEntity, aBaseCasingIndex);
return aList.add((E) aTileEntity);
}
@@ -780,7 +781,8 @@ GT_MetaTileEntity_MultiBlockBase {
}
public int getControlCoreTier() {
- if (mControlCoreBus.size() == 0) {
+ if (mControlCoreBus.isEmpty()) {
+ log("No Control Core Modules Found.");
return 0;
}
GT_MetaTileEntity_Hatch_ControlCore i = getControlCoreBus();
@@ -790,28 +792,33 @@ GT_MetaTileEntity_MultiBlockBase {
return x.getItemDamage();
}
}
+ log("Control Core Module was null.");
return 0;
}
public GT_MetaTileEntity_Hatch_ControlCore getControlCoreBus() {
GT_MetaTileEntity_Hatch_ControlCore x = this.mControlCoreBus.get(0);
if (x != null) {
+ log("getControlCore(ok)");
return x;
}
+ log("getControlCore(bad)");
return null;
}
//mControlCoreBus
public boolean addControlCoreToMachineList(final IGregTechTileEntity aTileEntity, final int aBaseCasingIndex) {
- log("Found GT_MetaTileEntity_Hatch_ControlCore");
final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
if (aMetaTileEntity == null) {
+ log("Tried to add null module entity.");
return false;
}
if (!mControlCoreBus.isEmpty()) {
+ log("Tried to add a secondary control core module.");
return false;
}
-
+
+ log("Adding control core module.");
return addToMachineListInternal(mControlCoreBus, aMetaTileEntity, aBaseCasingIndex);
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
index 2cf8d793f8..034ad323d9 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java
@@ -6,15 +6,18 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
+import cofh.asmhooks.block.BlockWater;
import gregtech.api.enums.TAE;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.FishPondFakeRecipe;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
+import gregtech.api.util.Recipe_GT;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.core.block.ModBlocks;
@@ -27,6 +30,7 @@ import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.Gregtech
import ic2.core.init.BlocksItems;
import ic2.core.init.InternalName;
import net.minecraft.block.Block;
+import net.minecraft.block.BlockAir;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
@@ -101,11 +105,11 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
@Override
public boolean checkRecipe(final ItemStack aStack) {
if (aStack != null) {
- Logger.WARNING("Found " + aStack.getDisplayName());
+ log("Found " + aStack.getDisplayName());
if (aStack.getItem() == circuit) {
this.isUsingControllerCircuit = true;
this.mMode = aStack.getItemDamage();
- Logger.WARNING("Found Circuit!");
+ log("Found Circuit!");
} else {
this.isUsingControllerCircuit = false;
}
@@ -113,11 +117,15 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
this.isUsingControllerCircuit = false;
}
if (!hasGenerateRecipes) {
- Logger.WARNING("Generating Recipes.");
+ log("Generating Recipes.");
generateRecipes();
}
- if (hasGenerateRecipes && checkForWater()) {
- Logger.WARNING("Trying to run recipe.");
+ if (hasGenerateRecipes) {
+ if (!checkForWater()) {
+ return false;
+ }
+
+ log("Trying to run recipe.");
ArrayList<ItemStack> tItems = getStoredInputs();
ArrayList<FluidStack> tFluids = getStoredFluids();
ItemStack[] tItemInputs = tItems.toArray(new ItemStack[tItems.size()]);
@@ -143,13 +151,8 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
int mOffsetZ_Lower = 0;
int mOffsetZ_Upper = 0;
- if (mDirectionX == 0) {
- mCurrentDirectionX = 2;
- mCurrentDirectionZ = 3;
- } else {
- mCurrentDirectionX = 3;
- mCurrentDirectionZ = 2;
- }
+ mCurrentDirectionX = 4;
+ mCurrentDirectionZ = 4;
mOffsetX_Lower = -4;
mOffsetX_Upper = 4;
@@ -161,20 +164,20 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
final int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ
* mCurrentDirectionZ;
- Logger.WARNING("xDir" + (xDir));
- Logger.WARNING("zDir" + (zDir));
+ log("xDir" + (xDir));
+ log("zDir" + (zDir));
/*
* if (!(aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir))) { return false; }
*/
int tAmount = 0;
- for (int i = mOffsetX_Lower; i <= mOffsetX_Upper; ++i) {
+ check : for (int i = mOffsetX_Lower; i <= mOffsetX_Upper; ++i) {
for (int j = mOffsetZ_Lower; j <= mOffsetZ_Upper; ++j) {
for (int h = -1; h < 2; ++h) {
if ((h != 0) || ((((xDir + i != 0) || (zDir + j != 0))) && (((i != 0) || (j != 0))))) {
IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h,
zDir + j);
if (!addToMachineList(tTileEntity)) {
- Logger.WARNING("X: " + i + " | Z: " + j);
+ log("X: " + i + " | Z: " + j);
Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
@@ -183,29 +186,38 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
} else {
if ((i != mOffsetX_Lower && j != mOffsetZ_Lower && i != mOffsetX_Upper
&& j != mOffsetZ_Upper) && (h == 0 || h == 1)) {
- if (tBlock == Blocks.air) {
- Logger.WARNING("Found Air");
- } else if (tBlock == Blocks.water) {
- Logger.WARNING("Found Water");
+
+ continue;
+
+ /*if (tBlock instanceof BlockAir || tBlock.getUnlocalizedName().equalsIgnoreCase("tile.air") || tBlock.getUnlocalizedName().equalsIgnoreCase("tile.railcraft.residual.heat")) {
+ log("Found Air");
+ continue;
+ } else if (tBlock instanceof BlockWater || tBlock == Blocks.water || tBlock == Blocks.flowing_water) {
+ log("Found Water");
+ continue;
}
+ else {
+ break check;
+ }*/
} else {
if (tBlock.getLocalizedName().contains("gt.blockmachines") || tBlock == Blocks.water
|| tBlock == Blocks.flowing_water
|| tBlock == BlocksItems.getFluidBlock(InternalName.fluidDistilledWater)) {
+ continue;
} else {
- Logger.WARNING("[x] Did not form - Found: " + tBlock.getLocalizedName() + " | "
+ log("[x] Did not form - Found: " + tBlock.getLocalizedName() + " | "
+ tBlock.getDamageValue(aBaseMetaTileEntity.getWorld(),
aBaseMetaTileEntity.getXCoord() + i,
aBaseMetaTileEntity.getYCoord(),
aBaseMetaTileEntity.getZCoord() + j)
+ " | Special Meta: "
+ (tTileEntity == null ? "0" : tTileEntity.getMetaTileID()));
- Logger.WARNING("[x] Did not form - Found: "
+ log("[x] Did not form - Found: "
+ (aBaseMetaTileEntity.getXCoord() + xDir + i) + " | "
+ aBaseMetaTileEntity.getYCoord() + " | "
+ (aBaseMetaTileEntity.getZCoord() + zDir + j));
- return false;
+ break check;
}
}
@@ -216,9 +228,9 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
}
}
if ((tAmount >= 64)) {
- Logger.WARNING("Made structure.");
+ log("Made structure.");
} else {
- Logger.WARNING("Did not make structure.");
+ log("Did not make structure.");
}
return (tAmount >= 64);
}
@@ -256,11 +268,12 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
}
private boolean addToMachineList(final IGregTechTileEntity tTileEntity) {
- return ((this.addMaintenanceToMachineList(tTileEntity, this.getCasingTextureIndex()))
+ /*return ((this.addMaintenanceToMachineList(tTileEntity, this.getCasingTextureIndex()))
|| (this.addInputToMachineList(tTileEntity, this.getCasingTextureIndex()))
|| (this.addOutputToMachineList(tTileEntity, this.getCasingTextureIndex()))
|| (this.addMufflerToMachineList(tTileEntity, this.getCasingTextureIndex()))
- || (this.addEnergyInputToMachineList(tTileEntity, this.getCasingTextureIndex())));
+ || (this.addEnergyInputToMachineList(tTileEntity, this.getCasingTextureIndex())));*/
+ return super.addToMachineList(tTileEntity, this.getCasingTextureIndex());
}
public boolean checkForWater() {
@@ -275,13 +288,9 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
int mOffsetZ_Lower = 0;
int mOffsetZ_Upper = 0;
- if (mDirectionX == 0) {
- mCurrentDirectionX = 2;
- mCurrentDirectionZ = 3;
- } else {
- mCurrentDirectionX = 3;
- mCurrentDirectionZ = 2;
- }
+ mCurrentDirectionX = 4;
+ mCurrentDirectionZ = 4;
+
mOffsetX_Lower = -4;
mOffsetX_Upper = 4;
mOffsetZ_Lower = -4;
@@ -297,23 +306,17 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
int tAmount = 0;
for (int i = mOffsetX_Lower + 1; i <= mOffsetX_Upper - 1; ++i) {
for (int j = mOffsetZ_Lower + 1; j <= mOffsetZ_Upper - 1; ++j) {
- for (int h = 0; h < 2; ++h) {
+ for (int h = 0; h < 2; h++) {
Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
// byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
- if (tBlock == Blocks.air || tBlock == Blocks.flowing_water || tBlock == Blocks.water) {
+ if (tBlock == Blocks.air || tBlock == Blocks.flowing_water || tBlock == BlocksItems.getFluidBlock(InternalName.fluidDistilledWater)) {
if (this.getStoredFluids() != null) {
for (FluidStack stored : this.getStoredFluids()) {
if (stored.isFluidEqual(FluidUtils.getFluidStack("water", 1))) {
if (stored.amount >= 1000) {
// Utils.LOG_WARNING("Going to try swap an air block for water from inut bus.");
stored.amount -= 1000;
- Block fluidUsed = null;
- if (tBlock == Blocks.air || tBlock == Blocks.flowing_water) {
- fluidUsed = Blocks.water;
- }
- if (tBlock == Blocks.water) {
- fluidUsed = BlocksItems.getFluidBlock(InternalName.fluidDistilledWater);
- }
+ Block fluidUsed = Blocks.water;
aBaseMetaTileEntity.getWorld().setBlock(
aBaseMetaTileEntity.getXCoord() + xDir + i,
aBaseMetaTileEntity.getYCoord() + h,
@@ -324,23 +327,35 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
}
}
}
- if (tBlock == Blocks.water) {
- ++tAmount;
- // Logger.WARNING("Found Water");
- } else if (tBlock == BlocksItems.getFluidBlock(InternalName.fluidDistilledWater)) {
+ tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ if (tBlock == Blocks.water || tBlock == Blocks.flowing_water) {
++tAmount;
- ++tAmount;
- // Logger.WARNING("Found Distilled Water");
+ // log("Found Water");
}
}
}
}
- if ((tAmount >= 80)) {
- Logger.WARNING("Filled structure.");
- } else {
- Logger.WARNING("Did not fill structure.");
+
+ boolean isValidWater = tAmount >= 60;
+
+ if (isValidWater) {
+ log("Filled structure.");
+ return true;
+ }
+ else {
+
+ long aAvgVoltage = 0;
+ for (GT_MetaTileEntity_Hatch_Energy g : this.mEnergyHatches) {
+ if (g != null) {
+ aAvgVoltage += (g.maxEUInput() * g.maxAmperesIn());
+ }
+ }
+ this.mEUt = (int) Math.max(30, aAvgVoltage);
+ this.mMaxProgresstime = (int) Math.max(((aAvgVoltage/8)*20/10), 100);
+ this.mProgresstime = 1;
+ log("Did not fill structure. Consuming "+aAvgVoltage+"eu/t to try fill.");
+ return false;
}
- return (tAmount >= 80);
}
private static AutoMap<AutoMap<WeightedRandomFishable>> categories = new AutoMap<AutoMap<WeightedRandomFishable>>();
@@ -474,11 +489,34 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
public boolean checkRecipeGeneric(ItemStack[] aItemInputs, FluidStack[] aFluidInputs, int aMaxParallelRecipes,
int aEUPercent, int aSpeedBonusPercent, int aOutputChanceRoll) {
- // Based on the Processing Array. A bit overkill, but very flexible.
+
+
+ //Control Core to control the Multiblocks behaviour.
+ int aControlCoreTier = getControlCoreTier();
+
+ //If no core, return false;
+ if (aControlCoreTier == 0) {
+ log("Invalid/No Control Core");
+ return false;
+ }
+
+
+ // Reset outputs and progress stats
+ this.mEUt = 0;
+ this.mMaxProgresstime = 0;
+ this.mOutputItems = new ItemStack[]{};
+ this.mOutputFluids = new FluidStack[]{};
+
long tVoltage = getMaxInputVoltage();
byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
+ log("Running checkRecipeGeneric(0)");
- int parallelRecipes = 1;
+ //Check to see if Voltage Tier > Control Core Tier
+ if (tTier > aControlCoreTier) {
+ return false;
+ }
+
+ // Based on the Processing Array. A bit overkill, but very flexible.
getCircuit(aItemInputs);
/*
@@ -488,51 +526,67 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
*/
ItemStack[] mFishOutput = generateLoot(this.mMode);
- Logger.WARNING("Mode: " + this.mMode + " | Is loot valid? " + (mFishOutput != null));
+ mFishOutput = removeNulls(mFishOutput);
+ GT_Recipe g = new Recipe_GT(true, new ItemStack[] {}, mFishOutput, null, new int[] {}, aFluidInputs, mOutputFluids, 100, 8, 0);
+ if (!this.canBufferOutputs(g, aMaxParallelRecipes)) {
+ log("No Space");
+ return false;
+ }
+
+ log("Mode: " + this.mMode + " | Is loot valid? " + (mFishOutput != null));
int jslot = 0;
for (ItemStack x : mFishOutput) {
if (x != null) {
- Logger.WARNING(
+ log(
"Slot " + jslot + " in mFishOutput contains " + x.stackSize + "x " + x.getDisplayName() + ".");
} else {
- Logger.WARNING("Slot " + jslot + " in mFishOutput was null.");
+ log("Slot " + jslot + " in mFishOutput was null.");
}
jslot++;
}
-
+
// EU discount
- // float tRecipeEUt = (32 * aEUPercent) / 100.0f;
+ float tRecipeEUt = (8 * aEUPercent) / 100.0f;
float tTotalEUt = 0.0f;
- // Reset outputs and progress stats
- this.mEUt = 0;
- this.mMaxProgresstime = 0;
- this.mOutputItems = new ItemStack[] {};
- this.mOutputFluids = new FluidStack[] {};
-
- tTotalEUt = 8;
- Logger.WARNING("Recipe Step. [1]");
+ int parallelRecipes = 0;
+
+ log("parallelRecipes: "+parallelRecipes);
+ log("aMaxParallelRecipes: "+aMaxParallelRecipes);
+ log("tTotalEUt: "+tTotalEUt);
+ log("tVoltage: "+tVoltage);
+ log("tRecipeEUt: "+tRecipeEUt);
+ // Count recipes to do in parallel, consuming input items and fluids and considering input voltage limits
+ for (; parallelRecipes < aMaxParallelRecipes && tTotalEUt < (tVoltage - tRecipeEUt); parallelRecipes++) {
+ log("Bumped EU from "+tTotalEUt+" to "+(tTotalEUt+tRecipeEUt)+".");
+ tTotalEUt += tRecipeEUt;
+ }
if (parallelRecipes == 0) {
- Logger.WARNING("Recipe Step. [-1]");
+ log("BAD RETURN - 3");
return false;
}
+ // -- Try not to fail after this point - inputs have already been consumed! --
+
+
// Convert speed bonus to duration multiplier
// e.g. 100% speed bonus = 200% speed = 100%/200% = 50% recipe duration.
- float tTimeFactor = 100.0f / (100.0f + 0);
-
- float modeMulti = 1;
- modeMulti = (this.mMode == 14 ? 5 : (this.mMode == 15 ? 1 : 20));
- this.mMaxProgresstime = (int) ((60 * modeMulti) * tTimeFactor);
+ aSpeedBonusPercent = Math.max(-99, aSpeedBonusPercent);
+ float tTimeFactor = 100.0f / (100.0f + aSpeedBonusPercent);
+ this.mMaxProgresstime = (int)(20 * tTimeFactor * 4);
- this.mEUt = (int) Math.ceil(tTotalEUt);
+ this.mEUt = (int)Math.ceil(tTotalEUt);
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
- Logger.WARNING("Recipe Step. [2]");
+
+ //Only Overclock as high as the control circuit.
+ byte tTierOld = tTier;
+ tTier = (byte) aControlCoreTier;
+
// Overclock
if (this.mEUt <= 16) {
this.mEUt = (this.mEUt * (1 << tTier - 1) * (1 << tTier - 1));
@@ -549,8 +603,9 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
}
this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
+
- Logger.WARNING("Recipe Step. [3]");
+ log("Recipe Step. [3]");
// Collect output item types
ItemStack[] tOutputItems = mFishOutput;
@@ -559,10 +614,10 @@ public class GregtechMetaTileEntity_IndustrialFishingPond extends GregtechMeta_M
for (ItemStack x : tOutputItems) {
if (x != null) {
- Logger.WARNING(
+ log(
"rSlot " + rslot + " in mFishOutput contains " + x.stackSize + "x " + x.getDisplayName() + ".");
} else {
- Logger.WARNING("rSlot " + rslot + " in mFishOutput was null.");
+ log("rSlot " + rslot + " in mFishOutput was null.");
}
rslot++;
}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
index 5a985c6151..d6be5def19 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java
@@ -131,7 +131,7 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base {
//Generate Recipes for all singular materials that can be made molten.
if (hasMoreInputThanACircuit){
if (M.requiresBlastFurnace()) {
- if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluid(fluidAmount), 100, (duration/mTotalPartsCounter), (int) aVoltage)){
+ if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluid(fluidAmount), 100, (duration/(mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)), (int) aVoltage)){
Logger.WARNING("[BAS] Success.");
Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe.");
if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluid(144), 100, duration, 120)){
@@ -153,7 +153,7 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base {
}
}
else {
- if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluid(fluidAmount), 100, duration/mTotalPartsCounter/2, (int) aVoltage)){
+ if (CORE.RA.addBlastSmelterRecipe(tItemStackTest, M.getFluid(fluidAmount), 100, duration/(mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)/2, (int) aVoltage)){
Logger.WARNING("[BAS] Success.");
if (GT_Values.RA.addFluidSolidifierRecipe(ItemList.Shape_Mold_Ingot.get(0), M.getFluid(144), M.getIngot(1), duration/2, 60)){
Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe.");
diff --git a/src/resources/assets/miscutils/lang/en_US.lang b/src/resources/assets/miscutils/lang/en_US.lang
index 905c1d9ca3..1741812de6 100644
--- a/src/resources/assets/miscutils/lang/en_US.lang
+++ b/src/resources/assets/miscutils/lang/en_US.lang
@@ -2025,7 +2025,7 @@ entity.Aboriginal.name=Native
entity.miscutils.constructStaballoy.name=Staballoy Construct
entity.miscutils.sickBlaze.name=Infected Zealot
-//Added 15/9/`8
+//Added 15/9/18
item.ZirconiumTetrafluoride.name=Zirconium Tetrafluoride Cell
item.Formaldehyde.name=Formaldehyde Cell
item.RocketFuelMixA.name=H8N4C2O4 Rocket Fuel Cell
@@ -2040,3 +2040,665 @@ item.NitrousOxide.name=Nitrous Oxide Cell
item.AmmoniumNitrateSlurry.name=Ammonium Nitrate Slurry Cell
item.Kerosene.name=Kerosene Cell
item.LiquidOxygen.name=Liquid Oxygen Cell [LOX]
+
+//Added 8/1/19
+
+//Ores
+
+tile.OreIrarsite.name=Irarsite Ore
+item.crushedIrarsite.name=Crushed Irarsite Ore
+item.crushedCentrifugedIrarsite.name=Centrifuged Crushed Irarsite Ore
+item.crushedPurifiedIrarsite.name=Purified Crushed Irarsite Ore
+item.dustImpureIrarsite.name=Impure Irarsite Dust
+item.dustPureIrarsite.name=Purified Irarsite Dust
+item.itemDustIrarsite.name=Irarsite Dust
+item.itemDustTinyIrarsite.name=Tiny Pile of Irarsite Dust
+item.itemDustSmallIrarsite.name=Small Pile of Irarsite Dust
+
+tile.OreMiessiite.name=Miessiite Ore
+item.crushedMiessiite.name=Crushed Miessiite Ore
+item.crushedCentrifugedMiessiite.name=Centrifuged Crushed Miessiite Ore
+item.crushedPurifiedMiessiite.name=Purified Crushed Miessiite Ore
+item.dustImpureMiessiite.name=Impure Miessiite Dust
+item.dustPureMiessiite.name=Purified Miessiite Dust
+item.itemDustMiessiite.name=Miessiite Dust
+item.itemDustTinyMiessiite.name=Tiny Pile of Miessiite Dust
+item.itemDustSmallMiessiite.name=Small Pile of Miessiite Dust
+
+tile.OreComancheite.name=Comancheite Ore
+item.crushedComancheite.name=Crushed Comancheite Ore
+item.crushedCentrifugedComancheite.name=Centrifuged Crushed Comancheite Ore
+item.crushedPurifiedComancheite.name=Purified Crushed Comancheite Ore
+item.dustImpureComancheite.name=Impure Comancheite Dust
+item.dustPureComancheite.name=Purified Comancheite Dust
+item.itemDustComancheite.name=Comancheite Dust
+item.itemDustTinyComancheite.name=Tiny Pile of Comancheite Dust
+item.itemDustSmallComancheite.name=Small Pile of Comancheite Dust
+
+tile.OreKoboldite.name=Koboldite Ore
+item.crushedKoboldite.name=Crushed Koboldite Ore
+item.crushedCentrifugedKoboldite.name=Centrifuged Crushed Koboldite Ore
+item.crushedPurifiedKoboldite.name=Purified Crushed Koboldite Ore
+item.dustImpureKoboldite.name=Impure Koboldite Dust
+item.dustPureKoboldite.name=Purified Koboldite Dust
+item.itemDustKoboldite.name=Koboldite Dust
+item.itemDustTinyKoboldite.name=Tiny Pile of Koboldite Dust
+item.itemDustSmallKoboldite.name=Small Pile of Koboldite Dust
+
+tile.OrePerroudite.name=Perroudite Ore
+item.crushedPerroudite.name=Crushed Perroudite Ore
+item.crushedCentrifugedPerroudite.name=Centrifuged Crushed Perroudite Ore
+item.crushedPurifiedPerroudite.name=Purified Crushed Perroudite Ore
+item.dustImpurePerroudite.name=Impure Perroudite Dust
+item.dustPurePerroudite.name=Purified Perroudite Dust
+item.itemDustPerroudite.name=Perroudite Dust
+item.itemDustTinyPerroudite.name=Tiny Pile of Perroudite Dust
+item.itemDustSmallPerroudite.name=Small Pile of Perroudite Dust
+
+tile.OreDemicheleite.name=Demicheleite Ore
+item.crushedDemicheleite.name=Crushed Demicheleite Ore
+item.crushedCentrifugedDemicheleite.name=Centrifuged Crushed Demicheleite Ore
+item.crushedPurifiedDemicheleite.name=Purified Crushed Demicheleite Ore
+item.dustImpureDemicheleite.name=Impure Demicheleite Dust
+item.dustPureDemicheleite.name=Purified Demicheleite Dust
+item.itemDustDemicheleite.name=Demicheleite Dust
+item.itemDustTinyDemicheleite.name=Tiny Pile of Demicheleite Dust
+item.itemDustSmallDemicheleite.name=Small Pile of Demicheleite Dust
+
+tile.OreAlburnite.name=Alburnite Ore
+item.crushedAlburnite.name=Crushed Alburnite Ore
+item.crushedCentrifugedAlburnite.name=Centrifuged Crushed Alburnite Ore
+item.crushedPurifiedAlburnite.name=Purified Crushed Alburnite Ore
+item.dustImpureAlburnite.name=Impure Alburnite Dust
+item.dustPureAlburnite.name=Purified Alburnite Dust
+item.itemDustAlburnite.name=Alburnite Dust
+item.itemDustTinyAlburnite.name=Tiny Pile of Alburnite Dust
+item.itemDustSmallAlburnite.name=Small Pile of Alburnite Dust
+
+tile.OreLautarite.name=Lautarite Ore
+item.crushedLautarite.name=Crushed Lautarite Ore
+item.crushedCentrifugedLautarite.name=Centrifuged Crushed Lautarite Ore
+item.crushedPurifiedLautarite.name=Purified Crushed Lautarite Ore
+item.dustImpureLautarite.name=Impure Lautarite Dust
+item.dustPureLautarite.name=Purified Lautarite Dust
+item.itemDustLautarite.name=Lautarite Dust
+item.itemDustTinyLautarite.name=Tiny Pile of Lautarite Dust
+item.itemDustSmallLautarite.name=Small Pile of Lautarite Dust
+
+tile.OreBariteRd.name=Barite (Rd) Ore
+item.crushedBariteRd.name=Crushed Barite (Rd) Ore
+item.crushedCentrifugedBariteRd.name=Centrifuged Crushed Barite (Rd) Ore
+item.crushedPurifiedBariteRd.name=Purified Crushed Barite (Rd) Ore
+item.dustImpureBariteRd.name=Impure Barite (Rd) Dust
+item.dustPureBariteRd.name=Purified Barite (Rd) Dust
+item.itemDustBariteRd.name=Barite (Rd) Dust
+item.itemDustTinyBariteRd.name=Tiny Pile of Barite (Rd) Dust
+item.itemDustSmallBariteRd.name=Small Pile of Barite (Rd) Dust
+
+tile.OreHoneaite.name=Honeaite Ore
+item.crushedHoneaite.name=Crushed Honeaite Ore
+item.crushedCentrifugedHoneaite.name=Centrifuged Crushed Honeaite Ore
+item.crushedPurifiedHoneaite.name=Purified Crushed Honeaite Ore
+item.dustImpureHoneaite.name=Impure Honeaite Dust
+item.dustPureHoneaite.name=Purified Honeaite Dust
+item.itemDustHoneaite.name=Honeaite Dust
+item.itemDustTinyHoneaite.name=Tiny Pile of Honeaite Dust
+item.itemDustSmallHoneaite.name=Small Pile of Honeaite Dust
+
+tile.OreLafossaite.name=Lafossaite Ore
+item.crushedLafossaite.name=Crushed Lafossaite Ore
+item.crushedCentrifugedLafossaite.name=Centrifuged Crushed Lafossaite Ore
+item.crushedPurifiedLafossaite.name=Purified Crushed Lafossaite Ore
+item.dustImpureLafossaite.name=Impure Lafossaite Dust
+item.dustPureLafossaite.name=Purified Lafossaite Dust
+item.itemDustLafossaite.name=Lafossaite Dust
+item.itemDustTinyLafossaite.name=Tiny Pile of Lafossaite Dust
+item.itemDustSmallLafossaite.name=Small Pile of Lafossaite Dust
+
+tile.OreKashinite.name=Kashinite Ore
+item.crushedKashinite.name=Crushed Kashinite Ore
+item.crushedCentrifugedKashinite.name=Centrifuged Crushed Kashinite Ore
+item.crushedPurifiedKashinite.name=Purified Crushed Kashinite Ore
+item.dustImpureKashinite.name=Impure Kashinite Dust
+item.dustPureKashinite.name=Purified Kashinite Dust
+item.itemDustKashinite.name=Kashinite Dust
+item.itemDustTinyKashinite.name=Tiny Pile of Kashinite Dust
+item.itemDustSmallKashinite.name=Small Pile of Kashinite Dust
+
+tile.OreRadioactiveMineralMix.name=Strange Ore
+item.crushedRadioactiveMineralMix.name=Crushed Strange Ore
+item.crushedCentrifugedRadioactiveMineralMix.name=Centrifuged Crushed Strange Ore
+item.crushedPurifiedRadioactiveMineralMix.name=Purified Crushed Strange Ore
+item.dustImpureRadioactiveMineralMix.name=Impure Strange Dust
+item.dustPureRadioactiveMineralMix.name=Purified Strange Dust
+item.itemDustRadioactiveMineralMix.name=Strange Dust
+item.itemDustTinyRadioactiveMineralMix.name=Tiny Pile of Strange Dust
+item.itemDustSmallRadioactiveMineralMix.name=Small Pile of Strange Dust
+
+tile.OreDemicheleiteBr.name=Demicheleite (Br) Ore
+item.crushedDemicheleiteBr.name=Crushed Demicheleite (Br) Ore
+item.crushedCentrifugedDemicheleiteBr.name=Centrifuged Crushed Demicheleite (Br) Ore
+item.crushedPurifiedDemicheleiteBr.name=Purified Crushed Demicheleite (Br) Ore
+item.dustImpureDemicheleiteBr.name=Impure Demicheleite (Br) Dust
+item.dustPureDemicheleiteBr.name=Purified Demicheleite (Br) Dust
+item.itemDustDemicheleiteBr.name=Demicheleite (Br) Dust
+
+
+//Materials
+
+item.itemIngotTitansteel.name=Titansteel Ingot
+item.itemHotIngotTitansteel.name=Hot Titansteel Ingot
+item.itemDustTitansteel.name=Titansteel Dust
+item.itemDustTinyTitansteel.name=Tiny Pile of Titansteel Dust
+item.itemDustSmallTitansteel.name=Small Pile of Titansteel Dust
+item.itemNuggetTitansteel.name=Titansteel Nugget
+item.itemPlateTitansteel.name=Titansteel Plate
+item.itemPlateDoubleTitansteel.name=Double Titansteel Plate
+item.itemBoltTitansteel.name=Titansteel Bolt
+item.itemRodTitansteel.name=Titansteel Rod
+item.itemRodLongTitansteel.name=Long Titansteel Rod
+item.itemRingTitansteel.name=Titansteel Ring
+item.itemScrewTitansteel.name=Titansteel Screw
+item.itemRotorTitansteel.name=Titansteel Rotor
+item.itemGearTitansteel.name=Titansteel Gear
+item.itemCellTitansteel.name=Titansteel Cell
+tile.Block of Titansteel.name=Block of Titansteel
+tile.Titansteel Frame Box.name=Titansteel Frame Box
+
+item.itemIngotOctiron.name=Octiron Ingot
+item.itemHotIngotOctiron.name=Hot Octiron Ingot
+item.itemDustOctiron.name=Octiron Dust
+item.itemDustTinyOctiron.name=Tiny Pile of Octiron Dust
+item.itemDustSmallOctiron.name=Small Pile of Octiron Dust
+item.itemNuggetOctiron.name=Octiron Nugget
+item.itemPlateOctiron.name=Octiron Plate
+item.itemPlateDoubleOctiron.name=Double Octiron Plate
+item.itemBoltOctiron.name=Octiron Bolt
+item.itemRodOctiron.name=Octiron Rod
+item.itemRodLongOctiron.name=Long Octiron Rod
+item.itemRingOctiron.name=Octiron Ring
+item.itemScrewOctiron.name=Octiron Screw
+item.itemRotorOctiron.name=Octiron Rotor
+item.itemGearOctiron.name=Octiron Gear
+item.itemCellOctiron.name=Octiron Cell
+tile.Block of Octiron.name=Block of Octiron
+tile.Octiron Frame Box.name=Octiron Frame Box
+
+item.itemIngotWatertightSteel.name=Watertight Steel Ingot
+item.itemHotIngotWatertightSteel.name=Hot Watertight Steel Ingot
+item.itemDustWatertightSteel.name=Watertight Steel Dust
+item.itemDustTinyWatertightSteel.name=Tiny Pile of Watertight Steel Dust
+item.itemDustSmallWatertightSteel.name=Small Pile of Watertight Steel Dust
+item.itemNuggetWatertightSteel.name=Watertight Steel Nugget
+item.itemPlateWatertightSteel.name=Watertight Steel Plate
+item.itemPlateDoubleWatertightSteel.name=Double Watertight Steel Plate
+item.itemBoltWatertightSteel.name=Watertight Steel Bolt
+item.itemRodWatertightSteel.name=Watertight Steel Rod
+item.itemRodLongWatertightSteel.name=Long Watertight Steel Rod
+item.itemRingWatertightSteel.name=Watertight Steel Ring
+item.itemScrewWatertightSteel.name=Watertight Steel Screw
+item.itemRotorWatertightSteel.name=Watertight Steel Rotor
+item.itemGearWatertightSteel.name=Watertight Steel Gear
+item.itemCellWatertightSteel.name=Watertight Steel Cell
+tile.Block of Watertight Steel.name=Block of Watertight Steel
+tile.Watertight Steel Frame Box.name=Watertight Steel Frame Box
+
+item.itemIngotCelestialTungsten.name=Celestial Tungsten Ingot
+item.itemHotIngotCelestialTungsten.name=Hot Celestial Tungsten Ingot
+item.itemDustCelestialTungsten.name=Celestial Tungsten Dust
+item.itemDustTinyCelestialTungsten.name=Tiny Pile of Celestial Tungsten Dust
+item.itemDustSmallCelestialTungsten.name=Small Pile of Celestial Tungsten Dust
+item.itemNuggetCelestialTungsten.name=Celestial Tungsten Nugget
+item.itemPlateCelestialTungsten.name=Celestial Tungsten Plate
+item.itemPlateDoubleCelestialTungsten.name=Double Celestial Tungsten Plate
+item.itemBoltCelestialTungsten.name=Celestial Tungsten Bolt
+item.itemRodCelestialTungsten.name=Celestial Tungsten Rod
+item.itemRodLongCelestialTungsten.name=Long Celestial Tungsten Rod
+item.itemRingCelestialTungsten.name=Celestial Tungsten Ring
+item.itemScrewCelestialTungsten.name=Celestial Tungsten Screw
+item.itemRotorCelestialTungsten.name=Celestial Tungsten Rotor
+item.itemGearCelestialTungsten.name=Celestial Tungsten Gear
+item.itemCellCelestialTungsten.name=Celestial Tungsten Cell
+tile.Block of Celestial Tungsten.name=Block of Celestial Tungsten
+tile.Celestial Tungsten Frame Box.name=Celestial Tungsten Frame Box
+
+item.itemIngotHypogen.name=Hypogen Ingot
+item.itemHotIngotHypogen.name=Hot Hypogen Ingot
+item.itemDustHypogen.name=Hypogen Dust
+item.itemDustTinyHypogen.name=Tiny Pile of Hypogen Dust
+item.itemDustSmallHypogen.name=Small Pile of Hypogen Dust
+item.itemNuggetHypogen.name=Hypogen Nugget
+item.itemPlateHypogen.name=Hypogen Plate
+item.itemPlateDoubleHypogen.name=Double Hypogen Plate
+item.itemBoltHypogen.name=Hypogen Bolt
+item.itemRodHypogen.name=Hypogen Rod
+item.itemRodLongHypogen.name=Long Hypogen Rod
+item.itemRingHypogen.name=Hypogen Ring
+item.itemScrewHypogen.name=Hypogen Screw
+item.itemRotorHypogen.name=Hypogen Rotor
+item.itemGearHypogen.name=Hypogen Gear
+item.itemCellHypogen.name=Hypogen Cell
+tile.Block of Hypogen.name=Block of Hypogen
+tile.Hypogen Frame Box.name=Hypogen Frame Box
+
+item.itemIngotArceusAlloy2B.name=Arceus Alloy 2B Ingot
+item.itemHotIngotArceusAlloy2B.name=Hot Arceus Alloy 2B Ingot
+item.itemDustArceusAlloy2B.name=Arceus Alloy 2B Dust
+item.itemDustTinyArceusAlloy2B.name=Tiny Pile of Arceus Alloy 2B Dust
+item.itemDustSmallArceusAlloy2B.name=Small Pile of Arceus Alloy 2B Dust
+item.itemNuggetArceusAlloy2B.name=Arceus Alloy 2B Nugget
+item.itemPlateArceusAlloy2B.name=Arceus Alloy 2B Plate
+item.itemPlateDoubleArceusAlloy2B.name=Double Arceus Alloy 2B Plate
+item.itemBoltArceusAlloy2B.name=Arceus Alloy 2B Bolt
+item.itemRodArceusAlloy2B.name=Arceus Alloy 2B Rod
+item.itemRodLongArceusAlloy2B.name=Long Arceus Alloy 2B Rod
+item.itemRingArceusAlloy2B.name=Arceus Alloy 2B Ring
+item.itemScrewArceusAlloy2B.name=Arceus Alloy 2B Screw
+item.itemRotorArceusAlloy2B.name=Arceus Alloy 2B Rotor
+item.itemGearArceusAlloy2B.name=Arceus Alloy 2B Gear
+item.itemCellArceusAlloy2B.name=Arceus Alloy 2B Cell
+tile.Block of Arceus Alloy 2B.name=Block of Arceus Alloy 2B
+tile.Arceus Alloy 2B Frame Box.name=Arceus Alloy 2B Frame Box
+
+item.itemIngotChromaticGlass.name=Chromatic Glass Ingot
+item.itemHotIngotChromaticGlass.name=Hot Chromatic Glass Ingot
+item.itemDustChromaticGlass.name=Chromatic Glass Dust
+item.itemDustTinyChromaticGlass.name=Tiny Pile of Chromatic Glass Dust
+item.itemDustSmallChromaticGlass.name=Small Pile of Chromatic Glass Dust
+item.itemNuggetChromaticGlass.name=Chromatic Glass Nugget
+item.itemPlateChromaticGlass.name=Chromatic Glass Plate
+item.itemPlateDoubleChromaticGlass.name=Double Chromatic Glass Plate
+item.itemBoltChromaticGlass.name=Chromatic Glass Bolt
+item.itemRodChromaticGlass.name=Chromatic Glass Rod
+item.itemRodLongChromaticGlass.name=Long Chromatic Glass Rod
+item.itemRingChromaticGlass.name=Chromatic Glass Ring
+item.itemScrewChromaticGlass.name=Chromatic Glass Screw
+item.itemRotorChromaticGlass.name=Chromatic Glass Rotor
+item.itemGearChromaticGlass.name=Chromatic Glass Gear
+item.itemCellChromaticGlass.name=Chromatic Glass Cell
+tile.Block of Chromatic Glass.name=Block of Chromatic Glass
+tile.Chromatic Glass Frame Box.name=Chromatic Glass Frame Box
+
+item.itemIngotAstralTitanium.name=Astral Titanium Ingot
+item.itemHotIngotAstralTitanium.name=Hot Astral Titanium Ingot
+item.itemDustAstralTitanium.name=Astral Titanium Dust
+item.itemDustTinyAstralTitanium.name=Tiny Pile of Astral Titanium Dust
+item.itemDustSmallAstralTitanium.name=Small Pile of Astral Titanium Dust
+item.itemNuggetAstralTitanium.name=Astral Titanium Nugget
+item.itemPlateAstralTitanium.name=Astral Titanium Plate
+item.itemPlateDoubleAstralTitanium.name=Double Astral Titanium Plate
+item.itemBoltAstralTitanium.name=Astral Titanium Bolt
+item.itemRodAstralTitanium.name=Astral Titanium Rod
+item.itemRodLongAstralTitanium.name=Long Astral Titanium Rod
+item.itemRingAstralTitanium.name=Astral Titanium Ring
+item.itemScrewAstralTitanium.name=Astral Titanium Screw
+item.itemRotorAstralTitanium.name=Astral Titanium Rotor
+item.itemGearAstralTitanium.name=Astral Titanium Gear
+item.itemCellAstralTitanium.name=Astral Titanium Cell
+tile.Block of Astral Titanium.name=Block of Astral Titanium
+tile.Astral Titanium Frame Box.name=Astral Titanium Frame Box
+
+item.itemIngotTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Ingot
+item.itemHotIngotTungstenTitaniumCarbide.name=Hot Tungsten Titanium Carbide Ingot
+item.itemDustTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Dust
+item.itemDustTinyTungstenTitaniumCarbide.name=Tiny Pile of Tungsten Titanium Carbide Dust
+item.itemDustSmallTungstenTitaniumCarbide.name=Small Pile of Tungsten Titanium Carbide Dust
+item.itemNuggetTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Nugget
+item.itemPlateTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Plate
+item.itemPlateDoubleTungstenTitaniumCarbide.name=Double Tungsten Titanium Carbide Plate
+item.itemBoltTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Bolt
+item.itemRodTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Rod
+item.itemRodLongTungstenTitaniumCarbide.name=Long Tungsten Titanium Carbide Rod
+item.itemRingTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Ring
+item.itemScrewTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Screw
+item.itemRotorTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Rotor
+item.itemGearTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Gear
+item.itemCellTungstenTitaniumCarbide.name=Tungsten Titanium Carbide Cell
+tile.Block of Tungsten Titanium Carbide.name=Block of Tungsten Titanium Carbide
+tile.Tungsten Titanium Carbide Frame Box.name=Tungsten Titanium Carbide Frame Box
+
+item.itemIngotNitinol60.name=Nitinol 60 Ingot
+item.itemHotIngotNitinol60.name=Hot Nitinol 60 Ingot
+item.itemDustNitinol60.name=Nitinol 60 Dust
+item.itemDustTinyNitinol60.name=Tiny Pile of Nitinol 60 Dust
+item.itemDustSmallNitinol60.name=Small Pile of Nitinol 60 Dust
+item.itemNuggetNitinol60.name=Nitinol 60 Nugget
+item.itemPlateNitinol60.name=Nitinol 60 Plate
+item.itemPlateDoubleNitinol60.name=Double Nitinol 60 Plate
+item.itemBoltNitinol60.name=Nitinol 60 Bolt
+item.itemRodNitinol60.name=Nitinol 60 Rod
+item.itemRodLongNitinol60.name=Long Nitinol 60 Rod
+item.itemRingNitinol60.name=Nitinol 60 Ring
+item.itemScrewNitinol60.name=Nitinol 60 Screw
+item.itemRotorNitinol60.name=Nitinol 60 Rotor
+item.itemGearNitinol60.name=Nitinol 60 Gear
+item.itemCellNitinol60.name=Nitinol 60 Cell
+tile.Block of Nitinol 60.name=Block of Nitinol 60
+tile.Nitinol 60 Frame Box.name=Nitinol 60 Frame Box
+
+item.itemIngotAdvancedNitinol.name=Advanced Nitinol Ingot
+item.itemHotIngotAdvancedNitinol.name=Hot Advanced Nitinol Ingot
+item.itemDustAdvancedNitinol.name=Advanced Nitinol Dust
+item.itemDustTinyAdvancedNitinol.name=Tiny Pile of Advanced Nitinol Dust
+item.itemDustSmallAdvancedNitinol.name=Small Pile of Advanced Nitinol Dust
+item.itemNuggetAdvancedNitinol.name=Advanced Nitinol Nugget
+item.itemPlateAdvancedNitinol.name=Advanced Nitinol Plate
+item.itemPlateDoubleAdvancedNitinol.name=Double Advanced Nitinol Plate
+item.itemBoltAdvancedNitinol.name=Advanced Nitinol Bolt
+item.itemRodAdvancedNitinol.name=Advanced Nitinol Rod
+item.itemRodLongAdvancedNitinol.name=Long Advanced Nitinol Rod
+item.itemRingAdvancedNitinol.name=Advanced Nitinol Ring
+item.itemScrewAdvancedNitinol.name=Advanced Nitinol Screw
+item.itemRotorAdvancedNitinol.name=Advanced Nitinol Rotor
+item.itemGearAdvancedNitinol.name=Advanced Nitinol Gear
+item.itemCellAdvancedNitinol.name=Advanced Nitinol Cell
+tile.Block of Advanced Nitinol.name=Block of Advanced Nitinol
+tile.Advanced Nitinol Frame Box.name=Advanced Nitinol Frame Box
+
+item.itemIngotArcanite.name=Arcanite Ingot
+item.itemHotIngotArcanite.name=Hot Arcanite Ingot
+item.itemDustArcanite.name=Arcanite Dust
+item.itemDustTinyArcanite.name=Tiny Pile of Arcanite Dust
+item.itemDustSmallArcanite.name=Small Pile of Arcanite Dust
+item.itemNuggetArcanite.name=Arcanite Nugget
+item.itemPlateArcanite.name=Arcanite Plate
+item.itemPlateDoubleArcanite.name=Double Arcanite Plate
+item.itemBoltArcanite.name=Arcanite Bolt
+item.itemRodArcanite.name=Arcanite Rod
+item.itemRodLongArcanite.name=Long Arcanite Rod
+item.itemRingArcanite.name=Arcanite Ring
+item.itemScrewArcanite.name=Arcanite Screw
+item.itemRotorArcanite.name=Arcanite Rotor
+item.itemGearArcanite.name=Arcanite Gear
+item.itemCellArcanite.name=Arcanite Cell
+tile.Block of Arcanite.name=Block of Arcanite
+tile.Arcanite Frame Box.name=Arcanite Frame Box
+
+item.itemIngotPikyonium64B.name=Pikyonium 64B Ingot
+item.itemHotIngotPikyonium64B.name=Hot Pikyonium 64B Ingot
+item.itemDustPikyonium64B.name=Pikyonium 64B Dust
+item.itemDustTinyPikyonium64B.name=Tiny Pile of Pikyonium 64B Dust
+item.itemDustSmallPikyonium64B.name=Small Pile of Pikyonium 64B Dust
+item.itemNuggetPikyonium64B.name=Pikyonium 64B Nugget
+item.itemPlatePikyonium64B.name=Pikyonium 64B Plate
+item.itemPlateDoublePikyonium64B.name=Double Pikyonium 64B Plate
+item.itemBoltPikyonium64B.name=Pikyonium 64B Bolt
+item.itemRodPikyonium64B.name=Pikyonium 64B Rod
+item.itemRodLongPikyonium64B.name=Long Pikyonium 64B Rod
+item.itemRingPikyonium64B.name=Pikyonium 64B Ring
+item.itemScrewPikyonium64B.name=Pikyonium 64B Screw
+item.itemRotorPikyonium64B.name=Pikyonium 64B Rotor
+item.itemGearPikyonium64B.name=Pikyonium 64B Gear
+item.itemCellPikyonium64B.name=Pikyonium 64B Cell
+tile.Block of Pikyonium 64B.name=Block of Pikyonium 64B
+tile.Pikyonium 64B Frame Box.name=Pikyonium 64B Frame Box
+
+item.itemIngotCinobiteA243.name=Cinobite A243 Ingot
+item.itemHotIngotCinobiteA243.name=Hot Cinobite A243 Ingot
+item.itemDustCinobiteA243.name=Cinobite A243 Dust
+item.itemDustTinyCinobiteA243.name=Tiny Pile of Cinobite A243 Dust
+item.itemDustSmallCinobiteA243.name=Small Pile of Cinobite A243 Dust
+item.itemNuggetCinobiteA243.name=Cinobite A243 Nugget
+item.itemPlateCinobiteA243.name=Cinobite A243 Plate
+item.itemPlateDoubleCinobiteA243.name=Double Cinobite A243 Plate
+item.itemBoltCinobiteA243.name=Cinobite A243 Bolt
+item.itemRodCinobiteA243.name=Cinobite A243 Rod
+item.itemRodLongCinobiteA243.name=Long Cinobite A243 Rod
+item.itemRingCinobiteA243.name=Cinobite A243 Ring
+item.itemScrewCinobiteA243.name=Cinobite A243 Screw
+item.itemRotorCinobiteA243.name=Cinobite A243 Rotor
+item.itemGearCinobiteA243.name=Cinobite A243 Gear
+item.itemCellCinobiteA243.name=Cinobite A243 Cell
+tile.Block of Cinobite A243.name=Block of Cinobite A243
+tile.Cinobite A243 Frame Box.name=Cinobite A243 Frame Box
+
+item.itemIngotLafiumCompound.name=Lafium Compound Ingot
+item.itemHotIngotLafiumCompound.name=Hot Lafium Compound Ingot
+item.itemDustLafiumCompound.name=Lafium Compound Dust
+item.itemDustTinyLafiumCompound.name=Tiny Pile of Lafium Compound Dust
+item.itemDustSmallLafiumCompound.name=Small Pile of Lafium Compound Dust
+item.itemNuggetLafiumCompound.name=Lafium Compound Nugget
+item.itemPlateLafiumCompound.name=Lafium Compound Plate
+item.itemPlateDoubleLafiumCompound.name=Double Lafium Compound Plate
+item.itemBoltLafiumCompound.name=Lafium Compound Bolt
+item.itemRodLafiumCompound.name=Lafium Compound Rod
+item.itemRodLongLafiumCompound.name=Long Lafium Compound Rod
+item.itemRingLafiumCompound.name=Lafium Compound Ring
+item.itemScrewLafiumCompound.name=Lafium Compound Screw
+item.itemRotorLafiumCompound.name=Lafium Compound Rotor
+item.itemGearLafiumCompound.name=Lafium Compound Gear
+item.itemCellLafiumCompound.name=Lafium Compound Cell
+tile.Block of Lafium Compound.name=Block of Lafium Compound
+tile.Lafium Compound Frame Box.name=Lafium Compound Frame Box
+
+item.itemIngotKoboldite.name=Koboldite Ingot
+item.itemHotIngotKoboldite.name=Hot Koboldite Ingot
+item.itemDustKoboldite.name=Koboldite Dust
+item.itemDustTinyKoboldite.name=Tiny Pile of Koboldite Dust
+item.itemDustSmallKoboldite.name=Small Pile of Koboldite Dust
+item.itemNuggetKoboldite.name=Koboldite Nugget
+item.itemPlateKoboldite.name=Koboldite Plate
+item.itemPlateDoubleKoboldite.name=Double Koboldite Plate
+item.itemBoltKoboldite.name=Koboldite Bolt
+item.itemRodKoboldite.name=Koboldite Rod
+item.itemRodLongKoboldite.name=Long Koboldite Rod
+item.itemRingKoboldite.name=Koboldite Ring
+item.itemScrewKoboldite.name=Koboldite Screw
+item.itemRotorKoboldite.name=Koboldite Rotor
+item.itemGearKoboldite.name=Koboldite Gear
+item.itemCellKoboldite.name=Koboldite Cell
+tile.Block of Koboldite.name=Block of Koboldite
+tile.Koboldite Frame Box.name=Koboldite Frame Box
+
+item.itemIngotAbyssalAlloy.name=Abyssal Alloy Ingot
+item.itemHotIngotAbyssalAlloy.name=Hot Abyssal Alloy Ingot
+item.itemDustAbyssalAlloy.name=Abyssal Alloy Dust
+item.itemDustTinyAbyssalAlloy.name=Tiny Pile of Abyssal Alloy Dust
+item.itemDustSmallAbyssalAlloy.name=Small Pile of Abyssal Alloy Dust
+item.itemNuggetAbyssalAlloy.name=Abyssal Alloy Nugget
+item.itemPlateAbyssalAlloy.name=Abyssal Alloy Plate
+item.itemPlateDoubleAbyssalAlloy.name=Double Abyssal Alloy Plate
+item.itemBoltAbyssalAlloy.name=Abyssal Alloy Bolt
+item.itemRodAbyssalAlloy.name=Abyssal Alloy Rod
+item.itemRodLongAbyssalAlloy.name=Long Abyssal Alloy Rod
+item.itemRingAbyssalAlloy.name=Abyssal Alloy Ring
+item.itemScrewAbyssalAlloy.name=Abyssal Alloy Screw
+item.itemRotorAbyssalAlloy.name=Abyssal Alloy Rotor
+item.itemGearAbyssalAlloy.name=Abyssal Alloy Gear
+item.itemCellAbyssalAlloy.name=Abyssal Alloy Cell
+tile.Block of Abyssal Alloy.name=Block of Abyssal Alloy
+tile.Abyssal Alloy Frame Box.name=Abyssal Alloy Frame Box
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+//Radioactive
+item.dustTechnetium99M.name=Technetium 99M Dust
+item.dustTechnetium99.name=Technetium 99 Dust
+item.dustMolybdenum99.name=Molybdenum 99 Dust
+
+//Bags
+item.item.MysticBag.name=Mystic Pouch
+item.item.Eatotron9000.name=Eatotronic 9000
+item.item.ToolBox.name=Workers Toolbox
+
+//Cells
+item.Bromine.name=Bromine Cell
+item.Krypton.name=Krypton Cell
+item.cryotheum.name=Cryotheum Cell
+item.pyrotheum.name=Pyrotheum Cell
+item.GeneticMutagen.name=Mutagen Cell
+
+//Ingots
+item.itemHotIngotIncoloy020.name=Hot Incoloy-020 Ingot
+item.itemHotIngotIncoloyDS.name=Hot Incoloy-DS Ingot
+item.itemHotIngotTalonite.name=Hot Talonite Ingot
+item.itemHotIngotHastelloyX.name=Hot Hastelloy-X Ingot
+item.itemHotIngotHastelloyW.name=Hot Hastelloy-W Carbide Ingot
+
+//Railcraft Fix
+item.railcraft.part.plate.lead.name=Lead Plate
+
+//Ions
+item.particle.ion.Hydrogen.name=Hydrogen Ion
+item.particle.ion.Helium.name=Helium Ion
+item.particle.ion.Lithium.name=Lithium Ion
+item.particle.ion.Beryllium.name=Beryllium Ion
+item.particle.ion.Boron.name=Boron Ion
+item.particle.ion.Carbon.name=Carbon Ion
+item.particle.ion.Nitrogen.name=Nitrogen Ion
+item.particle.ion.Oxygen.name=Oxygen Ion
+item.particle.ion.Fluorine.name=Fluorine Ion
+item.particle.ion.Neon.name=Neon Ion
+item.particle.ion.Sodium.name=Sodium Ion
+item.particle.ion.Magnesium.name=Magnesium Ion
+item.particle.ion.Aluminum.name=Aluminum Ion
+item.particle.ion.Silicon.name=Silicon Ion
+item.particle.ion.Phosphorus.name=Phosphorus Ion
+item.particle.ion.Sulfur.name=Sulfur Ion
+item.particle.ion.Chlorine.name=Chlorine Ion
+item.particle.ion.Argon.name=Argon Ion
+item.particle.ion.Potassium.name=Potassium Ion
+item.particle.ion.Calcium.name=Calcium Ion
+item.particle.ion.Scandium.name=Scandium Ion
+item.particle.ion.Titanium.name=Titanium Ion
+item.particle.ion.Vanadium.name=Vanadium Ion
+item.particle.ion.Chromium.name=Chromium Ion
+item.particle.ion.Manganese.name=Manganese Ion
+item.particle.ion.Iron.name=Iron Ion
+item.particle.ion.Cobalt.name=Cobalt Ion
+item.particle.ion.Nickel.name=Nickel Ion
+item.particle.ion.Copper.name=Copper Ion
+item.particle.ion.Zinc.name=Zinc Ion
+item.particle.ion.Gallium.name=Gallium Ion
+item.particle.ion.Germanium.name=Germanium Ion
+item.particle.ion.Arsenic.name=Arsenic Ion
+item.particle.ion.Selenium.name=Selenium Ion
+item.particle.ion.Bromine.name=Bromine Ion
+item.particle.ion.Krypton.name=Krypton Ion
+item.particle.ion.Rubidium.name=Rubidium Ion
+item.particle.ion.Strontium.name=Strontium Ion
+item.particle.ion.Yttrium.name=Yttrium Ion
+item.particle.ion.Zirconium.name=Zirconium Ion
+item.particle.ion.Niobium.name=Niobium Ion
+item.particle.ion.Molybdenum.name=Molybdenum Ion
+item.particle.ion.Technetium.name=Technetium Ion
+item.particle.ion.Ruthenium.name=Ruthenium Ion
+item.particle.ion.Rhodium.name=Rhodium Ion
+item.particle.ion.Palladium.name=Palladium Ion
+item.particle.ion.Silver.name=Silver Ion
+item.particle.ion.Cadmium.name=Cadmium Ion
+item.particle.ion.Indium.name=Indium Ion
+item.particle.ion.Tin.name=Tin Ion
+item.particle.ion.Antimony.name=Antimony Ion
+item.particle.ion.Tellurium.name=Tellurium Ion
+item.particle.ion.Iodine.name=Iodine Ion
+item.particle.ion.Xenon.name=Xenon Ion
+item.particle.ion.Cesium.name=Cesium Ion
+item.particle.ion.Barium.name=Barium Ion
+item.particle.ion.Lanthanum.name=Lanthanum Ion
+item.particle.ion.Cerium.name=Cerium Ion
+item.particle.ion.Praseodymium.name=Praseodymium Ion
+item.particle.ion.Neodymium.name=Neodymium Ion
+item.particle.ion.Promethium.name=Promethium Ion
+item.particle.ion.Samarium.name=Samarium Ion
+item.particle.ion.Europium.name=Europium Ion
+item.particle.ion.Gadolinium.name=Gadolinium Ion
+item.particle.ion.Terbium.name=Terbium Ion
+item.particle.ion.Dysprosium.name=Dysprosium Ion
+item.particle.ion.Holmium.name=Holmium Ion
+item.particle.ion.Erbium.name=Erbium Ion
+item.particle.ion.Thulium.name=Thulium Ion
+item.particle.ion.Ytterbium.name=Ytterbium Ion
+item.particle.ion.Lutetium.name=Lutetium Ion
+item.particle.ion.Hafnium.name=Hafnium Ion
+item.particle.ion.Tantalum.name=Tantalum Ion
+item.particle.ion.Tungsten.name=Tungsten Ion
+item.particle.ion.Rhenium.name=Rhenium Ion
+item.particle.ion.Osmium.name=Osmium Ion
+item.particle.ion.Iridium.name=Iridium Ion
+item.particle.ion.Platinum.name=Platinum Ion
+item.particle.ion.Gold.name=Gold Ion
+item.particle.ion.Mercury.name=Mercury Ion
+item.particle.ion.Thallium.name=Thallium Ion
+item.particle.ion.Lead.name=Lead Ion
+item.particle.ion.Bismuth.name=Bismuth Ion
+item.particle.ion.Polonium.name=Polonium Ion
+item.particle.ion.Astatine.name=Astatine Ion
+item.particle.ion.Radon.name=Radon Ion
+item.particle.ion.Francium.name=Francium Ion
+item.particle.ion.Radium.name=Radium Ion
+item.particle.ion.Actinium.name=Actinium Ion
+item.particle.ion.Thorium.name=Thorium Ion
+item.particle.ion.Protactinium.name=Protactinium Ion
+item.particle.ion.Uranium.name=Uranium Ion
+item.particle.ion.Neptunium.name=Neptunium Ion
+item.particle.ion.Plutonium.name=Plutonium Ion
+item.particle.ion.Americium.name=Americium Ion
+item.particle.ion.Curium.name=Curium Ion
+item.particle.ion.Berkelium.name=Berkelium Ion
+item.particle.ion.Californium.name=Californium Ion
+item.particle.ion.Einsteinium.name=Einsteinium Ion
+item.particle.ion.Fermium.name=Fermium Ion
+item.particle.ion.Mendelevium.name=Mendelevium Ion
+item.particle.ion.Nobelium.name=Nobelium Ion
+item.particle.ion.Lawrencium.name=Lawrencium Ion
+item.particle.ion.Rutherfordium.name=Rutherfordium Ion
+item.particle.ion.Dubnium.name=Dubnium Ion
+item.particle.ion.Seaborgium.name=Seaborgium Ion
+item.particle.ion.Bohrium.name=Bohrium Ion
+item.particle.ion.Hassium.name=Hassium Ion
+item.particle.ion.Meitnerium.name=Meitnerium Ion
+item.particle.ion.Darmstadtium.name=Darmstadtium Ion
+item.particle.ion.Roentgenium.name=Roentgenium Ion
+item.particle.ion.Copernicium.name=Copernicium Ion
+item.particle.ion.Nihonium.name=Nihonium Ion
+item.particle.ion.Flerovium.name=Flerovium Ion
+item.particle.ion.Moscovium.name=Moscovium Ion
+item.particle.ion.Livermorium.name=Livermorium Ion
+item.particle.ion.Tennessine.name=Tennessine Ion
+item.particle.ion.Oganesson.name=Oganesson Ion
+
+
+item.particle.base.Graviton.name=Graviton
+item.particle.base.Up.name=Up Quark
+item.particle.base.Down.name=Down Quark
+item.particle.base.Charm.name=Charm Quark
+item.particle.base.Strange.name=Strange Quark
+item.particle.base.Top.name=Top Quark
+item.particle.base.Bottom.name=Bottom Quark
+item.particle.base.Electron.name=Electron
+item.particle.base.Electron Neutrino.name=Electron Neutrino
+item.particle.base.Muon.name=Muon
+item.particle.base.Muon Neutrino.name=Muon Neutrino
+item.particle.base.Tau.name=Tau
+item.particle.base.Tau Neutrino.name=Tau Neutrino
+item.particle.base.Gluon.name=Gluon
+item.particle.base.Photon.name=Photon
+item.particle.base.Z Boson.name=Z Boson
+item.particle.base.W Boson.name=W Boson
+item.particle.base.Higgs Boson.name=Higgs Boson
+item.particle.base.Proton.name=Proton
+item.particle.base.Neutron.name=Neutron
+item.particle.base.Lambda.name=Lambda
+item.particle.base.Omega.name=Omega
+item.particle.base.Pion.name=Pion
+item.particle.base.ETA Meson.name=ETA Meson
+
+
+