VolmitSoftware / Adapt

Adapt Vanilla Gameplay with better skills and implementations than anywhere else!
https://docs.volmit.com/adapt
Other
85 stars 56 forks source link

Separate Permissions for Adaptations Skills #406

Closed apollonmeddev closed 1 year ago

apollonmeddev commented 1 year ago

Adding, Removing, or Changing

Adding

Type of Modification

I want to have a Separate Permissions for each Adaptations Skills

What are you trying to modify

Currently, the Adapt plugin has skills named adaptations, which provide users with various features to modify gameplay mechanics. However, all these skills work under the same permission node, which limits the effectiveness of using permission plugins like LuckPerms to manage user access to specific skills.

Therefore, I would like to request the implementation of separate permission nodes for each skill within the adaptations feature. This would allow server administrators to grant or deny specific adaptations skills to users on a per-skill basis, providing a more fine-grained control over the plugin's functionality.

By having separate permission nodes, server administrators can easily assign permissions to users and groups based on the specific adaptations skill they need access to. This can help avoid giving unnecessary access to users, which can lead to issues such as griefing or other unintended consequences.

Overall, implementing separate permission nodes for each adaptations skill will enhance the usability and flexibility of the Adapt plugin, making it a more valuable tool for server administrators.

Alternatives

No response

NextdoorPsycho commented 1 year ago

Would you allow them to see / aquire the skill, but when they try to use it its denied, or dont even show it at all? / Deny it if used. Because the problem with that is if they are learning skills and you arbitrarily remove nodes, you prevent them from unlearning them, as there arent any events that trigger the removal of permission nodes. Additionally you can toggle any of them as of now.

Igzak commented 1 year ago

Allow players to see and acquire the skill, but deny its usage if they don't have the required permission node. When a player tries to use a skill they don't have permission for, display a message informing them that they lack the necessary permission. This approach will enable players to learn and unlearn skills freely without affecting their progression. It also allows server administrators to grant or revoke permission nodes as needed without causing issues for the player. Also maybe if there is no permission to use the skill that is not possible to learn auto-unlearn it

Igzak commented 1 year ago

Or maybe add a listener to the plugin that detects when a permission node is added or removed from a player. When the listener detects a change in a player's permission nodes, it can automatically update the player's available skills accordingly. This way, players will only see the skills they have permission for, and server administrators can grant or revoke permissions without causing issues for the player. https://luckperms.net/wiki/Developer-API-Usage#listening-for-changes-to-permissionsparent-groupsetc

NextdoorPsycho commented 1 year ago

Ill probably be adding this / an api in one big update

NextdoorPsycho commented 1 year ago

Include adapt the plugin in your compile script. I assume as a developer somewhere you are able to do this.

    public void on(AdaptAdaptationUseEvent e) {
    // your code here
    }

You can also blacklist permissions: Give someone these permission nodes to blacklist any skill in specific: adapt.blacklist.tragoulthorns adapt.blacklist.tragoulglobe adapt.blacklist.tragoulhealing adapt.blacklist.tragoullance adapt.blacklist.enchantingquickenchant adapt.blacklist.enchantinglapisreturn adapt.blacklist.enchantingxpreturn adapt.blacklist.netherwitherresist adapt.blacklist.netherskulltoss adapt.blacklist.herbalismgrowthaura adapt.blacklist.herbalismreplant adapt.blacklist.herbalismhungryshield adapt.blacklist.herbalismhippo adapt.blacklist.herbalismdroptoinventory adapt.blacklist.herbalismluck adapt.blacklist.herbalismmyconid adapt.blacklist.herbalismterralid adapt.blacklist.herbalismcobweb adapt.blacklist.herbalismcobweb adapt.blacklist.pickaxechisel adapt.blacklist.pickaxeveinminer adapt.blacklist.pickaxeautosmelt adapt.blacklist.pickaxedroptoinventory adapt.blacklist.architectglass adapt.blacklist.architectfoundation adapt.blacklist.architectplacement adapt.blacklist.architectwirelessredstone adapt.blacklist.axegroundsmash adapt.blacklist.axechop adapt.blacklist.axedroptoinventory adapt.blacklist.axeleafveinminer adapt.blacklist.axewoodveinminer adapt.blacklist.axelogswap adapt.blacklist.swordmachete adapt.blacklist.swordpoisonblade adapt.blacklist.swordbloodyblade adapt.blacklist.riftresist adapt.blacklist.riftaccess adapt.blacklist.riftenderchest adapt.blacklist.riftgate adapt.blacklist.riftblink adapt.blacklist.riftdescent adapt.blacklist.brewinglingering adapt.blacklist.brewingsuperheated adapt.blacklist.brewingabsorption adapt.blacklist.brewingblindness adapt.blacklist.brewingdarkness adapt.blacklist.brewingdecay adapt.blacklist.brewingfatigue adapt.blacklist.brewinghaste adapt.blacklist.brewinghealthboost adapt.blacklist.brewinghunger adapt.blacklist.brewingnausea adapt.blacklist.brewingresistance adapt.blacklist.brewingsaturation adapt.blacklist.rangedforce adapt.blacklist.rangedpiercing adapt.blacklist.rangedrecovery adapt.blacklist.rangedlungeshot adapt.blacklist.rangedwebshot adapt.blacklist.blockingmultiarmor adapt.blacklist.blockingchainarmorer adapt.blacklist.blockingsaddlecrafter adapt.blacklist.blockinghorsearmorer adapt.blacklist.craftingdeconstruction adapt.blacklist.craftingxp adapt.blacklist.craftingleather adapt.blacklist.craftingskulls adapt.blacklist.craftingbackpacks adapt.blacklist.craftingstations adapt.blacklist.craftingreconstruction adapt.blacklist.discoveryunity adapt.blacklist.discoveryworldarmor adapt.blacklist.discoveryxpresist adapt.blacklist.discoveryvillageratt adapt.blacklist.seaborneoxygen adapt.blacklist.seabornespeed adapt.blacklist.seabornefishersfantasy adapt.blacklist.seaborneturtlesvision adapt.blacklist.seaborneturtlesminingspeed adapt.blacklist.excavationhaste adapt.blacklist.excavationspelunker adapt.blacklist.excavationomnitool adapt.blacklist.excavationdroptoinventory adapt.blacklist.stealthspeed adapt.blacklist.stealthsnatch adapt.blacklist.stealthghostarmor adapt.blacklist.stealthvision adapt.blacklist.unarmedsuckerpunch adapt.blacklist.unarmedpower adapt.blacklist.unarmedglasscannon adapt.blacklist.agilitywindup adapt.blacklist.agilitywalljump adapt.blacklist.agilitysuperjump adapt.blacklist.agilityarmorup adapt.blacklist.hunteradrenaline adapt.blacklist.hunterregen adapt.blacklist.hunterinvis adapt.blacklist.hunterjumpboost adapt.blacklist.hunterluck adapt.blacklist.hunterspeed adapt.blacklist.hunterstrength adapt.blacklist.hunterresistance adapt.blacklist.hunterdroptoinventory adapt.blacklist.tamehealth adapt.blacklist.tamedamage adapt.blacklist.tamehealthregeneration