diff options
| author | Technus <daniel112092@gmail.com> | 2017-05-26 19:21:47 +0200 |
|---|---|---|
| committer | Technus <daniel112092@gmail.com> | 2017-05-26 19:21:47 +0200 |
| commit | e3581dee99f21dc0da66c3eaaaff8cf82b20fb16 (patch) | |
| tree | 517bb7714294650984e68eb23168456ea312386c /src/main/java | |
| parent | e516f0b07c76cd1d5a8b6c21eece019f8c935000 (diff) | |
| download | GT5-Unofficial-e3581dee99f21dc0da66c3eaaaff8cf82b20fb16.tar.gz GT5-Unofficial-e3581dee99f21dc0da66c3eaaaff8cf82b20fb16.tar.bz2 GT5-Unofficial-e3581dee99f21dc0da66c3eaaaff8cf82b20fb16.zip | |
cleanup quantization/dequantization
Diffstat (limited to 'src/main/java')
30 files changed, 675 insertions, 311 deletions
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/aFluidDequantizationInfo.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aFluidDequantizationInfo.java new file mode 100644 index 0000000000..9126ae2073 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aFluidDequantizationInfo.java @@ -0,0 +1,49 @@ +package com.github.technus.tectech.elementalMatter.classes; + +import com.github.technus.tectech.elementalMatter.interfaces.iExchangeInfo; +import com.github.technus.tectech.elementalMatter.interfaces.iHasElementalDefinition; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; + +/** + * Created by Tec on 23.05.2017. + */ +public class aFluidDequantizationInfo implements iExchangeInfo { + private final iHasElementalDefinition in; + private final FluidStack out; + + public aFluidDequantizationInfo(iHasElementalDefinition emIn, FluidStack fluidStackOut){ + in=emIn; + out=fluidStackOut; + } + + public aFluidDequantizationInfo(iHasElementalDefinition emIn ,int fluidID,int fluidAmount) { + in = emIn; + out = new FluidStack(fluidID, fluidAmount); + } + + public aFluidDequantizationInfo(iHasElementalDefinition emIn, Fluid fluid, int fluidAmount){ + in=emIn; + out=new FluidStack(fluid,fluidAmount); + } + + @Override + public iHasElementalDefinition input() { + return in.clone();//MEH! + } + + @Override + public FluidStack output() { + return out.copy(); + } + + @Override + public int hashCode() { + return in.getDefinition().hashCode(); + } + + @Override + public boolean equals(Object obj) { + return obj instanceof aFluidDequantizationInfo && hashCode() == obj.hashCode(); + } +} diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/aFluidQuantizationInfo.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aFluidQuantizationInfo.java new file mode 100644 index 0000000000..1c26cd2747 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aFluidQuantizationInfo.java @@ -0,0 +1,49 @@ +package com.github.technus.tectech.elementalMatter.classes; + +import com.github.technus.tectech.elementalMatter.interfaces.iExchangeInfo; +import com.github.technus.tectech.elementalMatter.interfaces.iHasElementalDefinition; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; + +/** + * Created by Tec on 23.05.2017. + */ +public class aFluidQuantizationInfo implements iExchangeInfo { + private final FluidStack in; + private final iHasElementalDefinition out; + + public aFluidQuantizationInfo(FluidStack fluidStackIn, iHasElementalDefinition emOut){ + in=fluidStackIn; + out=emOut; + } + + public aFluidQuantizationInfo(int fluidID,int fluidAmount, iHasElementalDefinition emOut){ + in=new FluidStack(fluidID,fluidAmount); + out=emOut; + } + + public aFluidQuantizationInfo(Fluid fluid, int fluidAmount, iHasElementalDefinition emOut){ + in=new FluidStack(fluid,fluidAmount); + out=emOut; + } + + @Override + public FluidStack input() { + return in.copy(); + } + + @Override + public iHasElementalDefinition output() { + return out.clone(); + } + + @Override + public int hashCode() { + return in.getFluidID(); + } + + @Override + public boolean equals(Object obj) { + return obj instanceof aFluidQuantizationInfo && hashCode() == obj.hashCode(); + } +} diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/aItemDequantizationInfo.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aItemDequantizationInfo.java new file mode 100644 index 0000000000..08162a234c --- /dev/null +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aItemDequantizationInfo.java @@ -0,0 +1,46 @@ +package com.github.technus.tectech.elementalMatter.classes; + +import com.github.technus.tectech.elementalMatter.interfaces.iExchangeInfo; +import com.github.technus.tectech.elementalMatter.interfaces.iHasElementalDefinition; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraft.item.ItemStack; + +/** + * Created by Tec on 23.05.2017. + */ +public class aItemDequantizationInfo implements iExchangeInfo { + private final iHasElementalDefinition in; + private final ItemStack out; + + public aItemDequantizationInfo(iHasElementalDefinition emIn, ItemStack itemStackOut){ + in=emIn; + out=itemStackOut; + } + + public aItemDequantizationInfo(iHasElementalDefinition emIn, OrePrefixes prefix, Materials material, int amount) { + in = emIn; + out = GT_OreDictUnificator.get(prefix, material, amount); + } + + @Override + public iHasElementalDefinition input() { + return in.clone(); + } + + @Override + public ItemStack output() { + return out.copy(); + } + + @Override + public int hashCode() { + return in.getDefinition().hashCode(); + } + + @Override + public boolean equals(Object obj) { + return obj instanceof aItemDequantizationInfo && hashCode() == obj.hashCode(); + } +} diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/aItemQuantizationInfo.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aItemQuantizationInfo.java new file mode 100644 index 0000000000..c58fd286b7 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aItemQuantizationInfo.java @@ -0,0 +1,64 @@ +package com.github.technus.tectech.elementalMatter.classes; + +import com.github.technus.tectech.elementalMatter.interfaces.iExchangeInfo; +import com.github.technus.tectech.elementalMatter.interfaces.iHasElementalDefinition; +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; + +/** + * Created by Tec on 23.05.2017. + */ +public class aItemQuantizationInfo implements iExchangeInfo { + private final ItemStack in; + private final boolean skipNBT; + private final iHasElementalDefinition out; + + public aItemQuantizationInfo(ItemStack itemStackIn, boolean skipNBT, iHasElementalDefinition emOut) { + in = itemStackIn; + out = emOut; + this.skipNBT = skipNBT; + } + + public aItemQuantizationInfo(OrePrefixes prefix, Materials material, int amount, boolean skipNBT, iHasElementalDefinition emOut) { + in = GT_OreDictUnificator.get(prefix, material, amount); + out = emOut; + this.skipNBT = skipNBT; + } + + @Override + public ItemStack input() { + return in.copy(); + } + + @Override + public iHasElementalDefinition output() { + return out.clone(); + } + + @Override + public int hashCode() { + return (GameRegistry.findUniqueIdentifierFor(in.getItem())+":"+in.getUnlocalizedName()+":"+in.getItemDamage()).hashCode(); + } + + @Override + public boolean equals(Object obj) { + if(obj instanceof aItemQuantizationInfo){ + //alias + ItemStack b=((aItemQuantizationInfo) obj).in; + if(!in.getUnlocalizedName().equals(((aItemQuantizationInfo) obj).in.getUnlocalizedName())) return false; + + if(!GameRegistry.findUniqueIdentifierFor(in.getItem()).equals( + GameRegistry.findUniqueIdentifierFor(((aItemQuantizationInfo) obj).in.getItem()))) return false; + + if(in.getItemDamage() != OreDictionary.WILDCARD_VALUE && b.getItemDamage() != OreDictionary.WILDCARD_VALUE) { + if (in.getItemDamage() != b.getItemDamage()) return false; + } + return skipNBT || ItemStack.areItemStackTagsEqual(in, b); + } + return false; + } +} diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/aOredictDequantizationInfo.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aOredictDequantizationInfo.java new file mode 100644 index 0000000000..1d2c2ca362 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aOredictDequantizationInfo.java @@ -0,0 +1,57 @@ +package com.github.technus.tectech.elementalMatter.classes; + +import com.github.technus.tectech.elementalMatter.interfaces.iExchangeInfo; +import com.github.technus.tectech.elementalMatter.interfaces.iHasElementalDefinition; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_OreDictUnificator; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.oredict.OreDictionary; + +/** + * Created by Tec on 23.05.2017. + */ +public class aOredictDequantizationInfo implements iExchangeInfo { + private final iHasElementalDefinition in; + public final int out; + public final int amount; + + public aOredictDequantizationInfo(iHasElementalDefinition emIn, int id, int qty) { + in = emIn; + out = id; + amount = qty; + } + + public aOredictDequantizationInfo(iHasElementalDefinition emIn, String name, int qty) { + in = emIn; + out = OreDictionary.getOreID(name); + amount = qty; + } + + public aOredictDequantizationInfo(iHasElementalDefinition emIn, OrePrefixes prefix, Materials material, int qty) { + in = emIn; + out = OreDictionary.getOreID(prefix.name() + material.mName); + amount = qty; + } + + @Override + public iHasElementalDefinition input() { + return in.clone();//MEH! + } + + @Override + public Integer output() { + return out; + } + + @Override + public int hashCode() { + return in.getDefinition().hashCode(); + } + + @Override + public boolean equals(Object obj) { + return obj instanceof aOredictDequantizationInfo && hashCode() == obj.hashCode(); + } +} diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/aOredictQuantizationInfo.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aOredictQuantizationInfo.java new file mode 100644 index 0000000000..ccad2c9429 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/aOredictQuantizationInfo.java @@ -0,0 +1,56 @@ +package com.github.technus.tectech.elementalMatter.classes; + +import com.github.technus.tectech.elementalMatter.interfaces.iExchangeInfo; +import com.github.technus.tectech.elementalMatter.interfaces.iHasElementalDefinition; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.oredict.OreDictionary; + +/** + * Created by Tec on 23.05.2017. + */ +public class aOredictQuantizationInfo implements iExchangeInfo { + public final int in; + public final int amount; + private final iHasElementalDefinition out; + + public aOredictQuantizationInfo(int id, int qty, iHasElementalDefinition emOut){ + in=id; + amount=qty; + out=emOut; + } + + public aOredictQuantizationInfo(String name, int qty, iHasElementalDefinition emOut){ + in=OreDictionary.getOreID(name); + amount=qty; + out=emOut; + } + + public aOredictQuantizationInfo( OrePrefixes prefix, Materials material, int qty, iHasElementalDefinition emOut){ + in=OreDictionary.getOreID(prefix.name() + material.mName); + amount=qty; + out=emOut; + } + + @Override + public Integer input() { + return in; + } + + @Override + public iHasElementalDefinition output() { + return out.clone(); + } + + @Override + public int hashCode() { + return in; + } + + @Override + public boolean equals(Object obj) { + return obj instanceof aOredictQuantizationInfo && hashCode() == obj.hashCode(); + } +} diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/bTransformationInfo.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/bTransformationInfo.java new file mode 100644 index 0000000000..9c9b4779ff --- /dev/null +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/bTransformationInfo.java @@ -0,0 +1,82 @@ +package com.github.technus.tectech.elementalMatter.classes; + +import com.github.technus.tectech.elementalMatter.interfaces.iElementalDefinition; +import com.github.technus.tectech.elementalMatter.interfaces.iHasElementalDefinition; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.oredict.OreDictionary; + +import java.util.HashMap; + +/** + * Created by Tec on 26.05.2017. + */ +public class bTransformationInfo { + final static public HashMap<Integer,aFluidQuantizationInfo> fluidQuantization=new HashMap<>(32); + public HashMap<iElementalDefinition,aFluidDequantizationInfo> fluidDequantization; + + final static public HashMap<aItemQuantizationInfo,aItemQuantizationInfo> itemQuantization=new HashMap<>(32); + public HashMap<iElementalDefinition,aItemDequantizationInfo> itemDequantization; + + final static public HashMap<Integer,aOredictQuantizationInfo> oredictQuantization=new HashMap<>(32); + public HashMap<iElementalDefinition,aOredictDequantizationInfo> oredictDequantization; + + public bTransformationInfo(){ + fluidDequantization=new HashMap<>(); + itemDequantization=new HashMap<>(); + oredictDequantization=new HashMap<>(); + } + + public bTransformationInfo(int fluidCap,int itemCap, int oreCap){ + if(fluidCap>0)fluidDequantization=new HashMap<>(fluidCap); + if(itemCap>0)itemDequantization=new HashMap<>(itemCap); + if(oreCap>0)oredictDequantization=new HashMap<>(oreCap); + } + + public void addFluid(iHasElementalDefinition em, FluidStack fluidStack){ + fluidQuantization.put(fluidStack.getFluidID(),new aFluidQuantizationInfo(fluidStack,em)); + fluidDequantization.put(em.getDefinition(),new aFluidDequantizationInfo(em,fluidStack)); + } + + public void addFluid(iHasElementalDefinition em ,int fluidID,int fluidAmount) { + fluidQuantization.put(fluidID,new aFluidQuantizationInfo(fluidID,fluidAmount,em)); + fluidDequantization.put(em.getDefinition(),new aFluidDequantizationInfo(em,fluidID,fluidAmount)); + } + + public void addFluid(iHasElementalDefinition em, Fluid fluid, int fluidAmount){ + fluidQuantization.put(fluid.getID(),new aFluidQuantizationInfo(fluid,fluidAmount,em)); + fluidDequantization.put(em.getDefinition(),new aFluidDequantizationInfo(em,fluid,fluidAmount)); + } + + public void addItemQuantization(aItemQuantizationInfo aIQI){ + itemQuantization.put(aIQI,aIQI); + } + + public void addItem(iHasElementalDefinition em, ItemStack itemStack, boolean skipNBT){ + addItemQuantization(new aItemQuantizationInfo(itemStack,skipNBT,em)); + itemDequantization.put(em.getDefinition(),new aItemDequantizationInfo(em,itemStack)); + } + + public void addItem(iHasElementalDefinition em, OrePrefixes prefix, Materials material, int amount, boolean skipNBT){ + addItemQuantization(new aItemQuantizationInfo(prefix,material,amount,skipNBT,em)); + itemDequantization.put(em.getDefinition(),new aItemDequantizationInfo(em,prefix,material,amount)); + } + + public void addOredict(iHasElementalDefinition em, int id, int qty){ + oredictQuantization.put(id,new aOredictQuantizationInfo(id,qty,em)); + oredictDequantization.put(em.getDefinition(),new aOredictDequantizationInfo(em,id,qty)); + } + + public void addOredict(iHasElementalDefinition em, String name, int qty){ + oredictQuantization.put(OreDictionary.getOreID(name),new aOredictQuantizationInfo(name,qty,em)); + oredictDequantization.put(em.getDefinition(),new aOredictDequantizationInfo(em,name,qty)); + } + + public void addOredict(iHasElementalDefinition em, OrePrefixes prefix, Materials material, int qty){ + oredictQuantization.put(OreDictionary.getOreID(prefix.name() + material.mName),new aOredictQuantizationInfo(prefix,material,qty,em)); + oredictDequantization.put(em.getDefinition(),new aOredictDequantizationInfo(em,prefix,material,qty)); + } +} diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinition.java index a9fba3854a..9e9b54cf0c 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinition.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinition.java @@ -29,7 +29,7 @@ public abstract class cElementalDefinition implements iElementalDefinition { } @Override - protected final Object clone() { + public final cElementalDefinition clone() { return this;//IMMUTABLE } diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStack.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStack.java index d37c1e27cc..7ab4dcdc56 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStack.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStack.java @@ -19,7 +19,7 @@ public final class cElementalDefinitionStack implements iHasElementalDefinition } @Override - protected final Object clone() { + public final cElementalDefinitionStack clone() { return this;//IMMUTABLE } diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalPrimitive.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalPrimitive.java index 3434d222cd..6e28e41b48 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalPrimitive.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalPrimitive.java @@ -20,9 +20,6 @@ import static com.github.technus.tectech.elementalMatter.definitions.cPrimitiveD * EXTEND THIS TO ADD NEW PRIMITIVES, WATCH OUT FOR ID'S!!! (-1 to 32 can be assumed as used) */ public abstract class cElementalPrimitive extends cElementalDefinition { - public static final Map<cElementalPrimitive, ItemStack> itemBinds = new TreeMap<>(); - public static final Map<cElementalPrimitive, FluidStack> fluidBinds = new TreeMap<>(); - private static final byte nbtType = (byte) 'p'; public static final Map<Integer, iElementalDefinition> bindsBO = new HashMap<>(); @@ -129,12 +126,12 @@ public abstract class cElementalPrimitive extends cElementalDefinition { } @Override - public FluidStack materializesIntoFluid() { + public FluidStack someAmountIntoFluidStack() { return null; } @Override - public ItemStack materializesIntoItem() { + public ItemStack someAmountIntoItemsStack() { return null; } diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/cPrimitiveDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/cPrimitiveDefinition.java index 35a3cfa524..3f06712940 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/cPrimitiveDefinition.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/cPrimitiveDefinition.java @@ -10,8 +10,8 @@ import static com.github.technus.tectech.elementalMatter.classes.cElementalDecay */ public final class cPrimitiveDefinition extends cElementalPrimitive { public static final cPrimitiveDefinition - nbtE__ = new cPrimitiveDefinition("NBT ERROR", "!", 0, 0f, 0, Integer.MIN_VALUE, Integer.MIN_VALUE), - null__ = new cPrimitiveDefinition("NULL POINTER", ".", 0, 0F, 0, -3, Integer.MAX_VALUE), + nbtE__ = new cPrimitiveDefinition("NBT ERROR", "!", 0, 0f, 0, Integer.MIN_VALUE, Integer.MIN_VALUE+10_000), + null__ = new cPrimitiveDefinition("NULL POINTER", ".", 0, 0F, 0, -3, Integer.MAX_VALUE-10_000), space__ = new cPrimitiveDefinition("Space", "_", 0, 0F, 0, -4, 0), magic = new cPrimitiveDefinition("Magic", "Ma", 4, 1e5F, 0, 0, 1), magic_ = new cPrimitiveDefinition("Antimagic", "~Ma", -4, 1e5F, 0, 0, 2); diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java index 94e92107bf..8f745ae3b0 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java @@ -4,23 +4,29 @@ import com.github.technus.tectech.TecTech; import com.github.technus.tectech.auxiliary.TecTechConfig; import com.github.technus.tectech.elementalMatter.classes.*; import com.github.technus.tectech.elementalMatter.interfaces.iElementalDefinition; +import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; import gregtech.api.objects.XSTR; +import gregtech.api.util.GT_OreDictUnificator; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; +import net.minecraftforge.oredict.OreDictionary; import java.util.*; import static com.github.technus.tectech.elementalMatter.definitions.eBosonDefinition.boson_Y__; import static com.github.technus.tectech.elementalMatter.definitions.eBosonDefinition.deadEnd; +import static gregtech.api.enums.OrePrefixes.dust; /** * Created by danie_000 on 18.11.2016. */ -public final class dAtomDefinition extends cElementalDefinition {//TODO Optimize map i/o +public final class dAtomDefinition extends cElementalDefinition { private final int hash; - public static final Map<dAtomDefinition, ItemStack> itemBinds = new TreeMap<>(); - public static final Map<dAtomDefinition, FluidStack> fluidBinds = new TreeMap<>(); + public static final bTransformationInfo transformation=new bTransformationInfo(16,0,64); + public static float refMass, refUnstableMass; private static final byte nbtType = (byte) 'a'; private static final Random xstr = new XSTR();//NEEDS SEPARATE! @@ -437,14 +443,16 @@ public final class dAtomDefinition extends cElementalDefinition {//TODO Optimize //} @Override - public FluidStack materializesIntoFluid() { - + public FluidStack someAmountIntoFluidStack() { + aFluidDequantizationInfo fdq= transformation.fluidDequantization.get(this); + if(fdq!=null) return fdq.output(); return null; } @Override - public ItemStack materializesIntoItem() { - + public ItemStack someAmountIntoItemsStack() { + aItemDequantizationInfo idq= transformation.itemDequantization.get(this); + if(idq!=null) return idq.output(); return null; } @@ -542,6 +550,158 @@ public final class dAtomDefinition extends cElementalDefinition {//TODO Optimize TecTech.Logger.info("Registered Elemental Matter Class: Atom "+nbtType+" "+64); } + public static void setTransformation(){ + /*----STABLE ATOMS----**/ + refMass = getFirstStableIsotope(1).getMass() * 144F; + + transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(1), 144),Materials.Hydrogen.mGas.getID(),144); + transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(2), 144),Materials.Helium.mGas.getID(), 144); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(3), 144), dust, Materials.Lithium,1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(4), 144), dust, Materials.Beryllium,1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(5), 144), dust, Materials.Boron,1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(6), 144), dust, Materials.Carbon,1); + transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(7), 144),Materials.Nitrogen.mGas.getID(), 144); + transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(8), 144),Materials.Oxygen.mGas.getID(), 144); + transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(9), 144),Materials.Fluorine.mGas.getID(), 144); + //transformation.addFluid(new cElementalDefinitionStack(getFirstStableIsotope(10), 144),Materials.Neon.mGas.getID(), 144); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(11), 144), dust, Materials.Sodium,1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(12), 144), dust, Materials.Magnesium,1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(13), 144), dust, Materials.Aluminium,1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(14), 144), dust, Materials.Silicon,1); + transformation.addOredict(new cElementalDefinitionStack(getFirstStableIsotope(15), 144), dust, Material |
