Links
Tags
Creators
Details
0.0.1-Experimental
Compatibility
Changes
SulfurFun Version 0.0.1-Experimental
This update introduces a modular framework for gamemodes and a smart validation system for player inputs. The setup process is now more robust, flexible, and ready for future expansions.
Summary
- Modular Gamemode System: Introduced an interface-based architecture to easily add new game types.
- Smart Input Validation: Implemented Regex patterns to verify chat inputs and prevent crashes.
- Unified Data Handling: Enhanced the system to automatically distinguish and store Locations, Integers, and Strings.
- Improved Setup Logic: Refined the interactive tutorial with precise instructions and new gameplay parameters.
New Features
Gamemode: Football (Updated)
The Football setup has been expanded to allow for more customized match rules and more accurate arena definitions.
- Precision Goals: Clearer instructions to define 3D goal zones by selecting diagonal opposite corners.
- Team Scaling: New setup step to define the maximum number of players per team (1 to infinity).
- Rule Toggle: Added a specific check to enable or disable ball interaction with hands (
yes/no).
Command: /newgame <type> <name>
The command is now dynamic and supports the new modular backend.
- Validation: The system now checks if the entered gamemode exists before starting the tutorial.
- Input Protection: During the chat phase, the plugin validates your input. If you type a non-number where a number is expected, it will provide immediate feedback.
- Type Safety: All data is now correctly parsed. Numbers are saved as actual integers in the YAML config, preventing formatting errors.
Modular Framework
The core logic has been separated from the specific gamemode, making the plugin future-proof.
- Extensibility: New gamemodes can be added by simply implementing the
GameSetupinterface. - Dynamic Sessions: The
SetupListenernow automatically adapts its behavior (Click vs. Chat) based on the requirements of the chosen gamemode.
Bugfixes
- Number Overflow: Fixed a critical error where entering extremely large numbers in chat would crash the setup session.
- Silent Failures: Fixed an issue where entering an invalid gamemode would provide no feedback to the player.
- Session Management: Improved cleanup to ensure that disconnected players are correctly removed from active setup sessions.
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:40tIkg3h:IxMsh3sG"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:40tIkg3h:IxMsh3sG"
}

