Skip to content

Releases: Z0rdak/Yet-Another-World-Protector

1.20.1-0.0.4.1-beta1-forge

20 Sep 09:24
Compare
Choose a tag to compare

[0.0.4.1-beta1] - 2024-09-20

Added

  • Add Traditional Chinese localization. Thank you very much @dirttw!
  • Debug logging for flag checks and most player related flags.
  • Add config for logging. You are able to log only certain flags or flag categories.
  • [Fabric] Add place-fluid and scoop-fluid flag, bringing flag consistency with forge version of the mod.

Changed

  • The lightning flag now also prevents lightning strikes not hitting entities, prevents creation of fire blocks and
    de-oxidation of copper blocks. These additional features may be split in separate flags down the road.
  • The access-container flag now considers all entities implementing the vanilla inventory (like Minecarts with
    chests).
  • The mod file now includes the license, readme, credits and this changelog.

Fixed

  • Fix bug which prevented removing from child regions with sphere area type
  • Fix undo link for flag state setting
  • Fix incorrect MAX and MIN defaults for expand command to be correct for the corresponding minecraft version.
  • Fix some smaller CLI issues and typos
  • [Fabric] Fix exe-command flag not working
  • [Fabric] Fix place-block flag preventing interacting with entities/blocks.
  • [Fabric] Fix inventory desync when using place-blocks flag.

1.20.1-0.0.4.1-beta1-fabric

20 Sep 09:25
Compare
Choose a tag to compare

[0.0.4.1-beta1] - 2024-09-20

Added

  • Add Traditional Chinese localization. Thank you very much @dirttw!
  • Debug logging for flag checks and most player related flags.
  • Add config for logging. You are able to log only certain flags or flag categories.
  • [Fabric] Add place-fluid and scoop-fluid flag, bringing flag consistency with forge version of the mod.

Changed

  • The lightning flag now also prevents lightning strikes not hitting entities, prevents creation of fire blocks and
    de-oxidation of copper blocks. These additional features may be split in separate flags down the road.
  • The access-container flag now considers all entities implementing the vanilla inventory (like Minecarts with
    chests).
  • The mod file now includes the license, readme, credits and this changelog.

Fixed

  • Fix bug which prevented removing from child regions with sphere area type
  • Fix undo link for flag state setting
  • Fix incorrect MAX and MIN defaults for expand command to be correct for the corresponding minecraft version.
  • Fix some smaller CLI issues and typos
  • [Fabric] Fix exe-command flag not working
  • [Fabric] Fix place-block flag preventing interacting with entities/blocks.
  • [Fabric] Fix inventory desync when using place-blocks flag.

1.18.2-0.0.4.1-beta1-forge

20 Sep 09:24
Compare
Choose a tag to compare

[0.0.4.1-beta1] - 2024-09-20

Added

  • Add Traditional Chinese localization. Thank you very much @dirttw!
  • Debug logging for flag checks and most player related flags.
  • Add config for logging. You are able to log only certain flags or flag categories.
  • [Fabric] Add place-fluid and scoop-fluid flag, bringing flag consistency with forge version of the mod.

Changed

  • The lightning flag now also prevents lightning strikes not hitting entities, prevents creation of fire blocks and
    de-oxidation of copper blocks. These additional features may be split in separate flags down the road.
  • The access-container flag now considers all entities implementing the vanilla inventory (like Minecarts with
    chests).
  • The mod file now includes the license, readme, credits and this changelog.

Fixed

  • Fix bug which prevented removing from child regions with sphere area type
  • Fix undo link for flag state setting
  • Fix incorrect MAX and MIN defaults for expand command to be correct for the corresponding minecraft version.
  • Fix some smaller CLI issues and typos
  • [Fabric] Fix exe-command flag not working
  • [Fabric] Fix place-block flag preventing interacting with entities/blocks.
  • [Fabric] Fix inventory desync when using place-blocks flag.

1.16.5-0.0.4.1-beta1-forge

20 Sep 09:25
Compare
Choose a tag to compare

[0.0.4.1-beta1] - 2024-09-20

Added

  • Add Traditional Chinese localization. Thank you very much @dirttw!
  • Debug logging for flag checks and most player related flags.
  • Add config for logging. You are able to log only certain flags or flag categories.
  • [Fabric] Add place-fluid and scoop-fluid flag, bringing flag consistency with forge version of the mod.

Changed

  • The lightning flag now also prevents lightning strikes not hitting entities, prevents creation of fire blocks and
    de-oxidation of copper blocks. These additional features may be split in separate flags down the road.
  • The access-container flag now considers all entities implementing the vanilla inventory (like Minecarts with
    chests).
  • The mod file now includes the license, readme, credits and this changelog.

Fixed

  • Fix bug which prevented removing from child regions with sphere area type
  • Fix undo link for flag state setting
  • Fix incorrect MAX and MIN defaults for expand command to be correct for the corresponding minecraft version.
  • Fix some smaller CLI issues and typos
  • [Fabric] Fix exe-command flag not working
  • [Fabric] Fix place-block flag preventing interacting with entities/blocks.
  • [Fabric] Fix inventory desync when using place-blocks flag.

1.20.1-0.0.4.0-beta2-forge

18 Aug 20:43
Compare
Choose a tag to compare

[0.0.4.0-beta2] - 2024-08-18

Changed

  • The error message for creating a region now specifies whether the parent region is unsuitable due to permission issues or because it doesn't contain the child region.

Fixed

  • Fix ResourceLocation/Identifier entries in covered_block_entities not correctly considered in some versions (1.20+).
  • Tags included in the list covered_block_entity_tags inside the config yawp-flags.toml are now considered for the break-blocks and place-blocks flag
  • Fix RegionMarker not working properly
  • Fix NPE when checking for player related flags which caused (beside others) issues with Minecolonies
  • Fix NPE when checking for mob-griefing through a projectile from an already dead entity (e.g. fireball from a ghast)
  • Fix display of wrong flag state in CLI

1.21-0.0.2.10-alpha2-fabric

16 Aug 20:19
Compare
Choose a tag to compare
Pre-release

[0.0.2.10-alpha2] - 2024-08-16

[Fabric] Update version info to make YAWP compatible with 1.21.1. Thanks again ptefar!

[0.0.2.10-alpha1] - 2024-07-19

[Fabric] First iteration of 1.21 port. Thanks ptefar for the initial work.

Changed

  • Disabled the RegionMarker and related commands until ifs fully ported.

Fixed

  • [Fabric] explosion-* flag mixin is now working as intended

1.20.4-0.0.4.0-beta1-neoforge

26 May 19:40
Compare
Choose a tag to compare

[0.0.4.0-beta1] - 2024-05-25

Warning/Disclaimer: This update introduces breaking changes. Please make sure to back up your world before
updating to this version.
These changes are necessary to enable the new features and to make the mod scalable for future updates and keep it
maintainable. Note that I'll try to keep these changes to a minimum in the future. But this will happen from time to
time to enable new features and to improve the mod.

Breaking changes relate to:

  • the way region data is stored and thus the way it is read/written.

  • how the flags are handled - in particular, the way flags are inherited and overridden by parent regions

  • the structure and naming of some commands - which have changed to be more consistent

Added

  • Add commands to copy and clear region properties
  • Add enhanced flag management and messages
  • Add flag inheritance and overriding for regions
  • Add new Local Region shape: Sphere
  • Add the Global Region. It's the parent region of all Dimensional Regions. One region to rule them all!
  • API: New events for flag checks. You can now listen to flag checks and cancel them if needed and listen for the
    result of a check and manipulate the outcome.
  • Add new config options

Copy region properties

  • Add new command to copy properties from one Local Region to another Local Region:

    • /wp dim <dim> <region> copy flags to-local <target-dim> <target-region>: copy all flags from region
      to target-region
    • /wp dim <dim> <region> copy flags to-dim <target-dim>: copy all flags from region to target-dim
    • /wp dim <dim> <region> copy state to-local <target-dim> <target-region>: copy the region state from region and
      apply it to target-region
    • /wp dim <dim> <region> copy state to-dim <target-dim>: copy the region state from region and apply it
      to target-dim
    • /wp dim <dim> <region> copy players to-local <target-dim> <target-region> [group] : copy all players from region
      to target-region. To copy only a specific group (members, owners) add it as optional parameter
    • /wp dim <dim> <region> copy players to-dim <target-dim> [group] : copy all players from region to target-dim.
      To copy only a specific group (members, owners) add it as optional parameter
  • Add new commands to copy properties from one Dimensional Region to another Dimensional Region

    • /wp dim <dim> copy flags to-local <target-dim> <target-region>: copy all flags from dim to target-region
    • /wp dim <dim> copy flags to-dim <target-dim>: copy all flags from dim to target-dim
    • /wp dim <dim> copy state to-local <target-dim> <target-region>: copy the region state from dim and apply it
      to target-region
    • /wp dim <dim> copy state to-dim <target-dim>: copy the region state from dim and apply it to target-dim
    • /wp dim <dim> copy players to-local <target-dim> <target-region> [group] : copy all players from dim
      to target-region. To copy only a specific group (members, owners) add it as optional parameter
    • /wp dim <dim> copy players to-dim <target-dim> [group] : copy all players from dim to target-dim. To copy only
      a specific group (members, owners) add it as optional parameter

Enhanced Flags

  • Flags now have their own dedicated flag message which is shown when the flag is triggered.

  • It's now possible to mute flag messages for each individual flag (disabling the alert of the region will still mute
    all flags for the region).

  • Flag messages can contain placeholders for:

    • {player} - name of player
    • {flag} - name of triggered flag
    • {region} - name of involved region
    • {dimension} - name of dimension
    • {pos} - position of flag activation source [X=x, Y=y, Z=z]
  • Flag messages also can be formatted by using the minecraft default string formatting.

    • For example &c{player}&r tried to break a block in &9{region}&r! will result in a red player name and a blue
      region name.
    • Take a look at this tool for reference as well as
      the minecraft wiki.
  • The flag message examples are listed in the language file to enable I18n support for the examples.

  • Flags now have a FlagState instead of just being present/absent. When you add a flag, it will have the denied state
    to keep the same behavior as before. The different flag states are described as follows:

    • Allowed - The flag is allowed for the region and will be checked.
    • Denied - The flag is denied for the region and will be checked.
    • Disabled - The flag is disabled for the region and will not be checked.
    • Undefined - The flag is not defined for the region.
  • Flags can be disabled to keep the flags in the region but disable the flag check. This is useful when you need to
    disable a flag but don't want to lose the flag settings (flag message, muted state, etc.).

  • Add commands for enhanced flag management:

    • /wp flag local <dim> <local> <flag> state <Allowed|Denied|Disabled> - set the state for a flag
    • /wp flag local <dim> <local> <flag> override <true|false> - sets the flag to override the same flag in child
      regions
    • /wp flag local <dim> <local> <flag> msg set <msg> - set a new message for the flag. Check the wiki for a
      description of possible placeholders for messages.
    • /wp flag local <dim> <local> <flag> msg clear ...
    • /wp flag local <dim> <local> <flag> msg mute ...
  • Also added a command to list the region flags to the flag command

    • /wp flag local <dim> <local> - Lists all flags of the region

The same commands of course work for Dimensional and the Global Regions:

  • /wp flag dim ... to manage flag properties for a Dimensional Region
  • /wp flag global ... to manage flag properties for the Global Region

Flag inheritance & overriding for regions

  • Child regions now inherit the flags of their parent regions. This means that every region will also inherit the flags
    of the corresponding Dimensional region and the Global Region.
  • Parent regions can now override flags of child regions to enforce flags onto them.
  • Flag pagination now includes parent flags (links to parent flags and the parent itself are shown behind the flag
    name). The region type is indicated by an indicator. G for Global, D for Dimensional and L for Local
    Regions.
  • Flag list links for regions now also show number of flags from parent regions, which are considered for region checks
    in parentheses.
  • The commands to list the flags of a region (/wp ... list flag) are now prompting all responsible flags of the
    region, including the flags of the parent regions.
  • A new command has been added to only prompt the flags only of the supplied region
    • /wp ... list region-flag
  • Flag pagination now sorts flags by flag state and then by alphabetical order.
    • Green - allowed flags
    • Red - denied flags
    • Gray - disabled flags
  • Flags now have an internal category. This info will also be added to the wiki. The categories are a change to allow
    some other features to be added in the future. The categories are not final and may still change.

Sphere Local Region

  • Sphere Local Regions are now available. The sphere is defined by the center and the radius. The radius can either be
    defined by a BlockPos or the radius size. Note that the radius is not counting the center block. Because of this, it
    is only possible to create spheres with an odd diameter.
  • A sphere with radius 0 will only cover the center block.
  • Add commands to create a Sphere Local Region:
    • /wp local <dim> create <region-name> Sphere <center-pos> <radius-pos> [<parent-region>]
    • /wp local <dim> create <region-name> Sphere <center-pos> <radius> [<parent-region>]
  • You can change the area type of the region area at any time from a Cuboid to a Sphere and back.
  • Support to create Spherical Regions with the RegionMarker will be added soon

Config

  • yawp-common.toml - Add new permission config:
    • allow_region_tp - Decides whether teleporting inside/outside a region is allowed for everyone. Useful when using
      Waystones in regions for example.
    • disable_cmd_for_non_op. Defines whether mod commands are disabled for non-OP players. This is useful when you want
      to use the mod only for OPs or players which have their UUID entry in the config. Enable this if you don't want the
      YAWP command to be seen by non-permitted users.
    • hierarchy_ownership: Defines whether the region hierarchy should be considered for region ownership. If enabled,
      ownership of parent regions will automatically (implicit) apply to child regions. By default, this is set to true.
  • yawp-flags.toml - Add new flag configs:
    • remove_entities_for_spawning_flags: Toggles the de-spawning of entities when using the spawning-* flags.
  • break_flag_entities and break_flag_entity_tags are now also used for the place-blocks flag.

Global Region

  • The Global Region has the same properties as the Dimensional Regions but is not limited to one dimension. It is the
    parent region of all Dimensional Regions and considered everywhere for flag checks.
  • Add new commands for management of the Global Region:
    • /wp global info.
    • /wp global clear flags|players|teams|group.
    • /wp global add player|team|flag.
    • /wp global remove player|team|flag.
    • /wp global list flag|region-flag|group|dim.
    • /wp global state alert|enable.
    • /wp global reset.
    • /wp global ...
  • Add interactive CLI support for the Global Region

API

  • Add FlagCheckEvent. This event is fired before a flag is checked. It can be canceled and in the progress can be used
    to cancel the flag check entirely.
  • Add FlagCheckResult...
Read more

1.20.1-0.0.4.0-beta1-forge

26 May 19:40
Compare
Choose a tag to compare

[0.0.4.0-beta1] - 2024-05-25

Warning/Disclaimer: This update introduces breaking changes. Please make sure to back up your world before
updating to this version.
These changes are necessary to enable the new features and to make the mod scalable for future updates and keep it
maintainable. Note that I'll try to keep these changes to a minimum in the future. But this will happen from time to
time to enable new features and to improve the mod.

Breaking changes relate to:

  • the way region data is stored and thus the way it is read/written.

  • how the flags are handled - in particular, the way flags are inherited and overridden by parent regions

  • the structure and naming of some commands - which have changed to be more consistent

Added

  • Add commands to copy and clear region properties
  • Add enhanced flag management and messages
  • Add flag inheritance and overriding for regions
  • Add new Local Region shape: Sphere
  • Add the Global Region. It's the parent region of all Dimensional Regions. One region to rule them all!
  • API: New events for flag checks. You can now listen to flag checks and cancel them if needed and listen for the
    result of a check and manipulate the outcome.
  • Add new config options

Copy region properties

  • Add new command to copy properties from one Local Region to another Local Region:

    • /wp dim <dim> <region> copy flags to-local <target-dim> <target-region>: copy all flags from region
      to target-region
    • /wp dim <dim> <region> copy flags to-dim <target-dim>: copy all flags from region to target-dim
    • /wp dim <dim> <region> copy state to-local <target-dim> <target-region>: copy the region state from region and
      apply it to target-region
    • /wp dim <dim> <region> copy state to-dim <target-dim>: copy the region state from region and apply it
      to target-dim
    • /wp dim <dim> <region> copy players to-local <target-dim> <target-region> [group] : copy all players from region
      to target-region. To copy only a specific group (members, owners) add it as optional parameter
    • /wp dim <dim> <region> copy players to-dim <target-dim> [group] : copy all players from region to target-dim.
      To copy only a specific group (members, owners) add it as optional parameter
  • Add new commands to copy properties from one Dimensional Region to another Dimensional Region

    • /wp dim <dim> copy flags to-local <target-dim> <target-region>: copy all flags from dim to target-region
    • /wp dim <dim> copy flags to-dim <target-dim>: copy all flags from dim to target-dim
    • /wp dim <dim> copy state to-local <target-dim> <target-region>: copy the region state from dim and apply it
      to target-region
    • /wp dim <dim> copy state to-dim <target-dim>: copy the region state from dim and apply it to target-dim
    • /wp dim <dim> copy players to-local <target-dim> <target-region> [group] : copy all players from dim
      to target-region. To copy only a specific group (members, owners) add it as optional parameter
    • /wp dim <dim> copy players to-dim <target-dim> [group] : copy all players from dim to target-dim. To copy only
      a specific group (members, owners) add it as optional parameter

Enhanced Flags

  • Flags now have their own dedicated flag message which is shown when the flag is triggered.

  • It's now possible to mute flag messages for each individual flag (disabling the alert of the region will still mute
    all flags for the region).

  • Flag messages can contain placeholders for:

    • {player} - name of player
    • {flag} - name of triggered flag
    • {region} - name of involved region
    • {dimension} - name of dimension
    • {pos} - position of flag activation source [X=x, Y=y, Z=z]
  • Flag messages also can be formatted by using the minecraft default string formatting.

    • For example &c{player}&r tried to break a block in &9{region}&r! will result in a red player name and a blue
      region name.
    • Take a look at this tool for reference as well as
      the minecraft wiki.
  • The flag message examples are listed in the language file to enable I18n support for the examples.

  • Flags now have a FlagState instead of just being present/absent. When you add a flag, it will have the denied state
    to keep the same behavior as before. The different flag states are described as follows:

    • Allowed - The flag is allowed for the region and will be checked.
    • Denied - The flag is denied for the region and will be checked.
    • Disabled - The flag is disabled for the region and will not be checked.
    • Undefined - The flag is not defined for the region.
  • Flags can be disabled to keep the flags in the region but disable the flag check. This is useful when you need to
    disable a flag but don't want to lose the flag settings (flag message, muted state, etc.).

  • Add commands for enhanced flag management:

    • /wp flag local <dim> <local> <flag> state <Allowed|Denied|Disabled> - set the state for a flag
    • /wp flag local <dim> <local> <flag> override <true|false> - sets the flag to override the same flag in child
      regions
    • /wp flag local <dim> <local> <flag> msg set <msg> - set a new message for the flag. Check the wiki for a
      description of possible placeholders for messages.
    • /wp flag local <dim> <local> <flag> msg clear ...
    • /wp flag local <dim> <local> <flag> msg mute ...
  • Also added a command to list the region flags to the flag command

    • /wp flag local <dim> <local> - Lists all flags of the region

The same commands of course work for Dimensional and the Global Regions:

  • /wp flag dim ... to manage flag properties for a Dimensional Region
  • /wp flag global ... to manage flag properties for the Global Region

Flag inheritance & overriding for regions

  • Child regions now inherit the flags of their parent regions. This means that every region will also inherit the flags
    of the corresponding Dimensional region and the Global Region.
  • Parent regions can now override flags of child regions to enforce flags onto them.
  • Flag pagination now includes parent flags (links to parent flags and the parent itself are shown behind the flag
    name). The region type is indicated by an indicator. G for Global, D for Dimensional and L for Local
    Regions.
  • Flag list links for regions now also show number of flags from parent regions, which are considered for region checks
    in parentheses.
  • The commands to list the flags of a region (/wp ... list flag) are now prompting all responsible flags of the
    region, including the flags of the parent regions.
  • A new command has been added to only prompt the flags only of the supplied region
    • /wp ... list region-flag
  • Flag pagination now sorts flags by flag state and then by alphabetical order.
    • Green - allowed flags
    • Red - denied flags
    • Gray - disabled flags
  • Flags now have an internal category. This info will also be added to the wiki. The categories are a change to allow
    some other features to be added in the future. The categories are not final and may still change.

Sphere Local Region

  • Sphere Local Regions are now available. The sphere is defined by the center and the radius. The radius can either be
    defined by a BlockPos or the radius size. Note that the radius is not counting the center block. Because of this, it
    is only possible to create spheres with an odd diameter.
  • A sphere with radius 0 will only cover the center block.
  • Add commands to create a Sphere Local Region:
    • /wp local <dim> create <region-name> Sphere <center-pos> <radius-pos> [<parent-region>]
    • /wp local <dim> create <region-name> Sphere <center-pos> <radius> [<parent-region>]
  • You can change the area type of the region area at any time from a Cuboid to a Sphere and back.
  • Support to create Spherical Regions with the RegionMarker will be added soon

Config

  • yawp-common.toml - Add new permission config:
    • allow_region_tp - Decides whether teleporting inside/outside a region is allowed for everyone. Useful when using
      Waystones in regions for example.
    • disable_cmd_for_non_op. Defines whether mod commands are disabled for non-OP players. This is useful when you want
      to use the mod only for OPs or players which have their UUID entry in the config. Enable this if you don't want the
      YAWP command to be seen by non-permitted users.
    • hierarchy_ownership: Defines whether the region hierarchy should be considered for region ownership. If enabled,
      ownership of parent regions will automatically (implicit) apply to child regions. By default, this is set to true.
  • yawp-flags.toml - Add new flag configs:
    • remove_entities_for_spawning_flags: Toggles the de-spawning of entities when using the spawning-* flags.
  • break_flag_entities and break_flag_entity_tags are now also used for the place-blocks flag.

Global Region

  • The Global Region has the same properties as the Dimensional Regions but is not limited to one dimension. It is the
    parent region of all Dimensional Regions and considered everywhere for flag checks.
  • Add new commands for management of the Global Region:
    • /wp global info.
    • /wp global clear flags|players|teams|group.
    • /wp global add player|team|flag.
    • /wp global remove player|team|flag.
    • /wp global list flag|region-flag|group|dim.
    • /wp global state alert|enable.
    • /wp global reset.
    • /wp global ...
  • Add interactive CLI support for the Global Region

API

  • Add FlagCheckEvent. This event is fired before a flag is checked. It can be canceled and in the progress can be used
    to cancel the flag check entirely.
  • Add FlagCheckResult...
Read more

1.18.2-0.0.4.0-beta1-forge

26 May 19:40
Compare
Choose a tag to compare

[0.0.4.0-beta1] - 2024-05-25

Warning/Disclaimer: This update introduces breaking changes. Please make sure to back up your world before
updating to this version.
These changes are necessary to enable the new features and to make the mod scalable for future updates and keep it
maintainable. Note that I'll try to keep these changes to a minimum in the future. But this will happen from time to
time to enable new features and to improve the mod.

Breaking changes relate to:

  • the way region data is stored and thus the way it is read/written.

  • how the flags are handled - in particular, the way flags are inherited and overridden by parent regions

  • the structure and naming of some commands - which have changed to be more consistent

Added

  • Add commands to copy and clear region properties
  • Add enhanced flag management and messages
  • Add flag inheritance and overriding for regions
  • Add new Local Region shape: Sphere
  • Add the Global Region. It's the parent region of all Dimensional Regions. One region to rule them all!
  • API: New events for flag checks. You can now listen to flag checks and cancel them if needed and listen for the
    result of a check and manipulate the outcome.
  • Add new config options

Copy region properties

  • Add new command to copy properties from one Local Region to another Local Region:

    • /wp dim <dim> <region> copy flags to-local <target-dim> <target-region>: copy all flags from region
      to target-region
    • /wp dim <dim> <region> copy flags to-dim <target-dim>: copy all flags from region to target-dim
    • /wp dim <dim> <region> copy state to-local <target-dim> <target-region>: copy the region state from region and
      apply it to target-region
    • /wp dim <dim> <region> copy state to-dim <target-dim>: copy the region state from region and apply it
      to target-dim
    • /wp dim <dim> <region> copy players to-local <target-dim> <target-region> [group] : copy all players from region
      to target-region. To copy only a specific group (members, owners) add it as optional parameter
    • /wp dim <dim> <region> copy players to-dim <target-dim> [group] : copy all players from region to target-dim.
      To copy only a specific group (members, owners) add it as optional parameter
  • Add new commands to copy properties from one Dimensional Region to another Dimensional Region

    • /wp dim <dim> copy flags to-local <target-dim> <target-region>: copy all flags from dim to target-region
    • /wp dim <dim> copy flags to-dim <target-dim>: copy all flags from dim to target-dim
    • /wp dim <dim> copy state to-local <target-dim> <target-region>: copy the region state from dim and apply it
      to target-region
    • /wp dim <dim> copy state to-dim <target-dim>: copy the region state from dim and apply it to target-dim
    • /wp dim <dim> copy players to-local <target-dim> <target-region> [group] : copy all players from dim
      to target-region. To copy only a specific group (members, owners) add it as optional parameter
    • /wp dim <dim> copy players to-dim <target-dim> [group] : copy all players from dim to target-dim. To copy only
      a specific group (members, owners) add it as optional parameter

Enhanced Flags

  • Flags now have their own dedicated flag message which is shown when the flag is triggered.

  • It's now possible to mute flag messages for each individual flag (disabling the alert of the region will still mute
    all flags for the region).

  • Flag messages can contain placeholders for:

    • {player} - name of player
    • {flag} - name of triggered flag
    • {region} - name of involved region
    • {dimension} - name of dimension
    • {pos} - position of flag activation source [X=x, Y=y, Z=z]
  • Flag messages also can be formatted by using the minecraft default string formatting.

    • For example &c{player}&r tried to break a block in &9{region}&r! will result in a red player name and a blue
      region name.
    • Take a look at this tool for reference as well as
      the minecraft wiki.
  • The flag message examples are listed in the language file to enable I18n support for the examples.

  • Flags now have a FlagState instead of just being present/absent. When you add a flag, it will have the denied state
    to keep the same behavior as before. The different flag states are described as follows:

    • Allowed - The flag is allowed for the region and will be checked.
    • Denied - The flag is denied for the region and will be checked.
    • Disabled - The flag is disabled for the region and will not be checked.
    • Undefined - The flag is not defined for the region.
  • Flags can be disabled to keep the flags in the region but disable the flag check. This is useful when you need to
    disable a flag but don't want to lose the flag settings (flag message, muted state, etc.).

  • Add commands for enhanced flag management:

    • /wp flag local <dim> <local> <flag> state <Allowed|Denied|Disabled> - set the state for a flag
    • /wp flag local <dim> <local> <flag> override <true|false> - sets the flag to override the same flag in child
      regions
    • /wp flag local <dim> <local> <flag> msg set <msg> - set a new message for the flag. Check the wiki for a
      description of possible placeholders for messages.
    • /wp flag local <dim> <local> <flag> msg clear ...
    • /wp flag local <dim> <local> <flag> msg mute ...
  • Also added a command to list the region flags to the flag command

    • /wp flag local <dim> <local> - Lists all flags of the region

The same commands of course work for Dimensional and the Global Regions:

  • /wp flag dim ... to manage flag properties for a Dimensional Region
  • /wp flag global ... to manage flag properties for the Global Region

Flag inheritance & overriding for regions

  • Child regions now inherit the flags of their parent regions. This means that every region will also inherit the flags
    of the corresponding Dimensional region and the Global Region.
  • Parent regions can now override flags of child regions to enforce flags onto them.
  • Flag pagination now includes parent flags (links to parent flags and the parent itself are shown behind the flag
    name). The region type is indicated by an indicator. G for Global, D for Dimensional and L for Local
    Regions.
  • Flag list links for regions now also show number of flags from parent regions, which are considered for region checks
    in parentheses.
  • The commands to list the flags of a region (/wp ... list flag) are now prompting all responsible flags of the
    region, including the flags of the parent regions.
  • A new command has been added to only prompt the flags only of the supplied region
    • /wp ... list region-flag
  • Flag pagination now sorts flags by flag state and then by alphabetical order.
    • Green - allowed flags
    • Red - denied flags
    • Gray - disabled flags
  • Flags now have an internal category. This info will also be added to the wiki. The categories are a change to allow
    some other features to be added in the future. The categories are not final and may still change.

Sphere Local Region

  • Sphere Local Regions are now available. The sphere is defined by the center and the radius. The radius can either be
    defined by a BlockPos or the radius size. Note that the radius is not counting the center block. Because of this, it
    is only possible to create spheres with an odd diameter.
  • A sphere with radius 0 will only cover the center block.
  • Add commands to create a Sphere Local Region:
    • /wp local <dim> create <region-name> Sphere <center-pos> <radius-pos> [<parent-region>]
    • /wp local <dim> create <region-name> Sphere <center-pos> <radius> [<parent-region>]
  • You can change the area type of the region area at any time from a Cuboid to a Sphere and back.
  • Support to create Spherical Regions with the RegionMarker will be added soon

Config

  • yawp-common.toml - Add new permission config:
    • allow_region_tp - Decides whether teleporting inside/outside a region is allowed for everyone. Useful when using
      Waystones in regions for example.
    • disable_cmd_for_non_op. Defines whether mod commands are disabled for non-OP players. This is useful when you want
      to use the mod only for OPs or players which have their UUID entry in the config. Enable this if you don't want the
      YAWP command to be seen by non-permitted users.
    • hierarchy_ownership: Defines whether the region hierarchy should be considered for region ownership. If enabled,
      ownership of parent regions will automatically (implicit) apply to child regions. By default, this is set to true.
  • yawp-flags.toml - Add new flag configs:
    • remove_entities_for_spawning_flags: Toggles the de-spawning of entities when using the spawning-* flags.
  • break_flag_entities and break_flag_entity_tags are now also used for the place-blocks flag.

Global Region

  • The Global Region has the same properties as the Dimensional Regions but is not limited to one dimension. It is the
    parent region of all Dimensional Regions and considered everywhere for flag checks.
  • Add new commands for management of the Global Region:
    • /wp global info.
    • /wp global clear flags|players|teams|group.
    • /wp global add player|team|flag.
    • /wp global remove player|team|flag.
    • /wp global list flag|region-flag|group|dim.
    • /wp global state alert|enable.
    • /wp global reset.
    • /wp global ...
  • Add interactive CLI support for the Global Region

API

  • Add FlagCheckEvent. This event is fired before a flag is checked. It can be canceled and in the progress can be used
    to cancel the flag check entirely.
  • Add FlagCheckResult...
Read more

1.16.5-0.0.4.0-beta1-forge

26 May 19:40
Compare
Choose a tag to compare

[0.0.4.0-beta1] - 2024-05-25

Warning/Disclaimer: This update introduces breaking changes. Please make sure to back up your world before
updating to this version.
These changes are necessary to enable the new features and to make the mod scalable for future updates and keep it
maintainable. Note that I'll try to keep these changes to a minimum in the future. But this will happen from time to
time to enable new features and to improve the mod.

Breaking changes relate to:

  • the way region data is stored and thus the way it is read/written.

  • how the flags are handled - in particular, the way flags are inherited and overridden by parent regions

  • the structure and naming of some commands - which have changed to be more consistent

Added

  • Add commands to copy and clear region properties
  • Add enhanced flag management and messages
  • Add flag inheritance and overriding for regions
  • Add new Local Region shape: Sphere
  • Add the Global Region. It's the parent region of all Dimensional Regions. One region to rule them all!
  • API: New events for flag checks. You can now listen to flag checks and cancel them if needed and listen for the
    result of a check and manipulate the outcome.
  • Add new config options

Copy region properties

  • Add new command to copy properties from one Local Region to another Local Region:

    • /wp dim <dim> <region> copy flags to-local <target-dim> <target-region>: copy all flags from region
      to target-region
    • /wp dim <dim> <region> copy flags to-dim <target-dim>: copy all flags from region to target-dim
    • /wp dim <dim> <region> copy state to-local <target-dim> <target-region>: copy the region state from region and
      apply it to target-region
    • /wp dim <dim> <region> copy state to-dim <target-dim>: copy the region state from region and apply it
      to target-dim
    • /wp dim <dim> <region> copy players to-local <target-dim> <target-region> [group] : copy all players from region
      to target-region. To copy only a specific group (members, owners) add it as optional parameter
    • /wp dim <dim> <region> copy players to-dim <target-dim> [group] : copy all players from region to target-dim.
      To copy only a specific group (members, owners) add it as optional parameter
  • Add new commands to copy properties from one Dimensional Region to another Dimensional Region

    • /wp dim <dim> copy flags to-local <target-dim> <target-region>: copy all flags from dim to target-region
    • /wp dim <dim> copy flags to-dim <target-dim>: copy all flags from dim to target-dim
    • /wp dim <dim> copy state to-local <target-dim> <target-region>: copy the region state from dim and apply it
      to target-region
    • /wp dim <dim> copy state to-dim <target-dim>: copy the region state from dim and apply it to target-dim
    • /wp dim <dim> copy players to-local <target-dim> <target-region> [group] : copy all players from dim
      to target-region. To copy only a specific group (members, owners) add it as optional parameter
    • /wp dim <dim> copy players to-dim <target-dim> [group] : copy all players from dim to target-dim. To copy only
      a specific group (members, owners) add it as optional parameter

Enhanced Flags

  • Flags now have their own dedicated flag message which is shown when the flag is triggered.

  • It's now possible to mute flag messages for each individual flag (disabling the alert of the region will still mute
    all flags for the region).

  • Flag messages can contain placeholders for:

    • {player} - name of player
    • {flag} - name of triggered flag
    • {region} - name of involved region
    • {dimension} - name of dimension
    • {pos} - position of flag activation source [X=x, Y=y, Z=z]
  • Flag messages also can be formatted by using the minecraft default string formatting.

    • For example &c{player}&r tried to break a block in &9{region}&r! will result in a red player name and a blue
      region name.
    • Take a look at this tool for reference as well as
      the minecraft wiki.
  • The flag message examples are listed in the language file to enable I18n support for the examples.

  • Flags now have a FlagState instead of just being present/absent. When you add a flag, it will have the denied state
    to keep the same behavior as before. The different flag states are described as follows:

    • Allowed - The flag is allowed for the region and will be checked.
    • Denied - The flag is denied for the region and will be checked.
    • Disabled - The flag is disabled for the region and will not be checked.
    • Undefined - The flag is not defined for the region.
  • Flags can be disabled to keep the flags in the region but disable the flag check. This is useful when you need to
    disable a flag but don't want to lose the flag settings (flag message, muted state, etc.).

  • Add commands for enhanced flag management:

    • /wp flag local <dim> <local> <flag> state <Allowed|Denied|Disabled> - set the state for a flag
    • /wp flag local <dim> <local> <flag> override <true|false> - sets the flag to override the same flag in child
      regions
    • /wp flag local <dim> <local> <flag> msg set <msg> - set a new message for the flag. Check the wiki for a
      description of possible placeholders for messages.
    • /wp flag local <dim> <local> <flag> msg clear ...
    • /wp flag local <dim> <local> <flag> msg mute ...
  • Also added a command to list the region flags to the flag command

    • /wp flag local <dim> <local> - Lists all flags of the region

The same commands of course work for Dimensional and the Global Regions:

  • /wp flag dim ... to manage flag properties for a Dimensional Region
  • /wp flag global ... to manage flag properties for the Global Region

Flag inheritance & overriding for regions

  • Child regions now inherit the flags of their parent regions. This means that every region will also inherit the flags
    of the corresponding Dimensional region and the Global Region.
  • Parent regions can now override flags of child regions to enforce flags onto them.
  • Flag pagination now includes parent flags (links to parent flags and the parent itself are shown behind the flag
    name). The region type is indicated by an indicator. G for Global, D for Dimensional and L for Local
    Regions.
  • Flag list links for regions now also show number of flags from parent regions, which are considered for region checks
    in parentheses.
  • The commands to list the flags of a region (/wp ... list flag) are now prompting all responsible flags of the
    region, including the flags of the parent regions.
  • A new command has been added to only prompt the flags only of the supplied region
    • /wp ... list region-flag
  • Flag pagination now sorts flags by flag state and then by alphabetical order.
    • Green - allowed flags
    • Red - denied flags
    • Gray - disabled flags
  • Flags now have an internal category. This info will also be added to the wiki. The categories are a change to allow
    some other features to be added in the future. The categories are not final and may still change.

Sphere Local Region

  • Sphere Local Regions are now available. The sphere is defined by the center and the radius. The radius can either be
    defined by a BlockPos or the radius size. Note that the radius is not counting the center block. Because of this, it
    is only possible to create spheres with an odd diameter.
  • A sphere with radius 0 will only cover the center block.
  • Add commands to create a Sphere Local Region:
    • /wp local <dim> create <region-name> Sphere <center-pos> <radius-pos> [<parent-region>]
    • /wp local <dim> create <region-name> Sphere <center-pos> <radius> [<parent-region>]
  • You can change the area type of the region area at any time from a Cuboid to a Sphere and back.
  • Support to create Spherical Regions with the RegionMarker will be added soon

Config

  • yawp-common.toml - Add new permission config:
    • allow_region_tp - Decides whether teleporting inside/outside a region is allowed for everyone. Useful when using
      Waystones in regions for example.
    • disable_cmd_for_non_op. Defines whether mod commands are disabled for non-OP players. This is useful when you want
      to use the mod only for OPs or players which have their UUID entry in the config. Enable this if you don't want the
      YAWP command to be seen by non-permitted users.
    • hierarchy_ownership: Defines whether the region hierarchy should be considered for region ownership. If enabled,
      ownership of parent regions will automatically (implicit) apply to child regions. By default, this is set to true.
  • yawp-flags.toml - Add new flag configs:
    • remove_entities_for_spawning_flags: Toggles the de-spawning of entities when using the spawning-* flags.
  • break_flag_entities and break_flag_entity_tags are now also used for the place-blocks flag.

Global Region

  • The Global Region has the same properties as the Dimensional Regions but is not limited to one dimension. It is the
    parent region of all Dimensional Regions and considered everywhere for flag checks.
  • Add new commands for management of the Global Region:
    • /wp global info.
    • /wp global clear flags|players|teams|group.
    • /wp global add player|team|flag.
    • /wp global remove player|team|flag.
    • /wp global list flag|region-flag|group|dim.
    • /wp global state alert|enable.
    • /wp global reset.
    • /wp global ...
  • Add interactive CLI support for the Global Region

API

  • Add FlagCheckEvent. This event is fired before a flag is checked. It can be canceled and in the progress can be used
    to cancel the flag check entirely.
  • Add FlagCheckResult...
Read more