Knokko's Custom Items
Note: this plug-in requires a different installation procedure than most other plug-ins. You really need to check the installation section or one of the tutorials.
Description
This plug-in allows the owners and developers of servers to create custom items with their own textures. (It requires a server resource pack.) Everyone who would like to use this plug-in needs to download the Editor and use that to create their own custom item set.
Installation
- Download and run the Editor. Editor.jar can be found in the Files section. If you have a working Java installation, you can just download and double-click this file. If not, you can either install Java or download a native version of the Editor from https://github.com/knokko/custom-items-gradle/releases
- Put this plug-in (CustomItems.jar) in your plug-ins folder
- Configure the items and textures you want (in the Editor)
- Click on the Export... button, and follow the steps (in the Editor)
- Optional: Install ActionBarAPI to display custom tool durability and wand/gun cooldowns. See https://knokko.github.io/custom items/compatibility/positive.html for details.
If you need more detailed information about these steps, you can ask for help on the Discord server.
Discord server
Invite link: https://discordapp.com/invite/bmF3Zvu
New tutorials:
https://www.youtube.com/watch?v=GsC-pNlBjwg
Old basic tutorials:
Text: https://knokko.github.io/custom%20items/index.html
Video: https://www.youtube.com/playlist?list=PLcc-tPs9PuADC-shEBRynL9s2j6slSWCa
Old advanced tutorials:
Custom containers (video): https://knokko.github.io/custom%20items/tutorials/containers/index.html
Wands and guns (text): https://knokko.github.io/custom items/tutorials/wands and guns/index.html
Troubleshooting
If you can, use /kci debug
If that doesn't work, check out https://knokko.github.io/custom items/troubleshooting.html
Supported minecraft server versions
Minecraft 1.8.x and earlier: impossible to support (at least without mods)
Minecraft 1.9.x, 1.10.x and 1.11.x: not supported, but could be if there would be enough interest
Minecraft 1.12.2: supported
Minecraft 1.13.2: supported
Minecraft 1.14.4: supported
Minecraft 1.15.2: supported, but misses custom tridents
Minecraft 1.16.4: supported, but misses custom tridents
Minecraft 1.16.5: supported, but misses custom tridents
Minecraft 1.17.0: supported, but misses custom tridents
Minecraft 1.17.0: supported, but misses custom tridents
Minecraft 1.18.2: supported, but misses custom tridents
Minecraft 1.19.4: supported, but misses custom tridents and special melee damage sources
Minecraft 1.20.4: supported, but misses custom tridents and special melee damage sources
Minecraft 1.21.x and later: didn't exist at the time of writing this
Notes when using alongside ViaRewind
Players will only be able to see the right textures, if the resourcepack format of their client version is the same as the resourcepack format of the server version. The following versions use the same resourcepack format:
Minecraft 1.8 and earlier (Note: this resourcepack format misses required features and therefor can't be supported)
Minecraft 1.9 to minecraft 1.12 (Note: even though this plug-in can't be used on servers with minecraft 1.11 or earlier, players from minecraft 1.9 to 1.11 may be able to join and see custom textures if you use a minecraft 1.12 server)
Minecraft 1.13 and minecraft 1.14
Minecraft 1.15 and minecraft 1.16
Features
-Custom items with their own display name, lore, attribute modifiers and textures
-Custom tools with their own damage and durability
-Custom bows with their own damage, speed and durability
-Custom armor with their own armor value and other attribute modifiers, unfortunately without model texture.
-Crafting recipes that can use vanilla ingredients and custom items (or combined)
-Block & mob drops for custom items
-Custom containers (like a custom furnace, but much more powerful, unfortunately without block texture)
-Custom projectiles with custom wands to launch them
-Custom blocks (but still in beta)
Commands
- /customitems damage <amount> [player name] will decrease the remaining durability of the custom tool in the main hand of the target player (the player with name player name) by amount. If the remaining durability is smaller than (or equal to) amount, it will be destroyed. Only players with the customitems.damage permission can use this command.
- /customitems debug will let the plug-in do check for installation problems and send the results in the chat to the player who executed the command. Note that this command will not work if the installation is too bad. Only players with the customitems.debug permission can use this command. Note: if you use a big server resourcepack, this command can freeze the server for multiple seconds, so anyone with this command has the power to freeze the server by repeatedly using this command.
- /customitems encode will create a text representation of the item in the main hand of the command executor and put that in the server console. This can be used for complex crafting ingredients in the Editor. Only players with the customitems.encode permission can use this command.
- /customitems give <item name> [player name] [amount] to give the custom item with that name to the player with the given name (by default the player that executes the command). Only players with the customitems.give permission can use this command.
- /customitems list sends the names of all custom items to the player who executed the command. This can be nice for testing or when you forgot the name of a custom item. Only players with the customitems.list permission can use this command.
- /customitems reload will reload the config.yml and the current .cis file (or .txt file). Only players with the customitems.reload permission can use this command.
- /customitems repair <amount> [player name] will increase the remaining durability of the custom tool in the main hand of the target player (the player with name player name) by amount. This command will not repair the tool beyond the maximum durability (if current durability + amount is larger than the maximum durability, the durability will be set to the maximum durability). Only players with the customitems.repair permission can use this command.
- /customitems setblock <custom block> [x] [y] [z] [world] will place a custom_block at location (x, y, z) in world. Only players with the permission customitems.setblock can use this command.
- /customitems take [page] [target player] lets the target player take custom items from an in-game GUI. The page is needed when you have more than 54 custom items. By default, this command will use the command executor as target player and page 1. This command requires the permission customitems.take
- /kci playsound <sound> [x] [y] [z] [world] [volume] [pitch] plays the given custom sound at the given location (or the location of the command executor when no location is specified). If no volume or pitch is given, they will get the default value of 1
- /kci tag is a debug command that sends the NBT tag of the item in your main hand via the chat
When you put disableoutput between /kci and the rest of the command, you can disable command feedback/output, which can be useful for commands that are executed automatically.
Source code (programmers only)
In reply to knokko:
I was thinking in have colors not so shiny, maybe with with and grey work good, is because sometimes the colors make your eyes get tired. And the font maybe if the standar size is 11 will be good.
I have an additional question, with the plugin can I create trowable items, like tridents?
In reply to Forge_User_07974258:
I can try some black/grey style (or maybe more like dark-blue/grey) because really black/grey could get a bit too boring, but I will try it nevertheless.
And regarding throwable items: the plug-in is currently designed to work with minecraft 1.12, where there are no tridents. Allowing 1.14 items is currently not so high on my todo list.
And regarding fonts: do you mean making just the fontsize/text smaller or make their button smaller as well? (Most text is inside a button)
In reply to knokko:
I´m enjoying using the new version of the editor, and thank you very much for hear the community, I´m so happy with the plugin.
Now I have a suggestion, I don´t know if your team is working now on it, but in a next update will be possible to add a custom sprite to the weared armor, and the same with weapons, will be cool to know how the weapon will be in your hand before add to server data.
And do you know a way to make bigger weapons, like greatswords and stuff like that, my art team did some sprites for those weapons but ingame those look small in hand.
And the last question is, have you a way to donate.
In reply to Forge_User_07974258:
Custom sprites for equipped armor are at least impossible in minecraft 1.12 because the dirty trick I use for custom item textures appears to not be available for equipped armor. (This might change or already be changed in later versions of minecraft, but I don't follow it that closely.)
Letting weapons look differently will be possible with custom item models (and custom armor while holding it in your hand), which is already requested by someone else and on the list of things to do in the coming weeks. I think it will be possible to do, but I'm not entirely certain yet.
Currently, I'm not looking for money, but I might look into donating in the future. By the way, my 'team' is just me.
is there a way to create a custom shield?
In reply to ipjoop:
No, there is not. I will consider adding custom shields in later versions of the plug-in.
In reply to knokko:
Thanks! I'm looking forward to next version.
Is there a way to give a custom item to an entity through the command blocks
In reply to Forge_User_66644980:
At the moment, that task is possible, but quite painful. Since you are asking about command blocks, I assume you know about NBT tags and the /give command. That is what you will need. You will have to make sure that the damage/durability of the item matches the Internal Item Damage of the custom item. Also, you will have to give the right nbt tag.
Currently, you should be able to see what nbt tag you should use by holding a custom item in your hand and executing the command "/knokko tag" (that command is part of Knokko Core and can only be used by server operators). It will send the entire item tag in the chat to you. You will have to use that tag until the 'toString() returns'.
Then, you can use /give [target entity] [custom item type] 1 [internal item damage] [tag]
I will think about a way to make this easier because this is quite complex...
In reply to knokko:
Thank you very much for your answer, I will try this.
Is there a way to disable fall damage on a piece of armor? Ive looked through the editor and I can't seem to find anything. Ive tested feather falling and it only negates the damage taken.
In reply to kibbles____:
At the moment, a high level of feather falling is the best you can get. (With level 20 or something, you can fall quite far with not too much damage).
I will include a better solution in the next update (might take several weeks though).
Hey quick question, this is probably a dumb question but does this system support 3D models with a resource pack or some such?
In reply to idleconjecture2:
Sorry, for the late reply.
Currently, the 3d model support is quite poor. At the moment, you can only edit the resource pack after clicking 'Export'. I think I will add better support for this in the future.
Hey! So I found a bug with armor. When I put on me leggins and torso, and each of them has +2 max health, it doesn't stack... it just gives 1 hearth and it should give 2... When I then take away only one piece then the hearts go back to the normal state, even though I have the other piece on me with +2 health. Is this a bug, or am I doing something wrong?
EDIT - another weird thing... When I put the torso on me first, it gives me 1 and a 1/2 armor. When I then put the rest of the clothing on me, I have only half an armor... Shouldn't it stack?
Torso - +3 armor
helmet - +1 armor
leggins - +2 armor
boots - +1 armor
EDIT - When I put the Torso On and Equip an item in my hand, the health increases.. I don't get it.
In reply to Forge_User_22778490:
I think this is the same bug as Haxabur discovered. This should have been resolved in the newest Knokko Core, but it is still under moderator review. You can download it from https://github.com/knokko/Core-Plugin-1.12.2/blob/master/Knokko%20Core%201.12.2%208.jar if you need the fix earlier.
In reply to knokko:
Thanks, I will wait for the final version! Sorry for double posting the same question. :)
But still, I don't see that Hexabur had a problem with the "maxhealth" Attribute. Is that going to be fixed too?
In reply to Forge_User_22778490:
He had a problem with the armor value, but armor and health are both attribute modifiers and the problems you describe sound very familiar and the problem was related to attribute modifiers.
Hi again, I know I asked a lot already and this is more of a suggestion than any problem I have, if this is possible to do that is. It may already be possible and I'm not aware of it. Anyways, my suggestion is that while in the editor, creating items/armor/weapons, there should be an option to add/hide flags (hide enchantments, or for example on leather armor it says "Color#" under it). This way the armor looks more official in some cases, also the option to add Data to items like Unbreakable tags and stuff, would be very nice if it's even possible. Basically just any form of adding/hiding data on the items would be useful, but this is just a suggestion that i'd like to see and not anything serious, thanks for reading and have a good day!
In reply to Haxabur26273:
Hmm, yeah as far as I know this is not possible in custom items now. But I'm pretty sure if you do deep searching you can find a plugin that can do that... But as I know Knokko, he is going to look into getting your suggestions solved. :) Try to find a plugin that does that though, so Knokko won't have a damaged brain from us :P