Goated Factions icon

Goated Factions -----

GoatedFactions: Pure Factions Gameplay



Version 1.3.0
GFactions Plugin - Changelog (Version 1.3.0) Date: 2024-05-23

This changelog summarizes new features, fixes, and improvements made to the GFactions plugin.

New Features & Major Changes Claim Filling (/f claimfill): Implemented the /f claimfill command, allowing factions to claim pockets of unclaimed land completely surrounded by their existing territory. This feature uses a Breadth-First Search (BFS) algorithm to identify fillable areas.

Claim filling is subject to power costs per chunk and the faction's overall claim limits. Successfully filled chunks are claimed, power is deducted, and data is saved. Player Tab List Display: Implemented a system to update a player's display name in the tab list to reflect their faction tag and rank. This update occurs on player join, when joining/leaving a faction, or when their rank changes.

Outpost System Enhancements: Outposts can now merge with the main faction territory if their claimed chunks connect. Improved handling of outpost home relocation if the original outpost spawn chunk is lost. Faction Guide (/f guide): Added an in-game /f guide command that displays configurable messages explaining basic faction functionalities and commands. Admin Spy for Chat: Admins with the goatedfactions.admin.spy permission can now see faction-only chat messages. A new permission goatedfactions.admin.allyspy allows admins to see ally-only chat messages. Core Plugin (GFactionsPlugin.java) Task Management: Added getPowerDecayTask() method to retrieve the BukkitTask for the power decay system.

Changed visibility of startPowerRegeneration() and startPowerDecayTask() to public for better access during admin-initiated config reloads.

Data Loading & Integrity (loadFactionsData): Strengthened data loading with robust null checks for critical fields like originalName and ownerUUIDString to prevent errors and improve logging for corrupted entries. Ensured a faction's home chunk and outpost claims are correctly registered globally and internally upon loading. Claiming Logic (claimChunk): Refined overclaiming logic: the global claimedChunks map and the old owner's internal claim list are now correctly updated. Ensured the isOutpostCreation flag correctly bypasses certain costs/checks when establishing new outposts.

Data Persistence: Reviewed and increased consistency in calling saveFactionsData() and saveFactionActivityData() after significant data modifications (relations, invites, disbands, power changes, claims).

Faction Disband (disbandFactionInternal): Enhanced disband logic for thorough cleanup: removing faction from internal maps, clearing all global claims, updating other factions' relation lists, clearing pending invites/requests, removing activity data, triggering Dynmap visual removal, and updating tab lists for former members. Faction Commands (FactionCommand.java) Method Call Corrections: Ensured plugin.updatePlayerTabListName(player) and plugin.handleClaimFill(player, faction) calls correctly target their implementations in GFactionsPlugin.java. Help Message Formatting: Explicitly used ChatColor.ENUM_VALUE.toString() in help message concatenations as a robust measure against potential IDE/compiler issues with string and integer concatenation, particularly with COST_PLACEHOLDER. NullPointerException Prevention (handleSetRank): Added a null check for targetCurrentRank before accessing its properties to prevent errors with potentially missing rank data. Command Handler Improvements: Improved clarity, null-checking (for playerFaction, targetFaction), data saving, and UI feedback (tab list updates) across various command handlers. Corrected handleLeaderTransfer logic to ensure the target player is at least a Member. Ensured handleOutpostCreate deducts power only after successful claim and outpost addition. Enhanced feedback messages for various command scenarios. Tab Completion: Added @NotNull annotations to onCommand and onTabComplete parameters. Refined tab completion logic for more relevant subcommand suggestions. Admin Commands (AdminFactionCommand.java) Method Call Corrections: Ensured calls to plugin.getPowerDecayTask(), plugin.startPowerRegeneration(), and plugin.startPowerDecayTask() correctly target the public methods in GFactionsPlugin.java. Configuration Reload (/fa reloadconfig): The command now correctly reloads config.yml, applies these values internally, and then resets/restarts power regeneration and decay tasks to use the new settings. Dynmap Reload (/fa dynmapreload): Improved logic to attempt reactivation of the Dynmap manager if it's disabled before refreshing faction claim visuals. Dynmap Integration (DynmapManager.java) Data Display Accuracy: Corrected generatePopupDescription to use faction.getMaxPowerCalculated(plugin) and faction.getMaxClaimsCalculated(plugin) for accurate display of maximum power and claim limits on Dynmap popups.

Styling and Robustness: Made getColorFromHexString more robust by trimming input and providing clearer warnings for color format errors. Refined updateFactionClaimsVisual for better handling of old marker removal and new marker creation for contiguous claim areas. Improved calculateOutline and mergeContiguousChunks for more reliable geometric calculations of claim visualizations.

Added a fallback in updateFactionClaimsVisual to draw individual chunk markers if a valid polygon cannot be formed for a contiguous area, enhancing map display reliability. General Code Quality & Fixes Error Handling: Implemented additional null checks and improved error logging in data loading procedures and other critical operations to enhance stability. Consistency: Ensured more consistent use of getNameKey() for internal map lookups and faction comparisons. Annotations: Added @NotNull annotations to overridden methods where appropriate for better code clarity and contract enforcement. Teleportation Safety: Teleport warmups are now also cancelled if another teleport occurs during the warmup period, preventing potential exploits.
----------, May 30, 2025
Resource Information
Author:
----------
Total Downloads: 77
First Release: May 16, 2025
Last Update: Jun 13, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings