Xenofactions-2.1.9YesEarthMaps.jar
Curse Maven Snippet
What's new
# Pull request: complete the Earth Map pack installer and bundled release workflow
- Renamed and expanded the dimension-0 world type to `earthmap`, added its Singleplayer customization and asynchronous create/install flow, and retained non-generating missing-chunk and profile-border behavior.
- Added the secure, hashed `.xfmap` repository, bundled cache, verifier, cancellation-safe installer, template `level.dat` patcher, local/external provider support, and content-mod compatibility checks.
- Added deterministic Python map-pack tooling and tests, opt-in bundled-release Gradle tasks, private map input documentation, and full user/operator/format documentation without committing map binaries.
# Pull request: add template-backed XenoFactions Earth world type
- Registered the `xf_earth` dimension-0 world type and a non-generating missing-chunk fallback for externally exported WorldPainter Anvil saves.
- Added validated, save-cached Earth profiles, startup adoption checks, profile-backed reuse of the existing border, operator status/check commands, localization, configuration, and installation documentation.
- Kept Earth in the ordinary overworld without a custom dimension or world provider and without bundling map binaries.
# Pull request: add faction creation cooldown reset command
- Added the admin-only `/xcfactiontimeoutcreationreset <playername>` command to reset only one online or stored offline player's faction creation cooldown with immediate persistence.
# Pull request: rebuild territory after City Center relocation
- City Center relocation now rebuilds the city's circular territory around the destination and removes stale territory around the old center.
# Pull request: remove orphaned City Centers safely
- Orphaned City Centers left behind by disbanded factions can now be broken and removed without dropping a City Center item or starting relocation.
# Pull request: prevent relocated City Center GUI crashes
- Changed the slotless City Center interface into an informational screen so opening it no longer replaces the player's active inventory container or crashes after relocation.
- Made successful relocation token consumption clear and immediately synchronize the authorized server inventory slot, without consuming tokens for failed moves.
# Pull request: configurable development identity and cooldown administration
- Added centralized `AUTO`/`UUID`/`NAME` faction identity resolution while retaining UUID-secure packaged online production behavior.
- Added stable `devUsername`/`devUuid` client properties and documented GTNH/RFG development launch behavior.
- Added `/xc clearcreationcooldown <player-or-uuid>` and its reset alias with offline lookup, ambiguity protection, completion, and immediate persistence.
- Made creation cooldown lookup and expired-entry cleanup follow the effective identity mode.
## Safe two-phase City Center relocation
- Replaced normal owner City Center breaking with an owner-only confirmation popup and persistent, server-authoritative pending relocation. The old center and claims remain active until an atomic placement succeeds.
- Added stable city UUIDs, bound/recoverable relocation tokens, same-dimension and full-radius validation, protected-zone/city collision checks, rollback, preserved tile inventory and city level/name, guarded old-block removal, and translated faction homes.
- Guaranteed that a faction with zero live cities may found its first settlement for zero Prestige and without spare upkeep capacity; normal settlement upkeep is still added after placement.
- Added `/c city cancelmove` and `/c city recovermove` to command help, completion, command GUI data, and documentation.
## Build grace home validation, city Prestige scaling, and regular disband penalties
- Added server-side build grace home validation so `/c gracebuild` requires an explicitly set faction home that still resolves to owned faction territory, and active grace ends when that home claim is lost or transferred.
- Corrected City Center founding cost scaling to use the current distinct owned city count instead of stale historical `citiesFounded` data, with city removal and transfer paths reconciling ownership.
- Finished regular `/c disband <faction name>` for faction leaders and added UUID-backed faction creation cooldown persistence: 7 real days for the disbanding leader and 3 real days for other current members, blocking only faction creation.
## Fix NEI machine page text layout
- Moved selected machine NEI information text below the item row while preserving slot, arrow, recipe, usage, catalyst, and machine value behavior.
- Trimmed below-row machine information to avoid the NEI side controls and kept Foundry and Stone Drops layouts unchanged.
## Fix NEI machine handler reflection constructors
- Split the shared Xenofactions machine NEI implementation into public per-category handlers with zero-argument constructors so GTNH NEI can recreate registered handlers reflectively during recipe and usage lookup.
- Kept the shared machine recipe behavior, overlay identifiers, catalysts, rendering, copied `ItemStack` handling, and Stone Drops NEI handler behavior intact.
## Fix NEI machine handler compile error
- Added explicit braces to the machine NEI recipe loading control flow to prevent dangling `else` binding in Foundry Casting and Fishing Net lookups.
- Preserved existing Blast Furnace, Foundry, Fishing Net, Windmill, and Stone Drop NEI display behavior.
## Remove Stone Drops NEI crafting grid background
- Replaced the inherited vanilla crafting table recipe background on Xenofactions Stone Drops NEI pages with a texture-free custom slot-and-arrow background.
- Applied the same explicit background to the custom Xenofactions machine NEI handler that also inherited the unrelated vanilla crafting table texture.
## Optional Not Enough Items integration
- Added development-only Not Enough Items and CodeChickenCore dependencies through GTNH Convention's non-publishable configuration while preserving the existing `devmods` remapping flow.
- Added an optional, client-only NEI integration entry point and a Xenofactions stone-drop recipe/usage category.
- Added server-authoritative stone-drop display snapshot synchronization for multiplayer NEI displays.
- Added the `enableNEIIntegration` module option and documented the new configuration key.
# Xenofactions command GUI and first-join tutorial
- Added a client-side Xenofactions command GUI with category navigation, command search, command preview, dangerous-command confirmation, Open in Chat, and Copy Usage actions.
- Added a configurable `Open Xenofactions Menu` key binding in the Xenofactions controls category, defaulting to `K`.
- Added server-backed menu data packets for safe dynamic command options and operator/TDM/config availability.
- Added a first-join tutorial explaining the GUI, dynamic forms, command preview, server-side permission validation, and continued support for legacy slash commands.
- The tutorial completion flag is stored exactly at `new File(Minecraft.getMinecraft().mcDataDir, "tutorialflag")`, outside the `config` directory and without an extension.
- Legacy commands remain supported and server permissions remain authoritative; the GUI sends commands through the normal chat command path.
# Enemy faction relations and Prestige rewards
- Added persistent one-way enemy faction relations using faction UUIDs, with `/enemy <faction>` and delayed `/unenemy <faction>` commands for leaders.
- Added configured Prestige rewards for killing active enemy faction members.
- Updated nameplates so own/allied/enemy/neutral factions render green/blue/red/yellow.
This mod has no additional files

