diff options
author | Technus <daniel112092@gmail.com> | 2019-07-23 11:19:53 +0200 |
---|---|---|
committer | Technus <daniel112092@gmail.com> | 2019-07-23 11:19:53 +0200 |
commit | 371249f1920a64cae74722adac1e9275d30133d7 (patch) | |
tree | 976c996d48cbf60edf096d7a215d034f49792cba /src | |
parent | 9803b3b60b28efdcd1322090b4d734e2ca60f9a6 (diff) | |
download | GT5-Unofficial-371249f1920a64cae74722adac1e9275d30133d7.tar.gz GT5-Unofficial-371249f1920a64cae74722adac1e9275d30133d7.tar.bz2 GT5-Unofficial-371249f1920a64cae74722adac1e9275d30133d7.zip |
Add names and symbols for neutron, proton
Diffstat (limited to 'src')
5 files changed, 98 insertions, 36 deletions
diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java index 63642d6dbd..24033ba945 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java @@ -18,7 +18,7 @@ import java.util.Map; import static com.github.technus.tectech.Util.areBitsSet; import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; import static com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.cPrimitiveDefinition.null__; -import static com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM.stacksRegistered; +import static com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM.STACKS_REGISTERED; import static com.github.technus.tectech.thing.metaTileEntity.multi.GT_MetaTileEntity_EM_scanner.*; /** @@ -68,7 +68,7 @@ public abstract class cElementalPrimitive extends cElementalDefinition { if (bindsBO.put(ID, this) != null) { Minecraft.getMinecraft().crashed(new CrashReport("Primitive definition", new tElementalException("Duplicate ID"))); } - stacksRegistered.add(this); + STACKS_REGISTERED.add(this); } // diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/bTransformationInfo.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/bTransformationInfo.java index d0c0bf04aa..c23894d6b1 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/bTransformationInfo.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/bTransformationInfo.java @@ -11,7 +11,7 @@ import net.minecraftforge.oredict.OreDictionary; import java.util.HashMap; -import static com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM.stacksRegistered; +import static com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM.STACKS_REGISTERED; /** * Created by Tec on 26.05.2017. @@ -41,22 +41,22 @@ public class bTransformationInfo { public void addFluid(iHasElementalDefinition em, FluidStack fluidStack){ fluidQuantization.put(fluidStack.getFluidID(),new aFluidQuantizationInfo(fluidStack,em)); fluidDequantization.put(em.getDefinition(),new aFluidDequantizationInfo(em,fluidStack)); - stacksRegistered.add(em.getDefinition()); - stacksRegistered.add(em.getDefinition().getAnti()); + STACKS_REGISTERED.add(em.getDefinition()); + STACKS_REGISTERED.add(em.getDefinition().getAnti()); } 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)); - stacksRegistered.add(em.getDefinition()); - stacksRegistered.add(em.getDefinition().getAnti()); + STACKS_REGISTERED.add(em.getDefinition()); + STACKS_REGISTERED.add(em.getDefinition().getAnti()); } 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)); - stacksRegistered.add(em.getDefinition()); - stacksRegistered.add(em.getDefinition().getAnti()); + STACKS_REGISTERED.add(em.getDefinition()); + STACKS_REGISTERED.add(em.getDefinition().getAnti()); } private void addItemQuantization(aItemQuantizationInfo aIQI){ @@ -66,42 +66,42 @@ public class bTransformationInfo { public void addItem(iHasElementalDefinition em, ItemStack itemStack, boolean skipNBT){ addItemQuantization(new aItemQuantizationInfo(itemStack,skipNBT,em)); itemDequantization.put(em.getDefinition(),new aItemDequantizationInfo(em,itemStack)); - stacksRegistered.add(em.getDefinition()); - stacksRegistered.add(em.getDefinition().getAnti()); + STACKS_REGISTERED.add(em.getDefinition()); + STACKS_REGISTERED.add(em.getDefinition().getAnti()); } 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)); - stacksRegistered.add(em.getDefinition()); - stacksRegistered.add(em.getDefinition().getAnti()); + STACKS_REGISTERED.add(em.getDefinition()); + STACKS_REGISTERED.add(em.getDefinition().getAnti()); } 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)); - stacksRegistered.add(em.getDefinition()); - stacksRegistered.add(em.getDefinition().getAnti()); + STACKS_REGISTERED.add(em.getDefinition()); + STACKS_REGISTERED.add(em.getDefinition().getAnti()); } 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)); - stacksRegistered.add(em.getDefinition()); - stacksRegistered.add(em.getDefinition().getAnti()); + STACKS_REGISTERED.add(em.getDefinition()); + STACKS_REGISTERED.add(em.getDefinition().getAnti()); } 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)); - stacksRegistered.add(em.getDefinition()); - stacksRegistered.add(em.getDefinition().getAnti()); + STACKS_REGISTERED.add(em.getDefinition()); + STACKS_REGISTERED.add(em.getDefinition().getAnti()); } public void addOredict(iHasElementalDefinition em, OrePrefixes prefix, String materialName, int qty){ oredictQuantization.put(OreDictionary.getOreID(prefix.name() + materialName),new aOredictQuantizationInfo(prefix,materialName,qty,em)); oredictDequantization.put(em.getDefinition(),new aOredictDequantizationInfo(em,prefix,materialName,qty)); - stacksRegistered.add(em.getDefinition()); - stacksRegistered.add(em.getDefinition().getAnti()); + STACKS_REGISTERED.add(em.getDefinition()); + STACKS_REGISTERED.add(em.getDefinition().getAnti()); } } diff --git a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/dHadronDefinition.java b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/dHadronDefinition.java index a1380526eb..1e80c6f1e8 100644 --- a/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/dHadronDefinition.java +++ b/src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/dHadronDefinition.java @@ -12,12 +12,16 @@ import com.github.technus.tectech.mechanics.elementalMatter.core.templates.iElem import com.github.technus.tectech.mechanics.elementalMatter.core.transformations.*; import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.eBosonDefinition; import com.github.technus.tectech.mechanics.elementalMatter.definitions.primitive.eQuarkDefinition; +import com.github.technus.tectech.thing.item.DebugElementalInstanceContainer_EM; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.oredict.OreDictionary; import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; +import java.util.TreeMap; import static com.github.technus.tectech.compatibility.thaumcraft.elementalMatter.definitions.dComplexAspectDefinition.getNbtTagCompound; import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; @@ -34,6 +38,8 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi private static final byte nbtType = (byte) 'h'; //Helpers + public static final Map<dHadronDefinition,String> SYMBOL_MAP =new HashMap<>(); + public static final Map<dHadronDefinition,String> NAME_MAP =new HashMap<>(); public static dHadronDefinition hadron_p, hadron_n, hadron_p_, hadron_n_; public static cElementalDefinitionStack hadron_p1, hadron_n1, hadron_p2, hadron_n2, hadron_p3, hadron_n3, hadron_p5; private static float protonMass = 0F; @@ -137,8 +143,13 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi public String getName() { StringBuilder name= new StringBuilder(getSimpleName()); name.append(':'); - for (cElementalDefinitionStack quark : quarkStacks.values()) { - name.append(' ').append(quark.definition.getSymbol()).append(quark.amount); + String sym= NAME_MAP.get(this); + if(sym!=null){ + name.append(' ').append(sym); + }else { + for (cElementalDefinitionStack quark : quarkStacks.values()) { + name.append(' ').append(quark.definition.getSymbol()).append(quark.amount); + } } return name.toString(); } @@ -163,9 +174,14 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi @Override public String getSymbol() { StringBuilder symbol = new StringBuilder(8); - for (cElementalDefinitionStack quark : quarkStacks.values()) { - for (int i = 0; i < quark.amount; i++) { - symbol.append(quark.definition.getSymbol()); + String sym=SYMBOL_MAP.get(this); + if(sym!=null){ + symbol.append(sym); + }else { + for (cElementalDefinitionStack quark : quarkStacks.values()) { + for (int i = 0; i < quark.amount; i++) { + symbol.append(quark.definition.getSymbol()); + } } } return symbol.toString(); @@ -174,9 +190,14 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi @Override public String getShortSymbol() { StringBuilder symbol = new StringBuilder(8); - for (cElementalDefinitionStack quark : quarkStacks.values()) { - for (int i = 0; i < quark.amount; i++) { - symbol.append(quark.definition.getShortSymbol()); + String sym=SYMBOL_MAP.get(this); + if(sym!=null){ + symbol.append(sym); + }else { + for (cElementalDefinitionStack quark : quarkStacks.values()) { + for (int i = 0; i < quark.amount; i++) { + symbol.append(quark.definition.getShortSymbol()); + } } } return symbol.toString(); @@ -391,12 +412,24 @@ public final class dHadronDefinition extends cElementalDefinition {//TODO Optimi protonMass = hadron_p.mass; //redefine the proton with proper lifetime (the lifetime is based on mass comparison) hadron_p = new dHadronDefinition(new cElementalDefinitionStackMap(eQuarkDefinition.quark_u.getStackForm(2), eQuarkDefinition.quark_d.getStackForm(1))); + SYMBOL_MAP.put(hadron_p,"p"); + NAME_MAP.put(hadron_p,"Proton"); + DebugElementalInstanceContainer_EM.STACKS_REGISTERED.add(hadron_p); hadron_p_ = (dHadronDefinition) hadron_p.getAnti(); + SYMBOL_MAP.put(hadron_p_,"~p"); + NAME_MAP.put(hadron_p_,"Anti Proton"); + DebugElementalInstanceContainer_EM.STACKS_REGISTERED.add(hadron_p_); hadron_n = new dHadronDefinition(new cElementalDefinitionStackMap(eQuarkDefinition.quark_u.getStackForm(1), eQuarkDefinition.quark_d.getStackForm(2))); neutronMass = hadron_n.mass; //redefine the neutron with proper lifetime (the lifetime is based on mass comparison) hadron_n = new dHadronDefinition(new cElementalDefinitionStackMap(eQuarkDefinition.quark_u.getStackForm(1), eQuarkDefinition.quark_d.getStackForm(2))); + SYMBOL_MAP.put(hadron_n, "n"); + NAME_MAP.put(hadron_n, "Neutron"); + DebugElementalInstanceContainer_EM.STACKS_REGISTERED.add(hadron_p); hadron_n_ = (dHadronDefinition) hadron_n.getAnti(); + SYMBOL_MAP.put(hadron_n_,"~n"); + NAME_MAP.put(hadron_n_,"Anti Neutron"); + DebugElementalInstanceContainer_EM.STACKS_REGISTERED.add(hadron_p_); } catch (tElementalException e) { if (DEBUG_MODE) { e.printStackTrace(); diff --git a/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java b/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java index 3eb71abca1..286b21f4e2 100644 --- a/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java @@ -34,7 +34,7 @@ import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; * Created by Tec on 15.03.2017. */ public final class DebugElementalInstanceContainer_EM extends Item implements IElementalItem { - public static final TreeSet<iElementalDefinition> stacksRegistered=new TreeSet<>(); + public static final TreeSet<iElementalDefinition> STACKS_REGISTERED =new TreeSet<>(); public static DebugElementalInstanceContainer_EM INSTANCE; @@ -135,7 +135,7 @@ public final class DebugElementalInstanceContainer_EM extends Item implements IE ItemStack that = new ItemStack(this, 1); that.setTagCompound(new NBTTagCompound()); list.add(that); - for(iElementalDefinition defintion:stacksRegistered){ + for(iElementalDefinition defintion: STACKS_REGISTERED){ list.add(setContent(new ItemStack(this).setStackDisplayName(defintion.getName()+" x"+1),new cElementalInstanceStackMap(new cElementalInstanceStack(defintion,1)))); list.add(setContent(new ItemStack(this).setStackDisplayName(defintion.getName()+" x"+144),new cElementalInstanceStackMap(new cElementalInstanceStack(defintion,144)))); list.add(setContent(new ItemStack(this).setStackDisplayName(defintion.getName()+" x"+1000),new cElementalInstanceStackMap(new cElementalInstanceStack(defintion,1000)))); diff --git a/src/main/java/com/github/technus/tectech/thing/tileEntity/MicroControllerTileEntity.java b/src/main/java/com/github/technus/tectech/thing/tileEntity/MicroControllerTileEntity.java index 798a2daa47..d4cb8afb0f 100644 --- a/src/main/java/com/github/technus/tectech/thing/tileEntity/MicroControllerTileEntity.java +++ b/src/main/java/com/github/technus/tectech/thing/tileEntity/MicroControllerTileEntity.java @@ -1,17 +1,43 @@ package com.github.technus.tectech.thing.tileEntity; +import com.github.technus.avrClone.AvrCore; +import com.github.technus.avrClone.instructions.InstructionRegistry; +import com.github.technus.avrClone.memory.program.ProgramMemory; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; public class MicroControllerTileEntity extends TileEntity { + public final AvrCore core; + + public MicroControllerTileEntity(){ + core=new AvrCore(InstructionRegistry.INSTRUCTION_REGISTRY_OP,false); + } + @Override - public void readFromNBT(NBTTagCompound p_145839_1_) { - super.readFromNBT(p_145839_1_); + public void readFromNBT(NBTTagCompound tag) { + super.readFromNBT(tag); + core.programCounter=tag.getInteger("programCounter"); + if(core.getProgramMemory()!=null){ + ProgramMemory programMemory=core.getProgramMemory(); + NBTTagCompound program=new NBTTagCompound(); + program.setIntArray("instructions",programMemory.instructions); + program.setIntArray("param0",programMemory.param0); + program.setIntArray("param1",programMemory.param1); + tag.setTag("program",program); + } } @Override - public void writeToNBT(NBTTagCompound p_145841_1_) { - super.writeToNBT(p_145841_1_); + public void writeToNBT(NBTTagCompound tag) { + super.writeToNBT(tag); + tag.setInteger("programCounter",core.programCounter); + if(tag.hasKey("program")){ + NBTTagCompound program=tag.getCompoundTag("program"); + int[] instructions=program.getIntArray("instructions"); + int[] param0=program.getIntArray("param0"); + int[] param1=program.getIntArray("param1"); + //core.setProgramMemory(new ProgramMemory(instructions,param0,param1,core.getInstructionRegistry())); + } } @Override @@ -21,6 +47,9 @@ public class MicroControllerTileEntity extends TileEntity { @Override public void updateEntity() { - super.updateEntity(); + super.updateEntity(); + if(core.checkValid()){ + + } } } |