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.
How to Install GroovyScript (Mod)
GroovyScript by brachy is verified for Forge across Minecraft versions 1.12.2 (latest release: 1.4.3, file size: 16.2 MB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.12.2) and platform (Forge).
- Make sure you have the compatible loader or environment installed for Forge.
- Move the downloaded GroovyScript file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 8mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
- Fix Biome Parser by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/380
- fix: Factory Tech issues by @Wizzerinus in https://github.com/CleanroomMC/GroovyScript/pull/381
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.4.2...v1.4.3
- Improve AspectHelper by @brachy84 in https://github.com/CleanroomMC/GroovyScript/pull/379
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.4.1...v1.4.2
- Fix compile issues by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/378
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.4.0...v1.4.1
- Fix ItemStack matcher check by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/373
- Update Groovy version by @Dan4oby in https://github.com/CleanroomMC/GroovyScript/pull/375
## New Contributors
- @Dan4oby made their first contribution in https://github.com/CleanroomMC/GroovyScript/pull/375
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.3.4...v1.4.0
- Blacklist Containers from registering by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/363
- Consistently Capitalize as
blockMaterialby @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/364 - add LightningCraft compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/365
- enhance Pyrotech compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/366
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.3.3...v1.3.4
## What's Changed
- Blacklist Containers from registering by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/363
- Consistently Capitalize as
blockMaterialby @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/364 - add LightningCraft compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/365
- enhance Pyrotech compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/366
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.3.3...v1.3.4
- use the field by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/359
- Fix ItemStack Matcher by @IntegerLimit in https://github.com/CleanroomMC/GroovyScript/pull/362
- Disable Furnace Logging by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/361
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.3.2...v1.3.3
- Material Info Parser and doc fixes by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/346
- Remove unneeded SimpleObjectStream copying by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/345
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.3.0...v1.3.1
- Infusion Crafting name usage by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/319
- Add Groovy call operator to log by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/323
- Document Steam Dynamo fallback calculation by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/337
- Better With Using Custom Ingredient Classes by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/335
- Fix Player Inventory Priority by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/332
- Run command on status bar click by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/327
- Fix constant crash when cache always disabled by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/326
- Improve VanillaModule design by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/324
- add Armor Plus compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/315
- Note Chisel Carving bug for registry replacement by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/325
- add Erebus compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/316
- Backwards compat for classes property by @brachy84 in https://github.com/CleanroomMC/GroovyScript/pull/338
- Enhanced Furnace Compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/331
- add Bewitchment compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/307
- feat: ProjectE EMC Mapper by @Amai-ICE in https://github.com/CleanroomMC/GroovyScript/pull/341
- its called blockmaterial buddy by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/342
- Update Buildscript by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/343
- Enhance Keybindings by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/340
- Filter Completions from Object Mappers by @IntegerLimit in https://github.com/CleanroomMC/GroovyScript/pull/334
- Object Mapper Inverter by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/339
## New Contributors
- @Amai-ICE made their first contribution in https://github.com/CleanroomMC/GroovyScript/pull/341
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.2.5...v1.3.0
- Fix GS Info Item Copying Formatting Characters by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/312
- Improve Creative Tab code by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/317
- Ore Ingredient Changes by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/310
- Comment
setTestStartingItemsfor examples by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/309 - Debug Stick example script by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/314
- feat: Add author field to RunConfig by @Xikaro in https://github.com/CleanroomMC/GroovyScript/pull/313
- Arcane World compat with RotN edition by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/311
- add FutureMC Composter compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/308
## New Contributors
- @Xikaro made their first contribution in https://github.com/CleanroomMC/GroovyScript/pull/313
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.2.4...v1.2.5
- Fix GS Info Item Copying Formatting Characters by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/312
- Improve Creative Tab code by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/317
- Ore Ingredient Changes by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/310
- Comment
setTestStartingItemsfor examples by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/309 - Debug Stick example script by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/314
- feat: Add author field to RunConfig by @Xikaro in https://github.com/CleanroomMC/GroovyScript/pull/313
- Arcane World compat with RotN edition by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/311
- add FutureMC Composter compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/308
## New Contributors
- @Xikaro made their first contribution in https://github.com/CleanroomMC/GroovyScript/pull/313
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.2.4...v1.2.5
- Require Extended Crafting: Nomi Edition by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/304
- Add reflection helpers as metaclass expansion by @brachy84 in https://github.com/CleanroomMC/GroovyScript/pull/295
- Arcane Recipe Builder aspect call enhancement by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/301
- Document via Descriptor and adjust Recipe Builder by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/302
- Adjust getMaxItemInput in missing places, fix examples by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/303
- Fix info command copying formatting by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/305
- add Factory Tech compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/272
- Document Vanilla Registries by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/300
- Fix Java 24 incompatibility by @brachy84 in https://github.com/CleanroomMC/GroovyScript/pull/306
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.2.3...v1.2.4
- Reload fix by @brachy84 in https://github.com/CleanroomMC/GroovyScript/pull/294
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.2.2...v1.2.3
- Fix HEI config breaking JEI compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/290
- Minor fixes for documentation by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/291
- Fix GroovyScript crashing on servers by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/293
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.2.1...v1.2.2
- Spotless Creation by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/246
- add Horse Power compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/251
- add Random Things compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/253
- Fix file sorting when previously matched by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/261
- add JEI Category Sorting functionality by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/257
- add Ice And Fire compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/258
- StyleConstant creation by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/259
- Fix EnderIO Inventory Panel Crafting Crash by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/274
- Commands helper by @brachy84 in https://github.com/CleanroomMC/GroovyScript/pull/269
- add Silent's Gems compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/276
- add Default GameRules by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/279
- Fix some IDE warnings by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/273
- Fix item transforms by @brachy84 in https://github.com/CleanroomMC/GroovyScript/pull/281
- add Arcane World compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/278
- add Blood Arsenal compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/284
- add Additional Enchanted Miner compat by @code-onigiri in https://github.com/CleanroomMC/GroovyScript/pull/282
- add Betweelands compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/285
- add Better With Addons compat by @WaitingIdly in https://github.com/CleanroomMC/GroovyScript/pull/271
- Fallback property container for all installed mods by @brachy84 in https://github.com/CleanroomMC/GroovyScript/pull/289
- Mapper backend refactor and texture deco improvements by @brachy84 in https://github.com/CleanroomMC/GroovyScript/pull/280
## New Contributors
- @code-onigiri made their first contribution in https://github.com/CleanroomMC/GroovyScript/pull/282
- Full Changelog**: https://github.com/CleanroomMC/GroovyScript/compare/v1.2.0...v1.2.1