Jump to content

Custom informational book using NBT 1.7.2


Potato Coded

Recommended Posts

I am trying to make a book to my mod filled with information about my mod(recipes, how to obtain items, what items do, etc.) that acts just like a normal written book in the sense that you can click to read it and such. I am trying to create a new book and add NBT data to it, but nothing will work. Can somebody please help me...?

Link to comment
Share on other sites

this I what I have so far... the book doesn't seem to do anything when I click it...

 

 

 

public class cookie_manual extends ItemEditableBook

{

public static Item cookie_manual;

{

setMaxStackSize(64);

setUnlocalizedName("cookie_manual");

setTextureName("lethalcookies:cookie_manual");

}

private NBTTagList putTableOfContents(NBTTagList bookTagList)

{

bookTagList.appendTag(new NBTTagString("\n  Table of Contents\n"

+ "\nThrowable cookies"

+ "\nFood"

+ "\nBlocks"

+ "\nItems"));

 

return bookTagList;

}

public void onUpdate(ItemStack itemStack, World world, Entity entity, int unknownInt, boolean unknownBool)

{

NBTTagList bookTagList = new NBTTagList();

 

bookTagList = putTableOfContents(bookTagList);

 

itemStack.setTagInfo("pages", bookTagList);

itemStack.setTagInfo("author", new NBTTagString("The Cookie Guru"));

itemStack.setTagInfo("title", new NBTTagString("Cookie Manual"));

}

@SideOnly(Side.CLIENT)

    public boolean hasEffect(ItemStack par1ItemStack)

    {

        return false;

    }

}

 

 

 

Link to comment
Share on other sites

You're going to need to have onItemUse to actually do something on click first.

-Mitchellbrine

 

Minecraft can do ANYTHING, it's coded in Java and you got the full power of Java behind you when you code. So nothing is impossible.

It may be freaking fucking hard though, but still possible ;)

 

If you create a topic on Modder Support, live by this motto:

I don't want your charity, I want your information
Link to comment
Share on other sites

Here is what I have in mine, works like a charm. Enjoy.

 

 

 

 

public void processCommand(ICommandSender sender, String[] data) {

   

    // Setup Variables

    EntityPlayer player = (EntityPlayer) sender;

   

    // Create the book

    ItemStack book = new ItemStack(Items.written_book);

   

    // Create NBT data and add to the book

    NBTTagCompound tag = new NBTTagCompound();

    NBTTagList bookPages = new NBTTagList();

    bookPages.appendTag(new NBTTagString("This book provides instructions on uses for Cloth"));

    bookPages.appendTag(new NBTTagString("Cloth can be crafted into a Cloth Pouch which is used to craft a Cloth Pack"));

    bookPages.appendTag(new NBTTagString("Cloth Pouch \n \nPattern: \n \nx x x \nx y x \nx x x \n \nx = Cloth \ny = String"));

    bookPages.appendTag(new NBTTagString("Cloth can be crafted into a Cloth Pack to increase your storage by 9 slots"));

    bookPages.appendTag(new NBTTagString("Cloth Pack \n \nPattern: \n \nz x z \nz y z \na b a \n \nx = Iron Ingot \ny = Cloth Pouch \nz = Leather Strip \na = String \nb = Cloth"));

    bookPages.appendTag(new NBTTagString("The Book 'Leather Uses' contains information on mentioned items.  \n \n /DMLEATH"));

    bookPages.appendTag(new NBTTagString("Cloth has a ton of uses that can be looked up for Minecraft!"));

    book.setTagInfo("pages", bookPages);

    book.setTagInfo("author", new NBTTagString("delpi"));

    book.setTagInfo("title", new NBTTagString("Cloth Uses"));

 

    // Give the player the book

    player.inventory.addItemStackToInventory(book);

   

    }

 

[\spoiler]

Long time Bukkit & Forge Programmer

Happy to try and help

Link to comment
Share on other sites

Its not my main class.  Its in a command class.

 

But that isn't really relevant.  I just have it there because I'm using it there.  you could hae it in any class.

 

You are just creating an itemstack, adding some data, and giving it to a player (or dropping it into world).

Long time Bukkit & Forge Programmer

Happy to try and help

Link to comment
Share on other sites

Take a look at the code I gave you.  It is using a standard book as the item.  It will use that as the image.

 

If you want to have a different image, you are going to have to make your own item that extends book and use it instead.  I see you tried to create and item below called cookiemanual, assuming you want to use that. 

 

There are basic tutorials on how to give a texture to your item as well as what tab.  Search for them and follow. 

Long time Bukkit & Forge Programmer

Happy to try and help

Link to comment
Share on other sites

Take a look at the code I gave you.  It is using a standard book as the item.  It will use that as the image.

 

If you want to have a different image, you are going to have to make your own item that extends book and use it instead.  I see you tried to create and item below called cookiemanual, assuming you want to use that. 

 

There are basic tutorials on how to give a texture to your item as well as what tab.  Search for them and follow.

 

