Does Player have Advancement? Procedure Block

Upvotes: 0
Issue description

I would like a procedure block that detects whether a player has a certain advancement.

This would be very helpful, as you could use it for many things, like quests, research, and as a better global variable (I have thought this through and if I had this block that would be possible).

You could also make things happen using it like a 'post-end state' which only happens after you beat the Ender Dragon.

The possibilities are endless!

Please add it!

Thank you for reading this issue. I fully understand if this is not possible or will be postponed.

Issue comments

Submitted by Klemen on Fri, 12/07/2018 - 20:46

I will consider adding this feature. Nice idea!

For custom coders, you can use getAdvancements() method of EntityPlayer and then call hasCompletedChildrenOrSelf(Advancement advancement) on the object PlayerAdvancements to see if the player has completed it.

Submitted by Wes on Sun, 12/09/2018 - 16:41

Also option to create our own advancement tab would be greate :D

You can - Just create an advancement and give it no parent. Then a new tab is created with the name and image of your advancement, just like in normal Minecraft.

Because, when you think about it, there is no Minecraft advancement tab that does not have the first advancement with the same name and image.

This idea is so cool :D

It will allow for a proper progression in the mod, locked features and more!

Will you add it in 1.8.2?

Submitted by Klemen on Sun, 12/16/2018 - 11:58

Our feature list for 1.8.2 is locked right now so I can't say. Depends on how long it will take us to complete the current todo list for 1.8.2.

Submitted by Klemen on Sun, 03/10/2019 - 16:07

This feature will be added in 1.8.3.