- fix: sometimes /fly will not update the flying player's ability instantly.
- refactor: use a more concise module enabled/disabled report format at the server start-up to avoid console-spam
- refactor: rename and modify the packages in the project to make the source more easier to read
- refactor: extract and re-use some methods and fields in the project
- refactor: code-review the utility methods
- fix: ConfigModule can't reload config.json dynamically
- add: SystemMessageModule
- refactor: a better way to sample ProductionWork in WorksModule (This also fixes a bug that the sampling method doesn't work in 1.20.2)
- refactor: a better way to assign the server instance (now the instance will be assigned once it's constructed)
- fix: SchedulerModule throws the task already exists exception
- add: PingModule
- refactor: now we unify the logger names to "SakuraWald" so that you can see all the logs from this mod clearly
- feat: now you can add
-Dsakurawald.level=debug
to change the logger level, see debug messages in /logs/debug.log
- fix: includes the dependencies to avoid missing libraries at server startup
- refactor: disable all the modules by default to reduce surprise
- refactor: change carpet dependency from hard to soft
- refactor: use a simple log format for ModuleManager
- refactor: rename ChatStyleModule -> ChatModule
- refactor: rename DynamicMotdModule -> MotdModule
- refactor: disable optimization options by default
- refactor: split BypassThingsModule into smaller modules
- refactor: now the mixin loader will calculate out the options to decide whether to apply this mixin
- refactor: rewrite the module manager so that it works smarter, and currently it will only show the enable/disable module logs, which makes the console clearer. (Yeah, now we will not show the mixin disabled logs)
- refactor: now the optimization.json is merged into config.json
- add: SchedulerModule to schedule commands
- modify: spark mod dependency from hard to soft (Yeah, now you don't need to install spark anymore for ProfilerModule)
- refactor: now the config manager will generate missing configuration keys automatically
- refactor: now all the modules will be scanned and processed by ModuleManager (a better code style)