So u mean i could use ur Code for learning NBT thingy things and paste it in for example my Main class and then create a new Item that extends the created ItemStack Book ?

Link to comment
Share on other sites

Did you want a custom graphics book?  Lets look through answers

 

just for a custom graphic?  then create and item in your mod that is a standard minecraft book, then you can give it your own graphic and name using tutorials I mentioned.  No need to create your own item class.  Everytime you want to give this to someone or drop it, then run code like mine.  you could use events or such, up to you.

 

just need custom information in a book, then just create a standard book and populate its info like I did above and then give it.

 

Really depends on what yo uwant to do with your 'book'.

Long time Bukkit & Forge Programmer

Happy to try and help

Link to comment
Share on other sites

so I can add NBT data to an ItemStack, but not an Item. so how do I get an Item with my custom NBT data into a creative tab. because when I run: example_item.getItem().setCreativeTab(tabExample);, it gives me a written book, named written book, with nothing in it...

Link to comment
Share on other sites

I think you can.  For example if on the onupdate method you check to see if the itemstack ahs your marker already.  If it doesn't add it.

 

Should work fine.

Long time Bukkit & Forge Programmer

Happy to try and help

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Hello! My friends and I were attempting to add a few extra mods to the Create Chronicles modpack, and all was well until people started crashing when they opened their inventories. Any help finding the culprit would be MUCH appreciated, I've been scratching my head for the past few days on what went wrong. https://paste.ee/p/8pajP
    • >>>KLIK LOGIN DISINI SAYANG<<< >>>KLIK DAFTAR DISINI SAYANG<<< Pendahuluan Dalam dunia perjudian online, slot menjadi salah satu permainan yang paling diminati. Dengan munculnya berbagai platform, Togel2Win hadir sebagai salah satu pilihan menarik, terutama dengan fitur anti rungkad yang dijanjikan. Artikel ini akan membahas tentang Togel2Win, keunggulan slot terbaru, dan bagaimana server Thailand berperan dalam meningkatkan pengalaman bermain. Apa Itu Togel2Win? Togel2Win adalah platform permainan yang menawarkan berbagai jenis permainan, termasuk slot dan togel. Dengan antarmuka yang ramah pengguna dan beragam pilihan permainan, situs ini bertujuan untuk memberikan pengalaman bermain yang menyenangkan dan menguntungkan bagi para pemain. Keunggulan Slot Togel2Win Fitur Anti Rungkad: Salah satu keunggulan utama dari Togel2Win adalah fitur anti rungkad yang dirancang untuk mengurangi kemungkinan gangguan saat bermain. Ini memastikan bahwa pemain dapat menikmati permainan tanpa gangguan teknis, meningkatkan kenyamanan dan fokus. Beragam Pilihan Slot: Togel2Win menawarkan berbagai jenis slot, dari yang klasik hingga yang modern dengan grafis menawan dan tema yang menarik. Ini memberikan variasi yang cukup bagi pemain untuk menemukan permainan yang sesuai dengan preferensi mereka. Server Thailand yang Stabil: Server yang berlokasi di Thailand memberikan koneksi yang cepat dan stabil. Ini sangat penting untuk pengalaman bermain yang lancar, terutama saat bermain slot yang memerlukan respons cepat. Bonus dan Promosi Menarik: Togel2Win sering menawarkan bonus dan promosi yang menarik untuk menarik pemain baru dan mempertahankan loyalitas pemain yang sudah ada. Ini bisa berupa bonus deposit, putaran gratis, atau program loyalitas. Tips untuk Pemain Slot di Togel2Win Pilih Slot dengan RTP Tinggi: Sebelum memulai permainan, pastikan untuk memilih slot dengan tingkat pengembalian pemain (RTP) yang tinggi untuk meningkatkan peluang menang. Kelola Anggaran: Tentukan batasan anggaran sebelum bermain dan patuhi itu. Ini membantu mencegah kerugian besar dan menjaga pengalaman bermain tetap menyenangkan. Manfaatkan Bonus: Jangan ragu untuk memanfaatkan bonus dan promosi yang ditawarkan. Ini bisa memberikan tambahan modal untuk bermain lebih lama. Kesimpulan Togel2Win merupakan pilihan menarik bagi para penggemar slot, terutama dengan fitur anti rungkad dan server yang stabil. Dengan berbagai pilihan permainan dan bonus yang menggiurkan, Togel2Win siap memberikan pengalaman bermain yang tak terlupakan. Jika Anda mencari platform slot yang andal dan menyenangkan, Togel2Win bisa menjadi solusi yang tepat.
    • I'm trying to make my own modpack, but sometimes, in certain areas of the world, the game just says "server closed". Minecraft doesn't close, it just returns to the menu. When I tried to figure it out on my own and understand the logs, I didn't understand anything (English is not my native language, so it's difficult for me). I've been trying to solve the problem for the third month. So I ask if anyone is good at this and it's not difficult for you, to help me with this. If you need details, ask. I'll describe everything. What it looks like Logs
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.