TL;DR: A tool for generating JSON tags for command blocks, etc easily. Includes a list of tags and their uses from Minecraft Wiki.
Why a JSON tag generator?
Ever since Minecraft came out with its feature for NBT tags in commands with JSON, I've been really annoyed by the fact that when I'm writing commands, I constantly have to switch to Minecraft Wiki to find out what tags I need to do certain things. Also, typing into command blocks is really annoying, and makes it hard to debug. So, I wrote myself a small editor (in Java) to parse Minecraft Wiki into a tree, and make it easy to select tags and generate JSON. I thought other people might find it useful so I (attempted to) clean up the UI, slapped on an LAF and a splash, and here it is.
This was written by me for me, therefore it was written in a very lazy fashion, and most likely is hard to use. It also has a terrible UI / terrible UI dynamics (which I tried to clean up, but didn't really achieve much)
It might have bugs. I added a quick error-recover mechanism that prompts you what to do if an error occurs, but I'm not saying this is completely bug free
If you have any suggestions/questions/bugs to report, please post a reply!
Remember, this app was intended for usefulness, not ease of use.
Reads and parses NBT tag lists from Minecraft Wiki. Triple click on one to insert it
Includes icons (also from Minecraft Wiki) for extra awesomeness
Keeps your JSON data in its own tree, generates JSON text which you can paste into command blocks
Caches Minecraft Wiki data for use offline (as long as the app has been opened at least once with an internet connection)
Includes a feature for searching for tags listed on Minecraft Wiki, by their name or description
Will it work on my system?
Yes, it will, as long as you have Java. (And you should, because Minecraft is in Java)
Make sure you have the latest version of Java though. I wrote this with the latest version of Java (at the time of this post) and it may not be backwards compatible.
The sponsored link takes you through Adfly. (Like most downloads on this forum actually). If you are annoyed by ads / don't have adblock / feel this app isn't good enough for you to wait five seconds, you can use the mirror. If you have five seconds to spare though, please take a moment, consider the (minimal, actually; like a few hours) amount of work that went into making this app, and click the sponsored link.
Hah this is dumb, imma post a spam reply complaining about it hurr durr
If you really think this app is bad, don't use it. I agree that I am a new user, who has never released an app before on MC Forums, and the level of user-friendliness in my app is not the best. However, I personally find my app very useful. Bottom line: Spam/non-grounded complaints/non-constructive criticism will not be tolerated.
Whoa...how does this work? Can I have the code?
Yes, I am releasing this as open source. However, I don't feel like it's good enough / don't feel like anyone will care enough for it to be on GitHub or anything. So, here's a link to a zip of the code, in case anyone's interested.
Since the app itself contains little to no instructions, I'll post some here.
The way this app works is, it loads data from Minecraft Wiki, and represents it in a tree. Then, you triple click any data you want to insert into your JSON data, representing it in another tree. Finally, when "Generate" is clicked, the JSON tree data you select is turned into JSON code.
Click add or triple click a value from the wiki tree to insert it into the JSON tree. It will be inserted along with all of its parent nodes (the values it's inside). To insert values somewhere other than the main node on the right, select where you want to add values on the right. Note that only arrays (TAG_List) and objects (TAG_Compound) can be added to (obviously).
The program also tries to be smart, and when a TAG_Compound within a TAG_List is triple clicked, it copies all the tags inside the compound to the JSON tree. For example, in the screenshot above, if I triple clicked "An individual attribute" inside "Attributes", or a value inside "An individual attribute" then it will copy everything inside "An individual attribute" including "Name", "Base", and "Modifiers", as opposed to only copying what you triple clicked.
Root Nodes and manual editing:
Use "Add" "Remove" and "Clear" on the right panel to edit and insert values manually (ie, without triple clicking a minecraft wiki value). Triple click a value on the right side to edit its name (where applicable), type, and value (again, where applicable).
Root nodes are marked in blue on the left. When you triple click a value inside a root node, it will copy what you selected, including what contains what you selected, into the JSON tree, relative to what you selected there. If you want to copy values into a specific part of the JSON tree, especially one where triple click will just create new nodes instead of copying where you want, eg. an array, you can set a new temporary "root." This means that instead of copying from the wiki tree relative to the default root, aka the category the data is in, it copies from what you marked. So, instead of copying an entire tree of data where you just want a single value, it only copies a value.
Right click to mark a root. It will be displayed in blue. Now, any triple clicks within that root will be copied relative to it. Right click to unmark roots.
Note that if there are multiple roots in a path you select, the closest one will be used.
For example, given the following (example) wiki tree data:
---> Node 1
------> Node 1.1
------> Node 1.2
---------> Node 1.2.1
---> Node 2
---> Node 3
If both "Node 1" and "Node 1.2" are marked, and "Node 1.2.1" is triple clicked, the app will ignore "Node 1" and use "Node 1.2" as the root.
This might not make a lot of sense to you, just try it out yourself and you'll see how it works
Type into the search box and hit enter to search for tags. Matches will be marked in green or cyan, non-matches in gray or blue-gray, and nodes with matches inside will be marked as black or blue.
The original colors are green, gray, and black, but they are tinted depending on whether or not a node is a root.
I hope this actually helps somebody, because it definitely helped me and saved me a lot of trouble of constantly scrolling through Minecraft Wiki and typing stuff manually.
Also, you might be saying, "Wow, that UI looks complicated! All in a few hours' time? Cool story bro."
but, I didn't exactly code the UI myself. I used a GUI builder tool called Eclipse WindowBuilder which has an easy drag and drop editor.
All the other (non library, non eclipse jar-in-jar loader) code is mine though.