Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* First api design * Rework and implement for expression * Implement for all syntax elements * Rename to Skript and other small refactors * Registration closing * Child key * Cleanup * Moving * hashcode * Oops * TODO * Move event pattern transformation to the correct place * Moves key implementation away * Apply suggestions from code review Co-authored-by: Patrick Miller <apickledwalrus@gmail.com> * Apply suggestions from code review Co-authored-by: Patrick Miller <apickledwalrus@gmail.com> * Requested changes * Package rename * Refactoring * Deprecation * Builders * Use builders * Certified license header moment * Not too proud of this one * Fix tests * Refactoring * Replace with shorter version * Fix order * Refactoring * Cherry-pick docs-tool into api-rework * Fix documentation * Double tabbing * Fix registrations * Attempt 2 * Apply suggestions from code review Co-authored-by: Patrick Miller <apickledwalrus@gmail.com> Co-authored-by: LimeGlass <16087552+TheLimeGlass@users.noreply.github.com> * Allows updating of Skript instance. * Fix error * Deprecation * Simpler keys * SimpleSkriptRegistry * Priority stuff * Allow for multiple Skript instances * Suppliers for syntax elements * Fixes for event parsing changes * Improve BukkitOrigin; Remove LegacyEventImpl * Origin improvements * Rework SyntaxInfo/Builder system * Improve Registry and Key system * Improve SyntaxRegister docs * Improve SyntaxInfo implementations * Add missing JavaDocs * Require builders for creating SyntaxInfos * Initial implementation of new Addon API * Address UnderscoreTud's review * Address Moderocky's review * Improve compatibility implementation * Remove Skript State system * Minor Tweaks * Localizer system draft * Localizer Fixes * Add support for property registration methods * Add support for unregistering syntax infos * First pass at SkriptAddon rework This will not build. This is a design pivot to have SkriptAddon instances returned by registering an addon by name rather than implementing the interface. * Implement child registries for addons * Fix language and addon compatibility * Fix building and tests * Block registration of interfaces/abstract classes They are permitted if a creation supplier is provided * Origin reworks Added a default SkriptAddon origin and pivoted internally to avoid using an "unknown" origin * First pass at priority rework * Add priority support to info builders * Revert Structure priority changes * Pivot to a relational priority system * Replace ExpressionType with priority system * Revert some unnecessary changes * Add missing EventValueExpression registration api * Rework Expression priorities to be for all SyntaxInfos * Change Skript.createInstance to also return modifiable addon * Add SyntaxPriority An implementation of Priority that enables positioning itself around specific SyntaxElement classes. * Move module loading out of registration * Add missing PriorityImpl checks * SyntaxPriority improvements and clarifications * Limitations on SyntaxPriority * Alternative module loading method * Remove unnecessary SyntaxRegister interface * Fix simple structure support * Implement Registry interface * Remove SyntaxPriority Implementation It is too unstable in its current state. It may return in a future PR. * Disconnect Event Info from Structure Info For registration purposes, SkriptEvents are no longer tied to Structures (see StructEvent) * Allow structures to be simple or section * Improve SyntaxInfo parameter checks * Add class loading utilities * Replace ClassLoader Java 11 methods * SkriptAddon: remove unnecessary annotations * ClassLoader: add default loadClasses method * Use builder method for Expression return type * Remove license headers * Prevent SkriptImpl from exposing its addons * Use the same registry across all addons Addon-specific registries may return but will need reworked * Rename SkriptAddon#registry to SkriptAddon#syntaxRegistry * Add ViewProvider interface * Improve annotation usage and placement * Remove deprecation annotations We plan to merge this as experimental/preview API * Add listening behavior to Event SyntaxInfo Forgot about this... * Add missing experimental annotations * Rename BukkitInfos to BukkitSyntaxInfos * Add unmodifiableView for Skript With this change, I have also removed the weird NonNullPair from creating a default Skript. * Add registry storage to SkriptAddon * Add source requirement to SkriptAddon * Remove source from Localizer This can be obtained from the addon instance * Fix old addon registration * SyntaxInfo equals/hashCode improvements * Implementation optimizations * Fix ConditionType support * Return the constructed info for static registration methods * Builder interface * Remove unncessary package infos * Implement Buildable interface Allows converting SyntaxInfos back into Builders * Improve legacy collection methods * Use a map for modern addon tracking * Fix SkriptEventInfo Compatibility * Allow Skript#getAddon to return Skript's addon instance Fixes current test failures * Tweak Preconditions check * ExpressionInfo Builder: require returnType at creation * Add 'clear' methods to builders * AddonModule: add init phase * Fix incorrect Expression Builder uses --------- Co-authored-by: kiip1 <25848425+kiip1@users.noreply.github.com> Co-authored-by: LimeGlass <16087552+TheLimeGlass@users.noreply.github.com> Co-authored-by: Moderocky <admin@moderocky.com> Co-authored-by: sovdee <10354869+sovdeeth@users.noreply.github.com> Co-authored-by: Efnilite <35348263+Efnilite@users.noreply.github.com>
- Loading branch information