Home - Z0rdak/Yet-Another-World-Protector GitHub Wiki
Yet Another World Protector, or YAWP for short, is a server-side mod (plugin), for Fabric, Forge and NeoForge, which allows you to protect your creations against various different events/actions of players, mobs and the environment.
It was inspired by the forge mod WorldProtector and the WorldGuard plugin.
The mod is currently in its beta state and active development - with many features not yet implemented, but to come. These features will, beside others, include most of the things you know from WorldProtector and WorldGuard.
MC-Version | Forge | NeoForged | Fabric | Hybrid (Magma/Mohist/etc.) |
---|---|---|---|---|
1.16.5 | ☑️ (0.0.4.1-beta5) | ❌ | ❌ | No! ❌ |
1.18.2 | ✔️ | ❌ | ✔️ | Please, ❌ |
1.19.2 | ✔️ | ❌ | ✔️ | don't ❌ |
1.19.3 | ✔️ | ❌ | ✔️ | ask ❌ |
1.19.4 | ✔️ | ❌ | ✔️ | for ❌ |
1.20.1 | ☑️ | ❌ | ☑️ | it! ❌ |
1.20.2 | ✔️ | ❌ | ✔️ | Thank ❌ |
1.20.4 | ❌ | ✔️ | ✔️ | you ❌ |
1.21.1 | ☑️ | ☑️ | ☑️ | very ❌ |
1.21.4 | ☑️ | ☑️ | ☑️ | much! ❌ |
1.21.5 | ☑️ | ☑️ | ☑️ | ❌ |
- ☑️ - actively in development
- ✔️ - available, but no longer updated/maintained
- ❌ - not available
- 🔜 - in progress
- The latest YAWP version can always be found at the main branch of the repository. It is available for the versions marked with ☑️
- The Wiki is up-to-date with the latest version. If you are using an earlier version, things might be different. If you have questions visit the discord server and ask for help - thanks!
You can find all commands here.
But why bother with typing commands when you instead can use the Interactive CLI for almost anything.
- Permissions to use YAWP commands can be changed in the
yawp-common.toml
config. - Owners of a region can always execute commands considering their region.
- All players can see the YAWP commands, but the permission to use the commands are checked at execution.
- The config setting
disable_cmd_for_non_op
disables the usage of the YAWP commands for non OPs. - The config setting
op_bypass_flags
allows OPs and players with UUID entry to bypass flags. - The config setting
hierarchy_ownership
allows owners to have permissions for child regions as well.
There are three different types of regions to protect your server:
- Local Regions: Also known as Claims or Plots are area restricted zones in your world. The area of a region can be defined using a Cuboid or Sphere (more shapes are planned for the future!). More details here.
- Dimensional Regions: Dimensional Regions have no area restrictions. They work like Local Regions, but are tied to a whole dimension. More details here.
- The Global Region: The Global Region affects the whole server. It is the parent region to all Dimensional Regions. More details here.
- Flags can be added to regions to prevent various actions and events.
- Regions can have groups to manage permissions. There are currently two default groups : owners, members.
- You are able to assign vanilla teams and/or specific players to a group.
- Regions can be de/-activated. The same is true for their flag alerts.
- Local Regions have a priority to manage overlapping regions and region hierarchy. More info about region hierarchy here.
- Dimensional Regions can't be created manually. They are in fact automatically generated with each new dimension.
Flags are rules you can add to any region. If the flag is initially added, it prevents the associated action (see Flag list).
Take a look at the Flags page for more details about flag management.
There will be more flags (and type of flags) in the future. If you have a suggestion for a flag, feel free to add it to the suggestion list on github or share your idea in the #suggestions channel on discord.
- You can add flags with
-
/yawp local <dim> <region> add flag <flag>
for Local Regions -
/yawp dim <dim> add flag <flag>
for Dimensional Regions -
/yawp global add flag <flag>
for the Global Region
-
- You can optionally define the flag state and the override option when adding flags:
-
/yawp local <dim> <region> add flag <flag> [flagstate] [override]
. - by default those are
flagstate = Denied
andoverride = false
-
- A Flag has an alert when its action is denied. Those alerts can be muted.
- A Flag has a flag state. There are three:
Denied
,Allowed
orDisabled
. - Set the flag state to
Denied
to prevent the action associated with the flag. - Set the flag state to
Allowed
to allow the action associated with the flag. - Set the flag state to
Disabled
to not consider the flag in checks. - You can customize the message displayed by the flag alert.
- Manage the properties of flags by using
-
/yawp flag local <dim> <region> <flag> ...
for Local Regions -
/yawp flag dim <dim> <flag> ...
for Dimensional Regions -
/yawp flag global <flag> ...
for the Global Region
-
Regions can have owners and normal members. Owners are allowed to manage the region and bypass the flags, members are only allowed to bypass the flags set in the region.
Owners/Members can be individual players or a team.
This allows you to create regions and assign players as their owners. They can then manage their regions themselves and add other players to them, as well as create their own sub-regions within their regions.
If you have trouble with setting up regions, visit the discord for help.
There are more granular features planned for region groups in the future - each group with different permissions (looking at you LuckPerms integration!).
- Regions can have groups to manage permissions. There are currently two default groups : owners, members.
- You are able to assign vanilla teams and/or specific players to a group.
- Owners and members bypass flags.
- Owners are allowed to manage their region (use commands)
- The config setting
hierarchy_ownership
allows owners and members to have permissions for child regions as well. - Groups will be customizable in the future - stay tuned!
There are many more features to come. The mod is in active development. Checkout the roadmap!
The following list is not comprehensive and not in any particular order. Visit the project website on Github to get an up-to-date overview of planned features. It'll try to keep it up to date with my work.
- Highlighting Region boundaries
- Granular Flags to allow/deny specific blocks, entities, items, etc.
- Different shapes for Local Regions (Sphere, Cylinder, Prism, 3DPolygon,...)
- Region Templates (save region setups in templates to apply them to other regions)
- Region triggers for entering/leaving a region (for displaying messages, executing commands, etc)
- More granular permission system with custom affiliations (most likely with LuckyPerms integration)
- More flags (see Flag Suggestions)
- ...