Item Renamer
Tired of blocks called Sand? Want your enderpearls to say Grenade instead? Want to add extra lines of text below item names? Do all that and more with ItemRenamer. You can create your own custom item names for all items in your server, but still let users rename with an anvil. You can create your very own language pack!
Installation
- Download ProtocolLib and put it in your plugins folder
- Place ItemRenamer.jar in your plugins folder, on server start the configuration will be generated
- Test out the example config by setting your world to run the example pack, to see how it works
- Go crazy and make your own language pack
Developer Build
Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Jenkins server
For developers
ItemRenamer 2.0.0 contains a fully-fledged API. Click here for more information.
Configuration
Default configuration can be found here.
Config | Default | Ranges | Description |
---|---|---|---|
autoupdate | true | [true/false] | Will remind you when a new version is available |
creativedisable | true | [true/false] | Will disable ItemRenamer while you're in creative mode |
worlds.<worldname> | Pack name | Will set this world to run the pack you put here | |
packs.<packname>.<itemid>.<data>.name | Any string | Will rename itemid:data to your string | |
packs.<packname>.<itemid>.all.name | Any string | Will rename all itemid data values to your string | |
packs.<packname>.<itemid>.other.name | Any string | Will rename all unset itemid data values to your string | |
packs.<packname>.<itemid>.<data>.name | Any string | Will add your name to itemid:data | |
packs.<packname>.<itemid>.<data>.lore | Any string | Will add your lore list to itemid:data | |
packs.<packname>.<itemid>.<first>-<last>.name | Any string | Will add your name to every itemid with a data value of the give range. | |
packs.<packname>.<itemid>.<first>-<last>.lore | Any string | Will add your lore list to every itemid with a data value of the give range. | |
packs.<packname>.<itemid>.all.lore | Any string | Will add your lore list to all itemid data values | |
packs.<packname>.<itemid>.other.lore | Any string | Will add your lore list to all unset itemid data values |
- Note: place lore in [square brackets] OR on seperate lines starting with a dash -
Player-specific packs
If you want to customize the renamer pack for a specific group of players, regardless of world, you may use the player info itempack along with the desired renamer pack. This feature requires Vault and a permission/chat plugins that supports player info.
This can be done as follows with PermissionEx:
users: Player: group: - Members options: itempack: none
Usage
It's possible to configure ItemRenamer without ever having to touch the configuration file or deal with the more complicated (but powerful) commands. Simply select an item you want to rename, and type the following:
/renamer select hand
That will select your current item's ID and durability (except for armor and tools), along with any enchantments, potion/fireworks effect, etc. Then use set name and add lore to rename the item and every other like it on the server:
/renamer set name Nameless Tool /renamer add lore Unknown Artifact
This will automatically be applied to the current world you're in. Use "renamer set pack" to apply it to a different item pack, or teleport to the world with the item pack you want to rename.
Commands
- Change whether or not to automatically check for updates:
/renamer set setting autoupdate [true|false] - Get what item pack has been assigned to a particular world:
/renamer get world [world_name] - Assign an item pack to the given world:
/renamer set world [world_name] [pack_name] - Add a new item pack:
/renamer add pack [pack_name] - Delete an item pack:
/renamer delete pack [pack_name] - Select a item pack to use for all subsequent commands:
/renamer select pack [pack_name] - Rename all items similar to the one the player currently is holding:
/renamer select hand - Deselect the current item pack, going back to manually typing it:
/renamer select none - Get the rename rule for a particular item:
/renamer get item [pack_name] [itemID] [all|other|0-32767] - Set the name of an item(s) matching a single or multiple damage values:
/renamer set name [pack_name] [itemID] [all|other|0-32767] [0-32767] [name (with spaces)] - Add a new lore line to an item(s) matching a single or multiple damage values:
/renamer add lore [pack_name] [itemID] [all|other|0-32767] [0-32767] [lore (with spaces)] - Remove all the existing lores for a particular set of items:
/renamer delete lore [pack_name] [itemID] [all|other|0-32767] [0-32767] - Add a new enchantment to a set of items: /renamer add enchantment [pack_name] [itemID] [all|other|0-32767] [0-32767] [enchantment_name] [level]
- Remove an existing enchantment for a set of items: /renamer remove enchantment [pack_name] [itemID] [all|other|0-32767] [0-32767] [enchantment_name] [level]
- Reload configuration:
/renamer reload - Save configuration now instead of during server shutdown:
/renamer save
All commands default to OP, but also have permissions.
Modify enchantments
It is also possible to add or remove existing enchantments to any given item. The easiest method is to mark the item you want to modify in your hotbar, and type the following command:
/renamer select hand /renamer add enchantment NO_ATTRIBUTES 1
Every vanilla enchantment is supported:
- Bow: POWER, PUNCH, INFINITY, FLAME
- Weapon: SHARPNESS, BANE_OF_ARTHROPODS, SMITE, FIRE_ASPECT, KNOCKBACK, LOOTING, UNBREAKING
- Tool: FORTUNE, EFFICIENCY, UNBREAKING, SILK_TOUCH
- Armor: RESPIRATION, PROTECTION, BLAST_PROTECTION, FEATHER_FALLING, FIRE_PROTECTION, PROJECTILE_PROTECTION, THORNS, AQUA_AFFINITY
There's also three custom enchantments:
- GLOW 1: Preserve the enchantment glow with no visible enchantment name
- NO_ATTRIBUTES 1: Remove all the attribute lines introduced in 1.6.1 and 1.6.2.
- NO_DURABILITY 0: Remove any visible durability on the item. Switch out 0 with any other number to force a durability value.
Permissions
itemrenamer.config.get — read-only access to configs
itemrenamer.config.set — can edit configs or reload from disk
itemrenamer.update — gets a notification when update is ready, and can use update command
Notes
- Join us on irc at: irc://esper.net/ItemRenamer
- Items in the creative menu are only client-side, and thus cannot be renamed by this plugin. But creative players will see their items renamed in the main inventory bar.
- This plugin doesn't actually edit any items, they just appear renamed .. if you were to suddenly stop using this plugin all items should go back to normal
- If a player renames an item in an anvil, that name should take precedence over the ItemRenamer one
- When setting lore in game make sure to wrap the text in square brackets, each line separated by a comma, and enclosed in quotes if it contains special characters
Sourcecode
Access the source code via GitHub:
https://github.com/meiskam/ItemRenamer
Ok... I know you're going to think I am crazy...
But here it goes.
With this plugin installed, I can not write in books.
I am 100% sure its this plugin causing it.
Any ideas?
Oh, and I am using the most recent dev build if that helps.
@aadnk
Huh, thanks!
Yeah, I've had a-lot of problems with YAML files and UTF-8 before, i just usually de-compiled the plugin and checked how names worked. Luckily i would just need to Type in something like
"Pistol" + /U+25B8
Here it was a little more complicated ;)
I'll give this all a try! Thanks!
@TommehRRR
Oh wow, Bukkit YAML files are actually loaded and saved using the default charset?! What is this, 1985?
Looks like this issue has been known for a while too ... they should have just accepted the breaking change and switched to UTF-8. Especially considering that YAML must be UTF-8 or UTF-16 as per the specification. Any other encoding is just wrong ...
Unfortunately, this does mean that YAML doesn't support escaping unicode characters out of the box, so it would be difficult to add a syntax like you suggest. I could add a way to escape the characters within a string, but wouldn't that be fairly ugly and inconvenient?
But it's not difficult to change the default character set. Just add the following command line option to your startup script, and you should be good to go:
Just remember to make a backup. And I'd suggest you open every configuration file in Notepad-plusplus, and manually save them as UTF-8 (even though UTF-8 is backwards compatible with ANSI).
Once you've done that, you should be able to simply copy and paste Unicode characters into the configuration.
Can you add support for UTF characters please? something like:
- name: '&8&lKatana' + \U+25B8
or
- lore: \U+2603 + '&f&lSnowman!' + '\U+2603'
or which-ever syntax is possible :)
Thank you very much!
@RainSpider3000
ItemRenamer will never modify anything other than its own configuration file and folder. I don't make any changes to the world or its items, nor do I access any SQL databases.
It sounds to me like this is a problem with Simple Backups. Perhaps it can't handle "backup" folders? Either way, there's very little I can do to fix it.
I downloaded this plugin and it corrupted all my backups, it got in conflict with Simple Backups. And messed up my MySQL database.
@aadnk
That was lightning fast!
Thanks!
@TommehRRR
Sure, I suppose I could add that. Download the latest snapshot here.
The syntax is as you'd expect:
Scratch that, i solved it ;)
But on another note, how about a "Hide Durability" enchantement?
@aadnk
What i mean is, i want to rename the item's name regardless of the name it has, because if i set a name for each variable, my config would extensively long, about... 700 lines longer...
That would also affect the speed and lag, right?
To be more specific:
I want to set the item name for an item regardless of anything that it has
Also, the plugin doesn't seem to override the name, could this be the colors that already exist in the name? I tried this on other objects without colors, it worked fine.
@TommehRRR
If I understand you correctly, you want to rename the name only, without caring about the lore? That's not possible, I'm afraid. You can only match items exactly under the "exact" segment. The only exception to this, is the durability value on tools and armor.
@aadnk
For some reason it doesn't override the name Here is a snippet:
If i use it this way i will have to set 22 names, one for each ammo slot (1-20), for reloading and empty. Is there a way to override only the name? Without changing lore and setting all of the different names, of course?
@elyssah
No, sorry, you will have to use a custom drop plugin for that.
Will this allow me to make "new" items while still keeping the old ones? For example, I want pork to drop from sheep, but I want it to be called Mutton instead of Porkchop. But I still want porkchops to drop from pigs.
@TommehRRR
Oh, sorry, I didn't see this comment.
I know it's a bit late, but have you tried renaming one of these items, selecting it with renamer select hand, and then renaming it with ItemRenamer's set name command? Then the rename should only be applied to items with that specific name.
@TommehRRR
Try looking for a "name:" that is misaligned with its damage values, a bit like this:
Getting an Unable to parse range name when reloading
I have an extensively long config, so if you need a look i'll send it privately.
What could cause this issue?
@aadnk
Strange question, but i am interested in overriding renamed items (with anvils, etc) and sending the player already made name in this config, without actually renaming the object.
The server needs to get the name for a action, but it gives artifacts i can't remove, it relies on them. So, is there a way to actually send a different name without altering the already made name?
If this can be done specifically for the item, like a
Ignorename: true
that would be great!
@DoomedScar
Just select the item with the "select hand" command, as described above, and change the name or lore with the appropriate commands.
This should take the enchantment into account, as well as any other "properties" of the item stack. But it will ignore the damage value, if it's an armor piece or a tool/weapon.
Any chance to rename items with a specific enchantment?