GroovyScript

GroovyScript

适用于Minecraft 1.12的脚本模组

基础库

一个脚本/调整模组,允许你在无需搭建模组的情况下修改各种游戏机制。

大多数情况下,它被用来创建新的配方。

以下是 GroovyScript(简称 GrS)的一些关键特性:

特性:

  1. Groovy:强大且经过测试的脚本语言
    • 兼容 Java 语法 + 可互操作的代码
    • 静态编译
    • 可选动态类型
    • 元编程
  2. 沙盒化:脚本在沙盒中有效运行,敏感操作被列入黑名单,禁止调用或引用
  3. 热重载:无需重启游戏即可测试脚本更改
    • 大多数(如果不是全部)Forge 注册表对象都可以即时重载
    • 大多数模组注册表原生支持
  4. 事件:使用 Groovy 闭包轻松监听 Forge 的 EventBus
  5. 熟悉感:为熟悉 CraftTweaker 的用户提供括号处理器(目前已经实现,可能在不久的将来移除)
  6. 信息功能:命令可为手中的物品等显示丰富信息
  7. 优化:确保在提供功能的同时,以高效代码做到不妥协
  8. API:为其他模组作者提供大量代码,使其模组与 GroovyScript 兼容,例如包/类/方法/字段黑名单

模组兼容性

从技术上讲,已经对所有可能的模组实现了兼容,因为你可以直接访问所有代码。不过,GroovyScript 确实添加了辅助方法,使一切更加简洁易用。

配方注册表的重载必须由我们手动实现,而且非常繁琐。我们目前支持少数模组的配方重载,但非常感激任何人能帮助我们添加兼容性和/或编写 wiki 页面。

常见问题

  • 它支持 X 模组吗?能从 X 模组做 X 操作吗?

    Groovy 几乎可以访问所有 Java 代码。这意味着只要你懂怎么做,几乎所有东西都是“支持”的。像配方这类东西无法重载。我们需要手动为特定配方类型添加支持。

  • 你能为 X 模组添加支持吗?

    可能可以。我们打算让它能与几乎每个模组兼容。如果你想要的模组尚不支持,可以在 Discord 上询问我们。

  • 为什么模组文件这么大?

    为了让模组正常工作,我们需要包含 Groovy 库,而这些库体积相当可观。

  • 这与 CraftTweaker 和 KubeJS 兼容吗?

    兼容,但那没有意义(除非 CraftTweaker 目前支持更多模组)。

  • 为什么我要用这个而不是 CraftTweaker?

    所有原因均已在上述特性中提及。在我看来,能够即时重载脚本是 GroovyScript 最大的优势。

加入我们的 Discord

官方 Wiki