Skip to content

Releases: HyperSystemsDev/HyperFactions

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

HyperFactions v0.5.2

03 Feb 17:07

Choose a tag to compare

Fixed

Teleport System Overhaul

  • Fixed warmup teleports not executing (countdown messages worked but teleport never happened)
    • Root cause: Teleport component must be added via targetWorld.execute() on the destination world's thread
    • Changed from new Teleport() to Teleport.createForPlayer() for proper player head/body rotation setup
    • Fixed in all 7 teleport locations

Message Formatting

  • Fixed garbled chat messages showing Ã?§b[HyperFactions]Ã?§r instead of proper colors
    • Changed to proper Message.raw(text).color(hexColor) pattern

Client Crash on /f power

  • Fixed /f power and /f who commands crashing the client
    • Disabled GUI mode, now falls back to text mode until templates are created

Added

Teleport Countdown Messages

  • Warmup teleports now show incremental countdown messages
    • High warmup (30+ seconds): announces at 30, 15, then every second from 10 down
    • Low warmup (under 10 seconds): announces every second

Changed

  • Removed unused TeleportContext.java class
  • Refactored TeleportManager.PendingTeleport to support countdown state tracking
  • /f stuck now uses generic scheduleTeleport() method

HyperFactions v0.5.1

03 Feb 04:13

Choose a tag to compare

Fixed

Debug Toggle Persistence

  • Fixed debug categories not staying disabled after server restart
  • Root cause: applyToLogger() was using enabledByDefault || category logic which re-enabled categories on load
  • Individual category settings now take direct precedence over enabledByDefault
  • enableAll() and disableAll() now properly clear the enabledByDefault flag

Debug Config Defaults

  • All debug categories now correctly default to false on first load
  • Fixed loadModuleSettings() using field values as defaults instead of explicit false

Added

World Map Debug Category

  • New worldmap debug category separates verbose map generation logs from territory notifications
  • Use /f admin debug toggle worldmap on to enable map tile generation logging
  • Use /f admin debug toggle territory on for territory entry/exit notifications only
  • Significantly reduces console spam when debugging territory features

Changed

  • Territory debug now only logs chunk entry/exit notifications
  • World map debug logs all map generation, tile updates, and claim rendering

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

HyperFactions v0.5.0

03 Feb 03:34

Choose a tag to compare

Added

Death Power Loss System

  • Implemented ECS-based PlayerDeathSystem to detect player deaths via DeathComponent
  • Power penalty now correctly applied when players die (was previously orphaned code)
  • Uses Hytale's native ECS pattern (RefChangeSystem<EntityStore, DeathComponent>)

Respawn Handling System

  • Implemented ECS-based PlayerRespawnSystem to detect respawns via DeathComponent removal
  • Combat tag automatically cleared on respawn
  • Spawn protection applied at respawn location (configurable duration)

Claim Decay System

  • New automatic claim decay for inactive factions
  • If ALL faction members are offline longer than decayDaysInactive (default: 30 days), all claims are removed
  • Decay runs hourly via scheduled task
  • Admin commands for decay management:
    • /f admin decay - Show decay system status
    • /f admin decay run - Manually trigger decay check
    • /f admin decay check <faction> - Check specific faction's decay status

Debug Toggle Persistence

  • Implemented /f admin debug toggle <category> [on|off] command
  • Debug category changes now persist to config/debug.json across server restarts
  • /f admin debug toggle shows current status of all 6 categories
  • /f admin debug toggle all enables/disables all categories at once
  • /f admin debug status now shows debug logging status alongside data counts

Zone Rename Modal

  • Admin zone rename UI accessible from AdminZonePage
  • New ZoneRenameModalPage and ZoneRenameModalData classes
  • Zone name input with validation and immediate save

Changed

Config System Restructure

  • Migrated all 31 files from deprecated HyperFactionsConfig.get() to ConfigManager.get()
  • New modular config architecture with ConfigFile, ModuleConfig, and ConfigManager
  • Added validation support with auto-correction for invalid config values

Command Architecture Refactor

  • Split monolithic FactionCommand.java (3500+ lines) into 40+ individual subcommand files
  • New FactionSubCommand base class with shared functionality and permission checks
  • Added /hyperfactions as additional command alias

Fixed

Power Debug Logging

  • Fixed PlayerListener.onPlayerDeath() using wrong logger category (Logger.debugLogger.debugPower)

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

HyperFactions v0.4.3

02 Feb 18:54

Choose a tag to compare

Fixed

In-Game World Map Not Showing Claims

  • Fixed world map claim overlays not appearing on production servers
  • Root cause: setWorldMapProvider() only affects future world loads, not the live WorldMapManager
  • Now calling setGenerator() directly on WorldMapManager to properly register our claim renderer
  • Added auto-recovery if another mod overwrites the generator during runtime

