Skip to content

Releases: HyperSystemsDev/HyperFactions

HyperFactions v0.8.1

17 Feb 20:58

Choose a tag to compare

[0.8.1] - 2026-02-17

Server Version: 2026.02.17-255364b8e

Fixed

  • Map GUI crash: Fixed NoSuchMethodError on PacketHandler.write(Packet[]) — changed to ToClientPacket[] for server compatibility
  • World map generator: Fixed generator not being set on live worlds added after startup
  • Server version warning: Manifest now specifies target server version (prevents PluginManager "does not specify a target server version" warning)

Added

  • Centralized player resolution (PlayerResolver): Unified player name lookup used across all commands and GUIs — resolves online players, then faction member records, then PlayerDB API as fallback
  • Offline player support: Treasury transfer search, /f who, /f power, and admin commands now resolve offline players via faction member records and PlayerDB
  • Search debounce: Treasury transfer search waits 500ms after last keystroke before searching to avoid spamming PlayerDB API
  • PlayerDB integration: New PlayerDBService utility for looking up any Hytale player by username (5-minute TTL cache, min 3-char query for API calls)
  • Debug logging: Added diagnostic logging to player connection, online player search, world map setup, and world map generation

Changed

  • Target-aware build: Compile against release or prerelease server JAR via -PhytaleTarget Gradle flag

HyperFactions v0.8.0

17 Feb 00:37

Choose a tag to compare

Closes: #30, #31, #32, #34, #36

Added

Help Center Redesign

  • Guide-first help GUI: Complete rewrite of the help system from command-dump format to conceptual guides with commands woven in contextually
  • Wide sidebar layout (750x650): Colored category sidebar with 7 topic categories, scrollable card-based content area replacing the old flat list
  • 7 help categories: Welcome (cyan), Your Faction (green), Power & Land (gold), Diplomacy (blue), Combat & Safety (red), Economy (orange), Quick Reference (gray) — each with unique accent color on sidebar
  • 22 guide-first topics: Organized into conceptual guides that teach game mechanics with commands referenced in context, rather than raw command lists
  • Typed content entries: New HelpEntry record with 5 entry types (TEXT, COMMAND, TIP, HEADING, SPACER) replacing fragile string-based line type detection
  • i18n foundation (HelpMessages.java): All help content uses message key lookups (HelpMessages.get("help.welcome.title")) — hardcoded English now, locale file loading in the future
  • Deep-linking support: /f <command> help opens directly to the relevant category (e.g., /f claim help opens Power & Land)
  • Card-based topic rendering: Dark background cards with teal titles, body text, yellow command callouts, green tips, and teal sub-headings
  • All 43 commands verified: Quick Reference section verified against actual command implementations with correct syntax and permission requirements
  • Deleted 8 obsolete UI templates, added 5 new templates (topic card, line text, line tip, line heading, spacer)

