Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

I want to give the player a book that has already been written, how would I do this

To create written book that can be spawned you need to first create itemstack which has only one item, that is Items.written_book.

Then you create NBT tag compound for that stack with following tags:

 

- NBTtagList named "pages"

- To add first page, append that list and add NBTTagString named 1 that contains desired text in String.

- To sign, add title and author to that book you add NBTTagString named "author" and "title" with values you want.

 

ItemStack#getTagCompound() should then look something like this:

|

|-NBTTagString("author", "My Name")

|-NBTTagString("title", "Name Of The Book")

|-NBTTagList("pages")

  |------------NBTTagString("1", "Text on the first page")

  |------------NBTTagString("2", "Text on the second page")

 

 

Then you can use onEntityJoinWorldEvent which fires when player comes to world.

this is where you can either spawn it or scan player.inventory to set it some empty slot.

  • Author

To create written book that can be spawned you need to first create itemstack which has only one item, that is Items.written_book.

Then you create NBT tag compound for that stack with following tags:

 

- NBTtagList named "pages"

- To add first page, append that list and add NBTTagString named 1 that contains desired text in String.

- To sign, add title and author to that book you add NBTTagString named "author" and "title" with values you want.

 

ItemStack#getTagCompound() should then look something like this:

|

|-NBTTagString("author", "My Name")

|-NBTTagString("title", "Name Of The Book")

|-NBTTagList("pages")

  |------------NBTTagString("1", "Text on the first page")

  |------------NBTTagString("2", "Text on the second page")

 

 

Then you can use onEntityJoinWorldEvent which fires when player comes to world.

this is where you can either spawn it or scan player.inventory to set it some empty slot.

I dont know how to use NBT, could you link me to a tutorial?

Here is some basic stuff: http://www.minecraftforge.net/wiki/Creating_NBT_for_items

You really should check how Vanilla written books are done (because after all, you are creating those same books but not in the game, by coding them so its important that you understand how vanilla books are constructed). Check net.minecraft.client.gui.GuiScreenBook to see how NBT is saved in vanilla.

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.