Create: Brassworks Missions
Create: Brassworks Missions adds a data driven mission system to Minecraft 1.21.1. It was made for the Brassworks SMP, but can be used in any modpack.
Features
- Create style mission menu and HUD
- Open the menu with H or
/missions - 29 mission types for Vanilla and Create
- Custom missions through an editable config file
- Admin commands for creating, managing and diagnosing missions
- Random or progressive rewards for each mission
- Unclaimed rewards survive mission resets
- Configurable number of active missions
- Optional second mission category with its own reset schedule
- Mission availability requirements, including advancements
Requirements
- Minecraft 1.21.1
- NeoForge
- Create 6.0.6 or newer
- Create: Numismatics is optional
Numismatics is only needed when one of its items is used as the mission reward.
License
Licensed under the MIT License. Credit is not required, but acknowledgment is appreciated.
Contributions, suggestions and pull requests are welcome.
All Versions
+ Add Version- Added an optional second mission category with its own name, slot count and independent reset schedule.
- Added per-mission category assignment through the new
categoryproperty. - Added
/missions manage category <id> <1|2>for moving mission templates between categories. - Added
/missions reassign category <1|2> [player]for reassigning only one mission category. - Added configurable names for both mission categories.
- Added mission availability requirements with a public registry for custom requirement types.
- Added a built-in advancement requirement for locking missions behind completed or incomplete advancements.
- Added
/missions manage diagnosefor asynchronously checking mission definitions, registry entries, recipes and advancement requirements. - Added automatic live reloading of
missions.jsonwhen the file changes. - Added a configurable option for disabling automatic mission reloading.
- Added an in-game migration workflow for legacy datapack missions.
- Added commands for transferring, deleting or ignoring detected legacy mission files.
- Added administrator notifications when legacy mission datapacks are detected.
- Added configurable HUD size, horizontal and vertical offsets, left alignment and bottom alignment.
### Changed
- Mission definitions are now loaded from
config/brassworksmissions/missions.json. - The bundled default missions are copied to the configuration directory when no mission file exists.
- Existing
managed_missions.jsonfiles are automatically renamed tomissions.json. - Datapack mission definitions are now treated as legacy files and are no longer loaded directly.
- The mission reward item is now configured through the NeoForge server config instead of
data/brassworksmissions/missions/mission_reward.json. - Mission storage now keeps separate slot counts for both mission categories.
- The previous single slot range of 1 to 32 was replaced with up to 12 configurable slots per category.
- Mission resets can now affect one category without replacing missions from the other category.
- Mission selection now filters templates according to each player's availability requirements.
- Mission list and detail commands now display the assigned mission category.
- Mission networking now uses direct NeoForge 1.21.1 payload registration with explicit clientbound, serverbound and bidirectional packet directions.
- Removed the obsolete packet registration map and its unchecked raw-type casts.
- Removed the unused reward reload manager and its duplicate mission resources.
- Removed unused menu binding state, the unused delayed server work queue and other dead helper code.
### Fixed
- Fixed payloads being registered through
FMLCommonSetupEventinstead of the modern NeoForge payload registration event. - Fixed serverbound and clientbound packets being registered as bidirectional when only one direction was required.
- Fixed invalid mission configuration reloads replacing a previously working runtime mission pool.
- Fixed category-specific resets affecting slots belonging to the other mission category.
- Fixed the second mission category not being initialized for existing players after enabling it.
- Fixed category reset timestamps not being preserved when player data is cloned.
- Fixed unavailable or unknown mission requirements being able to enter the player's mission pool.
- Fixed invalid advancement references, recipe IDs, item IDs, block targets and entity targets being difficult to identify.
- Fixed obsolete reward configuration resources conflicting with the server-config reward system.
- Added a complete in-game mission management system for server operators.
- Missions can now be created, listed, viewed, enabled, disabled and deleted through commands.
- Added automatic mission ID generation.
- Added support for separate mission targets and display icons.
- Added support for multiple randomly selected mission titles.
- Added commands for changing mission icons, titles and reward modes.
- Added random and progressive reward modes for individual missions.
- Added persistent storage for completed but unclaimed rewards.
- Added a configurable active mission count from 1 to 32.
- Expanded the mod to 29 mission types, including block placing, item smelting and item collection missions.
- Added
/missions manage typesto display available mission types and their creation syntax. - Added support for multiple mission templates using the same mission type.
### Changed
- Completed rewards stored during a mission reset can be collected later with Claim All.
- Existing datapacks remain compatible with the expanded mission format.
- Mission validation and loading now provide clearer errors for invalid definitions.
### Fixed
- Fixed a critical server crash caused by missing player or mission data during progress checks.
- Fixed rewards being lost when the configured mission slot count was reduced.
- Fixed the Fill Item mission type not being registered correctly.
- Fixed several mission progress handlers failing with blocks or items from other mods.
- Fixed invalid or incomplete mission definitions being able to crash mission loading.
- Fixed reroll validation and reward delivery behavior.
- Improved null safety across the mission system.
- Made the mission registry public and added custom mission events (Completed, RewardClaimed, Rerolled, Reset) for addon developers to subscribe to.
- Made the first two mission rerolls be free, and updated translations accordingly.
- Add mission hud scale config option.
- Add config option to bottom align gui
- Add button in modmenu to open the config screen
- Mission tooltup having duplicate values on the latest create mod version
- Fix #5
- Fixed a crash with distance mission type caused by null pointer exception
- Fixed a critical server crash (NullPointerException) that could occur when checking mission progress, often triggered by blocks from other mods (e.g., the Create Saw).
- Player mission data is now initialized on-demand, preventing timing issues and ensuring mission data is always safe to access.
- Hardened the mission loading system; the server will now log an error and skip invalid missions instead of crashing due to malformed or incomplete mission JSON files.
- Improved overall stability by adding comprehensive null-safety checks across the entire mission system.
- Fixed a server crash that occurred when generating missions for a player if a mission was configured with invalid data.
- Fixed bug with buttons and icons in the missions menu not working when using a proxy.
- Dehardcoded some punctuation marks, making symbols like
/andxlocalizable for better language compatibility. (Pull request by @VladisCrafter) - Added Russian (ru_ru) translation. (Pull request by @VladisCrafter)
- Added a new mod icon.
- Added a configuration option to change the mission reset day(s) and hour in UTC.
- Added configuration options to adjust the X and Y offsets of the HUD and to left-align it for better compatibility with other mods.
- Added Chinese (zh_cn) translation, courtesy of @wenxin88.
- Added Spanish (es) translation, courtesy of @Pipo1660.
- Added Arabic (ar) translation.
- Added an example datapack to the repository to help users create their own missions.
- Prepared the mod for German translation internally.
- Improved overall compatibility for other languages.
### Fixed
- Fixed an issue that could cause duplicate missions to be assigned when reassigning them.
- New default missions JSON
- Keybind to track missions and close the UI
- Reroll Mission item fixed
- Configurable mission rewards via JSON
- create numismatics is no longer required
- The First Release


