aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/technus/tectech/loader/ThingsLoader.java6
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/TT_recipe.java5
-rw-r--r--src/main/java/com/github/technus/tectech/thing/item/DefinitionContainer_EM.java114
-rw-r--r--src/main/resources/assets/tectech/lang/en_US.lang1
-rw-r--r--src/main/resources/assets/tectech/textures/items/itemDefinitionContainer.pngbin0 -> 1588 bytes
-rw-r--r--src/main/resources/assets/tectech/textures/items/itemDefinitionContainer.png.mcmeta5
6 files changed, 126 insertions, 5 deletions
diff --git a/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java b/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java
index 4704b369ba..a92a5a663d 100644
--- a/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/ThingsLoader.java
@@ -8,6 +8,7 @@ import com.github.technus.tectech.thing.casing.GT_Block_HintTT;
import com.github.technus.tectech.thing.casing.TT_Container_Casings;
import com.github.technus.tectech.thing.item.ConstructibleTriggerItem;
import com.github.technus.tectech.thing.item.DebugContainer_EM;
+import com.github.technus.tectech.thing.item.DefinitionContainer_EM;
import com.github.technus.tectech.thing.item.ParametrizerMemoryCard;
import cpw.mods.fml.common.Loader;
import openmodularturrets.blocks.turretbases.TurretBaseEM;
@@ -36,9 +37,12 @@ public class ThingsLoader implements Runnable {
TecTech.Logger.info("TurretBaseEM registered");
}
- DebugContainer_EM.run();
ConstructibleTriggerItem.run();
ParametrizerMemoryCard.run();
+ TecTech.Logger.info("Useful item registered");
+
+ DefinitionContainer_EM.run();
+ DebugContainer_EM.run();
TecTech.Logger.info("Debug Items registered");
}
}
diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java
index 4f8fa30452..5b18af2bb0 100644
--- a/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java
+++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipe.java
@@ -1,6 +1,5 @@
package com.github.technus.tectech.recipe;
-import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.auxiliary.TecTechConfig;
import com.github.technus.tectech.elementalMatter.classes.cElementalDefinitionStack;
import com.github.technus.tectech.elementalMatter.classes.cElementalDefinitionStackMap;
@@ -212,9 +211,7 @@ public class TT_recipe extends GT_Recipe {
try {
return mRecipeMap.get(cElementalDefinitionStack.fromNBT(dataHandler.stackTagCompound.getCompoundTag(E_RECIPE_ID)));
}catch (Exception e){
- if (TecTechConfig.DEBUG_MODE)
- TecTech.Logger.debug("EM INSTANTIATION FAULT");
- TecTech.Logger.debug(e.getMessage());
+ if (TecTechConfig.DEBUG_MODE) e.printStackTrace();
return null;
}
}
diff --git a/src/main/java/com/github/technus/tectech/thing/item/DefinitionContainer_EM.java b/src/main/java/com/github/technus/tectech/thing/item/DefinitionContainer_EM.java
new file mode 100644
index 0000000000..99535b8e23
--- /dev/null
+++ b/src/main/java/com/github/technus/tectech/thing/item/DefinitionContainer_EM.java
@@ -0,0 +1,114 @@
+package com.github.technus.tectech.thing.item;
+
+import com.github.technus.tectech.CommonValues;
+import com.github.technus.tectech.auxiliary.TecTechConfig;
+import com.github.technus.tectech.elementalMatter.classes.cElementalDefinitionStackMap;
+import com.github.technus.tectech.elementalMatter.classes.tElementalException;
+import cpw.mods.fml.common.registry.GameRegistry;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+import java.util.Collections;
+import java.util.List;
+
+import static com.github.technus.tectech.auxiliary.Reference.MODID;
+
+/**
+ * Created by Tec on 15.03.2017.
+ */
+public class DefinitionContainer_EM extends Item {
+ public static DefinitionContainer_EM INSTANCE;
+
+ private DefinitionContainer_EM() {
+ super();
+ setMaxStackSize(1);
+ setUnlocalizedName("em.definitionContainer");
+ setTextureName(MODID + ":itemDefinitionContainer");
+ }
+
+ //return previous thing
+ public static cElementalDefinitionStackMap setContent(ItemStack containerItem, cElementalDefinitionStackMap definitions){
+ if(containerItem.getItem() instanceof DefinitionContainer_EM) {
+ NBTTagCompound tNBT = containerItem.stackTagCompound;
+ if (tNBT == null) tNBT=containerItem.stackTagCompound=new NBTTagCompound();
+
+ cElementalDefinitionStackMap oldMap=null;
+ if (tNBT.hasKey("content")) {
+ try {
+ oldMap=cElementalDefinitionStackMap.fromNBT(tNBT.getCompoundTag("content"));
+ } catch (tElementalException e) {
+ if (TecTechConfig.DEBUG_MODE) e.printStackTrace();
+ }
+ }
+ tNBT.setTag("info", definitions.getInfoNBT());
+ tNBT.setTag("content", definitions.toNBT());
+ return oldMap;
+ }
+ return null;
+ }
+
+ public static cElementalDefinitionStackMap getContent(ItemStack containerItem){
+ if(containerItem.getItem() instanceof DefinitionContainer_EM){
+ NBTTagCompound tNBT = containerItem.stackTagCompound;
+
+ if (tNBT == null || !tNBT.hasKey("content")) return null;
+ try {
+ return cElementalDefinitionStackMap.fromNBT(tNBT.getCompoundTag("content"));
+ } catch (tElementalException e) {
+ if (TecTechConfig.DEBUG_MODE) e.printStackTrace();
+ }
+ }
+ return null;
+ }
+
+ public static cElementalDefinitionStackMap clearContent(ItemStack containerItem){
+ if(containerItem.getItem() instanceof DefinitionContainer_EM){
+ NBTTagCompound tNBT = containerItem.stackTagCompound;
+ if (tNBT == null) return null;
+
+ cElementalDefinitionStackMap oldMap=null;
+ if (tNBT.hasKey("content")) {
+ try {
+ oldMap=cElementalDefinitionStackMap.fromNBT(tNBT.getCompoundTag("content"));
+ } catch (tElementalException e) {
+ if (TecTechConfig.DEBUG_MODE) e.printStackTrace();
+ }
+ }
+ tNBT.removeTag("info");
+ tNBT.removeTag("content");
+ return oldMap;
+ }
+ return null;
+ }
+
+ @Override
+ public void addInformation(ItemStack aStack, EntityPlayer ep, List aList, boolean boo) {
+ aList.add(CommonValues.tecMark);
+ try {
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ if (tNBT != null && tNBT.hasKey("info")) {
+ aList.add("Should Contain:");
+ Collections.addAll(aList, cElementalDefinitionStackMap.infoFromNBT(tNBT.getCompoundTag("info")));
+ } else {
+ aList.add("Recipe Hint");
+ }
+ } catch (Exception e) {
+ aList.add("---Unexpected Termination---");
+ }
+ }
+
+ public static void run() {
+ INSTANCE = new DefinitionContainer_EM();
+ GameRegistry.registerItem(INSTANCE, INSTANCE.getUnlocalizedName());
+ }
+
+ @Override
+ public void getSubItems(Item item, CreativeTabs tab, List list) {
+ ItemStack that = new ItemStack(this, 1);
+ that.setTagCompound(new NBTTagCompound());
+ list.add(that);
+ }
+}
diff --git a/src/main/resources/assets/tectech/lang/en_US.lang b/src/main/resources/assets/tectech/lang/en_US.lang
index e272e43eaa..5d041a12e9 100644
--- a/src/main/resources/assets/tectech/lang/en_US.lang
+++ b/src/main/resources/assets/tectech/lang/en_US.lang
@@ -2,6 +2,7 @@ itemGroup.TecTech=TecTech Interdimensional
tile.quantumGlass.name=Quantum Glass
tile.quantumStuff.name=Quantum Stuff
item.em.debugContainer.name=Debug EM Container
+item.em.definitionContainer.name=EM Recipe Hint
item.em.debugBuilder.name=Multiblock Machine Blueprint
item.em.parametrizerMemoryCard.name=Parametrizer Memory Card
diff --git a/src/main/resources/assets/tectech/textures/items/itemDefinitionContainer.png b/src/main/resources/assets/tectech/textures/items/itemDefinitionContainer.png
new file mode 100644
index 0000000000..173d0c4e6c
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/items/itemDefinitionContainer.png
Binary files differ
diff --git a/src/main/resources/assets/tectech/textures/items/itemDefinitionContainer.png.mcmeta b/src/main/resources/assets/tectech/textures/items/itemDefinitionContainer.png.mcmeta
new file mode 100644
index 0000000000..24f863c95e
--- /dev/null
+++ b/src/main/resources/assets/tectech/textures/items/itemDefinitionContainer.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":3
+ }
+} \ No newline at end of file