Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GameObjectHandler enhancement #156

Merged
merged 22 commits into from
Jun 16, 2024
Merged

GameObjectHandler enhancement #156

merged 22 commits into from
Jun 16, 2024

Conversation

brachy84
Copy link
Member

@brachy84 brachy84 commented Apr 6, 2024

  • gohs are now registered with its mod container
  • enables usage of mods.modid.goh_name for all gohs added by mods
  • if mutiple mods add a goh with the same name you can only use the long version
  • goh are no longer transformed into a static method call, instead they are closures now
  • added documentation support which shows on hover via lsp (shows what it returns with mod name)
  • deprecates IDynamicGroovyProperty. It still works, but its not used here and lsp support was removed. Instead propertties should be added via ExpansionHelper.mixinProperty()
  • add helper methods to mixin properties into classes (slightly cursed)
  • add initialize(GroovyContainer) method to ModPropertyContainer and deprecate the old one
  • deprecate IRegistrar and move its methods to GroovyContainer
  • make use of addPropertyFieldsOf() in mod compat
  • add Hidden interface for meta methods and properties. This allows methods and properties to hide from suggestions via lsp. Useful to hide alias variations
  • goh should now be created via GroovyConatiner#gameObjectHandlerBuilder(), this makes sure its registered correctly for the mod
  • add a groovy container and mod property container for vanilla (currently doesnt do much, but intention is generation of examples + wiki)

@brachy84 brachy84 added enhancement New feature or request refactor Something is rewritten labels Apr 6, 2024
Copy link
Collaborator

@WaitingIdly WaitingIdly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

most of the comments are about error logging or similar situations still referring to Object Mappers as Game Object Handlers or even Bracket Handlers. this effect also happens in comments/javadocs, but as thats much more internal developer stuff and was largely not part of the diff, was not specifically commented on. these situations should get their terminology modernized.

# Conflicts:
#	src/main/java/com/cleanroommc/groovyscript/compat/mods/tinkersconstruct/Casting.java
#	src/main/java/com/cleanroommc/groovyscript/compat/mods/tinkersconstruct/TinkersConstruct.java
…' into goh-enhancement

# Conflicts:
#	src/main/java/com/cleanroommc/groovyscript/compat/mods/ModPropertyContainer.java
#	src/main/java/com/cleanroommc/groovyscript/compat/mods/alchemistry/Alchemistry.java
#	src/main/java/com/cleanroommc/groovyscript/compat/mods/botania/Botania.java
#	src/main/java/com/cleanroommc/groovyscript/compat/mods/draconicevolution/DraconicEvolution.java
#	src/main/java/com/cleanroommc/groovyscript/compat/mods/evilcraft/EvilCraft.java
#	src/main/java/com/cleanroommc/groovyscript/compat/mods/roots/Roots.java
#	src/main/java/com/cleanroommc/groovyscript/compat/mods/thermalexpansion/ThermalExpansion.java
#	src/main/java/com/cleanroommc/groovyscript/gameobjects/GameObjectHandlerManager.java
@brachy84 brachy84 merged commit 6b5a659 into master Jun 16, 2024
1 check passed
@brachy84 brachy84 deleted the goh-enhancement branch June 16, 2024 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request refactor Something is rewritten
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants