promotional bannermobile promotional banner

Towny3D

A high-performance 3D land protection plugin for Hytale servers. Features town/nation management, plot claims, PvP control, and advanced permission systems with Kotlin coroutines and spatial indexing.

File Details

Towny3D-0.8.0.jar

  • R
  • Feb 8, 2026
  • 9.80 MB
  • 175
  • Early Access

File Name

Towny3D-0.8.0.jar

Supported Versions

  • Early Access

Changelog

Added

  • Data reconciliation command: /ta reconcile - Repairs broken data relationships between residents and towns
    • Synchronizes Resident.townId with Town.residentIds bidirectional references
    • Removes invalid townId references from residents
    • Adds missing resident IDs to town member lists
    • Permission: towny3d.admin.reconcile
  • Town deletion cleanup: Proper cascade deletion when towns are removed
    • All regions owned by the town are now deleted
    • Residents are unlinked from deleted towns
    • Prevents orphaned region data
  • Complete permission system: All commands now use towny3d. prefix permissions (79 unique permissions). Uses Hytale's built-in requirePermission() system for automatic permission checking.
    • General permissions: towny3d.balance, towny3d.resident.*
    • Town permissions: towny3d.town.* (22 permissions)
    • Nation permissions: towny3d.nation.* (9 permissions)
    • Plot permissions: towny3d.plot.* (13 permissions)
    • Claim permissions: towny3d.claim.* (5 permissions)
    • Chat permissions: towny3d.chat.* (4 permissions)
    • Invite permissions: towny3d.invite.* (5 permissions)
    • Toggle permissions: towny3d.toggle.* (5 permissions)
    • Economy permissions: towny3d.eco.* (5 permissions)
    • Admin permissions: towny3d.admin and subcommands
  • Comprehensive permission documentation: README now includes complete permission reference with example setups for PermissionsBukkit, LuckPerms, and UltraPermissions
  • Upkeep and taxation system: Full economic balance system with configurable tax types
    • Town Upkeep: Periodic cost towns pay to server (configurable, defaults to disabled)
    • Nation Upkeep: Periodic cost nations pay to server (configurable, defaults to disabled)
    • Nation Taxes: Nations can tax member towns (flat amount or percentage)
    • Town Taxes: Towns can tax residents (flat amount or percentage)
    • Plot Taxes: Towns can set taxes on individual plots (flat amount or percentage)
  • Tax commands:
    • /town tax <flat|percent> <amount> - Set resident tax
    • /nation tax <flat|percent> <amount> - Set nation tax
    • /plot tax <flat|percent> <amount> - Set plot tax
    • /tax - Show personal tax burden
    • /ta collecttaxes, /ta nexttax, /ta reclaim, /ta ruinate, /ta settaxtime, /ta toggle upkeep
  • Ruination system: Towns/Nations that can't pay upkeep fall to ruins (can be reclaimed for a fee)
  • Tax consequences: Plot ownership loss on non-payment, town debt to nations, payment skipping for residents

Fixed

  • Resident town membership persistence bug: Residents could lose their town membership after server restart if the town wasn't in cache. Fixed by ensuring lazy-loading of town data from storage.
  • Town data missing error: Fixed crash when accessing town data for residents whose town wasn't cached. Added proper storage fallback loading.
  • Private town join bypass: Fixed security issue where players could join private towns without invitation. Added proper isOpen check before allowing /town join.
  • ClaimStick spam logs: Removed excessive debug logging from ClaimStickSystem that was flooding console on every player move.

Changed

  • README feature list: Moved 13 commands from "Planned Features" to "Implemented Features" that were already coded but not documented
    • All nation commands (create, delete, join, leave, list, info, kick, invite, deposit, withdraw, set capital, etc.)
    • Tax-related commands (/town tax, /nation tax, /plot tax, /tax)
    • Nation capital transfer system
    • Plot sale system (/plot forsale, /plot notforsale, /plot buy)
    • Plot permissions system (/plot set <permission> <mode>)
    • Town spawn points (/town sethome, /town spawn)
  • Max layers consolidation: Town maxLayers now calculated as residentCount × 3840 (pure per-resident, no base amount). Existing towns with maxLayers = 384 or 256 will be automatically migrated on load.
  • Lazy economy loading: Economy initialization deferred to first transaction instead of plugin startup. Improves startup time and handles missing economies more gracefully.