Question Does Paper allow for advancements to use functions?

Discussion in 'Paper Discussion' started by ShelLuser, Feb 12, 2018.

  1. ShelLuser

    ShelLuser New Member

    Hi gang!

    I am probably going to set up a test environment and check this for myself, but I figured I might as well post my question as well. At the very least to say hi! ;)

    The reason I'm looking at Paper is because even though I definitely appreciate the Spigot project there's one thing still seriously bugging me: the lack of (in my opinion): proper support for custom advancements. Here's the problem: an advancement can be used for a lot more than just providing your players with a fancy badge. One of the specific features is to have your custom advancement run a function, which can then perform tasks which are usually not possible with regular commands (think about creating an item with color codes in its name and lore).

    Unfortunately this isn't possible with Spigot because the moment an advancement is triggered then any functions which get executed are run from within a players context. Meaning: if you perform a /give command in the function while the player doesn't have operator status then they'll get a nice red error message, even though it was basically the server which initiated the whole thing (after all: if they're not an operator then they also can't grant themselves an advancement, yet the reason this gets triggered is because they got an advancement).

    The reason this annoys me, other than the (in my opinion): lack of logic, is because this behavior is also completely the opposite of what a vanilla server does (there the function gets run within the context of the server, no different from a playing which clicks a button on a commandblock).

    So because I read that Paper does a lot of things different and is more enhanced in the overall I'm now very curious about advancement behavior.

    Thanks in advance for any possible response!
  2. Aikar

    Aikar git am FixMinecraft.patch Administrator Paper Core Developer

    Well welcome to Aquifer Shell :p

    Essentially what your asking for is a config option that allows Advancement Commands to be ran with elevated permissions (op).

    This sounds theoretically possible to do. Can you open an issue on Github if you have a profile?
    • Like Like x 1

Share This Page