MC-Machinations / PaperTweaks

A better-performance replacement for the popular VanillaTweaks datapack collection.
GNU General Public License v3.0
141 stars 13 forks source link

Playerheaddrops module reuses permission for killing and configuration management #81

Closed Prof-Bloodstone closed 11 months ago

Prof-Bloodstone commented 11 months ago

Expected behavior

I can give someone permission to make their kills drop the head, without giving access to modify the module configuration.

Observed/Actual behavior

The same permission is used for both.

Steps/models to reproduce

Try /playerheaddrops as players without permission, then press [Enabled]

Plugin and Datapack List

Plugins (32): ArmorStandEditor, BuycraftX, CapAFK, CarbonChat, Chunky, ChunkyBorder, CoreProtect, DeathLog, DiscordSRV, FastAsyncWorldEdit, FirstJoinMessage, FreedomChat, GFly, GSit, Hat, IsSlimeChunk, LuckPerms, OnePlayerSleep, OpenInv, PaperTweaks, PrometheusExporter, ServerUtils, SignedVelocity, SpectatorMode, VanishNoPacket, Vault, WanderfulAdditions, WorldBorder, WorldGuard, dynmap, spark and voicechat There are 12 data pack(s) enabled: [vanilla (built-in)], [file/bukkit (world)], [file/Anti_Ender-Grief_1.0 (world)], [file/NV (world)], [file/UniversalDyes (world)], [file/track_all_stats (world)], [file/BlazeAndCaveAdvancements (world)], [file/anti-ender-dragon-grief (world)], [file/coralcraft (world)], [file/gildedblackstone (world)], [file/CalciteCrafting (world)], [file/PotterySherdCrafting (world)]

Server Version Info

This server is running Paper version git-Paper-291 (MC: 1.20.2) (Implementing API version 1.20.2-R0.1-SNAPSHOT) (Git: ce7f068) You are 27 version(s) behind Download the new version at: https://papermc.io/downloads/paper Previous version: git-Paper-243 (MC: 1.20.2)

Plugin Version

0.4.0

Other

See: https://github.com/MC-Machinations/VanillaTweaks/blob/master/src/main/java/me/machinemaker/papertweaks/modules/items/playerheaddrops/PlayerListener.java#L54 https://github.com/MC-Machinations/VanillaTweaks/blob/master/src/main/java/me/machinemaker/papertweaks/modules/items/playerheaddrops/Commands.java#L26 https://github.com/MC-Machinations/VanillaTweaks/blob/master/src/main/resources/paper-plugin.yml#L212C3-L212C32

Yes, I did check that luckperms reports that I don't have vanillatweaks.playerheaddrops.admin.config and can disable the module regardless.

Machine-Maker commented 11 months ago

The enabling/disabling of modules isn't controlled by any module-specific permission, but by vanillatweaks.main.enable, vanillatweaks.main.disable. Clicking on that should just run the command to enable/disable.

Machine-Maker commented 11 months ago

I don't think there was a permission conflict actually. The vanillatweaks.playerheaddrops permission is just used for checking if the killing player can cause head drops. The info message with the buttons to reload and disable the module just run those specific commands which have their own commands.

I did go ahead and hide those buttons if the player can't use them in https://github.com/MC-Machinations/VanillaTweaks/commit/d98d416f623930e9a86dc43111d06ccddec0f619