Anon10W1z Posted August 19, 2015 Posted August 19, 2015 @SubscribeEvent public void onAnvilUpdate(AnvilUpdateEvent event) { if (event.right.getItem() == Items.written_book) { NBTTagCompound bookTagCompound = event.right.getTagCompound(); NBTTagList pagesList = bookTagCompound.getTagList("pages",; ItemStack output = event.left.copy(); NBTTagCompound outputTagCompound = new NBTTagCompound(); NBTTagList loreList = new NBTTagList(); for (int i = 0; i < pagesList.tagCount(); ++i) { String[] pageSplit = pagesList.getStringTagAt(i).substring(1, pagesList.getStringTagAt(i).length() - 1).replace("\\n", "\n").split("\n"); for (String line : pageSplit) loreList.appendTag(new NBTTagString(line)); } outputTagCompound.setTag("Lore", loreList); output.setTagInfo("display", outputTagCompound); if (!event.name.trim().isEmpty()) output.setStackDisplayName(event.name); event.output = output; } } I am using the above code to allow application of written books as lore on items. It works perfectly except for one thing: The result can't be taken out of its slot. Shift clicking and regular left-clicking do not do anything, in fact. Is this a bug or am I doing something wrong? The reason I am replacing the literal "\n" with the actual linefeed "\n" is that it shows as the literal in the lore. Then I have to split the linefeed "\n" because it renders as an LF icon rather than an actual new line. Solved by setting event.cost. Quote Maker of the Craft++ mod.
Recommended Posts
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.