Sueta

GoatedFactions

1.4.1

A simple and modern factions plugin.

·Plugin
  1. 1.4.1latestGoatedFactions 1.4.1Jun 13, 2025
    GFactions Version 1.4.1 Changelog June 13, 2025 This is a small quality-of-life update focused on giving factions more personality and control over their identity. ✨ New Features Custom Faction Colors on Dynmap New /f setcolor Command: Faction leaders can now set a custom color for their territory on the server's Dynmap. Usage: /f setcolor <0xHexCode> to set a new color (e.g., /f setcolor 0xFF00FF for magenta). /f setcolor reset to clear the custom color and return to the default relationship-based colors (ally/enemy/neutral). Persistent Storage: Your custom color is saved and will persist through server restarts. Info Display: The currently set custom color for a faction is now visible in the /f who screen. 🛠️ Improvements & Fixes Tab Completion: The new /f setcolor command includes tab-completion to suggest "0x" and "reset", making it easier to use. Instant Dynmap Update: Changing a faction's color will now trigger an immediate refresh of that faction's appearance on the Dynmap.
    306 downloads
  2. 1.4.0GoatedFactions 1.4.0Jun 13, 2025
    GFactions Version 1.4.0 Changelog June 13, 2025 This update introduces significant new features, fixes key bugs, and adds a host of new configuration options to give you more control over your server's factions experience. ✨ New Features Faction Descriptions Factions can now set a public description using the new /f desc [description] command. The description is displayed in /f who and on the Dynmap popup for the faction's territory. This feature can be toggled on or off in the config.yml. A configurable character limit for descriptions has also been added. Extensive Configuration for Limits & Power The config.yml file now has dedicated sections to control core mechanics. Power: You can now set the absolute maximum power a faction can have (max_power). Claiming: You can now set the absolute maximum number of claims a faction can have (max_claim_limit) and the maximum size of a /f claimfill operation (claimfill_max_size). 🛠️ Improvements & Fixes Claiming Systems Autoclaim Fixed: The /f autoclaim command now functions as intended. When toggled on, players will automatically claim any unclaimed chunk they enter, provided their faction has enough power and is within its claim limits. Claimfill Reworked: The /f claimfill command has been completely overhauled. Players must now stand in an unclaimed chunk. The command will now intelligently detect if the chunk is part of a "pocket" that is completely surrounded by the player's faction's territory. If a valid, enclosed pocket is found, all unclaimed chunks within it will be claimed, up to the new configurable claimfill_max_size. General Improvements Home & Outpost Setting: Using /f sethome or /f outpost sethome will now correctly overwrite and move an existing home location. Dynmap Integration: The Dynmap territory pop-up now includes the new faction description. Teleport Safety: The plugin now safely handles attempts to teleport to a location in an unloaded world. ⚙️ Configuration Changes (config.yml) The following keys have been added or moved within your config.yml. power.max_power: Sets the absolute maximum power a faction can achieve. faction_details.description.enabled: Toggles the entire faction description feature. faction_details.description.max_length: Sets the character limit for faction descriptions. faction_details.who_screen_display.show_description: Toggles showing the description in /f who. claiming.max_claim_limit: Sets the absolute maximum number of land chunks a faction can claim. claiming.claimfill_max_size: Sets the maximum number of chunks that can be filled by a single /f claimfill command.
    13 downloads
  3. 1.3.1GoatedFactions 1.3.1Jun 6, 2025
    Version 1.3.1 - 2025-06-06This update introduces major configuration enhancements, a complete overhaul of the chat prefix system for better compatibility, and improved command consistency.AddedPvP Protection System Toggle: A new master toggle, pvp_protection_system_enabled, has been added to config.yml to completely enable or disable the faction PvP protection feature. It is disabled by default.When this feature is disabled in the config, the /f togglepvp command is hidden from /f help and cannot be used by players.The "PvP Protection" status line is also hidden from the /f info screen if the system is disabled.Configurable /f info Screen: A new section, who_screen_display, has been added to config.yml.This allows server administrators to enable or disable every individual line item on the /f info (or /f who) screen, providing full control over the information displayed to players.The ability to see a faction's home block coordinates (show_home_location) is disabled by default.ChangedChat System Overhaul: The internal chat prefix system has been replaced with full PlaceholderAPI integration. This is a major change that ensures GFactions prefixes work seamlessly with other chat management plugins like EssentialsXChat. Public chat formatting is now handled by setting placeholders (e.g., %gfactions_prefix% or %gfactions_tag_prefix%) in your chat formatter's configuration.Standardized Public Chat Prefix: As part of the new chat system, the default public chat prefix is now the full faction name, e.g., [MyFaction] PlayerName: message. This is provided by the %gfactions_prefix% placeholder.Claimfill Cost: The power cost for using the /f claimfill command is now directly tied to the standard claim_chunk cost, removing the separate claim_fill cost variable from config.yml for better consistency.FixedChat Prefix Conflicts: Resolved a long-standing issue where faction chat prefixes would conflict with or be overridden by other plugins. The new PlaceholderAPI-based system prevents these conflicts entirely.Claimfill Cost Consistency: Addressed an issue where the cost for /f claimfill was confusing. The cost is now identical to using /f claim for each chunk, making the command's behavior more intuitive.
    23 downloads
  4. 1.3.0GoatedFactions 1.3.0May 30, 2025
    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.
    26 downloads
  5. 1.2.1GoatedFactions v1.2.1May 18, 2025

    GFactions Plugin Changelog

    Version: (e.g., v1.2.1 / Internal Update) Date: May 18, 2025 This update introduces new controls for claiming land in different dimensions and includes several enhancements for stability and functionality. ---

    ✨ New Features

    1. Dimension-Specific Claiming Control
    - Nether Claiming: Added a configuration option (claiming.allow_nether_claiming) to enable or disable faction land claiming in The Nether. - Default: false (Disabled) - End Claiming: Added a configuration option (claiming.allow_end_claiming) to enable or disable faction land claiming in The End. - Default: false (Disabled) - Implementation: - Checks are now performed in GFactionsPlugin.createFactionAndReturn() when a faction is first created (for the initial home claim). - Checks are also performed in GFactionsPlugin.claimChunk() for all subsequent land claims, including those for outpost creation. - Players will receive an informative message if they attempt to claim land in a dimension where claiming is disabled. ---

    🛠️ Improvements & Bug Fixes

    Core Plugin (GFactionsPlugin.java)
    - Configuration Handling: - Successfully loads the new allow_nether_claiming and allow_end_claiming settings from config.yml. - Claiming & Faction Creation Logic: - Centralized dimension claiming rule enforcement within core plugin methods. - Improved the system for identifying the relevant player to receive feedback messages during claim operations. - Added a clear success message to the claimChunk operation. - Enhanced unclaimChunkPlayer to provide feedback on both success and failure. - Integrated a spawn protection check directly into createFactionAndReturn for the faction's initial claim. - Ally System: - Players attempting to send an ally request via sendAllyRequest will now receive feedback if a request is already pending to or from the target faction. - Data Loading (`loadFactionsData()`): - Made ownerUUID parsing more robust with improved error logging for invalid UUIDs. - Enhanced handling of faction home locations (homeLocation): if a home location's world is not loaded on startup, a warning is logged, and the home may need to be reset. - Ensured that all claims specifically associated with an Outpost are correctly registered in the faction's global claim list and the plugin-wide claimedChunks map during the data loading process. - Standardized enemyDeclareTimestamps keys to be loaded in lowercase to prevent case-sensitivity issues. - Added checks for null item stacks within faction vaults during loading and will log a warning for any invalid items found. - Data Saving (`saveFactionsData()`): - Improved the saving mechanism for homeLocation to be more cautious if the world associated with the location is null (a warning will be logged). - Standardized enemyDeclareTimestamps keys to be saved in lowercase. - The pendingMemberInvites and pendingAllyRequests sections in factions.yml will now only be written if they actually contain pending invites/requests, leading to a cleaner data file. - Utility Methods & Stability: - Added necessary null checks to getFactionOwningChunk(Chunk chunk) to prevent errors if the chunk or its world is unexpectedly null. - Introduced a new helper method: getFactionOwningChunkAsFaction(Chunk chunk). - Implemented various minor logging improvements and additional null checks throughout the plugin to enhance overall stability and aid in troubleshooting. - Removed several unused import statements from the class. ---

    ⚙️ Configuration Changes (config.yml)

    The following settings were added to the claiming: section of the config.yml file: ```yaml claiming: # ... other claiming settings ... allow_nether_claiming: false # Set to true to allow claiming in The Nether allow_end_claiming: false # Set to true to allow claiming in The End 📄 File Modifications SummaryConfig.txt (representing config.yml):Updated to include the new allow_nether_claiming and allow_end_claiming options.GFactionsPlugin.java:Implemented the core logic for dimension-specific claiming.Incorporated the various
    44 downloads
  6. 1.2.0GoatedFactions v1.2.0May 18, 2025

    GFactions Plugin Changelog

    Version 1.2.0 Date: May 17, 2025 This changelog outlines the significant features, improvements, and bug fixes implemented for the GFactions plugin, reflecting the evolution from earlier designs to a more robust system.
    ✨ New Core Systems
    Faction Home & Territory System (Formerly Spawnblock):* * Factions now establish a central "Home Point" which is automatically set and its chunk claimed upon faction creation (/f create). This initial claim is free of power cost. * Claiming new land (/f claim) requires adjacency to the faction's main home territory or one of its outpost territories. Connectivity to a spawn point (home or outpost) is crucial for maintaining territory integrity. * If the chunk containing the faction's main home is lost (e.g., overclaimed), the home automatically attempts to relocate to another valid, claimed chunk within the faction's main territory. If no suitable main territory chunk exists, it may convert an outpost or, as a last resort, leave the faction without a set home. * Disconnected claim groups (that are not designated outposts) generally cannot be expanded from, emphasizing strategic claiming around home or outposts. Outpost System:* * Introduced /f outpost subcommands for establishing and managing secondary claim areas, distinct from the main faction home territory. * /f outpost create: Allows creation of an outpost in a wilderness chunk, establishing a new, independent claim anchor. This has a configurable power cost and a server-wide limit per faction. * /f outpost sethome [id]: Designates or relocates the specific teleportation point (home) within an existing outpost's claimed territory. The target location must be within a chunk already claimed by that specific outpost. * /f outpost home [id]: Allows faction members to teleport to the designated home point of a specified outpost. * /f outpost delete [id]: Removes a specified outpost and unclaims all land specifically associated with it. Territory Merging:* If an outpost's claimed territory becomes contiguous (adjacent) with the main faction home territory through new claims, the outpost is automatically disbanded, and its claims are seamlessly merged into the main faction territory. Faction Chat:* * Implemented /f chat (alias /f c) to toggle a private chat channel exclusively for faction members. * Messages sent in faction chat are visible only to online members of that faction. * Server operators with the goatedfactions.admin.spy permission can silently view all faction chat messages. * The format of faction chat messages (e.g., prefix, colors) is configurable in config.yml. Server Spawn Claim Protection:* * Implemented a configurable system to prevent factions from claiming land or creating new factions (setting their initial home) within a defined radius of the server's main spawn point. * This protection can be bypassed by players with the goatedfactions.admin.bypassspawnprotection permission. * The protection radius is configurable in config.yml.
    🔄 Enhancements & Modifications
    Claiming & Overclaiming:* * Overclaiming a chunk from another faction now has a distinct, configurable power cost (power.cost.overclaim_chunk). * Overclaiming is only possible if the target faction has zero power. * Refined logic for claim adjacency: new claims must touch existing faction land (either main territory or an outpost's territory). * The first claim during /f create is free. Subsequent claims via /f claim have a configurable power cost. Territory Entry Notifications:* * On-screen titles displayed when entering a new territory (Wilderness, own/allied/enemy/neutral faction land) now overwrite previous titles more effectively, providing clearer immediate feedback. * Players also receive a private chat message upon entering Wilderness or a faction's territory. The format and content of these messages are configurable in config.yml (e.g., messages.entering_wilderness, messages.entering_faction_territory), allowing for dynamic color-coding based on relation. Dynmap Integration:* * Significantly reworked claim visualization on Dynmap. Contiguous claimed areas for a single faction are now rendered with merged borders, creating a cleaner and more unified visual representation rather than individual chunk outlines for connected territories. * Added configurable stroke_color for the merged polygon borders and neutral_claim_color for factions that are not self, allied, or enemy. * Dynmap updates are triggered more comprehensively and reliably after various faction actions, including claims, unclaims, disbands, relation changes, and outpost modifications. * The popup info for faction areas on Dynmap includes more details like owner, power, member count, allies, enemies, total claims, and outpost count. Faction Home Management:* * /f sethome is now exclusively used to set or relocate the main faction home point within the faction's primary claimed territory (not outpost land). * /f unclaim is prevented on the chunk containing the main faction home if it's the last piece of main territory land; the home must be relocated first using /f sethome in another valid chunk, or the faction disbanded. Similar protection exists for the last claim of an outpost's spawn chunk. Configuration (`config.yml`):* * Added new configuration options: * power.cost.create_outpost: Power cost to create a new outpost. * faction_details.max_outposts: Maximum number of outposts a faction can own. * faction_details.faction_chat_format: Customizable format for faction chat messages. * claiming.prevent_claim_near_spawn and claiming.spawn_protection_radius: For server spawn protection. * messages.entering_wilderness and messages.entering_faction_territory: For customizable territory entry chat messages. * Various Dynmap style options including stroke_color and neutral_claim_color. * Reviewed and standardized default values for many existing settings. Commands & User Experience:* * /f who [faction_name] now displays information about a faction's outposts, including their IDs and locations. * Improved tab-completion for /f outpost subcommands, suggesting outpost IDs where applicable. * Standardized user-facing text to use "faction home" or "home point" consistently, moving away from "spawnblock." * Help messages (/f help, /f outpost help) now include power costs for relevant commands.
    🐛 Bug Fixes & Code Refinements
    * Addressed numerous "Cannot resolve method/symbol" errors across FactionCommand.java, AdminFactionCommand.java, and listener classes by ensuring correct method implementations, parameter matching, proper imports, and correct variable scoping (e.g., Player player casting in FactionCommand). * Fixed issues where Dynmap updates were not consistently triggered after all types of claim operations (e.g., initial claim via /f create, outpost creation, unclaims), relation changes, or disbands. Ensured updateFactionClaimsVisual and updateFactionRelations are called appropriately. * Resolved potential NullPointerExceptions in PlayerClaimBoundaryListener by ensuring default message strings are always loaded from config or hardcoded safely, and by adding null checks for world objects. * Corrected logic in FactionCommand.java for handling the return values and side-effects of core plugin methods (e.g., ensuring power is deducted only on successful operations for faction creation, claiming, declaring relations). * Improved OfflinePlayer name handling in commands like /f who and /f list to gracefully manage cases where a player's name might not be resolvable, using UUID fallbacks or "Unknown" placeholders. * Refined data s
    24 downloads
  7. 1.1.0GoatedFactions v1.1.0May 17, 2025
    GFactions Plugin Changelog Version 1.1.0 (Major Overhaul & Feature Release) Date: May 17, 2025 This is a significant update to GFactions, introducing core systems like Spawnblocks and Outposts, refining existing mechanics, expanding configuration options, and addressing various bugs. ✨ New Features & Systems Core Spawnblock System: Factions are now centered around a "Spawnblock" (their primary home location). This is mandatory. /f create: Now automatically claims the chunk the player is in and sets their current location as the faction's initial Spawnblock. Spawnblock Relocation: If the chunk containing a faction's Spawnblock is overclaimed, the Spawnblock automatically relocates to a random, valid surface location within another of the faction's claimed chunks. Claim Adjacency & Connectivity: Newly claimed chunks (not outposts) must be adjacent to existing faction claims. Furthermore, these new claims must be part of a contiguous landmass connected to either the main Spawnblock or an Outpost Spawnblock. Disconnected claim "islands" (not outposts) cannot be expanded from. Outpost System: Allows factions to establish secondary bases and claim areas not directly connected to their main territory. /f outpost create: Creates a new outpost in the player's current (wilderness) chunk, establishing it as an Outpost Spawnblock. Costs power. /f outpost sethome [id]: Sets the specific teleport location for a designated outpost. /f outpost home [id]: Teleports the player to the specified outpost's home location (with warmup). /f outpost delete [id]: Deletes a specified outpost and unclaims its chunk. Configuration: faction_details.max_outposts: Configurable limit on how many outposts a faction can have (Default: 1). power.cost.create_outpost: Configurable power cost to create an outpost (Default: 50). Faction Chat: /f chat (or /f c): Toggles a faction-specific chat channel for members. Messages are prefixed with the faction name and are only visible to faction members and online server operators with the goatedfactions.admin.spy permission. faction_details.faction_chat_format: Configurable chat message format. Server Spawn Claim Protection: claiming.prevent_claim_near_spawn: (Default: true) Prevents factions from claiming land or establishing their initial Spawnblock too close to the server's global spawn point. claiming.spawn_protection_radius: (Default: 50 blocks) Defines this protected radius. goatedfactions.admin.bypassspawnprotection: New permission allows admins to bypass this restriction. 🔄 Enhancements & Changes to Existing Features Claiming & Overclaiming: Overclaiming Cost: power.cost.overclaim_chunk is now a distinct configuration (Default: 20), separate from the regular claim cost. Overclaiming a faction's last claim or their Spawnblock chunk now has more defined consequences (e.g., Spawnblock relocation). Territory Entry Notifications (Titles & Chat): Title Overwrite: When moving between different territories (Wilderness, Faction X, Faction Y), the on-screen title message will now immediately update/overwrite the previous one. Private Chat Message: Players will also receive a private chat message (e.g., "Now entering Wilderness", "Now entering [FactionRelationColor][FactionName]") when crossing into new territories. Configurable via messages.entering_wilderness and messages.entering_faction_territory. Title display cooldown (titles.display_cooldown_seconds) potentially reduced to facilitate quicker updates. Dynmap Integration: Seamless Borders: Reworked claim rendering to group contiguous chunks of a faction into single, seamless polygons on the Dynmap, similar to Towny-style maps, rather than showing individual chunk borders within a faction's territory. Configurable Colors: Added dynmap.style.neutral_claim_color for neutral factions and dynmap.style.stroke_color for the outline of the merged polygons. Dynmap updates are now more targeted or full refreshes (updateAllFactionClaimsVisuals) are triggered appropriately after claim changes, disbands, etc. Faction Home (/f home, /f sethome): These commands now exclusively manage the main faction Spawnblock. /f sethome requires the location to be within an already claimed chunk of the faction. If set in an existing outpost chunk, that chunk loses its outpost status and becomes the main Spawnblock. Directly unclaiming the main Spawnblock chunk via /f unclaim is blocked; it must be relocated first via /f sethome or the faction disbanded. Commands & User Experience: /f who [faction]: Now displays information about a faction's outposts. Tab-completion for commands, especially those involving outpost IDs, has been improved. Help messages (/f help, /f outpost help) updated to reflect new commands and changes. Configuration File (config.yml): Numerous new configuration options added (as detailed above for outposts, spawn protection, chat, costs, messages, Dynmap styles). Default value for power.cost.overclaim_chunk changed. Permissions: Added goatedfactions.admin.spy (to see faction chat). Added goatedfactions.admin.bypassspawnprotection (to claim near server spawn). 🐛 Bug Fixes & Code Refinements Resolved numerous "Cannot resolve method" and "Cannot resolve symbol" errors in command classes (FactionCommand.java, AdminFactionCommand.java) by ensuring all handler methods were fully implemented with correct signatures and variable names. Added toStringShort() method to ChunkWrapper.java for concise display of chunk coordinates. Corrected method calls in AdminFactionCommand.java for Dynmap refresh actions (e.g., using updateAllFactionClaimsVisuals). Improved handling of OfflinePlayer objects to reduce potential for NullPointerExceptions, especially when retrieving names. Addressed various IDE warnings related to empty if statements, redundant initializers, and @NotNull annotations by refining logic and structure. Ensured necessary imports (e.g., java.util.Collections) were present.
    19 downloads
  8. 1.0.0GoatedFactions v1.0.0May 16, 2025
    First edition, lightweight and simple.
    43 downloads

Similar projects

Plugin →