Incompatibility with anti-cheat plugins (e.g. NoCheatPlus)
blablubbabc opened this issue ยท 0 comments
In order to verify that a player can access the chest when they create a new player shopkeeper, the Shopkeepers plugin triggers a dummy interaction with the chest block (PlayerInteractEvent) and checks if any of the other plugins cancel this interaction attempt. However, anti-cheat plugins, like for example NoCheatPlus, likely have checks to detect and prevent players from interacting with blocks that are out of range or out of sight. So players might run into issues when they try to create player shops further away of the shop chest.
Currently, there is no workaround yet for the Shopkeepers plugin to bypass these anti-cheat plugin checks. Right now, the only option is to disable the corresponding anti-cheat checks.
In the case of NoCheatPlus, there are config settings (direction
, reach
, and visible
under the blockinteract
category) that can be disabled, and there are permission nodes for players to bypass these checks (nocheatplus.checks.blockinteract.reach
, nocheatplus.checks.blockinteract.direction
, nocheatplus.checks.blockinteract.visible
).
One idea to resolve this incompatibility, without having to hook into the API of all the various anti-cheat plugins out there, is to add a new setting to the Shopkeepers plugin that allows admins to define a list of bypass permission nodes that are temporarily assigned to the player during the interaction check. Bypass permissions are probably general enough to be offered by all anti-cheat plugins.