Note: this is not a plug-in, but a desktop application. Don't put it in your plugins folder. This is the configuration tool for my custom items plug-in.
- Native Minecraft Version:
- Legacy (< 1.13)
- Tested Minecraft Versions:
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
- 1.17
- 1.18
- Source Code:
- https://github.com/knokko/custom-items-gradle
- Contributors:
- TechWizzart
This tool is a graphical user application (although very ugly) that is needed to configure my custom items plug-in (which items you want, which textures to give them, and many other features).
Discord server:
https://discordapp.com/invite/bmF3Zvu
Basic tutorials:
Text: https://knokko.github.io/custom items/index.html
Video: https://www.youtube.com/playlist?list=PLcc-tPs9PuADC-shEBRynL9s2j6slSWCa
Advanced tutorials:
Custom containers (video): https://knokko.github.io/custom items/tutorials/containers/index.html
Why a GUI rather than just a simple config file?
Adding new textures to a minecraft server isn't really possible without a resourcepack. Writing resourcepacks is generally a nasty task, and is even more terrifying when you need to work with custom items.
When I would have forgotten a single quote or curly bracket in the example file above, it wouldn't work at all. This GUI will write the entire resourcepack, so that you don't need to do it yourself.{
"parent": "item/handheld",
"textures": {
"layer0": "item/stone_hoe"
},
"overrides": [
{ "predicate": {"damaged": 0, "damage": 0.007633587786259542}, "model": "customitems/steel_bar"},
{ "predicate": {"damaged": 0, "damage": 0.015267175572519083}, "model": "customitems/iron_bar"},
{ "predicate": {"damaged": 0, "damage": 0.022900763358778626}, "model": "customitems/iron_scrap"},
{ "predicate": {"damaged": 0, "damage": 0.030534351145038167}, "model": "customitems/steel_scrap"},
{ "predicate": {"damaged": 0, "damage": 0.03816793893129771}, "model": "customitems/withered_iron_scraps"},
{ "predicate": {"damaged": 0, "damage": 0.04580152671755725}, "model": "customitems/withered_iron_ingot"},
{ "predicate": {"damaged": 0, "damage": 0.05343511450381679}, "model": "customitems/mithril_ingot"},
{ "predicate": {"damaged": 0, "damage": 0.061068702290076333}, "model": "customitems/mithril_scraps"},
{ "predicate": {"damaged": 0, "damage": 0.06870229007633588}, "model": "customitems/aetherium_scraps"},
{ "predicate": {"damaged": 0, "damage": 0.07633587786259542}, "model": "customitems/aetherium_ingot"},
{ "predicate": {"damaged": 0, "damage": 0.08396946564885496}, "model": "customitems/enderite_ingot"},
{ "predicate": {"damaged": 0, "damage": 0.0916030534351145}, "model": "customitems/enderite_scraps"},
{ "predicate": {"damaged": 0, "damage": 0.09923664122137404}, "model": "customitems/steel_ingot"},
{ "predicate": {"damaged": 0, "damage": 0.10687022900763359}, "model": "customitems/lead_ingot"},
{ "predicate": {"damaged": 0, "damage": 0.11450381679389313}, "model": "customitems/lead_scraps"},
{ "predicate": {"damaged": 0, "damage": 0.12213740458015267}, "model": "customitems/withered_bone"},
{ "predicate": {"damaged": 0, "damage": 0.1297709923664122}, "model": "customitems/powered_metheorite"},
{ "predicate": {"damaged": 0, "damage": 0.13740458015267176}, "model": "customitems/titanium_ingot"},
{ "predicate": {"damaged": 0, "damage": 0.1450381679389313}, "model": "customitems/titanium_scraps"},
{ "predicate": {"damaged": 0, "damage": 0.15267175572519084}, "model": "customitems/iron_plate"},
{ "predicate": {"damaged": 0, "damage": 0.16030534351145037}, "model": "customitems/steel_plate"},
{ "predicate": {"damaged": 0, "damage": 0.16793893129770993}, "model": "customitems/lead_plate"},
{ "predicate": {"damaged": 0, "damage": 0.17557251908396945}, "model": "customitems/mithril_plate"},
{ "predicate": {"damaged": 0, "damage": 0.183206106870229}, "model": "customitems/withered_iron_plate"},
{ "predicate": {"damaged": 0, "damage": 0.19083969465648856}, "model": "customitems/aetherium_plate"},
{ "predicate": {"damaged": 0, "damage": 0.1984732824427481}, "model": "customitems/enderite_plate"},
{ "predicate": {"damaged": 0, "damage": 0.20610687022900764}, "model": "customitems/titanium_plate"},
{ "predicate": {"damaged": 0, "damage": 0.21374045801526717}, "model": "customitems/netherite_plate"},
{ "predicate": {"damaged": 0, "damage": 0.22137404580152673}, "model": "customitems/withered_iron_bar"},
{ "predicate": {"damaged": 0, "damage": 0.22900763358778625}, "model": "customitems/mithril_bar"},
{ "predicate": {"damaged": 0, "damage": 0.2366412213740458}, "model": "customitems/lead_bar"},
{ "predicate": {"damaged": 0, "damage": 0.24427480916030533}, "model": "customitems/netherite_bar"},
{ "predicate": {"damaged": 0, "damage": 0.25190839694656486}, "model": "customitems/enderite_bar"},
{ "predicate": {"damaged": 0, "damage": 0.2595419847328244}, "model": "customitems/aetherium_bar"},
{ "predicate": {"damaged": 0, "damage": 0.26717557251908397}, "model": "customitems/titanium_bar"},
{ "predicate": {"damaged": 0, "damage": 0.2748091603053435}, "model": "customitems/steel_handgrip"},
{ "predicate": {"damaged": 0, "damage": 0.2824427480916031}, "model": "customitems/enchanted_handgrip"},
{ "predicate": {"damaged": 0, "damage": 0.2900763358778626}, "model": "customitems/guardian_plated_handgrip"},
{ "predicate": {"damaged": 0, "damage": 0.29770992366412213}, "model": "customitems/vorpal_handgrip"},
{ "predicate": {"damaged": 0, "damage": 0.3053435114503817}, "model": "customitems/aetherium_axehead"},
{ "predicate": {"damaged": 0, "damage": 0.31297709923664124}, "model": "customitems/enderite_axehead"},
{ "predicate": {"damaged": 0, "damage": 0.32061068702290074}, "model": "customitems/lead_axehead"},
{ "predicate": {"damaged": 0, "damage": 0.3282442748091603}, "model": "customitems/mithril_axehead"},
{ "predicate": {"damaged": 0, "damage": 0.33587786259541985}, "model": "customitems/netherite_axehead"},
{ "predicate": {"damaged": 0, "damage": 0.3435114503816794}, "model": "customitems/steel_axehead"},
{ "predicate": {"damaged": 0, "damage": 0.3511450381679389}, "model": "customitems/titanium_axehead"},
{ "predicate": {"damaged": 0, "damage": 0.35877862595419846}, "model": "customitems/withered_iron_axehead"},
{ "predicate": {"damaged": 0, "damage": 0.366412213740458}, "model": "customitems/comp_block_lapis"},
{ "predicate": {"damaged": 0, "damage": 0.37404580152671757}, "model": "customitems/comp_block_gold"},
{ "predicate": {"damaged": 0, "damage": 0.3816793893129771}, "model": "customitems/comp_block_redstone"},
{ "predicate": {"damaged": 0, "damage": 0.3893129770992366}, "model": "customitems/comp_block_coal"},
{ "predicate": {"damaged": 0, "damage": 0.3969465648854962}, "model": "customitems/comp_block_iron"},
{ "predicate": {"damaged": 0, "damage": 0.40458015267175573}, "model": "customitems/comp_block_diamond"},
{ "predicate": {"damaged": 0, "damage": 0.4122137404580153}, "model": "customitems/comp_block_emerald"},
{ "predicate": {"damaged": 0, "damage": 0.4198473282442748}, "model": "customitems/comp_block_cobblestone"},
{ "predicate": {"damaged": 0, "damage": 0.42748091603053434}, "model": "customitems/comp_block_andesite"},
{ "predicate": {"damaged": 0, "damage": 0.4351145038167939}, "model": "customitems/comp_block_granite"},
{ "predicate": {"damaged": 0, "damage": 0.44274809160305345}, "model": "customitems/comp_block_diorite"},
{ "predicate": {"damaged": 0, "damage": 0.45038167938931295}, "model": "customitems/comp_block_stone"},
{ "predicate": {"damaged": 0, "damage": 0.4580152671755725}, "model": "customitems/comp_block_blackstone"},
{ "predicate": {"damaged": 0, "damage": 0.46564885496183206}, "model": "customitems/comp_block_basalt"},
{ "predicate": {"damaged": 0, "damage": 0.4732824427480916}, "model": "customitems/comp_block_sand"},
{ "predicate": {"damaged": 0, "damage": 0.48091603053435117}, "model": "customitems/comp_block_netherrack"},
{ "predicate": {"damaged": 0, "damage": 0.48854961832061067}, "model": "customitems/comp_block_gravel"},
{ "predicate": {"damaged": 0, "damage": 0.4961832061068702}, "model": "customitems/comp_block_obsidian"},
{ "predicate": {"damaged": 0, "damage": 0.5038167938931297}, "model": "customitems/comp_block_crying"},
{ "predicate": {"damaged": 1, "damage": 0}, "model": "item/stone_hoe"}
]
}
Why is the GUI so ugly?
First of all, designing and implementing a good GUI takes a lot of time. Big companies have an entire art team for this. But, this plug-in is primarily maintained by a college student in this spare time, so time is limited. Also, I used this project to try my own GUI library, and... well... I discovered some flaws while doing so. Improving it would require rewriting it all in a better GUI library, which would probably take more than 100 hours.

Knokko's Custom Item Editor 10.2
The graphical configuration tool for my custom items plug-in
Recent Updates
- Copy & paste in container edit menu + bugfixes May 15, 2022
- Bugfixes May 7, 2022
- The big item update Apr 18, 2022