2.1 KiB
Policies
Policies are a list of nodes with a specific condition to be met, they also determine what effect a node is going to have. Below is an example policy:
- name: "Allow example"
type: "location"
effect: ALLOW
weight: 1
worlds: [world]
locations:
coordinates:
- corner1: { x: 2100, y: 256, z: 1400 }
corner2: { x: 1000, y: -64, z: 2200 }
nodes:
- [INTERACT, BREAK, HIT, PLACE]:
values:
- AIR
Properties
name
Name of the policy, must not contain spaces or else commands that require you to type the policy name will not work.
Example: name: "disable-axe-damage"
type
One of the policy types.
Example: type: location
effect
Can be deny to block the action if a node check returns true, ALLOW to revert DENY effects if the node check is true or ALLOWONLY to allow the action only if the node check returns true.
Example: effect: DENY
weight
A policy with greater weight will override a conflicting policy of lower weight.
Example: weight: 0
nodes
Must contain a list of node mappings to evaluate if the policy applies to a player.
Example:
nodes:
- [HIT]:
values:
- '.*_AXE$'
locations
Only used for type: "location", is a list of mappings where corner1 and corner2 should map x, y and z to two corners of a rectangular area where the policy will take effect; worlds may be defined here.
Example:
locations:
worlds: [world]
coordinates:
- corner1: { x: 2100, y: 256, z: 1400 }
corner2: { x: 1000, y: -64, z: 2200 }
permissions
Only used for type: "permission", is a list of permissions.
Example:
permissions:
- "server.axehit"
names
Only used for type: "playerName", is a list of player names.
Types
global
Always matches.
location
Matches if the player location is inside any rectangle defined in the locations property.
playerName
Matches if the player name is in the names property.
permission
Matches if the player has a permission in the permissions property.