Faction Treasury & Economy System (#36)

  • Treasury page (/f treasury): Full GUI with balance display, deposit/withdraw buttons, transfer system, transaction log, and treasury settings — accessible from the faction nav bar
  • Deposit/Withdraw modals: Amount input with live preview, fee calculation display, and balance validation via VaultUnlocked player wallets
  • Transfer system: Search factions by name, confirm transfer with fee preview, complete inter-faction treasury transfers
  • Treasury settings page: Officers can configure deposit/withdraw limits, toggle auto-pay upkeep, and view fee rates
  • Transaction log: Scrollable history of all treasury activity (deposits, withdrawals, transfers, admin adjustments) with timestamps and actor names
  • Economy CLI commands: /f balance, /f deposit <amount>, /f withdraw <amount>, /f money for quick treasury access without GUI
  • Admin economy page (/f admin economy): Server economy overview with total balance, faction count, average balance stats, and sortable/searchable faction treasury list with per-row Adjust and Info buttons
  • Admin economy adjust modal: Set exact balance or add/deduct amounts with live preview, faction info card, and error display
  • Admin economy CLI (/f admin economy <balance|set|add|take|total|reset> ...): Full console-compatible treasury management
  • Economy stats on admin dashboard: Total economy, wealthiest faction, and average balance cards (conditionally visible when economy enabled)
  • Economy stats on faction dashboard: Treasury balance, next upkeep, and personal wallet cards (conditionally visible)
  • Treasury info on admin faction info page: Balance display in stats grid, "Adjust Balance" and "View Treasury" quick action buttons in Economy Management section
  • Treasury balance on faction info page: Gold-colored treasury card visible to all players when economy is enabled
  • Economy configuration (economy.json): Starting balance, treasury limits (deposit/withdraw min/max/daily), transfer fees, upkeep settings, fee rates
  • VaultUnlocked integration: Player wallet operations (balance check, deposit, withdraw) via VaultUnlocked economy API
  • Faction permissions for economy: DEPOSIT, WITHDRAW, TRANSFER, MANAGE_TREASURY permission flags per role
  • hyperfactions.admin.economy permission node for admin economy operations
  • ECONOMY debug category with Logger.debugEconomy() — togglable via /f admin debug toggle economy and debug.json config
  • UiUtil shared utility class for CustomUI text sanitization and amount parsing

Player Info & Membership History (#32)

  • Player info page (/f who [player]): Full GUI page with faction membership, power stats, combat stats (kills/deaths/KDR), and membership history
  • Membership history tracking: Records all faction joins, leaves, kicks, and disbands with timestamps, highest role achieved, and leave reason
  • Player data expansion: New PlayerData model with firstJoined, lastOnline, kills, deaths, username caching, and membership history — backwards-compatible with existing player JSON files
  • "View Profile" button on members page to navigate to player info
  • /f admin clearhistory <player> command to clear a player's membership history
  • Upgrade migration: Existing faction members automatically get an active membership record on first startup, using their actual faction join date and current role
  • First joined / last online tracking displayed on the player info page header
  • maxMembershipHistory config option (default: 10) to cap history records per player

Admin Power Management (#34)

  • Admin power command (/f admin power): Full admin control over player power — set, adjust, reset, per-player max override, power loss bypass, claim decay exemption
  • Admin Player Info page: GUI page accessible from admin member list with power controls, bypass toggles, and kick/promote/demote actions
  • Faction bulk power operations: Reset All / +/-1/5 All buttons on AdminFactionInfoPage
  • ADMIN_POWER log type for faction activity logs
  • hyperfactions.admin.power permission node

Terrain Map Mode (#30)

  • Terrain map mode for territory GUI: Territory map now renders actual terrain imagery behind claim overlays using ChunkWorldMap, making it much easier to orient yourself and identify terrain features when claiming (rivers, biomes, elevation)
  • Dynamic terrain image asset delivery via ChunkMapAsset — generates a composite PNG from chunk world map data and sends it to the player's client at runtime
  • Static placeholder Map.png sent immediately on page open, with terrain loading asynchronously in the background
  • Semi-transparent claim color overlays on top of terrain: own (green), ally (blue), enemy (red), other (gold), safe zone (teal), war zone (purple), wilderness (transparent)
  • Clickable cells for claim/unclaim actions in terrain mode (officers only)
  • Centered "+" player marker via dedicated chunk_map_marker.ui template
  • Compact 2-row legend showing all territory types and player marker
  • terrainMapEnabled config toggle in GUI section (default: true) — set to false to revert to the flat colored grid

Admin GUI Improvements

  • Admin players page (/f admin players): New admin page for browsing all known server players with search, sort (Name/Faction/Power/Last Online), expandable entries with power stats, faction membership, and quick actions (View Profile, View Faction, Teleport)
  • Admin search on all list pages: Added search bars to admin factions, admin faction members, and admin zones pages matching the faction browser search pattern
  • Admin zone sort dropdown: Zones can now be sorted by Name, Type, Chunks, or World (previously name-only)
  • Admin faction members overhaul: Upgraded from read-only list to full admin tool with search, sort dropdown (Role/Online/Name/Power), pagination (8 per page), and 700x500 container matching the admin factions page layout
  • getAllPlayerUuids() storage method for admin player list enumeration

Relations Redesign

  • Relations page redesign: Merged three tabs (Allies/Enemies/Pending) into two tabs (Relations/Pending) with collapsible row entries showing faction name, leader, relation badge, member count, power stats, and inline quick actions (View, Set Neutral, Set Enemy, Request Ally, Accept, Decline, Cancel)

Faction-Aware Map & Compass Visibility (#31)

  • Player visibility filtering on world map and compass: Only faction members and allies are visible by default — enemies, neutrals, and factionless players are hidden from the map and compass
  • Configurable per-relation visibility: showOwnFaction, showAllies, showNeutrals, showEnemies, showFactionlessPlayers, showFactionlessToFactionless in worldmap.json under playerVisibility
  • Master toggle (playerVisibility.enabled) to disable filtering entirely (vanilla behavior: all players visible)
  • hyperfactions.bypass.mapfilter permission — player can see all others on map regardless of faction filter
  • hyperfactions.bypass.mapvisibility permission — player is always visible to everyone on the map
  • Filters update automatically on faction join/leave/kick/disband and relation changes

Fixed

  • Zone power loss flag ignored on deathPlayerDeathSystem passed already-converted chunk coordinates to getZoneAt() (which expects world coordinates), causing a double conversion that looked up the wrong chunk. Zone flags like power_loss=false were never applied. Changed to getZone() which accepts chunk coordinates directly.
  • Zone flags reset on server restart: WarZone migration code ran on every startup and unc...
Read more

HyperFactions v0.7.4

15 Feb 04:30

Choose a tag to compare

Added

  • power_loss zone flag: Controls whether players lose faction power on death in a zone (default: false for both SafeZone and WarZone — no power loss in admin zones)
  • Config migration v4→v5: Removes deprecated warzonePowerLoss config option (replaced by per-zone power_loss flag)
  • Zone settings GUI now shows Power Loss toggle in the Death category
  • HytaleNative permission provider: Automatic compatibility with any permission plugin that registers with Hytale's native PermissionsModule (LuckPerms, PermissionsPlus, etc.)
  • LuckPerms permission discovery: All 53 HyperFactions permission nodes register with LuckPerms' PermissionRegistry on boot for web editor autocomplete
  • Lazy initialization for permission providers: LuckPerms and VaultUnlocked providers now retry initialization on first use if they failed at startup
  • Integration detail commands: /f admin integration luckperms, vaultunlocked, and native now provide detailed status
  • Console support for admin commands: All admin commands that don't require player context now work from the server console
  • LuckPerms and VaultUnlocked declared as SoftDependencies in manifest.json

Fixed

  • Fluid protection via interaction codecs: Liquid placement and fluid pickup now blocked in protected zones and faction territory via PlaceFluid and RefillContainer codec replacements (no mixin dependency)
  • WarZone denial message: Zone-denied actions in WarZones now show "You cannot do that in a WarZone." instead of the generic fallback
  • LuckPerms prefix/suffix not showing in chat: Lazy init ensures the LuckPerms provider retries on first chat message when LuckPerms is loaded
  • VaultUnlocked provider using wrong class paths: Corrected class paths, method names, and Optional unwrapping
  • Admin commands crashing on world thread assertion: Restructured to dispatch player commands back to world thread
  • WiFlow PlaceholderAPI NoClassDefFoundError: Wrapped in try-catch for NoClassDefFoundError
  • PermissionRegistrar silent failure: Changed to private field access for LuckPerms plugin field
  • World-specific permissions not working with HyperPerms: HyperPermsProviderAdapter now calls context-aware hasPermission with auto-resolved player contexts

Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md

HyperFactions v0.7.3

13 Feb 22:48

Choose a tag to compare

Fixed

  • Startup crash when GravestonePlugin is outdated: GravestoneIntegration.init() threw NoSuchMethodError when an older Gravestones version was installed without the v2 API (getInstance()). Now catches LinkageError (covers both missing plugin and missing methods) so HyperFactions starts cleanly regardless of Gravestones version.

HyperFactions v0.7.2

12 Feb 04:19

Choose a tag to compare

[0.7.2] - 2026-02-11

Added

Integration Flags GUI Sub-Page

  • New Admin Zone Integration Flags page for configuring integration-specific zone flags
  • Accessible via "Integration Flags" button in Zone Settings footer
  • Shows gravestone_access flag with clear description
  • Dedicated Reset to Defaults button (only clears integration flags)
  • Integration flags disabled with "(no plugin)" indicator when not installed

Expanded Admin Integrations Command

  • /f admin integrations now shows all 7 integrations organized by category
  • /f admin integration <name> detail views for all integrations

Fixed

  • GUI crash on promotion: Players with the faction GUI open would crash when another player promoted/demoted a member, due to stale ActivePageTracker entries
  • World map empty after teleport: Batch refresh was using nuclear wipe instead of surgical chunk invalidation
  • Placeholders not resolving for factionless players: Both PAPI and WiFlow expansions returned null instead of empty defaults
  • Set Relation search interrupting typing: Modal reopened on every keystroke instead of using partial updates

GravestonePlugin Integration

Note: The gravestone integration requires a new release of GravestonePlugin that includes the v2 API with AccessChecker and events. This is pending review in zurkubusiness/gravestones#2. Until that PR is merged and released, the integration will detect the plugin but the AccessChecker will not be registered.

  • Reflection-based soft dependency on Zurku's GravestonePlugin for faction-aware gravestone protection
  • Faction-aware access control for gravestone break and collection events
  • Admin bypass and hyperfactions.gravestone.bypass permission support
  • Death location announcements for faction members
  • New /f admin gravestone command and config/gravestones.json module config

Changed

  • Zone flag gravestone_access display name changed to "Others Loot Graves" for clarity
  • Placeholder expansions (PAPI + WiFlow) now return empty strings/defaults for factionless players instead of null

HyperFactions v0.7.1

09 Feb 01:18

Choose a tag to compare

What's New in 0.7.0 → 0.7.1

Added

Faction & Alliance Chat Overhaul (0.7.1)

  • Persistent chat history with per-faction JSON storage and debounced disk writes
  • Chat history GUI page with Faction/Ally tabs, scrollable message list, and send-from-GUI input
  • Toggle-only chat command: /f c cycles modes, /f c f, /f c a, /f c off
  • Configurable colors and prefixes per channel in config/chat.json
  • Ally tab merges all allied faction messages into a chronological timeline
  • Automatic retention cleanup and real-time GUI push for new messages

Dashboard Chat Mode Button (0.7.1)

  • Unified chat toggle replacing separate F-Chat/A-Chat buttons
  • Cycles Public → Faction → Ally with color-coded labels

Server-Wide Faction Announcements (0.7.0)

  • Broadcasts for faction creation, disbands, leadership transfers, overclaims, wars, and alliances
  • Per-event toggles in announcements.json

Create Faction Page Redesign (0.7.0)

  • Single two-column wizard with preview, color picker, and permission defaults

Permission-Based GUI Filtering (0.7.0)

  • Nav bar, dashboard buttons, and action buttons auto-hide when the player lacks permission

Real-Time GUI Updates (0.7.0)

  • All GUI pages refresh automatically when data changes (claims, members, relations, invites)

PlaceholderAPI & WiFlow Integration (0.7.0 + 0.7.1)

  • 30+ placeholders for scoreboards, holograms, and menus
  • Refactored for cleaner resolution and consistent null handling

Other Additions

  • GUI map player position now shows "+" marker instead of solid white cell
  • Configurable allowWithoutPermissionMod for servers without a permission plugin
  • Backup retention with automatic cleanup
  • Admin faction list quick-action buttons (Members, Settings)

Changed

  • Chat command no longer supports one-shot /f c <message> (use toggle mode)
  • War zone color changed from red to purple on GUI maps
  • Non-faction players now see the correct new player nav bar
  • Admin faction settings unified with normal settings layout
  • GUI button styles migrated to custom $S.@ButtonStyle, ALL CAPS → Title Case

Fixed

  • Shadow JAR clobbering in multi-project builds
  • Overclaim/teleport messages now use configured prefix
  • Faction member events properly published for promote/demote
  • Non-faction nav bar routing

Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md

HyperFactions v0.7.0

08 Feb 05:22

Choose a tag to compare

Closes Issues

  • #7 — Announcement system for major faction events
  • #16 — Add data import from ElbaphFactions
  • #18 — Integrate with Better Scoreboard for faction placeholders
  • #22 — Hide GUI buttons when player lacks permission
  • #23 — Add Placeholders for scoreboards, holograms, and menus

Added

Server-Wide Faction Announcements

  • New announcements.json module config with master toggle and per-event toggles
  • Broadcasts to all online players for: faction created/disbanded, leadership transfer, overclaim, war declared, alliance formed/broken
  • Admin actions and auto-disbands do not trigger announcements

Create Faction Page Redesign

  • Single two-column page with preview card, name/tag/description inputs, color picker, territory permission toggles, and PvP toggle

Permission-Based GUI Filtering

  • Nav bar entries and action buttons respect server permissions

Real-Time GUI Updates

  • GUI pages refresh automatically when data changes (members, relations, claims, invites)

PlaceholderAPI Integration

  • Soft dependency on PlaceholderAPI and WiFlow PlaceholderAPI for scoreboards and chat

ElbaphFactions Data Importer

  • Import factions, claims, and zones from ElbaphFactions

Configuration

  • allowWithoutPermissionMod boolean for servers without a permission mod
  • Configurable faction permissions with lock/override support (config v3→v4 migration)
  • Configurable backup retention, combat tag duration, power gain/loss

GUI Map Improvements

  • Player position shows white "+" marker overlaid on chunk color

Changed

  • Admin faction settings layout unified with boxed sections
  • GUI Native UI Audit: custom button styles, Title Case text, cleaned up styles.ui
  • War zone color changed from red to purple on all GUI maps
  • Non-faction players now see the new player nav bar on shared pages

Fixed

  • Overclaim notification and teleport messages use configured prefix instead of hardcoded "HyperFactions"
  • Faction member events properly published for promote/demote
  • Non-faction players seeing wrong nav bar

Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md

HyperFactions v0.6.2

05 Feb 06:04

Choose a tag to compare

Delete Faction Home

  • New /f delhome command to delete faction home location
  • New hyperfactions.teleport.delhome permission node
  • DELETE button in faction settings GUI (General tab, Home Location section)
  • Button automatically disabled when no home is set (same for TELEPORT button)

World Map Configuration

New options in config/worldmap.json:

  • showFactionTags - Hide faction tags on the in-game world map while keeping faction color overlays visible (closes #6)
  • refreshMode - Control when world map tiles are regenerated:
    • proximity (default) - Only refreshes for players within range of claim changes. Best for most servers.
    • incremental - Refreshes specific chunks for all players. Good balance of performance and consistency.
    • debounced - Full map refresh after a quiet period (5s default). Use if incremental causes issues.
    • immediate - Full map refresh on every claim change. Original behavior, not recommended for busy servers.
    • manual - No automatic refresh. Use /f admin map refresh to update manually.
  • Configurable batch intervals and chunk limits per mode
  • Auto-fallback option if reflection errors occur

Configuration

  • Configurable message prefix via messagePrefix in config.json (default: "[HyperFactions]")
  • Migration backups now use ZIP format for better compression and organization

Removed

  • Removed dead code: FactionSettingsPage.java, FactionSettingsData.java, faction_settings.ui (replaced by tabbed settings system)

Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md

HyperFactions v0.6.1

05 Feb 01:59

Choose a tag to compare

What's New

Update System Enhancements

  • Pre-update data backup: Automatically creates a full backup of configs and data before downloading updates
  • Old JAR cleanup: Removes old .jar.backup files during updates, keeping only the version being upgraded from for rollback
  • New /f admin rollback command to revert to previous version before server restart
  • Rollback safety detection: Blocks automatic rollback after server restart (when migrations may have run)

Bug Fixes

Zone Protection

  • Factions can no longer claim SafeZone or WarZone chunks (security fix)

Permission System

  • Fixed wildcard permission expansion: hyperfactions.teleport.* now properly grants home, sethome, stuck
  • Fixed root wildcard: hyperfactions.* now grants all faction permissions
  • hyperfactions.use no longer grants all user-level actions (now only grants /f command and GUI access)
  • Fixed documentation: fallbackBehavior default is "deny", not "allow"

Changes

  • ClaimManager now receives ZoneManager reference for zone protection checks
  • PermissionManager checks category wildcards before falling back to defaults

Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md

HyperFactions v0.6.0

04 Feb 07:11

Choose a tag to compare

Breaking Changes

New Optional Dependencies for Full Protection

HyperFactions now integrates with OrbisGuard-Mixins for enhanced protection coverage. While HyperFactions works without these, some zone protections require the mixin system:

  • Hyxin - Mixin loader (enables protection hooks)
  • OrbisGuard-Mixins - F-key pickup, keep inventory, invincible items

Installation for Hyxin + OrbisGuard-Mixins:

  1. Create an earlyplugins/ folder in your server directory
  2. Place Hyxin and OrbisGuard-Mixins JARs in earlyplugins/ (NOT mods/)
  3. Add --accept-early-plugins to your server start script

Additional Recommended Dependencies:

Added

  • OrbisGuard-Mixins Integration - F-key pickup, keep inventory, invincible items protection
  • New Zone Flags - item_pickup_manual, invincible_items, keep_inventory, npc_spawning
  • Zone Type Change - Convert SafeZones to WarZones and vice versa
  • Redesigned Create Zone Wizard - 5 claiming methods, radius presets, live preview
  • Mob Spawn Suppression - Native integration with Hytale's SpawnSuppressionController
  • Overclaim Alerts - Real-time notifications when territory is overclaimed

Changed

  • WarZone color changed to red for better visual distinction
  • SafeZone defaults: auto pickup ON, F-key pickup OFF, keep inventory ON
  • Zone flag categories reorganized for better UI organization

Full Changelog: https://github.com/HyperSystemsDev/HyperFactions/blob/main/CHANGELOG.md