diff options
Diffstat (limited to 'src/Java/gtPlusPlus')
-rw-r--r-- | src/Java/gtPlusPlus/core/handler/BookHandler.java | 11 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java | 25 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/util/Utils.java | 10 |
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}); } |