Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Per world group advancements #340

Open
aescraftbr opened this issue Oct 16, 2019 · 8 comments · May be fixed by #363
Open

Per world group advancements #340

aescraftbr opened this issue Oct 16, 2019 · 8 comments · May be fixed by #363
Labels
Resolution: Accepted MV-Team is aware of the issue/PR and will be looking into it. Type: Idea Suggestion for a new feature or enhancement.

Comments

@aescraftbr
Copy link

A way to prevent players from getting advancements in certain worlds would be really nice.

@SupppRabit
Copy link

I need this feature too. Separating advancements ( and also statisitcs) is important when a server has both creative worlds and survival worlds. Since getting advancements in creative mode is much more easily, if all worlds share them, they will be worthless in survival worlds.

@aescraftbr
Copy link
Author

aescraftbr commented Oct 18, 2019

@SupppRabit I've made a skript that revokes the advancement when the player gets them in the creative mode.

To avoid loops (grant -> revoke ->grant -> revoke and so on), the advancement is revoked when the player leaves the creative world.

Be aware that this code looks for the player name, as my server is in off-line mode. If you use on-line mode, you need to use player's UUID

import:
  org.bukkit.event.player.PlayerAdvancementDoneEvent

on PlayerAdvancementDoneEvent:
  set {_p} to event.getPlayer()
  if {_p}.getWorld() = "Creative":
    set {_adv} to event.getAdvancement()
    set {_name} to {_adv}.getKey()
    set {revokeadvancement::%{_p}%} to true
    add {_name} to {revokeadvancement::%{_p}%::*}

on player world change:
  if world is "world", "world_nether" or "world_the_end":
    loop {revokeadvancement::%player%::*}:
      execute console command "/advancement revoke %player% only %{revokeadvancement::%player%::%loop-index%}%"
    delete {revokeadvancement::%player%::*}

You need skript and skript mirror.

@Jadiction Jadiction added the Type: Idea Suggestion for a new feature or enhancement. label Mar 23, 2020
@nicegamer7 nicegamer7 linked a pull request May 13, 2020 that will close this issue
@benwoo1110 benwoo1110 added the Resolution: Accepted MV-Team is aware of the issue/PR and will be looking into it. label Feb 9, 2021
@joex92
Copy link

joex92 commented May 28, 2021

so how do I separate Advancements between Groups? I've tried /mvinvadds advancements survival and it doesn't work...

@benwoo1110
Copy link
Member

#363 (comment)

@joex92
Copy link

joex92 commented May 29, 2021

So I have to use that specific version of multiverse-inventories? Not the official one?

@benwoo1110
Copy link
Member

Yes.

@AutonomousCat
Copy link

Want to revive this because this just makes sense. Achievement messages bring community together as players use them as conversation starters or simply a reason to congratulate each other on their progress. I just had the realization (which lead to the finding of this issue) that the addition of my server's creative world will no doubt dilute the meaning behind achievements.

@v4rl1
Copy link

v4rl1 commented Apr 9, 2024

Want to revive this because this just makes sense. Achievement messages bring community together as players use them as conversation starters or simply a reason to congratulate each other on their progress. I just had the realization (which lead to the finding of this issue) that the addition of my server's creative world will no doubt dilute the meaning behind achievements.

You can use /mvrule announceAdvancements false in your Creative World, but the ideal solution would be to be able to disable advancements per world as suggested by OP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Accepted MV-Team is aware of the issue/PR and will be looking into it. Type: Idea Suggestion for a new feature or enhancement.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants