Skip to content

Releases: SvinPepe/opac-warfare

2.0.0

Choose a tag to compare

@github-actions github-actions released this 31 Oct 12:08

What's Changed

  • feat(1.21.1): release 2.0.0 (opac-warfare & opac-better-protection) by @SvinPepe in #8

Full Changelog: 1.6.7.2...2.0.0

1.6.7.2 (Minecraft 26.1 / 26.2)

Choose a tag to compare

@SvinPepe SvinPepe released this 01 Oct 16:46

Official release of Open Parties and Claims: Warfare ported for Minecraft 26.1 and 26.2 on NeoForge 26.1.2.112+ using Java 25.

Key Changes & Migrations for Minecraft 26.1+

  • Platform & Runtime Baseline: Updated build toolchain to Java 25 and NeoForge \26.1.2.112\ (supporting [26.1,26.3)\ and NeoForge [26.1.0,26.3)).
  • Core / Identifier Migration: Migrated from legacy \ResourceLocation\ to modern \Identifier\ across networking payloads, registries, commands, and configs.
  • Environment & Lifecycle: Migrated \FMLEnvironment.dist\ to \FMLEnvironment.getDist().
  • Boss Event & GUI Engine:
    • Updated bossbar instantiation for 26.1 (\ServerBossEvent\ with UUID).
    • Migrated screen and HUD rendering pipelines to \GuiGraphicsExtractor\ (\extractRenderState, \ ext(...), \centeredText(...)).
  • Key Mappings: Migrated keybind registration to \KeyMapping.Category\ records and \RegisterKeyMappingsEvent.registerCategory(...).
  • NBT & Block Handling: Adapted NBT reading to 26.1 sealed \NumericTag\ / \LongTag\ APIs and \Optional\ CompoundTag accessors.
  • Compat Modules:
    • \customclaims-create: Create 6.0+ compat updated for 26.1.
    • \customclaims-big-cannons: CBC compat updated for Java 25 and Create 6.0 type bindings.
    • \customclaims-aeronautics: Aeronautics/Offroad bore mining protection preserved.
    • \customclaims-xaero: Fair-play HUD overlay and map war-start requests fully adapted to 26.1 client rendering.

Compatibility

  • Target Minecraft versions: \26.1, \26.2\ ([26.1, 26.3))
  • NeoForge: \26.1.2.112+\ ([26.1.0, 26.3))
  • Java: \25+\
  • For Minecraft 1.21.x servers, use the \1.6.7.2\ (Minecraft 1.21.x) release.

1.6.7.2 (Minecraft 1.21.x)

Choose a tag to compare

@SvinPepe SvinPepe released this 01 Oct 09:58
17e1cee

1.6.7.2

Hotfix for Minecraft 1.21.x branch — prevents startup crash when attempting to load on Minecraft 26.1.

Fixed

  • Narrowed \minecraft_version_range\ to [1.21.1,26.0)\ and
    eo_version_range\ to [21.1.232,26.0). Minecraft 26.1 renamed \ResourceLocation\ to \Identifier\ and removed \FMLEnvironment.dist, making the 1.21.x jar binary-incompatible. NeoForge will now correctly refuse to load the 1.21.x jar on 26.x and display a clean \Missing dependency\ message rather than crashing.

Notes

  • This jar supports Minecraft 1.21.1 – 1.21.11 / NeoForge 21.1.232 – 25.x.
  • For Minecraft 26.1 / 26.2 support, a separate 26.x port is in progress and will be released as a distinct artifact.

1.6.7.1

Choose a tag to compare

@SvinPepe SvinPepe released this 30 Sep 15:47
82a5e80

Changed

  • Updated the mod version to 1.6.7.1.
  • Updated Minecraft version metadata to [1.21.1,) to add support for Minecraft 1.21.11+ and subsequent releases under the new versioning system.
  • Updated NeoForge version metadata to [21.1.232,) to remove obsolete assumptions about hypothetical 1.22/1.23 release numbering and the outdated 27.0 ceiling.
  • Updated compatibility, development, and administration documentation to align with current versioning.

1.6.7

Choose a tag to compare

@SvinPepe SvinPepe released this 05 Sep 15:51

Added

  • Added configurable contested-war entity interaction exceptions through entity_interaction.contested_exceptions.
  • Added corpse:corpse as the default exception, allowing attacking and defending war participants to right-click Corpse entities in the target entity's contested chunk without OPaC blocking the interaction.
  • Added support for additional exact namespace:path entity IDs; setting the list to [] disables the feature.

Changed

  • Entity interaction exception checks now use the target entity's chunk and the current config value, so config reloads take effect immediately.
  • Eligible interactions reuse the existing temporary OPaC full-pass mechanism and clear it on the next server tick.

Notes

  • Corpse remains an optional dependency; the default corpse:corpse entry is harmless when Corpse is not installed.
  • The exception applies only to attacking and defending participants in an active contested chunk. Outsiders, peaceful claims, unclaimed chunks, and finished wars keep normal OPaC behavior.
  • Corpse ownership and access restrictions are still respected.
  • Other mods' canceled interaction events are not uncanceled.
  • Attacking an entity does not grant the bypass.

1.6.6

Choose a tag to compare

@SvinPepe SvinPepe released this 10 Aug 13:59

Added

  • Configurable global war lifecycle notifications and bossbars.
  • Configurable global Xaero war-marker visibility for compatible clients.

Changed

  • War lifecycle notifications, active/preparing-war bossbars, and Xaero markers now broadcast to all eligible online players by default.
  • Server owners can disable the global defaults to restore side, administrator, and radius-based visibility filtering.
  • Removed CustomClaims storage-specific protection so vanilla and Open Parties and Claims remain authoritative for storage access.
  • Relaxed Wither and villager protection defaults; they remain configurable opt-ins.

Notes

  • Global Xaero markers share active/preparing war metadata only; they do not expose a global claim-owner map.
  • Tested baseline: Minecraft 1.21.1 + NeoForge 21.1.232.

1.6.5

Choose a tag to compare

@SvinPepe SvinPepe released this 15 Jul 13:14

1.6.5

Added

  • Added persistent side-based attack and defense cooldown windows for war declarations.
  • Added configurable attack/defense cooldown durations and per-role target-chunk limits.
  • Added war/side-cooldowns.dat to persist cooldown windows and consumed slots across restarts.

Changed

  • Disabled daily outgoing and incoming war limits by default while keeping them available as optional additional quotas.
  • Replaced chunk-level post-war protection with defender-side protection that applies to all claims owned by that side.
  • Replaced max_active_wars_per_party with role-specific cooldown chunk limits and prevented a side from attacking while defending or defending while attacking.

Notes

  • The first successful declaration starts fixed windows: 2 hours for the attacker and 1 hour for the defender by default.
  • Later successful starts consume slots without extending the window; a duration of 0 disables only the timed quota, not the concurrent-war chunk limit.

1.6.4

Choose a tag to compare

@SvinPepe SvinPepe released this 13 Jul 21:39

1.6.4

Added

  • Added a separate /claimrules assembly rule for Create and optional Sable contraption assembly.
  • Added assembly status/toggle permissions and a dedicated Claim Rules GUI control.
  • Added optional Sable 2.0.3 assembly protection compatibility.

Changed

  • Kept /claimrules create for Create and Offroad drills and saws only.
  • Create and Sable assembly now validates all eight source AABB corners when a structure reaches claims; all corners must be peaceful claims of one side with assembly enabled.
  • Fully unclaimed structures remain assemblable, while active contested-war chunks retain their previous behavior.
  • Existing create settings and cooldowns are copied to the new assembly rule on first upgrade.
  • Updated the optional claim-rules GUI protocol to version 2 and documented keybind reassignment through Minecraft controls.

1.6.3

Choose a tag to compare

@SvinPepe SvinPepe released this 09 Jul 15:59

1.6.3

Small balance and compatibility update focused on daily war limits.

Added

  • Daily limit for how many territory fights one attacking side can start.

  • Daily limit for how many incoming territory fights one defending side can receive.

  • New config options:

    • war.daily_start_limit.max_started_chunks_per_attacker_side
    • war.daily_start_limit.max_accepted_chunks_per_defender_side

Changed

  • Updated version to 1.6.3.
  • Expanded metadata for experimental same-jar compatibility beyond the tested 1.21.1 baseline.
  • Updated README and docs for daily war limits and compatibility policy.

Notes

  • Default attacker limit: 5 chunks per day.
  • Default defender incoming limit: 10 chunks per day.
  • Set a limit to 0 to disable it.
  • Daily reset uses the configured raid-window timezone.

1.6.2

Choose a tag to compare

@SvinPepe SvinPepe released this 08 Jul 19:57

1.6.2

Compatibility, release, and usability update focused on Xaero map integration, Aeronautics/Offroad bore protection, documentation, and the single-jar release workflow.

Added

  • Added Xaero World Map right-click support for starting wars at a selected chunk when the player has permission and the target is within the configured distance.
  • Added configurable Xaero map war-start options: xaero_map_war_start.enabled and xaero_map_war_start.max_distance_chunks.
  • Added Aeronautics/Offroad compatibility module for bore/multi-mining protection in protected claims.
  • Added the customclaims_aeronautics module to the bundled opac-warfare distribution jar.
  • Added client keybind support for opening the claim rules GUI. The default key is K in the CustomClaims controls category.
  • Added GitHub Actions build workflow that builds the project and uploads the opac-warfare jar artifact.
  • Added public documentation for architecture, compatibility, configuration, development, and server administration.
  • Added AGENTS.md with project notes for coding agents and future maintenance.

Changed

  • Improved Xaero temporary war waypoint handling with marker refresh tracking, stale waypoint cleanup, dimension filtering, and safer fallbacks when Xaero APIs are unavailable.
  • Updated the README to focus on the public Open Parties and Claims: Warfare install flow and the single opac-warfare server artifact.
  • Documented the one-jar compatibility policy and clarified optional integration behavior.
  • Updated the project version to 1.6.2.

Fixed

  • Improved claim rules GUI opening by adding a dedicated client-to-server payload instead of relying only on commands.
  • Improved Aeronautics/Offroad bore protection safety with guarded reflection and one-time warning logs for unsupported API paths.
  • Improved Xaero war-start error handling so the client receives a clear message when map war start is unavailable.

Notes

  • This release keeps optional integrations safe when the target mods are not installed.
  • Server owners should install the generated opac-warfare-1.6.2.jar together with Open Parties and Claims.
  • Recommended validation command: ./gradlew --no-daemon build :opac-warfare:jar.