aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/item/chemistry
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2021-11-29 16:38:31 +0000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2021-11-29 16:38:31 +0000
commit92ba4e62b6628a146dd24df13ae9ec40b0a69a22 (patch)
treee234ccff078af5e9388f37f4542f54d641d029f0 /src/Java/gtPlusPlus/core/item/chemistry
parent428d5e191ff87cc1e71428d802779334f89029db (diff)
downloadGT5-Unofficial-92ba4e62b6628a146dd24df13ae9ec40b0a69a22.tar.gz
GT5-Unofficial-92ba4e62b6628a146dd24df13ae9ec40b0a69a22.tar.bz2
GT5-Unofficial-92ba4e62b6628a146dd24df13ae9ec40b0a69a22.zip
Added new generic Nuclear Chem item.
Added ability to set Fluid for a Material. Moved Nuclear recipe generation to a different phase during init.
Diffstat (limited to 'src/Java/gtPlusPlus/core/item/chemistry')
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java59
-rw-r--r--src/Java/gtPlusPlus/core/item/chemistry/general/ItemNuclearChemBase.java152
2 files changed, 197 insertions, 14 deletions
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java b/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java
index 25beb6d9b5..db41da43b2 100644
--- a/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java
+++ b/src/Java/gtPlusPlus/core/item/chemistry/NuclearChem.java
@@ -1,14 +1,15 @@
package gtPlusPlus.core.item.chemistry;
-import net.minecraft.init.Items;
-
-import gregtech.api.enums.GT_Values;
import gtPlusPlus.api.objects.minecraft.ItemPackage;
import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase;
+import gtPlusPlus.core.item.chemistry.general.ItemNuclearChemBase;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
public class NuclearChem extends ItemPackage {
@@ -19,23 +20,39 @@ public class NuclearChem extends ItemPackage {
public static Fluid GeneticMutagen;
private static boolean generateMutagenRecipe = false;
+
+ public static ItemNuclearChemBase mNuclearChemItem1;
+
+ public static ItemStack mResidueUranium;
+ public static ItemStack mResiduePlutonium;
+ public static ItemStack mResidueFluorides;
+ public static ItemStack mResidueNobles;
@Override
- public String errorMessage() {
- return "bad Nuclear Chemistry Recipes.";
+ public void items() {
+
+ mNuclearChemItem1 = new ItemNuclearChemBase();
+ registerItemStacks();
+ registerOreDict();
}
- @Override
- public boolean generateRecipes() {
- if (generateMutagenRecipe) {
- chemReator_CreateMutagen();
- }
- chemReactor_MutagenWithEggs();
- return true;
+
+ public void registerItemStacks() {
+
+ mResidueUranium = ItemUtils.simpleMetaStack(mNuclearChemItem1, 0, 1);
+ mResidueUranium = ItemUtils.simpleMetaStack(mNuclearChemItem1, 1, 1);
+ mResidueUranium = ItemUtils.simpleMetaStack(mNuclearChemItem1, 2, 1);
+ mResidueUranium = ItemUtils.simpleMetaStack(mNuclearChemItem1, 3, 1);
+
}
- @Override
- public void items() {
+ public void registerOreDict() {
+
+ ItemUtils.addItemToOreDictionary(mResidueUranium, "dustResidueUranium");
+ ItemUtils.addItemToOreDictionary(mResiduePlutonium, "dustResiduePlutonium");
+ ItemUtils.addItemToOreDictionary(mResidueFluorides, "dustResidueFluoride");
+ ItemUtils.addItemToOreDictionary(mResidueNobles, "dustResidueNoble");
+
}
@Override
@@ -57,6 +74,20 @@ public class NuclearChem extends ItemPackage {
GeneticMutagen = FluidUtils.getFluidStack("fluid.Mutagen", 1).getFluid();
}
}
+
+ @Override
+ public String errorMessage() {
+ return "Bad Nuclear Chemistry Recipes.";
+ }
+
+ @Override
+ public boolean generateRecipes() {
+ if (generateMutagenRecipe) {
+ chemReator_CreateMutagen();
+ }
+ chemReactor_MutagenWithEggs();
+ return true;
+ }
private static void chemReator_CreateMutagen() {
CORE.RA.addChemicalRecipe(
diff --git a/src/Java/gtPlusPlus/core/item/chemistry/general/ItemNuclearChemBase.java b/src/Java/gtPlusPlus/core/item/chemistry/general/ItemNuclearChemBase.java
new file mode 100644
index 0000000000..cfd3fd6259
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/chemistry/general/ItemNuclearChemBase.java
@@ -0,0 +1,152 @@
+package gtPlusPlus.core.item.chemistry.general;
+
+import java.util.List;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.minecraft.ItemUtils;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+import net.minecraft.world.World;
+
+public class ItemNuclearChemBase extends Item {
+
+ final protected IIcon base[];
+
+ final private int aMetaSize = 4;
+
+ /*
+ * 0 - Uranium Residue
+ * 1 - Plutonium Residue
+ * 2 - Fluoride Reside
+ * 3 - Noble Gas Residue
+ */
+
+ public ItemNuclearChemBase() {
+ this.setHasSubtypes(true);
+ this.setNoRepair();
+ this.setMaxStackSize(64);
+ this.setMaxDamage(0);
+ base = new IIcon[aMetaSize];
+ this.setUnlocalizedName("BasicNuclearChemItem");
+ GameRegistry.registerItem(this, this.getUnlocalizedName());
+ }
+
+ @Override
+ public int getItemStackLimit(ItemStack stack) {
+ return super.getItemStackLimit(stack);
+ }
+
+ @Override
+ public boolean isDamageable() {
+ return false;
+ }
+
+ @Override
+ public boolean shouldRotateAroundWhenRendering() {
+ return super.shouldRotateAroundWhenRendering();
+ }
+
+ @Override
+ public void onUpdate(ItemStack p_77663_1_, World p_77663_2_, Entity p_77663_3_, int p_77663_4_, boolean p_77663_5_) {
+ super.onUpdate(p_77663_1_, p_77663_2_, p_77663_3_, p_77663_4_, p_77663_5_);
+ }
+
+ @Override
+ public String getItemStackDisplayName(ItemStack aStack) {
+ return super.getItemStackDisplayName(aStack);
+ }
+
+ @Override
+ public EnumRarity getRarity(ItemStack p_77613_1_) {
+ return EnumRarity.common;
+ }
+
+ @Override
+ public boolean requiresMultipleRenderPasses() {
+ return false;
+ }
+
+ @Override
+ public void getSubItems(Item aItem, CreativeTabs p_150895_2_, List aList) {
+ for (int i=0;i<aMetaSize;i++) {
+ aList.add(ItemUtils.simpleMetaStack(aItem, i, 1));
+ }
+ }
+
+ @Override
+ public boolean getIsRepairable(ItemStack p_82789_1_, ItemStack p_82789_2_) {
+ return false;
+ }
+
+ @Override
+ public boolean isRepairable() {
+ return false;
+ }
+
+ @Override
+ public boolean isBookEnchantable(ItemStack stack, ItemStack book) {
+ return false;
+ }
+
+ @Override
+ public int getDisplayDamage(ItemStack stack) {
+ return stack.getItemDamage();
+ }
+
+ @Override
+ public int getItemEnchantability() {
+ return 0;
+ }
+
+ @Override
+ public int getItemEnchantability(ItemStack stack) {
+ return 0;
+ }
+
+ @Override
+ public void registerIcons(final IIconRegister u) {
+ for (int i=0;i<this.aMetaSize;i++) {
+ String aPath = CORE.MODID + ":" + "science/nuclear/MetaItem1/"+i;
+ this.base[i] = u.registerIcon(aPath);
+ }
+ }
+
+
+ @Override
+ public IIcon getIconFromDamageForRenderPass(final int damage, final int pass) {
+ return this.base[damage];
+ }
+
+ @Override
+ public IIcon getIconFromDamage(int damage) {
+ return this.base[damage];
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
+ return this.base[stack.getItemDamage()];
+ }
+
+ @Override
+ public IIcon getIcon(ItemStack stack, int pass) {
+ return this.base[stack.getItemDamage()];
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack stack) {
+ return super.getUnlocalizedName() + "." + stack.getItemDamage();
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer player, List list, boolean bool) {
+ super.addInformation(aStack, player, list, bool);
+ }
+
+}