The "requirements" list specifies a Disjunctive Normal Form structure to accompany criteria. It essentially allows boolean logic to determine when the advancement is granted based on the accompanying criteria. The list contains more lists, which in turn contains strings that equal the names of the criteria. If this list is not specified, then all criteria must be fulfilled. You would use this if you want to use an OR operation, for example.
Both "trigger_1" and "trigger_2" criteria must be fulfilled before the advancement can be granted. Since that would be the case without "requirements", it is not necessary to use it here. Using logical operators, this can be viewed as:
"trigger_1" && "trigger_2"
Modifying the requirements list slightly, which separates "trigger_2" into its own list:
This is because the info in that post is outdated in general
Last updated: 17w18a
There's been some changes since then, including removal of _commands_ reward and addition of _function_ reward, as well as the change of requirements from disjunctive normal form (OR of ANDs) to conjunctive normal form (AND of ORs)
Hi, this is a very good tutorial that I use since the 1.12 is released.
I enjoy creating any kind of advancement for my map, but I have a little problem with the Advancements of the original minecraft.
Actually, I have for example create a brand new advancement group, one of which is to find a diamond. Except that when I find a diamond I have two advancements that unlock, that of the Minecraft vanilla and mine I created.
My map is a big adventure (Across The Time 2) totally different of the functioning of minecraft vanilla
So I'd like to know how it is possible to remove the 5 groups advancements of Minecraft vanilla ("adventure", "end", "husbandry", "end", "nether") on my map to have totally blank groups, and creating all news advancements without having the same overlapping?
Oh ok, thank you, I did not understand the paragraph and think we had to tinker like that ^^. Yes I would like to know if there is an easier way to totally remove these advancements too.
Is there any way to have the requirement of the player killing multiple entities, rather than just 1? Like an achievement for killing 10 zombies.
You could set up a scoreboard objective with the objective for killing zombies, like so:
/scoreboard objectives add ZombieKills stat.killEntity.Zombie
Then have a function running on the gameLoopFunction gamerule. In this function this command should run:
/advancement grant @a[score_ZombieKills_min=10] only <kill 10 zombies!!>
So the function that runs every tick will grant the advancement to a player once they reach 10 zombie kills.
it should rather be an advancements without display that's a kill entity zombie trigger and revokes itself at the end of the function (no need to loop it 20 times per second).
You could set up a scoreboard objective with the objective for killing zombies, like so:
/scoreboard objectives add ZombieKills stat.killEntity.Zombie
Then have a function running on the gameLoopFunction gamerule. In this function this command should run:
/advancement grant @a[score_ZombieKills_min=10] only <kill 10 zombies!!>
So the function that runs every tick will grant the advancement to a player once they reach 10 zombie kills.
Rather than use the gameLoop, create the advancement that has a function that checks if the score and resets it if the kill count is less than 10. Then have the criteria be player_killed_entiity with type zombie. That way it only tests if a zombie is killed, rather than every tick.
it should rather be an advancements without display that's a kill entity zombie trigger and revokes itself at the end of the function (no need to loop it 20 times per second).
Hi! I'm currently trying my best to create an Advancement that tracks that the player is out of bounds of a certain square region, so basically it'd give them the advancement if they were beyond 1,000 on the x-axis and z-axis. However, I only seem to be able to make it register past the positive coordinates and not the negative. Can I get any help possibly?
You have this part backwards Skyliner.
The line...
...requires both triggers to be active.
While...
...requires either trigger to be active.
I tested this myself with my own advancement which I will paste in the spoiler below. Sorry for formatting, not used to the way these forums work.
This is because the info in that post is outdated in general
There's been some changes since then, including removal of _commands_ reward and addition of _function_ reward, as well as the change of requirements from disjunctive normal form (OR of ANDs) to conjunctive normal form (AND of ORs)
Hi, this is a very good tutorial that I use since the 1.12 is released.
I enjoy creating any kind of advancement for my map, but I have a little problem with the Advancements of the original minecraft.
Actually, I have for example create a brand new advancement group, one of which is to find a diamond. Except that when I find a diamond I have two advancements that unlock, that of the Minecraft vanilla and mine I created.
My map is a big adventure (Across The Time 2) totally different of the functioning of minecraft vanilla
So I'd like to know how it is possible to remove the 5 groups advancements of Minecraft vanilla ("adventure", "end", "husbandry", "end", "nether") on my map to have totally blank groups, and creating all news advancements without having the same overlapping?
Facebook : https://www.facebook.com/piccomaster
Website : http://adventquest.com/
Oh ok, thank you, I did not understand the paragraph and think we had to tinker like that ^^. Yes I would like to know if there is an easier way to totally remove these advancements too.
Facebook : https://www.facebook.com/piccomaster
Website : http://adventquest.com/
You can invalidate the parent file, but this will cause quite a number of errors in the log file.
Is there any way to have the requirement of the player killing multiple entities, rather than just 1? Like an achievement for killing 10 zombies.
Check out my Youtube channel for Minecraft content and more!
Check out my new map: Void Matrix!
FEAR THE DARK!
You could set up a scoreboard objective with the objective for killing zombies, like so:
/scoreboard objectives add ZombieKills stat.killEntity.Zombie
Then have a function running on the gameLoopFunction gamerule. In this function this command should run:
/advancement grant @a[score_ZombieKills_min=10] only <kill 10 zombies!!>
So the function that runs every tick will grant the advancement to a player once they reach 10 zombie kills.
it should rather be an advancements without display that's a kill entity zombie trigger and revokes itself at the end of the function (no need to loop it 20 times per second).
Oops, 20 times per second, sorry
Rather than use the gameLoop, create the advancement that has a function that checks if the score and resets it if the kill count is less than 10. Then have the criteria be player_killed_entiity with type zombie. That way it only tests if a zombie is killed, rather than every tick.
Look 3 messages above yours
what excatly am i doing rong
Currently work on a survival command modpack for vinalla 1.12 (and the pre releases) any ideas please post them in the discription of http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2822952-minecraft-command-mod (will change that if it gets updated) aswell as catch me on twitch
hay hay hay i am aswell posting updates on twitter @The_Zorua_Bit
Missing commas after each criteria.
Best way is to use the functions reward and grant a single criterion for each advancement.
Hi! I'm currently trying my best to create an Advancement that tracks that the player is out of bounds of a certain square region, so basically it'd give them the advancement if they were beyond 1,000 on the x-axis and z-axis. However, I only seem to be able to make it register past the positive coordinates and not the negative. Can I get any help possibly?
Here is my advancement file:
If anyone can help me out it'd be heavily appreciated, since I'm new to all this. Thanks!
thank you
wait where should i add the commas
Currently work on a survival command modpack for vinalla 1.12 (and the pre releases) any ideas please post them in the discription of http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2822952-minecraft-command-mod (will change that if it gets updated) aswell as catch me on twitch
hay hay hay i am aswell posting updates on twitter @The_Zorua_Bit
Error: Parse error on line 21:
...} } } } "StorylineOne2": {
------------------^
Expecting 'EOF', '}', ',', ']', got 'STRING'
im confused
Currently work on a survival command modpack for vinalla 1.12 (and the pre releases) any ideas please post them in the discription of http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2822952-minecraft-command-mod (will change that if it gets updated) aswell as catch me on twitch
hay hay hay i am aswell posting updates on twitter @The_Zorua_Bit
its not complaning any more but its not giving me the advancement when these cryterias are met
Currently work on a survival command modpack for vinalla 1.12 (and the pre releases) any ideas please post them in the discription of http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/2822952-minecraft-command-mod (will change that if it gets updated) aswell as catch me on twitch
hay hay hay i am aswell posting updates on twitter @The_Zorua_Bit
you forgot a comma before "StoryLineOne2"
you have the x min and max both -416.0; meaning you have to be EXACTLY be at that x value; no 0.0001 more, no 0.0001less.