Moulberry / AxiomPaperPlugin

Serverside component for Axiom
MIT License
61 stars 28 forks source link

Add individual permissions #10

Closed Rubenicos closed 6 months ago

Rubenicos commented 6 months ago

From plugin.yml file:

axiom.all:
  description: Allows use of all default Axiom features
  default: op
  children:
    axiom.*: true
axiom.use:
  description: Allows basic use of axiom
  default: op
axiom.debug:
  description: Allows use of the /axiompaperdebug command
  default: op
axiom.entity.*:
  description: Allows use of all entity-related features (spawning, manipulating, deleting)
  default: op
  children:
    axiom.entity.spawn: true
    axiom.entity.manipulate: true
    axiom.entity.delete: true
axiom.blueprint.*:
  description: Allows use of all blueprint-related features
  default: op
  children:
    axiom.blueprint.upload: true
    axiom.blueprint.request: true
    axiom.blueprint.manifest: true
axiom.chunk.*:
  description: Allows use of all chunk-related features
  default: op
  children:
    axiom.chunk.request: true
axiom.build.*:
  description: Allows use of all build-related features
  default: op
  children:
    axiom.build.place: true
    axiom.build.section: true
axiom.editor.*:
  description: Allows use of all editor-related features
  default: op
  children:
    axiom.editor.views: true
axiom.player.*:
  description: Allows use of all player-related features
  default: op
  children:
    axiom.player.speed: true
    axiom.player.gamemode: true
    axiom.player.hotbar: true
axiom.world.*:
  description: Allows use of all world-related features
  default: op
  children:
    axiom.world.time: true
    axiom.world.property: true
    axiom.world.teleport: true

Update (2024-05-19)

Fixed backwards compatibility, now the permission axiom.all allows the player to do anything while axiom.* do the same thing but cannot override stric permissions like entity-related features.

Moulberry commented 6 months ago

This change cannot be merged as-is for backwards-compatibility reasons.

Many public servers give players the axiom.* permission, but disallow use of specific things like modifying entities to prevent players destroying the server. This change would make it so that updating would unexpectedly allow all players to use the entity features, which is undesirable.

Moulberry commented 6 months ago

Thank you for the pull request