Hi - now that I'm adding achievements for my mod elements, I'm looking for a way to have my own Parent to categorize all the achievements together and not mixed in with vanilla minecraft achievements. Basically, having my own story. The field is a drop down and don't see any way to do this currently. Is this or will this be possible in 1.8.3? Thanks! -Steve
Issue comments
So if I set the first Achievement as the root parent, it then shows in the list as: CUSTOM:tmtmcores but not as tmtmcores:story/root or tmtmcores:story/ingots, or tmtmcores:story/ores as a true parent
I had also tried with the full name of the root of tmtmcores:story/root the only thing available in the drop down becomes: CUSTOM:tmtmcores
So it doesn't seem to replace CUSTOM with tmtmcores and it truncates everything after the 's' in ores. I'm probably not doing this correctly since it is something new I'm doing or what I'm expecting as the root cannot be changed from CUSTOM or include their different types of achievements? -Thanks! Steve
Okay, that works better but still seems to be an issue with the Advancement Types and the Advancement UI not working correctly.
In the minecraft tab, you can drag the UI up, down, left & right to view different advancement types. However with the tmtmcores, it's a fixed vertical line with up/down only and the advancement types are not being grouped. (Ores with Ores, PickAxe with PickAxes, Blocks with Blocks, etc.). So the display isn't quite right unless I am not using "goal & challenge" options and that's why its displaying as is?
For the tmtmcores Advancements - I get the tab (perfect), but the UI appears to be broken/frozen in a vertical bar centered.
This happens if you set the same advancement to itself as the parent. I will give you another example of how use advancements:
- Tab: customadvancement0 (parent: no parent)
- First advancement in this tab: customadvancement1 (parent: customadvancement0)
- Second advancement in this tab chained to previous: customadvancement2 (parent: customadvancement1)
I did what you recommended in the first example, none of them are pointing to themselves
Created tmtmcores with no parent: root
Created all the Achievements with the parent set to CUSTOM:tmtmcores
All Achievement Types are set to Task (there is no help that the (?) opens to explain what task, goal or challenge are used) so they are all set the same including CUSTOM:tmtmcores
Only the first one should have tmtmcores for the parent, not all of them.
- Tab: customadvancement0 (parent: no parent)
- First advancement in this tab: customadvancement1 (parent: customadvancement0)
- Second advancement in this tab chained to previous: customadvancement2 (parent: customadvancement1)
If I have to create advancements in a chained manner, that is just wrong for a lot of reasons and if Microsoft/Mojang built it like that, they should be ashamed. I of course, mean no offense, but daisy chaining is so 1970's.
Having to keep track separately which one is 1st, 2nd, 3rd, etc. and backwards chaining them, I'm going to go crazy. :-( I'll always have to remember or track hundreds/thousands of them externally, which one was last since they are not named in the manner you mentioned (*0, *1, *2).
Vanilla Minecraft list of Advancements make it seem simple to have different types and the grouping of each works if I put them under minecraft:story/...... So what I was expecting for the advancement types is not task, goal or challenge, but how they are in the list shown in my first screenshot. That's ultimately what I'm trying to do - exactly what is there Vanilla, but with my own tab.
I will play around with this tonight and tomorrow and try your suggestion. I just hope this isn't a long term solution. Thanks! :-)
Well, Minecraft uses exactly this system, this is called tree and not chaining as you can put multiple under one parent. You can learn more about the idea of a tree structure in programming here: https://en.wikipedia.org/wiki/Tree_(data_structure)
You beat me to it. lol Yeah, I understand tree structures - I found that while this structure is how to get it working, the displaying of the achievements in MCreator is difficult to work with and very time consuming. The results of the drop down appear to be ordered by when it was created and not alphabetical or any logical grouping (blocks, ingots, ores, etc.). So you find yourself scrolling up/down for every selection to find the parent you need. If we can improve the selection process in this area - it will help users a lot. I've got some ideas that I'll post shortly. :-) That said, this is how I finally (moments ago) got what I wanted working and hopefully this will help others in a similar scenario.
1. Created the root - parent for my mod called tmtmcores
2. Then for each Block I have I pointed the block achievements to the parent tmtmcores (18 blocks currently)
(e.g. malachiteblock has parent of tmtmcores, painiteblock has parent of tmtmcores, etc.)
3. Then my Ores and Ingots have a parent of the same Block (as its parent)
(e.g. malachiteingot has parent of malachiteblock, painiteingot has parent of painiteblock, etc.)
4. Then the pickaxes and swords have a parent of the Ingots as its parent, since you need ingots to craft these.
(e.g. malachitepickaxe and malachiteswords have parent of malachiteingot, etc.)
The results look how I needed it to display to users.
One other piece of GREAT news is that the bug I reported with the multiplayer achievements not displaying their titles/descriptions correctly also got fixed when I changed the tree structure to the above. So both SP & MP displays are working correctly now.
Thanks again for all your help on this - it was very much appreciated! -Steve
Select the parent of one of your achievements to no parent. This will make your achievement the root of other achievements that need to have this first achievement set as direct or indirect parent.