Tags
Creators
Details
1.2.1
Compatibility
Changes
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)
- Default:
- End Claiming: Added a configuration option (
claiming.allow_end_claiming) to enable or disable faction land claiming in The End.- Default:
false(Disabled)
- Default:
- 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.
- Checks are now performed in
đ ď¸ Improvements & Bug Fixes
Core Plugin (GFactionsPlugin.java)
- Configuration Handling:
- Successfully loads the new
allow_nether_claimingandallow_end_claimingsettings fromconfig.yml.
- Successfully loads the new
- 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
claimChunkoperation. - Enhanced
unclaimChunkPlayerto provide feedback on both success and failure. - Integrated a spawn protection check directly into
createFactionAndReturnfor the faction's initial claim.
- Ally System:
- Players attempting to send an ally request via
sendAllyRequestwill now receive feedback if a request is already pending to or from the target faction.
- Players attempting to send an ally request via
- Data Loading (
loadFactionsData()):- Made
ownerUUIDparsing 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
Outpostare correctly registered in the faction's global claim list and the plugin-wideclaimedChunksmap during the data loading process. - Standardized
enemyDeclareTimestampskeys to be loaded in lowercase to prevent case-sensitivity issues. - Added checks for
nullitem stacks within faction vaults during loading and will log a warning for any invalid items found.
- Made
- Data Saving (
saveFactionsData()):- Improved the saving mechanism for
homeLocationto be more cautious if the world associated with the location is null (a warning will be logged). - Standardized
enemyDeclareTimestampskeys to be saved in lowercase. - The
pendingMemberInvitesandpendingAllyRequestssections infactions.ymlwill now only be written if they actually contain pending invites/requests, leading to a cleaner data file.
- Improved the saving mechanism for
- 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.
- Added necessary null checks to
âď¸ Configuration Changes (config.yml)
The following settings were added to the claiming: section of the config.yml file:
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
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:ZnRNqaal:Ku1O7qFb"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:ZnRNqaal:Ku1O7qFb"
}

