Posted November 27, 20177 yr Hello, new to forge modding, i did this with bukkit modding so i'll explain With bukkit, i created an item say a diamond sword, i made it roll random stats and then set the lore with setitemmeta() and setlore() how do i set the lores with forge? https://i.imgur.com/HYysu.png here pic in case you're confused what i mean by lore Thanks!
November 27, 20177 yr Are you... Adding lore to your own item? Or... Adding lore to a vanilla item? How you do this depends on the answer. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
November 27, 20177 yr Author 7 minutes ago, Draco18s said: Are you... Adding lore to your own item? Or... Adding lore to a vanilla item? How you do this depends on the answer. i want to use vanilla items, a wooden sword for example, and be able to create infinite amounts of different items by changing the sword's lore. like wooden sword: critical chance 5% wooden sword: critical damage 20% Edited November 27, 20177 yr by robertx555
November 27, 20177 yr Lore doesn't actually make the item any different. It's just text displayed in a tooltip. You can modify the text displayed by subscribing to the ItemTooltipEvent, but adding "Crit chance: 5%" won't actually make the item have a 5% crit chance. For actual effects, some of them can be handled via AttributeModifiers which can be applied via NBT tags on item stacks. But this is a very limited set of effects (namely, attack damage and attack speed). Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
November 27, 20177 yr Author 20 minutes ago, Draco18s said: Lore doesn't actually make the item any different. It's just text displayed in a tooltip. You can modify the text displayed by subscribing to the ItemTooltipEvent, but adding "Crit chance: 5%" won't actually make the item have a 5% crit chance. For actual effects, some of them can be handled via AttributeModifiers which can be applied via NBT tags on item stacks. But this is a very limited set of effects (namely, attack damage and attack speed). I know, i can make my own stat and dmg system that makes use of that text on items. Hm, itemtooltipevent? Can't i first give the item lore and then make it drop from a mob? The attributes are too limiting. I already made the stat system for a bukkit server so i know it's possible, i just have to figure out the differences with forge modding Edited November 27, 20177 yr by robertx555
November 27, 20177 yr 1 hour ago, robertx555 said: I already made the stat system for a bukkit server so i know it's possible, i just have to figure out the differences with forge modding Not everything Bukkit does has a Forge equivalent and vice versa. You can add other tags and write your code to handle interpreting what they do, but each one will need separate code and possible their own event hooks. That is: making a critical damage stat and applying it to weapons and hooking into the right events, sure, its doable. It's just not two lines of code. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
November 27, 20177 yr Author 1 minute ago, Draco18s said: Not everything Bukkit does has a Forge equivalent and vice versa. You can add other tags and write your code to handle interpreting what they do, but each one will need separate code and possible their own event hooks. That is: making a critical damage stat and applying it to weapons and hooking into the right events, sure, its doable. It's just not two lines of code. Yeah i'm prepared to write code for many days.. but first i need to figure out how to add lore to items. I think i'm close to the answer, seems to be NBTTagList. I'll just fiddle with it until i figure it out
November 27, 20177 yr Author I think i got it! I add item info with nbttags and then make the item show it by using addinformation to show the info! I'll try to figure out how exactly to do it tomorrow, but this tutorial was helpful https://emxtutorials.wordpress.com/adding-nbt-data-to-items/ thanks all, i'll ask again if i still can't do it tomorrow
November 28, 20177 yr No, you really should not be doing that (modifying the actual ItemStack on the server). Stop thinking like a Bukkit developer - you have access to both client and server here. Never mind that, I misread. If you're storing the functional data server-side using NBT and using Item#addInformation() clientside to display it to the player in a readable way, that's good. To add "lore" (and that's really a Bukkit term - it's just a tooltip here), all you need to do is one of: If it's an item from your mod, override Item#addInformation() and append your text to the item's tooltip. If it's an item from another mod (or vanilla), you can use the clientside ItemTooltipEvent to insert your tooltip. Remember, this is all happening on the client. Tooltips are just information that is displayed to the player, not actually stored in a server-side item stack. And your clientside code also has access to I18n.format() so you can correctly localize your tooltips. Edited November 28, 20177 yr by desht
November 28, 20177 yr Author Thanks, i figured out how to do it! I don't think i have the best possible way but it works! First you add the tags NBTTagCompound com = new NBTTagCompound(); com.setString("stats", "example stat"); item.setTagCompound(com); then you display them @SubscribeEvent public void onTooltip(ItemTooltipEvent event) { ItemStack item = event.getItemStack(); if (item.getTagCompound()!= null) { if (item.getTagCompound().hasKey("stats")) { event.getToolTip().add(stats); } } I got stuck because there wasn't setTooltip() method, i had to gettooltip() and then add().. You can also remove some of the tags from showing this way but attack speed and armor seems to stay lol
November 29, 20177 yr 2 hours ago, robertx555 said: I got stuck because there wasn't setTooltip() method, i had to gettooltip() and then add().. You can also remove some of the tags from showing this way but attack speed and armor seems to stay lol event.getToolTip() is correct. The list returned is a reference, so adding to the list will work. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
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.