
Minix
The most advanced and performant framework to build plugins on! With full in depth support for kotlin coroutines and many useful utilities and quality of life features for developers. Minix makes developing performant, non-blocking code easy and concise.
301
8
5.0.0
alpha10 января 2023 г.Unreleased (91926ba..0be9fef)
Bug Fixes
- (KPlayerEvent) Add component1 for player
- (LiquidEvent) Cleanup and don't fire same newType events
- (PlatformPlugin) Return self if correct type
- (PlayerData) Set the liquidType in onJoin
- (RegisteringMap) Should have an operator get
- (TimeService) Fire event with no players online.
- Prevents some weird edge cases and confusion to why a become day event would fire at eg: 4pm when the first player joins
- (TimeService) Move to paper module
- (autoscanner) enable AnnotationInfo
- (autoscanner) Retain class reference
- (ci) syntax
- (core) KoinProxy superclass function changes
- (flowbus) No scope
- (gradle) Include tasks from mpp targets
- (gradle) APIs clearing eachother till one remained
- (gradle) Don't API that
- (jumper) Dummy loader constructor instead of function
- (jumper) Invalid Class lookup
- (jumper) No public constructor
- (modrinth) output task
- (paper) Move java bootstrap kinda thing to separate module
- (paper-core) Initialise the logger convertors
- (paperweight-mpp) setup, resolution, and reobfJar task.
- Still seems to be able to resolve the nms from other sourceSets but it works in general now.
- (plugin) Null-pointer
- (plugin) alot of exceptions on startup
- (plugin) Unable to find bean
- (plugin) exception on extension init
- (plugin:api) java.lang.NullPointerException on extension init
- (plugin:core) Don't try load dependencies for minix again
- (plugin:core) koin application not yet started
- (plugin:core) koin application not yet started
- (plugin:extension) hashcode and equals
- (plugin:mapper) Filter for only final classes
- Invert incorrect dispatchNeeded check
- workaround for slimjar not including this for some reason
- replace old functions
- Update koin logger converter
- Fixes for last rebase
- Some more water event fixes, still one remaining i cant figure out
- NullPointer Exception
- Unneeded
- Use koin getter
- complaints of non implemented in common
- Main class is just Minix now
- Wrap player
- Assign as factory
- override property name
- suspend callback
- correct module
- ItemBuilder imports and explicit access
Build
- setup changelog generation for modrinth
- Fix missing dependencies from slimJar
- Use latest MCVersion
- fixes, cleanup and refactoring
- Use Minix withMCTarget instead of declaring in each subproject
- fixes for updated conventions version
- Fixes and improvements
- Update wrapper to 7.5.1
Build system
Documentation
- (plugin:core) Describe LoadListener usage
- Add KDocs for registering and expiration collections / maps
Features
- (Collections) Immutable and Mutable versions
- Also some general cleanup and allowing inheritance.
- (Common) Some new utils and extensions with some other cleanup
- (Extension) Provide scoped logger
- (Flowbus) Start of cancellable events
- (Logger) LoggingFactory for (in the future) scoped sub loggers
- (Logger) Custom Level converters
- (MinixConfig) Add qualifier
- (Ticker) Paper ticker
- (data) AccessWatcher
- More generic use case with definable delay and required access count.
- Also implemented test cases.
- (data) Minecraft fork support extensions
- (utils) getNMSClass for getting classes with the craftbucket + current nms prefixed
- Coroutines Main Bukkit main thread dispatcher
- Ticker module
- Platform proxy
- Global MinixPlayer wrapper
- FlowBus for mulitplatform event subscriptions
- AutoScanner module
Miscellaneous Chores
- (Data) Move related extensions and exception
- (Integrations) cleanup
- (Lifecycles) Move Closeable and Loadable to new dir
- (Version) Moved path
- (common) Bad bad old util
- (deps) Update conventions version
- (deps) Update gradle to 7.6
- (deps) Update conventions and add aedile dep
- (deps) Include optics reflect
- (paper-api) add 1.19.3 MCVersion
- (plugin) shupt ide
- (plugin:api) allow logger init outside delegate
- (plugin:core) update to mc 1.19.3
- (version) v4.3.13
- (version) v4.3.12
- (version) v4.3.11
- prepare for modrinth and fix compilation
- remove old renovate.json
- [skip-ci]
- detekt time
- update ci
- update README
- some annotations
- Remove old Core module, api still contains tests that need to be moved.
- Removal of deprecated stuff
- baseline generation
- binary api
- Barely working PaperweightMPP plugin
- New baselines and api files
- Misc fixes
- baseline
- Binary API
- Removing deprecated functions
- API dump and Ktlint baseline output dir
- Remove empty classes
- Merge from master
- Enter snapshot
- Push all local changes i can't make commit for all this lmao
- Events
- Extensions and utils
- Integrations
- Coroutine scheduler stuff
- Events stuff
- Annotation updates
- Remove unused velocity beginnings while just getting this to work
- Add functions to create maps
- No more annotation we using api guardian
- Remove leftover classes
- Useless test
- Remove MinixExperimental annotation, we use API Guardian now
- We don't care for the bukkit config stuff
- Pure move files
- Process annotations
- Modify Destructors path
- Move some more things into new modules
- Beginning of module restructure
Refactoring
- (API) Rewrite and big cleanup of OnlinePlayer collections
- (Common) Moved adventure infix functions and generified receivers
- (Coroutine) Dispatch using executor instead of scheduler.
- (CoroutineSession) Sessions declared in koin scopes
- (CoroutineSession) lambda wrapper instead of property
- (DataService) Add reload listener and function
- (Extension) Implement EventReceiver interface and scopes
- (Extension) Large cleanup, multiplatform support and cleaner code
- (ExtensionMapper) My brain says this should work
- (FlowBus) Convert to receiver so they are essentially protected
- (FlowBus) cleanup and some changes
- (FlowBus) Reorder params
- (FlowBus) Actual flow support
- (IntegrationService) Make sure the MinixPlugin instance is enable too
- (MCVersion) Expose identifier
- (PluginService) Cleanup and fixes
- (Scanner) Docs and some more functions
- (ServerUtils) Flow subscription
- (StateEvent) Only provide state of event
- (WithPlugin) Provide the plugin scope
- (common) Add some contracts
- (core) Use import aliases
- (data) Cleanup and simplify Version.
- Still needs equals and tests.
- So much better and easier to understand now.
- (data) Some cleanup for serializers
- (plugin) Cleanup of reflection related classes.
- Mapped Annotation have been split up into individual annotations, some stuff should be cleaner, and maybe work better. TBH I've forgotten what i did along the way here.
- (plugin:api) KoinScopeComponent already extents KoinComponent
- (plugin:coroutine) cleanup dispatchers and allow access to executors
- (plugin:extension) Fixes and cleanup.
- Fixes the sort order of extensions.
- Allows for extensions to be lazily initialized just before the load method is called.
- (plugin:extension) Use reflection to acquire the plugin.
- Removes the need for injection, constructor params and the like.
- (plugin:integrations) update to new lands api methods
- cleanup
- inline aliases
- Cleanup ExBlock methods
- Convert coroutine related variables to use the interface
- no longer need explicit cast
- Config and data service
- Gradle
- Implement better way of checking for double clicks
- Move to paper Module
- Move PaperMinixLogger into core module
- Config and data related classes
- Cleanup and sort the MinixPlugin, and WithPlugin classes
- Coroutine sessions
- Expose minix main class within api
- Cleanup gradle some more
- Events
- Separate pos classes and main data module and put bukkit related into an Ex file
- Separate and improve some serializers
- Rewrite and improve expiration lists and maps
- Do some more moving and refactoring
Style
Tests
5.0.0
alpha10 января 2023 г.Unreleased (91926ba..f57a69e)
Bug Fixes
- (KPlayerEvent) Add component1 for player
- (LiquidEvent) Cleanup and don't fire same newType events
- (PlatformPlugin) Return self if correct type
- (PlayerData) Set the liquidType in onJoin
- (RegisteringMap) Should have an operator get
- (TimeService) Fire event with no players online.
- Prevents some weird edge cases and confusion to why a become day event would fire at eg: 4pm when the first player joins
- (TimeService) Move to paper module
- (autoscanner) enable AnnotationInfo
- (autoscanner) Retain class reference
- (ci) syntax
- (core) KoinProxy superclass function changes
- (flowbus) No scope
- (gradle) Include tasks from mpp targets
- (gradle) APIs clearing eachother till one remained
- (gradle) Don't API that
- (jumper) Dummy loader constructor instead of function
- (jumper) Invalid Class lookup
- (jumper) No public constructor
- (paper) Move java bootstrap kinda thing to separate module
- (paper-core) Initialise the logger convertors
- (paperweight-mpp) setup, resolution, and reobfJar task.
- Still seems to be able to resolve the nms from other sourceSets but it works in general now.
- (plugin) Null-pointer
- (plugin) alot of exceptions on startup
- (plugin) Unable to find bean
- (plugin) exception on extension init
- (plugin:api) java.lang.NullPointerException on extension init
- (plugin:core) Don't try load dependencies for minix again
- (plugin:core) koin application not yet started
- (plugin:core) koin application not yet started
- (plugin:extension) hashcode and equals
- (plugin:mapper) Filter for only final classes
- Invert incorrect dispatchNeeded check
- workaround for slimjar not including this for some reason
- replace old functions
- Update koin logger converter
- Fixes for last rebase
- Some more water event fixes, still one remaining i cant figure out
- NullPointer Exception
- Unneeded
- Use koin getter
- complaints of non implemented in common
- Main class is just Minix now
- Wrap player
- Assign as factory
- override property name
- suspend callback
- correct module
- ItemBuilder imports and explicit access
Build
- Fix missing dependencies from slimJar
- Use latest MCVersion
- fixes, cleanup and refactoring
- Use Minix withMCTarget instead of declaring in each subproject
- fixes for updated conventions version
- Fixes and improvements
- Update wrapper to 7.5.1
Build system
Documentation
- (plugin:core) Describe LoadListener usage
- Add KDocs for registering and expiration collections / maps
Features
- (Collections) Immutable and Mutable versions
- Also some general cleanup and allowing inheritance.
- (Common) Some new utils and extensions with some other cleanup
- (Extension) Provide scoped logger
- (Flowbus) Start of cancellable events
- (Logger) LoggingFactory for (in the future) scoped sub loggers
- (Logger) Custom Level converters
- (MinixConfig) Add qualifier
- (Ticker) Paper ticker
- (data) AccessWatcher
- More generic use case with definable delay and required access count.
- Also implemented test cases.
- (data) Minecraft fork support extensions
- (utils) getNMSClass for getting classes with the craftbucket + current nms prefixed
- Coroutines Main Bukkit main thread dispatcher
- Ticker module
- Platform proxy
- Global MinixPlayer wrapper
- FlowBus for mulitplatform event subscriptions
- AutoScanner module
Miscellaneous Chores
- (Data) Move related extensions and exception
- (Integrations) cleanup
- (Lifecycles) Move Closeable and Loadable to new dir
- (Version) Moved path
- (common) Bad bad old util
- (deps) Update conventions version
- (deps) Update gradle to 7.6
- (deps) Update conventions and add aedile dep
- (deps) Include optics reflect
- (paper-api) add 1.19.3 MCVersion
- (plugin) shupt ide
- (plugin:api) allow logger init outside delegate
- (plugin:core) update to mc 1.19.3
- (version) v4.3.13
- (version) v4.3.12
- (version) v4.3.11
- prepare for modrinth and fix compilation
- remove old renovate.json
- [skip-ci]
- detekt time
- update ci
- update README
- some annotations
- Remove old Core module, api still contains tests that need to be moved.
- Removal of deprecated stuff
- baseline generation
- binary api
- Barely working PaperweightMPP plugin
- New baselines and api files
- Misc fixes
- baseline
- Binary API
- Removing deprecated functions
- API dump and Ktlint baseline output dir
- Remove empty classes
- Merge from master
- Enter snapshot
- Push all local changes i can't make commit for all this lmao
- Events
- Extensions and utils
- Integrations
- Coroutine scheduler stuff
- Events stuff
- Annotation updates
- Remove unused velocity beginnings while just getting this to work
- Add functions to create maps
- No more annotation we using api guardian
- Remove leftover classes
- Useless test
- Remove MinixExperimental annotation, we use API Guardian now
- We don't care for the bukkit config stuff
- Pure move files
- Process annotations
- Modify Destructors path
- Move some more things into new modules
- Beginning of module restructure
Refactoring
- (API) Rewrite and big cleanup of OnlinePlayer collections
- (Common) Moved adventure infix functions and generified receivers
- (Coroutine) Dispatch using executor instead of scheduler.
- (CoroutineSession) Sessions declared in koin scopes
- (CoroutineSession) lambda wrapper instead of property
- (DataService) Add reload listener and function
- (Extension) Implement EventReceiver interface and scopes
- (Extension) Large cleanup, multiplatform support and cleaner code
- (ExtensionMapper) My brain says this should work
- (FlowBus) Convert to receiver so they are essentially protected
- (FlowBus) cleanup and some changes
- (FlowBus) Reorder params
- (FlowBus) Actual flow support
- (IntegrationService) Make sure the MinixPlugin instance is enable too
- (MCVersion) Expose identifier
- (PluginService) Cleanup and fixes
- (Scanner) Docs and some more functions
- (ServerUtils) Flow subscription
- (StateEvent) Only provide state of event
- (WithPlugin) Provide the plugin scope
- (common) Add some contracts
- (core) Use import aliases
- (data) Cleanup and simplify Version.
- Still needs equals and tests.
- So much better and easier to understand now.
- (data) Some cleanup for serializers
- (plugin) Cleanup of reflection related classes.
- Mapped Annotation have been split up into individual annotations, some stuff should be cleaner, and maybe work better. TBH I've forgotten what i did along the way here.
- (plugin:api) KoinScopeComponent already extents KoinComponent
- (plugin:coroutine) cleanup dispatchers and allow access to executors
- (plugin:extension) Fixes and cleanup.
- Fixes the sort order of extensions.
- Allows for extensions to be lazily initialized just before the load method is called.
- (plugin:extension) Use reflection to acquire the plugin.
- Removes the need for injection, constructor params and the like.
- (plugin:integrations) update to new lands api methods
- cleanup
- inline aliases
- Cleanup ExBlock methods
- Convert coroutine related variables to use the interface
- no longer need explicit cast
- Config and data service
- Gradle
- Implement better way of checking for double clicks
- Move to paper Module
- Move PaperMinixLogger into core module
- Config and data related classes
- Cleanup and sort the MinixPlugin, and WithPlugin classes
- Coroutine sessions
- Expose minix main class within api
- Cleanup gradle some more
- Events
- Separate pos classes and main data module and put bukkit related into an Ex file
- Separate and improve some serializers
- Rewrite and improve expiration lists and maps
- Do some more moving and refactoring
Style
Tests
5.0.0
alpha10 января 2023 г.No changelog was specified.
Создатели
Детали
Лицензия:GPL-3.0-only
Опубликован:3 года назад
Обновлён:3 года назад