Upgrade: Download the JAR and restart your server, or use /f admin update in-game.

HyperFactions v0.4.2

02 Feb 18:29

Choose a tag to compare

Fixed

Admin Debug Commands

  • Fixed debug commands to be under /f admin debug instead of /f debug
  • Debug subcommands: power, combat, claim, zone, protection

Admin Unclaim All GUI

  • Fixed "unclaim all" in admin factions menu not updating faction's claim count
  • GUI map now correctly shows 0 claims after unclaiming all territory
  • Faction record is now properly updated when bulk unclaiming

Changed

Help GUI Overhaul

  • Added command syntax legend at top explaining <required> vs [optional] notation
  • Restructured command reference with descriptions on separate indented lines
  • Added new description line template for cleaner visual hierarchy
  • Corrected all command syntax to match actual code:
    • /f admin zone create <name> <safe|war> (was <type>)
    • /f admin zone radius <name> <radius> [circle|square] (was <r> [shape])
    • /f admin zone info [name] (was missing entirely)
  • Removed non-existent /f admin bypass command from help
  • Removed non-functional --text flag references from all help content

HyperFactions v0.4.1

02 Feb 17:16

Choose a tag to compare

Fixed

Combat Tagging Restored

  • Fixed combat tagging not working after protection system refactor to ECS-based handlers
    • PvP combat now properly tags both attacker and defender
    • PvE combat (mob damage) now properly tags the player being attacked
  • Added configurable logoutPowerLoss setting for combat logout penalty (default: 1.0)
    • Separate from normal death penalty for finer control
    • Set to 0 to disable combat logout power loss while keeping other penalties

HyFactions Import Map Display

  • Fixed in-game world map not showing imported claims and zones after import
  • Fixed GUI territory map not displaying imported faction claims
  • Import now rebuilds claim index and refreshes world maps after completion

Full Changelog: 0.4.0...0.4.1

HyperFactions v0.4.0

02 Feb 08:00

Choose a tag to compare

Added

Admin GUI System

  • Complete admin interface accessible via /f admin command
  • Dashboard page with server statistics overview
  • Factions management: browse all factions, view details, edit settings
  • Zone management: create, configure, and delete zones with visual map
  • Configuration page for runtime settings adjustment
  • Backups management page (placeholder for future functionality)
  • Help page with command reference
  • Updates page for version information
  • Navigation bar for consistent page switching
  • Admin faction settings now include both general settings and permissions

Admin Mode for Modals

  • Admins can now edit faction settings (name, tag, description, color, recruitment) without being a member
  • All admin actions are prefixed with [Admin] in chat messages

Faction Dashboard Redesign

  • New admin-style info blocks with 6 key statistics:
    • Power (current/max with percentage)
    • Claims (used/max with available count)
    • Members (total with online count)
    • Relations (ally/enemy counts)
    • Status (Open/Invite Only indicator)
    • Invites (sent invites and join requests count)

Leader Leave Flow

  • New leader leave confirmation page with succession information
  • Shows who will become the new leader (highest officer, then most senior member)
  • If no successor available, offers faction disband option
  • Automatic leadership transfer on leader departure

Browser Page Improvements

  • Both faction browsers now use expandable IndexCards pattern (matching admin pages)
  • Expandable entries with faction details and action buttons
  • Improved search and sort functionality

Zone Import Improvements

  • ZoneFlags.getDefaultFlags() helper method for importing zones
  • Zones imported from mods without flag systems now get proper defaults
  • Import validation report for HyFactions importer

Changed

Protection System Reorganization

  • Reorganized protection code into logical subdirectories
  • Moved SpawnProtection and ProtectionListener into protection package

Logging Improvements

  • Converted verbose zone lookup logs to debug level
  • Converted GUI build/event logs to debug level
  • Converted world map provider logs to debug level

Nav Bar Role-Based Filtering

  • Invites button now only visible to officers and leaders
  • FactionPageRegistry now supports minimumRole for page visibility

Fixed

Search Not Working

  • Fixed search functionality in faction browser and new player browser
  • Codec key mismatch (SearchQuery vs @SearchQuery) now resolved

Sort Buttons Breaking Navigation

  • Fixed sort buttons causing nav bar to disappear
  • Implemented proper rebuildList() pattern instead of full page rebuild

Leader Cannot Leave

  • Leaders can now properly leave their faction
  • Leadership is automatically transferred to the best successor
  • Fixed transferLeadership parameter order bug

CustomUI Visible Property

  • Fixed .Visible property using string instead of boolean

New Player Map Relation Indicators

  • New player map no longer shows ally/enemy indicators for non-faction players