diff options
Diffstat (limited to 'src/main/java/gregtech/api/enums/Tier.java')
-rw-r--r-- | src/main/java/gregtech/api/enums/Tier.java | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/enums/Tier.java b/src/main/java/gregtech/api/enums/Tier.java new file mode 100644 index 0000000000..8ee2bc6853 --- /dev/null +++ b/src/main/java/gregtech/api/enums/Tier.java @@ -0,0 +1,91 @@ +package gregtech.api.enums; + +/** + * Experimental Class for later + */ +public class Tier { + public static final Tier[] + ELECTRIC = new Tier[] { + new Tier(SubTag.ENERGY_ELECTRICITY , 0, 8, 1, 1, 1, Materials.WroughtIron , ItemList.Hull_ULV , OrePrefixes.cableGt01 .get(Materials.Lead ), OrePrefixes.cableGt04 .get(Materials.Lead ), OrePrefixes.circuit .get(Materials.Primitive ), OrePrefixes.circuit .get(Materials.Basic )), + new Tier(SubTag.ENERGY_ELECTRICITY , 1, 32, 1, 1, 1, Materials.Steel , ItemList.Hull_LV , OrePrefixes.cableGt01 .get(Materials.Tin ), OrePrefixes.cableGt04 .get(Materials.Tin ), OrePrefixes.circuit .get(Materials.Basic ), OrePrefixes.circuit .get(Materials.Good )), + new Tier(SubTag.ENERGY_ELECTRICITY , 2, 128, 1, 1, 1, Materials.Aluminium , ItemList.Hull_MV , OrePrefixes.cableGt01 .get(Materials.AnyCopper ), OrePrefixes.cableGt04 .get(Materials.AnyCopper ), OrePrefixes.circuit .get(Materials.Good ), OrePrefixes.circuit .get(Materials.Advanced )), + new Tier(SubTag.ENERGY_ELECTRICITY , 3, 512, 1, 1, 1, Materials.StainlessSteel , ItemList.Hull_HV , OrePrefixes.cableGt01 .get(Materials.Gold ), OrePrefixes.cableGt04 .get(Materials.Gold ), OrePrefixes.circuit .get(Materials.Advanced ), OrePrefixes.circuit .get(Materials.Elite )), + new Tier(SubTag.ENERGY_ELECTRICITY , 4, 2048, 1, 1, 1, Materials.Titanium , ItemList.Hull_EV , OrePrefixes.cableGt01 .get(Materials.Aluminium ), OrePrefixes.cableGt04 .get(Materials.Aluminium ), OrePrefixes.circuit .get(Materials.Elite ), OrePrefixes.circuit .get(Materials.Master )), + new Tier(SubTag.ENERGY_ELECTRICITY , 5, 8192, 1, 1, 1, Materials.TungstenSteel , ItemList.Hull_IV , OrePrefixes.cableGt01 .get(Materials.Tungsten ), OrePrefixes.cableGt04 .get(Materials.Tungsten ), OrePrefixes.circuit .get(Materials.Master ), OrePrefixes.circuit .get(Materials.Ultimate )), + new Tier(SubTag.ENERGY_ELECTRICITY , 6, 32768, 1, 1, 1, Materials.Chrome , ItemList.Hull_LuV , OrePrefixes.cableGt01 .get(Materials.Osmium ), OrePrefixes.cableGt04 .get(Materials.Osmium ), OrePrefixes.circuit .get(Materials.Ultimate ), OrePrefixes.circuit .get(Materials.Ultimate )), + new Tier(SubTag.ENERGY_ELECTRICITY , 7, 131072, 1, 1, 1, Materials.Iridium , ItemList.Hull_ZPM , OrePrefixes.cableGt04 .get(Materials.Osmium ), OrePrefixes.wireGt16 .get(Materials.Osmium ), OrePrefixes.circuit .get(Materials.Ultimate ), OrePrefixes.circuit .get(Materials.Ultimate )), + new Tier(SubTag.ENERGY_ELECTRICITY , 8, 524288, 1, 1, 1, Materials.Osmium , ItemList.Hull_UV , OrePrefixes.wireGt16 .get(Materials.Osmium ), OrePrefixes.wireGt01 .get(Materials.Superconductor ), OrePrefixes.circuit .get(Materials.Ultimate ), OrePrefixes.circuit .get(Materials.Ultimate )), + new Tier(SubTag.ENERGY_ELECTRICITY , 9, Integer.MAX_VALUE, 1, 1, 1, Materials.Neutronium , ItemList.Hull_MAX , OrePrefixes.wireGt01 .get(Materials.Superconductor ), OrePrefixes.wireGt04 .get(Materials.Superconductor ), OrePrefixes.circuit .get(Materials.Ultimate ), OrePrefixes.circuit .get(Materials.Ultimate )), + }, ROTATIONAL = new Tier[] { + new Tier(SubTag.ENERGY_ROTATIONAL , 1, 32, 1, 1, 1, Materials.Wood , OrePrefixes.frameGt .get(Materials.Wood ), OrePrefixes.stick .get(Materials.Wood ), OrePrefixes.ingot .get(Materials.Wood ), OrePrefixes.gearGt .get(Materials.Wood ), OrePrefixes.gearGt .get(Materials.Stone )), + new Tier(SubTag.ENERGY_ROTATIONAL , 1, 32, 1, 2, 2, Materials.WoodSealed , OrePrefixes.frameGt .get(Materials.WoodSealed ), OrePrefixes.stick .get(Materials.WoodSealed ), OrePrefixes.ingot .get(Materials.WoodSealed ), OrePrefixes.gearGt .get(Materials.WoodSealed ), OrePrefixes.gearGt .get(Materials.Stone )), + new Tier(SubTag.ENERGY_ROTATIONAL , 2, 128, 1, 1, 1, Materials.Stone , OrePrefixes.frameGt .get(Materials.Stone ), OrePrefixes.stick .get(Materials.Stone ), OrePrefixes.ingot .get(Materials.Stone ), OrePrefixes.gearGt .get(Materials.Stone ), OrePrefixes.gearGt .get(Materials.Bronze )), + new Tier(SubTag.ENERGY_ROTATIONAL , 2, 128, 1, 2, 2, Materials.IronWood , OrePrefixes.frameGt .get(Materials.IronWood ), OrePrefixes.stick .get(Materials.IronWood ), OrePrefixes.ingot .get(Materials.IronWood ), OrePrefixes.gearGt .get(Materials.IronWood ), OrePrefixes.gearGt .get(Materials.Bronze )), + new Tier(SubTag.ENERGY_ROTATIONAL , 3, 512, 1, 1, 1, Materials.Bronze , OrePrefixes.frameGt .get(Materials.Bronze ), OrePrefixes.stick .get(Materials.Bronze ), OrePrefixes.ingot .get(Materials.Bronze ), OrePrefixes.gearGt .get(Materials.Bronze ), OrePrefixes.gearGt .get(Materials.Steel )), + new Tier(SubTag.ENERGY_ROTATIONAL , 3, 512, 1, 2, 2, Materials.Brass , OrePrefixes.frameGt .get(Materials.Brass ), OrePrefixes.stick .get(Materials.Brass ), OrePrefixes.ingot .get(Materials.Brass ), OrePrefixes.gearGt .get(Materials.Brass ), OrePrefixes.gearGt .get(Materials.Steel )), + new Tier(SubTag.ENERGY_ROTATIONAL , 4, 2048, 1, 1, 1, Materials.Steel , OrePrefixes.frameGt .get(Materials.Steel ), OrePrefixes.stick .get(Materials.Steel ), OrePrefixes.ingot .get(Materials.Steel ), OrePrefixes.gearGt .get(Materials.Steel ), OrePrefixes.gearGt .get(Materials.TungstenSteel )), + new Tier(SubTag.ENERGY_ROTATIONAL , 4, 2048, 1, 2, 2, Materials.Titanium , OrePrefixes.frameGt .get(Materials.Titanium ), OrePrefixes.stick .get(Materials.Titanium ), OrePrefixes.ingot .get(Materials.Titanium ), OrePrefixes.gearGt .get(Materials.Titanium ), OrePrefixes.gearGt .get(Materials.TungstenSteel )), + new Tier(SubTag.ENERGY_ROTATIONAL , 5, 8192, 1, 1, 1, Materials.TungstenSteel , OrePrefixes.frameGt .get(Materials.TungstenSteel ), OrePrefixes.stick .get(Materials.TungstenSteel ), OrePrefixes.ingot .get(Materials.TungstenSteel ), OrePrefixes.gearGt .get(Materials.TungstenSteel ), OrePrefixes.gearGt .get(Materials.Iridium )), + new Tier(SubTag.ENERGY_ROTATIONAL , 6, 32768, 1, 1, 1, Materials.Iridium , OrePrefixes.frameGt .get(Materials.Iridium ), OrePrefixes.stick .get(Materials.Iridium ), OrePrefixes.ingot .get(Materials.Iridium ), OrePrefixes.gearGt .get(Materials.Iridium ), OrePrefixes.gearGt .get(Materials.Neutronium )), + new Tier(SubTag.ENERGY_ROTATIONAL , 9, Integer.MAX_VALUE, 1, 1, 1, Materials.Neutronium , OrePrefixes.frameGt .get(Materials.Neutronium ), OrePrefixes.stick .get(Materials.Neutronium ), OrePrefixes.ingot .get(Materials.Neutronium ), OrePrefixes.gearGt .get(Materials.Neutronium ), OrePrefixes.gearGt .get(Materials.Neutronium )), + }, STEAM = new Tier[] { + new Tier(SubTag.ENERGY_STEAM , 1, 32, 1, 1, 1, Materials.Bronze , OrePrefixes.frameGt .get(Materials.Bronze ), OrePrefixes.pipeMedium .get(Materials.Bronze ), OrePrefixes.pipeHuge .get(Materials.Bronze ), OrePrefixes.pipeMedium .get(Materials.Bronze ), OrePrefixes.pipeLarge .get(Materials.Bronze )), + new Tier(SubTag.ENERGY_STEAM , 2, 128, 1, 1, 1, Materials.Steel , OrePrefixes.frameGt .get(Materials.Steel ), OrePrefixes.pipeMedium .get(Materials.Steel ), OrePrefixes.pipeHuge .get(Materials.Steel ), OrePrefixes.pipeMedium .get(Materials.Steel ), OrePrefixes.pipeLarge .get(Materials.Steel )), + new Tier(SubTag.ENERGY_STEAM , 3, 512, 1, 1, 1, Materials.Titanium , OrePrefixes.frameGt .get(Materials.Titanium ), OrePrefixes.pipeMedium .get(Materials.Titanium ), OrePrefixes.pipeHuge .get(Materials.Titanium ), OrePrefixes.pipeMedium .get(Materials.Titanium ), OrePrefixes.pipeLarge .get(Materials.Titanium )), + new Tier(SubTag.ENERGY_STEAM , 4, 2048, 1, 1, 1, Materials.TungstenSteel , OrePrefixes.frameGt .get(Materials.TungstenSteel ), OrePrefixes.pipeMedium .get(Materials.TungstenSteel ), OrePrefixes.pipeHuge .get(Materials.TungstenSteel ), OrePrefixes.pipeMedium .get(Materials.TungstenSteel ), OrePrefixes.pipeLarge .get(Materials.TungstenSteel )), + new Tier(SubTag.ENERGY_STEAM , 5, 8192, 1, 1, 1, Materials.Iridium , OrePrefixes.frameGt .get(Materials.Iridium ), OrePrefixes.pipeMedium .get(Materials.Iridium ), OrePrefixes.pipeHuge .get(Materials.Iridium ), OrePrefixes.pipeMedium .get(Materials.Iridium ), OrePrefixes.pipeLarge .get(Materials.Iridium )), + new Tier(SubTag.ENERGY_STEAM , 9, Integer.MAX_VALUE, 1, 1, 1, Materials.Neutronium , OrePrefixes.frameGt .get(Materials.Neutronium ), OrePrefixes.pipeMedium .get(Materials.Neutronium ), OrePrefixes.pipeHuge .get(Materials.Neutronium ), OrePrefixes.pipeMedium .get(Materials.Neutronium ), OrePrefixes.pipeLarge .get(Materials.Neutronium )), + }; + + private final SubTag mType; + private final byte mRank; + private final long mPrimaryValue, mSecondaryValue, mSpeedMultiplier, mEnergyCostMultiplier; + private final Materials mMaterial; + + /** Used for Crafting Recipes */ + public final Object mHullObject, mConductingObject, mLargerConductingObject, mManagingObject, mBetterManagingObject; + + public Tier(SubTag aType, int aRank, long aPrimaryValue, long aSecondaryValue, long aSpeedMultiplier, long aEnergyCostMultiplier, Materials aMaterial, Object aHullObject, Object aConductingObject, Object aLargerConductingObject, Object aManagingObject, Object aBetterManagingObject) { + mType = aType; + mRank = (byte)aRank; + mPrimaryValue = aPrimaryValue; + mSecondaryValue = aSecondaryValue; + mSpeedMultiplier = aSpeedMultiplier; + mEnergyCostMultiplier = Math.max(mSpeedMultiplier, aEnergyCostMultiplier); + mMaterial = aMaterial; + + mHullObject = aHullObject; + mConductingObject = aConductingObject; + mManagingObject = aManagingObject; + mBetterManagingObject = aBetterManagingObject; + mLargerConductingObject = aLargerConductingObject; + } + + public byte getRank() { + return mRank; + } + + public SubTag getEnergyType() { + return mType; + } + + public long getEnergyPrimary() { + return mPrimaryValue; + } + + public long getEnergySecondary() { + return mSecondaryValue; + } + + public long getSpeedMultiplier() { + return mSpeedMultiplier; + } + + public long getEnergyCostMultiplier() { + return mEnergyCostMultiplier; + } + + public Materials getMaterial() { + return mMaterial; + } +} |