aboutsummaryrefslogtreecommitdiff
path: root/src/Java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java')
-rw-r--r--src/Java/gtPlusPlus/core/handler/BookHandler.java11
-rw-r--r--src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java25
-rw-r--r--src/Java/gtPlusPlus/core/util/Utils.java10
3 files changed, 30 insertions, 16 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/BookHandler.java b/src/Java/gtPlusPlus/core/handler/BookHandler.java
index ec42bd1f12..5f6334bc8d 100644
--- a/src/Java/gtPlusPlus/core/handler/BookHandler.java
+++ b/src/Java/gtPlusPlus/core/handler/BookHandler.java
@@ -3,6 +3,7 @@ package gtPlusPlus.core.handler;
import java.util.HashMap;
import java.util.Map;
+import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.recipe.RecipeUtils;
@@ -71,16 +72,12 @@ public class BookHandler {
public static ItemStack ItemBookWritten_Test;
public static void runLater(){
- ItemBookWritten_ThermalBoiler = writeBook(book_ThermalBoiler);
- ItemBookWritten_ModularBaubles = writeBook(book_ModularBauble);
- ItemBookWritten_Test = writeBook(book_TestNovel);
+ ItemBookWritten_ThermalBoiler = ItemUtils.simpleMetaStack(ModItems.itemCustomBook, 1, 1);
+ //ItemBookWritten_ModularBaubles = writeBook(book_ModularBauble);
+ //ItemBookWritten_Test = writeBook(book_TestNovel);
RecipeUtils.addShapelessGregtechRecipe(new ItemStack[]{ItemUtils.getSimpleStack(Items.writable_book), ItemUtils.getSimpleStack(Items.lava_bucket)}, ItemBookWritten_ThermalBoiler);
}
- private static ItemStack writeBook(BookTemplate mTemplate){
- return Utils.getWrittenBook(mTemplate.mMapping, mTemplate.mTitle, mTemplate.mAuthor, mTemplate.mPages);
- }
-
private static BookTemplate writeBookTemplate(String aMapping, String aTitle, String aAuthor, String[] aPages){
mBookKeeperCount++;
BookTemplate mTemp = new BookTemplate(mBookKeeperCount, aMapping, aTitle, aAuthor, aPages);
diff --git a/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java b/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
index 5160ddd8ce..7f2fd6e49c 100644
--- a/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
+++ b/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
@@ -1,5 +1,7 @@
package gtPlusPlus.core.item.general.books;
+import static gtPlusPlus.core.handler.BookHandler.mBookMap;
+
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
@@ -7,6 +9,7 @@ import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.handler.BookHandler;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.nbt.NBTUtils;
import net.minecraft.creativetab.CreativeTabs;
@@ -23,8 +26,6 @@ public class ItemBaseBook extends ItemWritableBook{
this.setTextureName(CORE.MODID+":"+"itemBook");
this.setUnlocalizedName("itembookgt");
GameRegistry.registerItem(this, "bookGT");
- GT_OreDictUnificator.registerOre("bookWritten", ItemUtils.getWildcardStack(this));
- GT_OreDictUnificator.registerOre("craftingBook", ItemUtils.getWildcardStack(this));
}
@@ -32,8 +33,19 @@ public class ItemBaseBook extends ItemWritableBook{
public void getSubItems(Item item, CreativeTabs tab, List list) {
for (int i = 0; i < BookHandler.mBookMap.size(); i ++) {
ItemStack bookstack = new ItemStack(item, 1, i);
- NBTUtils.createIntegerTagCompound(bookstack, "stats", "mMeta", i);
- NBTUtils.setString(bookstack, "title", BookHandler.mBookMap.get(i).mTitle);
+
+ bookstack = Utils.getWrittenBook(
+ bookstack,
+ i,
+ mBookMap.get(i).mMapping,
+ mBookMap.get(i).mTitle,
+ mBookMap.get(i).mAuthor,
+ mBookMap.get(i).mPages);
+
+ //NBTUtils.createIntegerTagCompound(bookstack, "stats", "mMeta", i);
+
+ GT_OreDictUnificator.registerOre("bookWritten", bookstack);
+ GT_OreDictUnificator.registerOre("craftingBook", bookstack);
list.add(bookstack);
}
}
@@ -43,7 +55,10 @@ public class ItemBaseBook extends ItemWritableBook{
if (NBTUtils.hasKey(tItem, "title")){
return NBTUtils.getString(tItem, "title");
}
- NBTUtils.tryIterateNBTData(tItem);
+ else if (tItem.getItemDamage() > -1 && tItem.getItemDamage() <= mBookMap.size()){
+ return mBookMap.get(tItem.getItemDamage()).mTitle;
+ }
+ //NBTUtils.tryIterateNBTData(tItem);
return "GT++ Storybook";
}
diff --git a/src/Java/gtPlusPlus/core/util/Utils.java b/src/Java/gtPlusPlus/core/util/Utils.java
index fb009ce2ed..c59d227f0e 100644
--- a/src/Java/gtPlusPlus/core/util/Utils.java
+++ b/src/Java/gtPlusPlus/core/util/Utils.java
@@ -774,7 +774,8 @@ public class Utils {
public static int getBookCount(){
return sBookCount;
}
- public static ItemStack getWrittenBook(String aMapping, String aTitle, String aAuthor, String[] aPages) {
+
+ public static ItemStack getWrittenBook(ItemStack aBook, int aID, String aMapping, String aTitle, String aAuthor, String[] aPages) {
if (GT_Utility.isStringInvalid(aMapping))
return null;
ItemStack rStack = (ItemStack) CORE.sBookList.get(aMapping);
@@ -783,7 +784,8 @@ 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, sBookCount);
+ int vMeta = (aID == -1 ? sBookCount : aID);
+ rStack = (aBook == null ? new ItemStack(ModItems.itemCustomBook, 1, vMeta) : aBook);
NBTTagCompound tNBT = new NBTTagCompound();
tNBT.setString("title", GT_LanguageManager.addStringLocalization(
new StringBuilder().append("Book.").append(aTitle).append(".Name").toString(), aTitle));
@@ -815,9 +817,9 @@ public class Utils {
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.createIntegerTagCompound(rStack, "stats", "mMeta", sBookCount);
+ NBTUtils.createIntegerTagCompound(rStack, "stats", "mMeta", vMeta);
CORE.sBookList.put(aMapping, rStack);
- Utils.LOG_INFO("Creating book: "+aTitle+" by "+aAuthor+". Using Meta "+sBookCount+".");
+ Utils.LOG_INFO("Creating book: "+aTitle+" by "+aAuthor+". Using Meta "+vMeta+".");
return GT_Utility.copy(new Object[]{rStack});
}