diff options
| author | Technus <daniel112092@gmail.com> | 2017-05-21 16:24:08 +0200 |
|---|---|---|
| committer | Technus <daniel112092@gmail.com> | 2017-05-21 16:24:08 +0200 |
| commit | 27e36620b8639c983b59c47088e71770cab8f7d6 (patch) | |
| tree | f71feeafeec53ac3dd7a691a9db92011b6b55aad /src/main/java/com | |
| parent | 5154fd4aa55f39ffe3b8bb0ec5de7f8107510ee3 (diff) | |
| download | GT5-Unofficial-27e36620b8639c983b59c47088e71770cab8f7d6.tar.gz GT5-Unofficial-27e36620b8639c983b59c47088e71770cab8f7d6.tar.bz2 GT5-Unofficial-27e36620b8639c983b59c47088e71770cab8f7d6.zip | |
ThaumcraftCompat
Diffstat (limited to 'src/main/java/com')
18 files changed, 641 insertions, 58 deletions
diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java index ed5e1634ef..763741adbf 100644 --- a/src/main/java/com/github/technus/tectech/TecTech.java +++ b/src/main/java/com/github/technus/tectech/TecTech.java @@ -62,7 +62,10 @@ public class TecTech { } @EventHandler - public void load(FMLInitializationEvent event) { + public void Load(FMLInitializationEvent event) { + GTCustomLoader = new MainLoader(); + GTCustomLoader.load(); + proxy.registerRenderInfo(); } @@ -70,8 +73,7 @@ public class TecTech { public void PostLoad(FMLPostInitializationEvent PostEvent) { hasCOFH = Loader.isModLoaded(Reference.COFHCORE); - GTCustomLoader = new MainLoader(); - GTCustomLoader.run(); + GTCustomLoader.postLoad(); } @EventHandler 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 d73f3730d7..d521053e6e 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 @@ -18,6 +18,7 @@ import static com.github.technus.tectech.elementalMatter.definitions.eBosonDefin * Created by danie_000 on 18.11.2016. */ public final class dAtomDefinition extends cElementalDefinition {//TODO Optimize map i/o + private final int hash; public static final Map<dAtomDefinition, ItemStack> itemBinds = new TreeMap<>(); public static final Map<dAtomDefinition, FluidStack> fluidBinds = new TreeMap<>(); @@ -126,6 +127,8 @@ public final class dAtomDefinition extends cElementalDefinition {//TODO Optimize else this.decayMode = izoDiff > 0 ? (byte) Math.min(2, 1 + izoDiffAbs / 4) : (byte) -Math.min(2, 1 + izoDiffAbs / 4); this.stable = isStable(this.rawLifeTime); + + hash=super.hashCode(); } private static boolean isStable(float lifeTime) { @@ -555,4 +558,9 @@ public final class dAtomDefinition extends cElementalDefinition {//TODO Optimize public byte getClassType() { return 64; } + + @Override + public int hashCode() { + return hash; + } } diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dHadronDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dHadronDefinition.java index 13c589ef6f..10bfaf86d8 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dHadronDefinition.java +++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dHadronDefinition.java @@ -18,6 +18,7 @@ import static com.github.technus.tectech.elementalMatter.definitions.eBosonDefin * Created by danie_000 on 17.11.2016. */ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimize map i/o + private final int hash; public static final Map<dHadronDefinition, ItemStack> itemBinds = new TreeMap<>(); public static final Map<dHadronDefinition, FluidStack> fluidBinds = new TreeMap<>(); @@ -96,6 +97,8 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi this.rawLifeTime = (1.21F / this.mass) / (float) Math.pow(9.80, charge); } } + + hash=super.hashCode(); } //public but u can just try{}catch(){} the constructor it still calls this method @@ -346,4 +349,9 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi public byte getClassType() { return -64; } + + @Override + public int hashCode() { + return hash; + } } diff --git a/src/main/java/com/github/technus/tectech/loader/ElementalLoader.java b/src/main/java/com/github/technus/tectech/loader/ElementalLoader.java index 93c5afbfc3..5cc1133d88 100644 --- a/src/main/java/com/github/technus/tectech/loader/ElementalLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/ElementalLoader.java @@ -2,8 +2,8 @@ package com.github.technus.tectech.loader; import com.github.technus.tectech.elementalMatter.classes.cElementalPrimitive; import com.github.technus.tectech.elementalMatter.definitions.*; -import com.github.technus.tectech.elementalMatter.magicAddon.definitions.dComplexAspectDefinition; -import com.github.technus.tectech.elementalMatter.magicAddon.definitions.ePrimalAspectDefinition; +import com.github.technus.tectech.magicAddon.definitions.dComplexAspectDefinition; +import com.github.technus.tectech.magicAddon.definitions.ePrimalAspectDefinition; /** * Created by danie_000 on 16.11.2016. diff --git a/src/main/java/com/github/technus/tectech/loader/MachineLoader.java b/src/main/java/com/github/technus/tectech/loader/MachineLoader.java index 338d9d3d53..7568d2daf9 100644 --- a/src/main/java/com/github/technus/tectech/loader/MachineLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MachineLoader.java @@ -1,5 +1,7 @@ package com.github.technus.tectech.loader; +import com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_essentiaDequantizer; +import com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_essentiaQuantizer; import com.github.technus.tectech.thing.metaTileEntity.hatch.*; import com.github.technus.tectech.thing.metaTileEntity.multi.*; import com.github.technus.tectech.thing.metaTileEntity.pipe.GT_MetaTileEntity_Pipe_Data; @@ -125,7 +127,6 @@ public class MachineLoader implements Runnable { eM_energymulti64_UXV.set(new GT_MetaTileEntity_Hatch_EnergyMulti( 15125, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64).getStackForm(1L)); - // =================================================================================================== // Multi AMP Power OUTPUTS // =================================================================================================== @@ -185,6 +186,10 @@ public class MachineLoader implements Runnable { Machine_Multi_MatterToEM.set(new GT_MetaTileEntity_EM_quantizer(15321, "multimachine.em.mattertoem", "Matter Quantizer").getStackForm(1L)); Machine_Multi_EMToMatter.set(new GT_MetaTileEntity_EM_dequantizer(15322, "multimachine.em.emtomatter", "Matter Dequantizer").getStackForm(1L)); + // COMPAT + Machine_Multi_EssentiaToEM.set(new GT_MetaTileEntity_EM_essentiaQuantizer(15323, "multimachine.em.essentiatoem", "Essentia Quantizer").getStackForm(1L)); + Machine_Multi_EMToEssentia.set(new GT_MetaTileEntity_EM_essentiaDequantizer(15324, "multimachine.em.emtoessentia", "Essentia Dequantizer").getStackForm(1L)); + Machine_Multi_Scanner.set(new GT_MetaTileEntity_EM_scanner(15330, "multimachine.em.scanner", "Elemental Scanner").getStackForm(1L)); Machine_Multi_Research.set(new GT_MetaTileEntity_EM_research(15331, "multimachine.em.research", "Research station").getStackForm(1L)); @@ -204,10 +209,10 @@ public class MachineLoader implements Runnable { Machine_Multi_Annihilation.set(new GT_MetaTileEntity_EM_annihilation(15405, "multimachine.em.annihilation", "Annihilation Generator").getStackForm(1L)); Machine_Multi_BHG.set(new GT_MetaTileEntity_EM_bhg(15410, "multimachine.em.blackholegenerator", "Black Hole Generator").getStackForm(1L)); - // =================================================================================================== // Hatches // =================================================================================================== + Parametrizer_Hatch.set(new GT_MetaTileEntity_Hatch_Param(15420, "hatch.param.tier.07", "Parametrizer", 7).getStackForm(1L)); Uncertainty_Hatch.set(new GT_MetaTileEntity_Hatch_Uncertainty(15430, "hatch.certain.tier.07", "Uncertainty Resolver", 7).getStackForm(1L)); @@ -222,6 +227,7 @@ public class MachineLoader implements Runnable { // =================================================================================================== // Pipes // =================================================================================================== + EMpipe.set(new GT_MetaTileEntity_Pipe_EM(15460, "pipe.elementalmatter", "Quantum \"Tunnel\"").getStackForm(1L)); DATApipe.set(new GT_MetaTileEntity_Pipe_Data(15470, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L)); @@ -232,7 +238,6 @@ public class MachineLoader implements Runnable { Machine_DebugWriter.set(new GT_MetaTileEntity_DebugStructureWriter(15499, "debug.tt.writer", "Debug Structure Writer", 15).getStackForm(1L)); - // =================================================================================================== // MetaTE init // =================================================================================================== diff --git a/src/main/java/com/github/technus/tectech/loader/MainLoader.java b/src/main/java/com/github/technus/tectech/loader/MainLoader.java index 5271e2b35c..d12636e86d 100644 --- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java @@ -1,11 +1,16 @@ package com.github.technus.tectech.loader; import com.github.technus.tectech.TecTech; +import com.github.technus.tectech.magicAddon.definitions.AspectDefinitionCompat; +import com.github.technus.tectech.magicAddon.definitions.AspectDefinitionCompatEnabled; +import com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi.EssentiaCompat; +import com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi.EssentiaCompatEnabled; import com.github.technus.tectech.thing.block.QuantumGlassBlock; import com.github.technus.tectech.thing.casing.GT_Container_CasingsTT; import com.github.technus.tectech.thing.item.DebugBuilder; import com.github.technus.tectech.thing.item.DebugContainer_EM; import com.github.technus.tectech.thing.machineTT; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.common.ProgressManager; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -17,23 +22,53 @@ import net.minecraft.item.ItemStack; import java.util.List; import static com.github.technus.tectech.TecTech.mainTab; +import static com.github.technus.tectech.magicAddon.definitions.AspectDefinitionCompat.aspectDefinitionCompat; +import static com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi.EssentiaCompat.essentiaContainerCompat; public final class MainLoader {//TODO add checks for - is mod loaded dreamcraft to enable higher tier machinery. (above UV), or implement a check for GT tier values. - private static ProgressManager.ProgressBar progressBar; - public MainLoader(){ - progressBar = ProgressManager.push("TecTech Loader", 6); + public void load() { + ProgressManager.ProgressBar progressBarLoad = ProgressManager.push("TecTech Loader", 4); + + progressBarLoad.step("Elemental Things"); + new ElementalLoader().run(); + TecTech.Logger.info("Elemental Init Done"); + + progressBarLoad.step("Thaumcraft Compatibility"); + if (Loader.isModLoaded("Thaumcraft")) { + essentiaContainerCompat = new EssentiaCompatEnabled(); + essentiaContainerCompat.run(); + } else { + essentiaContainerCompat = new EssentiaCompat(); + } + + progressBarLoad.step("Regular Things"); + new ThingsLoader().run(); + TecTech.Logger.info("Block/Item Init Done"); + + progressBarLoad.step("Machine Things"); + new MachineLoader().run(); + TecTech.Logger.info("Machine Init Done"); + + ProgressManager.pop(progressBarLoad); } - public void run(){ - progressBar.step("Loading Things"); - things(); + public void postLoad() { + ProgressManager.ProgressBar progressBarPostLoad = ProgressManager.push("TecTech Post Loader", 4); - progressBar.step("Loading Recipes"); + progressBarPostLoad.step("Thaumcraft Compatibility"); + if (Loader.isModLoaded("Thaumcraft")) { + aspectDefinitionCompat = new AspectDefinitionCompatEnabled(); + aspectDefinitionCompat.run(); + } else { + aspectDefinitionCompat = new AspectDefinitionCompat(); + } + + progressBarPostLoad.step("Recipes"); new RecipeLoader().run(); TecTech.Logger.info("Recipe Init Done"); - progressBar.step("Registering in Creative Tab"); + progressBarPostLoad.step("Creative Tab part1"); mainTab = new CreativeTabs("TecTech") { @SideOnly(Side.CLIENT) @Override @@ -51,23 +86,10 @@ public final class MainLoader {//TODO add checks for - is mod loaded dreamcraft super.displayAllReleventItems(stuffToShow); } }; + progressBarPostLoad.step("Creative Tab part2"); registerThingsInTabs(); - ProgressManager.pop(progressBar); - } - - public void things() { - progressBar.step("Loading Elemental Things"); - new ElementalLoader().run(); - TecTech.Logger.info("Elemental Init Done"); - - progressBar.step("Loading Regular Things"); - new ThingsLoader().run(); - TecTech.Logger.info("Block/Item Init Done"); - - progressBar.step("Loading Machine Things"); - new MachineLoader().run(); - TecTech.Logger.info("Machine Init Done"); + ProgressManager.pop(progressBarPostLoad); } public void registerThingsInTabs() { diff --git a/src/main/java/com/github/technus/tectech/magicAddon/definitions/AspectDefinitionCompat.java b/src/main/java/com/github/technus/tectech/magicAddon/definitions/AspectDefinitionCompat.java new file mode 100644 index 0000000000..3c5d8cc507 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/magicAddon/definitions/AspectDefinitionCompat.java @@ -0,0 +1,30 @@ +package com.github.technus.tectech.magicAddon.definitions; + + +import com.github.technus.tectech.elementalMatter.classes.cElementalDefinition; +import com.github.technus.tectech.elementalMatter.interfaces.iElementalDefinition; + +import java.util.HashMap; + +/** + * Created by Tec on 21.05.2017. + */ +public class AspectDefinitionCompat { + public static AspectDefinitionCompat aspectDefinitionCompat; + static final HashMap<cElementalDefinition,String> defToAspect = new HashMap<>(); + public static final HashMap<String,cElementalDefinition> aspectToDef = new HashMap<>(); + + public void run(){} + + Object getAspect(cElementalDefinition definition){ + return null; + } + + String getAspectTag(cElementalDefinition definition){ + return null; + } + + iElementalDefinition getDefinition(String aspect){ + return null; + } +} diff --git a/src/main/java/com/github/technus/tectech/magicAddon/definitions/AspectDefinitionCompatEnabled.java b/src/main/java/com/github/technus/tectech/magicAddon/definitions/AspectDefinitionCompatEnabled.java new file mode 100644 index 0000000000..8623b9a845 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/magicAddon/definitions/AspectDefinitionCompatEnabled.java @@ -0,0 +1,81 @@ +package com.github.technus.tectech.magicAddon.definitions; + +import com.github.technus.tectech.elementalMatter.classes.cElementalDefinition; +import com.github.technus.tectech.elementalMatter.classes.tElementalException; +import com.github.technus.tectech.elementalMatter.interfaces.iElementalDefinition; +import thaumcraft.api.aspects.Aspect; + +import java.util.ArrayList; + +import static com.github.technus.tectech.magicAddon.definitions.ePrimalAspectDefinition.*; + +/** + * Created by Tec on 21.05.2017. + */ +public final class AspectDefinitionCompatEnabled extends AspectDefinitionCompat { + public void run(){ + defToAspect.put(magic_air,"aer"); + defToAspect.put(magic_earth,"terra"); + defToAspect.put(magic_fire,"ignis"); + defToAspect.put(magic_water,"aqua"); + defToAspect.put(magic_order,"ordo"); + defToAspect.put(magic_entropy,"perditio"); + + aspectToDef.put("aer",magic_air); + aspectToDef.put("terra",magic_earth); + aspectToDef.put("ignis",magic_fire); + aspectToDef.put("aqua",magic_water); + aspectToDef.put("ordo",magic_order); + aspectToDef.put("perditio",magic_entropy); + + ArrayList<Aspect> list=Aspect.getCompoundAspects(); + Aspect[] array=list.toArray(new Aspect[0]); + while (!list.isEmpty()) { + for (Aspect aspect : array) { + if (list.contains(aspect)) { + Aspect[] content = aspect.getComponents(); + if (content.length != 2) { + list.remove(aspect); + }else if(aspectToDef.containsKey(content[0].getTag()) && + aspectToDef.containsKey(content[1].getTag())){ + try { + dComplexAspectDefinition newAspect; + if(content[0].getTag().equals(content[1].getTag())){ + newAspect = new dComplexAspectDefinition( + aspectToDef.get(content[0].getTag()).getStackForm(2) + ); + }else{ + newAspect = new dComplexAspectDefinition( + aspectToDef.get(content[0].getTag()).getStackForm(1), + aspectToDef.get(content[1].getTag()).getStackForm(1) + ); + } + aspectToDef.put(aspect.getTag(),newAspect); + defToAspect.put(newAspect,aspect.getTag()); + }catch (tElementalException e) { + /**/ + }finally { + list.remove(aspect); + } + } + } + } + } + } + + @Override + Aspect getAspect(cElementalDefinition definition) { + return Aspect.getAspect(defToAspect.get(definition)); + } + + @Override + String getAspectTag(cElementalDefinition definition) { + return defToAspect.get(definition); + } + + @Override + iElementalDefinition getDefinition(String aspect) { + return aspectToDef.get(aspect); + } + +} diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/magicAddon/definitions/dComplexAspectDefinition.java b/src/main/java/com/github/technus/tectech/magicAddon/definitions/dComplexAspectDefinition.java index 9f65f600af..cfddd4c67d 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/magicAddon/definitions/dComplexAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/magicAddon/definitions/dComplexAspectDefinition.java @@ -1,4 +1,4 @@ -package com.github.technus.tectech.elementalMatter.magicAddon.definitions; +package com.github.technus.tectech.magicAddon.definitions; import com.github.technus.tectech.TecTech; import com.github.technus.tectech.auxiliary.TecTechConfig; @@ -10,32 +10,90 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; import static com.github.technus.tectech.elementalMatter.classes.cElementalDecay.noDecay; +import static com.github.technus.tectech.magicAddon.definitions.AspectDefinitionCompat.aspectDefinitionCompat; /** * Created by Tec on 06.05.2017. */ -public final class dComplexAspectDefinition extends cElementalDefinition {//TODO Optimize map i/o - //TODO aspect binding +public final class dComplexAspectDefinition extends cElementalDefinition implements iElementalAspect { + private final int hash; private static final byte nbtType = (byte) 'c'; private final cElementalDefinitionStackMap aspectStacks; - public dComplexAspectDefinition(cElementalDefinitionStack[] tree) throws tElementalException {//todo constructors - aspectStacks = cElementalDefinitionStackMap.empty; + @Deprecated + public dComplexAspectDefinition(cElementalDefinition... aspects) throws tElementalException { + this(true, new cElementalDefinitionStackMap(aspects)); + } + + @Deprecated + private dComplexAspectDefinition(boolean check, cElementalDefinition... aspects) throws tElementalException { + this(check, new cElementalDefinitionStackMap(aspects)); + } + + public dComplexAspectDefinition(cElementalDefinitionStack... aspects) throws tElementalException { + this(true, new cElementalDefinitionStackMap(aspects)); + } + + private dComplexAspectDefinition(boolean check, cElementalDefinitionStack... aspects) throws tElementalException { + this(check, new cElementalDefinitionStackMap(aspects)); + } + + public dComplexAspectDefinition(cElementalDefinitionStackMap aspects) throws tElementalException { + this(true, aspects); + } + + private dComplexAspectDefinition(boolean check, cElementalDefinitionStackMap aspects) throws tElementalException { + if (check && !canTheyBeTogether(aspects)) throw new tElementalException("Hadron Definition error"); + this.aspectStacks = aspects; + + hash=super.hashCode(); + } + + //public but u can just try{}catch(){} the constructor it still calls this method + private static boolean canTheyBeTogether(cElementalDefinitionStackMap stacks) { + int amount = 0; + for (cElementalDefinitionStack aspects : stacks.values()) { + if (aspects.definition instanceof dComplexAspectDefinition || aspects.definition instanceof ePrimalAspectDefinition) + amount += aspects.amount; + else return false; + } + return amount==2; + } + + //Unused outside yet still available. + public boolean checkThis() { + return canTheyBeTogether(aspectStacks); } @Override - public String getName() {//todo name - return "Aspect: "; + public String getName() { + String name= aspectDefinitionCompat.getAspectTag(this); + if(name!=null){ + name=name.substring(0,1).toUpperCase()+name.substring(1); + }else{ + name=getSymbol(); + } + return "Aspect: "+name; } @Override public String getSymbol() { String symbol = ""; - for (cElementalDefinitionStack quark : aspectStacks.values()) - for (int i = 0; i < quark.amount; i++) - symbol += quark.definition.getSymbol(); + for (cElementalDefinitionStack aspect : aspectStacks.values()) { + if (aspect.definition instanceof ePrimalAspectDefinition) { + for (int i = 0; i < aspect.amount; i++) { + symbol += aspect.definition.getSymbol(); + } + } else { + symbol+="("; + for (int i = 0; i < aspect.amount; i++) { + symbol += aspect.definition.getSymbol(); + } + symbol+=")"; + } + } return symbol; } @@ -117,6 +175,10 @@ public final class dComplexAspectDefinition extends cElementalDefinition {//TODO return null; } + public Object materializeIntoAspect() { + return aspectDefinitionCompat.getAspect(this); + } + @Override public iElementalDefinition getAnti() { return null; @@ -136,4 +198,9 @@ public final class dComplexAspectDefinition extends cElementalDefinition {//TODO public byte getClassType() { return -96; } + + @Override + public int hashCode() { + return hash; + } } diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/magicAddon/definitions/ePrimalAspectDefinition.java b/src/main/java/com/github/technus/tectech/magicAddon/definitions/ePrimalAspectDefinition.java index 63dc462572..64e8f4ac69 100644 --- a/src/main/java/com/github/technus/tectech/elementalMatter/magicAddon/definitions/ePrimalAspectDefinition.java +++ b/src/main/java/com/github/technus/tectech/magicAddon/definitions/ePrimalAspectDefinition.java @@ -1,32 +1,33 @@ -package com.github.technus.tectech.elementalMatter.magicAddon.definitions; +package com.github.technus.tectech.magicAddon.definitions; import com.github.technus.tectech.elementalMatter.classes.cElementalPrimitive; import static com.github.technus.tectech.elementalMatter.classes.cElementalDecay.noDecay; +import static com.github.technus.tectech.magicAddon.definitions.AspectDefinitionCompat.aspectDefinitionCompat; /** * Created by Tec on 06.05.2017. */ -public final class ePrimalAspectDefinition extends cElementalPrimitive { +public final class ePrimalAspectDefinition extends cElementalPrimitive implements iElementalAspect { public static final ePrimalAspectDefinition - magic_order = new ePrimalAspectDefinition("Order", "o`", 0, 0F, 0, -1, 30), - magic_entropy_ = new ePrimalAspectDefinition("Entropy", "e`", 0, 0F, 0, -1, 31), - magic_water = new ePrimalAspectDefinition("Water", "w`", 0, 0F, 0, -1, 32), - magic_fire_ = new ePrimalAspectDefinition("Fire", "f`", 0, 0F, 0, -1, 33), + magic_air = new ePrimalAspectDefinition("Air", "a`", 0, 0F, 0, -1, 35), magic_earth = new ePrimalAspectDefinition("Earth", "e`", 0, 0F, 0, -1, 34), - magic_air_ = new ePrimalAspectDefinition("Air", "a`", 0, 0F, 0, -1, 35); + magic_fire = new ePrimalAspectDefinition("Fire", "f`", 0, 0F, 0, -1, 33), + magic_water = new ePrimalAspectDefinition("Water", "w`", 0, 0F, 0, -1, 32), + magic_order = new ePrimalAspectDefinition("Order", "o`", 0, 0F, 0, -1, 30), + magic_entropy = new ePrimalAspectDefinition("Entropy", "e`", 0, 0F, 0, -1, 31); private ePrimalAspectDefinition(String name, String symbol, int type, float mass, int charge, int color, int ID) { super(name, symbol, type, mass, charge, color, ID); } public static void run() { - magic_order.init(magic_entropy_, -1F, -1, -1, noDecay); - magic_entropy_.init(magic_order, -1F, -1, -1, noDecay); - magic_water.init(magic_fire_, -1F, -1, -1, noDecay); - magic_fire_.init(magic_water, -1F, -1, -1, noDecay); - magic_earth.init(magic_air_, -1F, -1, -1, noDecay); - magic_air_.init(magic_earth, -1F, -1, -1, noDecay); + magic_air.init(null, -1F, -1, -1, noDecay); + magic_earth.init(null, -1F, -1, -1, noDecay); + magic_fire.init(null, -1F, -1, -1, noDecay); + magic_water.init(null, -1F, -1, -1, noDecay); + magic_order.init(null, -1F, -1, -1, noDecay); + magic_entropy.init(null, -1F, -1, -1, noDecay); } @Override @@ -34,6 +35,8 @@ public final class ePrimalAspectDefinition extends cElementalPrimitive { return "Primal: " + name; } - //TODO aspect binding + public Object materializeIntoAspect() { + return aspectDefinitionCompat.getAspect(this); + } } diff --git a/src/main/java/com/github/technus/tectech/magicAddon/definitions/iElementalAspect.java b/src/main/java/com/github/technus/tectech/magicAddon/definitions/iElementalAspect.java new file mode 100644 index 0000000000..c8ec3c40b4 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/magicAddon/definitions/iElementalAspect.java @@ -0,0 +1,8 @@ +package com.github.technus.tectech.magicAddon.definitions; + +/** + * Created by Tec on 21.05.2017. + */ +public interface iElementalAspect { + Object materializeIntoAspect(); +} diff --git a/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/EssentiaCompat.java b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/EssentiaCompat.java new file mode 100644 index 0000000000..d3d90f832c --- /dev/null +++ b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/EssentiaCompat.java @@ -0,0 +1,30 @@ +package com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi; + +import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStack; +import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_MultiblockBase_EM; +import net.minecraft.tileentity.TileEntity; + +/** + * Created by Tec on 21.05.2017. + */ +public class EssentiaCompat { + public static EssentiaCompat essentiaContainerCompat; + + public void run(){} + + public boolean check(GT_MetaTileEntity_MultiblockBase_EM meta){ + return false; + } + + public TileEntity getContainer(GT_MetaTileEntity_MultiblockBase_EM meta){ + return null; + } + + public boolean putElementalInstanceStack(TileEntity conatainer, cElementalInstanceStack stack){ + return false; + } + + public cElementalInstanceStack getFromContainer(TileEntity container){ + return null; + } +} diff --git a/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/EssentiaCompatEnabled.java b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/EssentiaCompatEnabled.java new file mode 100644 index 0000000000..2fec74a87a --- /dev/null +++ b/src/main/java/com/github/technus/tectech/magicAddon/thing/metaTileEntity/multi/EssentiaCompatEnabled.java @@ -0,0 +1,69 @@ +package com.github.technus.tectech.magicAddon.thing.metaTileEntity.multi; + +import com.github.technus.tectech.elementalMatter.classes.cElementalDefinition; +import com.github.technus.tectech.elementalMatter.classes.cElementalInstanceStack; +import com.github.technus.tectech.magicAddon.definitions.iElementalAspect; +import com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_MultiblockBase_EM; +import net.minecraft.tileentity.TileEntity; +import thaumcraft.api.aspects.Aspect; +import thaumcraft.api.aspects.AspectList; +import thaumcraft.api.aspects.IAspectContainer; +import thaumcraft.common.tiles.TileEssentiaReservoir; +import thaumcraft.common.tiles.TileJarFillable; + +import static com.github.technus.tectech.magicAddon.definitions.AspectDefinitionCompat.aspectToDef; + +/** + * Created by Tec on 21.05.2017. + */ +public class EssentiaCompatEnabled extends EssentiaCompat { + @Override + public void run() { + + } |
