aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java10
-rw-r--r--src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java71
2 files changed, 78 insertions, 3 deletions
diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java
index 4d15c48097..fb009ce2ed 100644
--- a/src/Java/gtPlusPlus/core/util/Utils.java
+++ b/src/Java/gtPlusPlus/core/util/Utils.java
@@ -1,5 +1,7 @@
package gtPlusPlus.core.util;
+import static gtPlusPlus.core.handler.BookHandler.mBookKeeperCount;
+
import java.awt.Color;
import java.awt.Graphics;
import java.io.File;
@@ -21,6 +23,7 @@ import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.GTplusplus;
+import gtPlusPlus.core.handler.BookHandler;
import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.material.Material;
@@ -780,7 +783,7 @@ public class Utils {
if ((GT_Utility.isStringInvalid(aTitle)) || (GT_Utility.isStringInvalid(aAuthor)) || (aPages.length <= 0))
return null;
sBookCount += 1;
- rStack = new ItemStack(ModItems.itemCustomBook, 1);
+ rStack = new ItemStack(ModItems.itemCustomBook, 1, sBookCount);
NBTTagCompound tNBT = new NBTTagCompound();
tNBT.setString("title", GT_LanguageManager.addStringLocalization(
new StringBuilder().append("Book.").append(aTitle).append(".Name").toString(), aTitle));
@@ -809,11 +812,12 @@ public class Utils {
.append(" at its creation. Gotta get 'em all!").toString()));
tNBT.setTag("pages", tNBTList);
rStack.setTagCompound(tNBT);
- GT_Log.out.println(new StringBuilder().append("GT_Mod: Added Book to Book List - Mapping: '").append(aMapping)
+ GT_Log.out.println(new StringBuilder().append("GT++_Mod: Added Book to Book++ List - Mapping: '").append(aMapping)
.append("' - Name: '").append(aTitle).append("' - Author: '").append(aAuthor).append("'")
.toString());
- NBTUtils.setInteger(rStack, "mMeta", sBookCount);
+ NBTUtils.createIntegerTagCompound(rStack, "stats", "mMeta", sBookCount);
CORE.sBookList.put(aMapping, rStack);
+ Utils.LOG_INFO("Creating book: "+aTitle+" by "+aAuthor+". Using Meta "+sBookCount+".");
return GT_Utility.copy(new Object[]{rStack});
}
diff --git a/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java b/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java
index 3005c53f1b..c5f3942997 100644
--- a/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java
+++ b/src/Java/gtPlusPlus/core/util/nbt/NBTUtils.java
@@ -259,5 +259,76 @@ public class NBTUtils {
}
return false;
}
+
+ public static boolean createIntegerTagCompound(ItemStack rStack, String tagName, String keyName, int keyValue){
+ final NBTTagCompound tagMain = new NBTTagCompound();
+ final NBTTagCompound tagNBT = new NBTTagCompound();
+ tagNBT.setInteger(keyName, keyValue);
+ tagMain.setTag(tagName, tagNBT);
+ rStack.setTagCompound(tagMain);
+ return true;
+ }
+
+ public static boolean createLongTagCompound(ItemStack rStack, String tagName, String keyName, long keyValue){
+ final NBTTagCompound tagMain = new NBTTagCompound();
+ final NBTTagCompound tagNBT = new NBTTagCompound();
+ tagNBT.setLong(keyName, keyValue);
+ tagMain.setTag(tagName, tagNBT);
+ rStack.setTagCompound(tagMain);
+ return true;
+ }
+
+ public static boolean createStringTagCompound(ItemStack rStack, String tagName, String keyName, String keyValue){
+ final NBTTagCompound tagMain = new NBTTagCompound();
+ final NBTTagCompound tagNBT = new NBTTagCompound();
+ tagNBT.setString(keyName, keyValue);
+ tagMain.setTag(tagName, tagNBT);
+ rStack.setTagCompound(tagMain);
+ return true;
+ }
+
+ public static int getIntegerTagCompound(ItemStack aStack, String tagName, String keyName){
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag(tagName);
+ if (aNBT != null) {
+ return aNBT.getInteger(keyName);
+ }
+ }
+ return 0;
+ }
+
+ public static long getLongTagCompound(ItemStack aStack, String tagName, String keyName){
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag(tagName);
+ if (aNBT != null) {
+ return aNBT.getLong(keyName);
+ }
+ }
+ return 0L;
+ }
+
+ public static String getStringTagCompound(ItemStack aStack, String tagName, String keyName){
+ NBTTagCompound aNBT = aStack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag(tagName);
+ if (aNBT != null) {
+ return aNBT.getString(keyName);
+ }
+ }
+ return null;
+ }
+
+ public static boolean hasKeyInTagCompound(ItemStack stack, String tag, String key){
+ NBTTagCompound aNBT = stack.getTagCompound();
+ if (aNBT != null) {
+ aNBT = aNBT.getCompoundTag(tag);
+ if (aNBT.hasKey(key)) {
+ return true;
+ }
+ }
+ return false;
+ }
}