Disabling Advancements in Specific Worlds

Discussion in 'Spigot Help' started by Diamond_Cat, Jun 22, 2020.

  1. Hello! I have multiple worlds via the plugin Multiverse-Core, and I would like to prevent players from getting vanilla advancements in a couple of the worlds. Is there a way to do this? I'm on version 1.15.2.

    I've tried creating false custom enchants in the world's folder, as was suggested in this post: https://bukkit.org/threads/prevent-gaining-advancements-in-specific-worlds.479614/
    Unfortunately, it either doesn't work, or I did it incorrectly.

    I've also seen a few posts suggest a couple of ways to disable the chat-announcements for the advancements, but I want to disable getting the advancement, not just the announcement.

    Does anyone know of a way to do this? Any suggestions would be much appreciated.

    Edit: Someone informed me about a datapack that disables advancements. However, my testing seems to show that I can apply the datapack to the whole server, but not a particular world. I tried creating a "datapacks" folder in "world_nether" as a test, but it only works when I put it in my "world" folder. Is there a way to use a datapack in one world only? This could be a solution.
     
    #1 Diamond_Cat, Jun 22, 2020
    Last edited: Jun 22, 2020
  2. You Cloud use a gamerule: announceAdvancements
    Set ist to false and it should work for only the world world wäre you performed the command
     
  3. Thank you for the reply! However, that only disables the announcements, and I want people to not be able to get the advancement at all
     
  4. If you are able to code you could also use protocollib nad cancel the the packet for advancements