CivClassic / Citadel

A Minecraft plugin to protect your chests and builds using in-game materials. Requires an attacker to break each block a certain number of times. Built for Paper 1.16.5
BSD 3-Clause "New" or "Revised" License
1 stars 21 forks source link

Split chestPerm into chestOpenPerm and chestWithdrawPerm #52

Closed squareblob closed 3 years ago

squareblob commented 4 years ago

44 reopening as accidentally closed due to me being dumb with git...

Protonull commented 3 years ago

This isn't a good idea and would be an absolute PITA to maintain and fix, and even if it weren't, I'm curious as to how this'd even be useful, like what's the use case? Additionally, because you've replaced the "CHESTS" permission entirely, this would break any other plugin that refers to that permission as well as reset all chest permissions on every group in the game, which would suck if people had set up their groups to only be accessible to mods or higher (or even more restrictive).

The more problematic part is how Minecraft deals with inventory management: it's not always a 1:1 slot movement with a clear cut to and from location. Take the following gif as an example:

collect-to-cursor

That is a COLLECT_TO_CURSOR inventory action, and it's not like 54 events were fired each asking for permission to merge the item from its respective slot, no, it's just a single event, and there's a few other extremely cursed inventory actions like that. This is coincidentally why you can't manage your inventory when using for example NameLayer's GUI… it's simply too dangerous and prone to exploits.

Maxopoly commented 3 years ago

It was originally requested here https://github.com/DevotedMC/NameLayer/issues/42. I had concerns like that, which is why I kinda left this PR in limbo until I got around to testing it myself.