Imperat v1.0.0-b.4
Pre-release
Pre-release
API Changes:
- Added: placeholder registration system
- NEW PLATFORM: Added support for Minestom
- Fixed: greedy arguments parsing providing the value with extra last space.
- Fixed: uppercase commands not correctly being executed.
- Refactored:
ContextFactory
to an abstract class with a constructor parameter of typeImperat<S>
,
while also removing the method parameterImperat<S>
from its abstract methods. - Refactored: the field
OptionalValueSupplier
in classCommandParameter
is now annotated with@NotNull
meaning it can't be null, you can add a null optional value usingOptionalValueSupplier#empty(TypeWrap type)
as the methodOptionalValueSupplier#getValueType
's return type has changed fromClass<T>
toTypeWrap<T>
- Added new methods in
AnnotationParser<S>
:isKnownAnnotation(Class<? extends Annotation> annotationType)
registerAnnotations(Class<? extends Annotation>... types)
(to register custom annotations)hasAnnotationReplacerFor(Class<? extends Annotation> type)
getAnnotationReplacer(Class<A> type)
Internal Changes:
- Replaced some internal maps with our
Registry
class for better and cleaner code. - Added:
Registry#update
methods - Added: test environment for S.U.R
- Refactored: the class
AnnotationRegistry
to become package-private/internal and inaccessible.