... I think i'll stick with chaining based command builders. While this looks quite nifty (especially with minidigger adding brigadier support!) I honestly think that using too much annotations can make the code more difficult to read, maintain and refactor. But everyone got their own preferences I guess? I also am of the firm belief that wrapping arguments with a class which can extract double/long/int/byte/short are the way to go for argument handling (alongside a simple way to register "unwrappers" which can be accessed by class references.) I mean something like a WrappedStringArg#getInt signature. Annotations work really well to define defaulting values though - a great idea!