NEZNAMY/TAB

Placeholders are parsed incorrectly

RealKomander opened this issue · 2 comments

Server version

purpur 1.20.4

TAB version

4.1.6

Plugin list

image

Describe the bug

My plugin initializes %dc_% placeholders that return assigned value only if player has a certain permission. This works fine everywhere except for TAB, because TAB parses placeholders depending on a player they're assigned to - not the player that sees them

(this part was too complicated, I think steps to reproduce the problem describe it clearly enough)

Steps to reproduce

  1. select any placeholder that depends on player's permissions
  2. put this placeholder in 1st player's prefix
  3. remove this permission from the 2nd player
  4. 2nd player still sees the prefix of the 1st player, because 1st player has this permission and TAB parses it based on the player from the list, not the receiver

Additional info

I couldn't find a feature to change this behaviour. I hope that it exists

Checklist

  • I am running latest version of the plugin
  • I have read the wiki to make sure it's not an issue with configuration
  • I ticked all of the boxes without actually reading them
  • I have read the Compatibility wiki page and am not trying to run the plugin on an unsupported server version / platform
  • I am willing to cooperate to get this issue resolved faster, including providing any additional information requested or testing new builds

Placeholders are parsed for player they are displayed on. If you want to see different prefix of a player based on whether you have a permission or not, you are looking for relational placeholders. This is not a bug, placeholder parsing works in the only logical way it can work.

I managed to get it working with relational placeholders. I still believe that functionality of relational and normal placeholders should be reversed, but that's the silent complaint to PAPI

Anyways, thanks for leading me into the right direction!