A scripting / tweaking mod that allows you to alter various game mechanics without having to set up a mod.
Most of the time it is used to create new recipes.
Here are some key features of GroovyScript (short GrS):
Features:
- Groovy: a powerful and tested scripting language
- Java-compatible syntax + interoperable code
- Static compilation
- Optional dynamic typing
- Metaprogramming
- Sandboxed: scripts are effectively ran in a sandbox, with sensitive operations blacklisted from being called or referenced
- Reloading: able to test script changes within the game without restarting
- Most if not all Forge Registry objects can be reloaded on the fly
- Most mod registries are supported natively
- Events: Easily listen to Forge's EventBuses with Groovy Closures
- Familiarity: Bracket handlers for those that are familiar with CraftTweaker (currently implemented, may be removed in the near future)
- Informational: commands to display rich information for the item in your hand and more
- Optimized: Making sure no compromises are being made while delivering features with efficient code
- API: Great catalogue of code for other mod authors to make their mods compatible with GroovyScript such as package/class/method/field blacklists
Mod Compat
Technically there is already mod compat for every mod possible, since you can access all code directly. However GroovyScript does add helper methods to make everything cleaner and easier.
Reloading for recipe registries must be implemented manually by us and its very tedious. We currently support a few mods for reloading recipes, but we would very much appreciate if anyone can help adding compat and/or writting wiki pages.
FaQ
-
Does it have support for X mod? Can do X from X mod?
Groovy can access almost every java code. This means almost everything is "supported", if you know how to do it. Stuff like recipes are not reloadable. We would need to add support manually for that specific recipe type.
-
Can you add support for X mod?
Probably. We intent to make it work with pretty much every mod. If your desired mod is not yet supported you can ask us about it on the Discord.
-
Why is the mod file so large?
In order for the mod to work we need to inlcude the Groovy libraries, which are decently sized.
-
Is this compatible with CraftTweaker and KubeJS?
Yes, but there is no point in doing that (exept that CraftTweaker currently supports more mods.)
-
Why would i use this over CraftTweaker?
All the reasons are mention above in the Features. Being able to reload scripts on the fly is the biggest argument for GroovyScript imo.