* Make fake players compatible with adventure platform and minor refactor around them
Cleaner approach
* Remove no longer needed enderpearl mixin for fake players
Their ClientConnection now has an open channel so isOpen returns true
* Remove no longer needed language packet mixin
* Make StringArgument properly return a StringArgument supplier, so `string` isn't `term`
Fixesgnembon/fabric-carpet#1044
* Complete removal of `/info entity` and it's correspondent carpet
Resolvesgnembon/fabric-carpet#1033
* Remove yet another no longer needed mixin
* Change how app store types work, allow proper app and library installation
* Add node for resources in dependencies and docs
* Fix NPE without `type`
* Fix docs trying to change location of app type resource
* Separate libraries and apps and add trash for them
* Update docs
* Create trash directory if it doesn't exist
* Progress by now.
* Output conversions plus a few extra random things
* More progress, mostly list converting and a way to get converters
* Apply ValueConverters, refactor valueconverter getter to
accept types with annotations and generics, made listconverter pass
those params and annotations recursively. And probably more things.
* Some extra docs, the 100% most important thing
* Added MapConverter, strict Strings and Texts, some docs additions
and commented out heuristics
* Rework StrictParam to use SimpleTypeConverters and be saved in a map
* Minor changes and docs & added non-fully-functional context "converter"
* Added support for variable value count converters, multi-value eaters &
0 value eaters (Context).
* Docs update, enable Context converter, fix minor TODOs
* Move (most) parameter annotations into a single class,
remove deprecated ValueCaster#cast, update some docs.
* Small refactor of Param.Strict registering, added boolean to it
* Added PairConverter, moved Context and LV ValueConverters to Params
* Document public methods of AnnotationParser
* Add a lot more docs, make it ready for the first preview PR
* Move ValueConverter population outside of makeFunction,
check lv size for > max arguments, minor doc updates and workaround for
Mercury#28 until released
* Added optional parameters (declared using Java's Optional),
made evalAndConvert check for the presence of the next iteration,
updated test class
* Generalize Value OutputConverter
* ListConverter and MapConverter now follow ValueConverter contract of
incorrect value handling, returning a complete null for an incorrect
value anywhere. Also small fix to OptionalConverter and docs.
Getting ready for checking null in AnnotationParser!
* Change reflection's #invoke to a MethodHandle to boost speed by a lot
Commented
* Dedupe code, update and remove outdated todos, add 2 new ValueCasters
* Merge lambdas in display_title2 test function to be more accurate
* Check nulls somehow, I guess
* Move base function logic into a class to stop
passing hundreds of parameters into static functions and therefore simplify it
* Reduce visibility and fix a bug with PairConverter
* Hide Context provider in usage report
* Add support for primitive varargs
* Added TheLazyT converter
* Drop #getPrefixedTypeName and use 'something' as name of values
* Use value again because of varargs, document that
* Remove a completed TODO
* Remove old disabled heuristic value type name getter
* Fix TheLazyT
* Preparing locators before touching current Carpet infrastructure
* Add notes about non-implementedness of remaining locators
* Added APIs to register custom ValueConverters
* Mention new APIs in javadocs
* Adapt to new Carpet changes and deprecated non-implemented annotations
* Update example function for display_title()
* Better implementation for player_list example
* Fix example error message
* FunctionArgument no longer has generics
* Modernize Text converters
* OutputConverter is final, plus other small changes
* Few non-behavioural changes
* Rename LazyFunction to ScarpetFunction
* Drop LazyValue in parameters, not in return
Updating docs was a nightmare
* CARPET CHANGE - Make Fluff.AbstractLazyFunction.unpackArgs call unpackLazy (was duped)
* Make errors more like current Scarpet errors
* Allow customizing ContextType when evaluating arguments
* Add a few missing docs, comment out outdated ValueCaster doc
It's been a while, wow
* Fix for new Carpet signature :irritatered:
Please don't break API methods! Extensions may be using them, and they
will just crash the game or behave in unexpected ways else!
* Format all code to Carpet's. Powered by Eclipse
Reviewed to be sure it's ok. No functional changes, except from a small correction
* Always use full name for Context.Type
* Add parsing for all current Scarpet api and language classes
And remove test functions
* Allow void return type
* Fix no param methods
Whoops!
* Remove outdated comment and fix small javadoc linting problem
* Drop Param.TheLazyT in favour of just Context.Type type
And small performance improvement to varargs varargs since fastutil's toArray is crap
* Quote functions in error messages
* Make SimpleTypeConverter independent of ValueCaster
'Real world' usage demonstrated it can be annoying else, mostly for wrapper only values where you just want the wrapped object
* Allow apps to specify mod version requirements
* Allow a function in requires field and move to `readConfig()`
* Add `server_mods` to system_info()
* Add prefixes and default to `=`
* Added docs for `requires` and for `system_info('server_mods')`
* Better docs for requires (mention * and available prefixes)
* Update docs/scarpet/api/Overview.md
* Update docs/scarpet/api/Overview.md
* Update docs/scarpet/api/Overview.md
Co-authored-by: gnembon <41132274+gnembon@users.noreply.github.com>
* Fix rules-to-wiki output
* Publicize OLD_OUT in RulePrinter to simplify extension's equivalents
And rename to CarpetRulePrinter because of the same reason