aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2019-07-23 11:19:53 +0200
committerTechnus <daniel112092@gmail.com>2019-07-23 11:19:53 +0200
commit371249f1920a64cae74722adac1e9275d30133d7 (patch)
tree976c996d48cbf60edf096d7a215d034f49792cba /src
parent9803b3b60b28efdcd1322090b4d734e2ca60f9a6 (diff)
downloadGT5-Unofficial-371249f1920a64cae74722adac1e9275d30133d7.tar.gz
GT5-Unofficial-371249f1920a64cae74722adac1e9275d30133d7.tar.bz2
GT5-Unofficial-371249f1920a64cae74722adac1e9275d30133d7.zip
Add names and symbols for neutron, proton
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/templates/cElementalPrimitive.java4
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/elementalMatter/core/transformations/bTransformationInfo.java38
-rw-r--r--src/main/java/com/github/technus/tectech/mechanics/elementalMatter/definitions/complex/dHadronDefinition.java49
-rw-r--r--src/main/java/com/github/technus/tectech/thing/item/DebugElementalInstanceContainer_EM.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/tileEntity/MicroControllerTileEntity.java39
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()){
+
+ }
}
}