Skip to content

Imperat v1.0.0-b.4

Pre-release
Pre-release
Compare
Choose a tag to compare
@Mqzn Mqzn released this 28 Sep 14:16
· 95 commits to master since this 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 type Imperat<S> ,
    while also removing the method parameter Imperat<S> from its abstract methods.
  • Refactored: the field OptionalValueSupplier in class CommandParameter is now annotated with @NotNull
    meaning it can't be null, you can add a null optional value using OptionalValueSupplier#empty(TypeWrap type)
    as the method OptionalValueSupplier#getValueType's return type has changed from Class<T> to TypeWrap<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.