Note: this plug-in requires more installation work than most other plug-ins. Read the tutorial or the installation section below for more info about this.
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.
Discord server
Invite link: https://discordapp.com/invite/bmF3Zvu
Basic tutorials:
Text: https://knokko.github.io/custom%20items/index.html
Video: https://www.youtube.com/playlist?list=PLcc-tPs9PuADC-shEBRynL9s2j6slSWCa
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.2: supported, but misses custom tridents
Minecraft 1.20.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
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.
Editor
Because it would be quite complex to implement all features of this plug-in by hand, I created an editor that you can use to create your custom items. I know the editor isn't beautiful, but it should be functional.
You can download Editor.jar from the Files section. You can put the downloaded file anywhere on your computer, but I recommend putting it in the same folder where you want to put your custom item textures.
To use the editor, double click on it after you put it somewhere on your computer. It should open a window where you can create your custom item set. Click on 'New item set' and choose a name for your item set. The name will not be shown to any players on your server, but is only for yourself to keep track of which set contains what.
A quick overview:
The quit button will exit the editor without saving your changes.
The save button will save your changes (more about this later).
The save and exit button will save your changes and exit the editor thereafter.
The export button will generate the custom item set and the resource pack (more about this later). It will also save your changes and exit the editor.
The textures button lets you add textures. You need to create a texture before creating a custom item.
(The textures will be less ugly in game, but are ugly in the editor).
The item buttons lets you view and add your items.
The recipes lets you view and edit your crafting recipes.
Once you have created the custom item set you would like to use, click on the export button. There should be a folder named 'Custom Item Sets' somewhere in your documents folder on your computer. It should contain the files NAME.cisb, NAME.cis, NAME.txt and NAME.zip.
The NAME.cisb is used only be the editor, it will save its changes to this file.
The NAME.cis is the Custom Item Set that should be read by the plug-in. You need to move it to YOUR_SERVER_PATH/plugins/CustomItems/NAME.cis
Those folders will not exist the first time, so you will need to create them.
The NAME.txt file can be used as alternative for the NAME.cis. It doesn't matter much which one you choose, but the NAME.cis file will be twice as small and the NAME.txt has the advantage that its contents can be copied like text.
The NAME.zip is the resourcepack that your server needs. Minecraft allows server resourcepacks, so just use this as server resourcepack. You can use a website like minepack.net to put the resource pack.
Installation
- This plug-in requires Knokko Core, so you need to install that plug-in. The latest version of this plug-in usually requires the latest version of Knokko Core (for the right minecraft version). This plug-in simply won't work without it.
- Optional: Install the ActionBarAPI plug-in if you would like to display custom tool durabilities and wand/gun cooldowns. See https://knokko.github.io/custom items/compatibility/positive.html
- For each supported minecraft version, there is a separate 'Export for ...' button in the editor. It's important that you use the right button for the minecraft version you would like to use this plug-in on.
- Download the plug-in from the Files section and put it in YOUR_SERVER_PATH/plugins
- Create your own item set as explained in the Editor section. The plug-in can't do anything if you haven't made your own item set.
- Make sure the server resourcepack is online and accessible and that the NAME.cis is in YOUR_SERVER_PATH/plugins/CustomItems (See Editor)
Source code (programmers only)