Knokko's Custom Item Editor icon

Knokko's Custom Item Editor -----

The graphical configuration tool for my custom items plug-in



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.

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).

Installation
The Editor.jar file can be found here (on Spigot). If you have a working Java installation on your home computer, you should be able to run it by downloading Editor.jar and double-clicking it. If not, you can either install Java or grab a native Editor version from https://github.com/knokko/custom-items-gradle/releases (open the Assets).

Discord server:
https://discordapp.com/invite/bmF3Zvu

Note: these tutorials were made before the installation procedure changed in Custom Items 12. I'm planning to make new tutorials.

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
Wands and guns (text): https://knokko.github.io/custom items/tutorials/wands and guns/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.
{
"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"}
]
}
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.

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.
Resource Information
Author:
----------
Total Downloads: 10,882
First Release: Jan 26, 2021
Last Update: Dec 17, 2024
Category: ---------------
All-Time Rating:
6 ratings
Find more info at knokko.github.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings