允许 Denizen 脚本直接与 Java 对象交互和操控。 [](https://www.codefactor.io/repository/github/meigoc/denizen-reflect) [](https://github.com/meigoc/denizen-reflect) [](https://github.com/meigoc/denizen-reflect/issues) * * * ## ⚠️ 注意:Denizen-Reflect 处于测试阶段。 插件仍在测试中,因此可能存在错误和缺陷。 请在 Discord 上报告任何错误或问题。 🔹 目前,我们建议在实际使用前预热标签。(暂时) 🔹 我们已经意识到了某些缺点和临时的解决方法 — 它们将在未来的更新中得到修复。 * * *
- , 2)].interpret>
```
## [?](https://helpch.at/docs/1.21/org/bukkit/block/Crafter.html) — 此示例展示了如何获取 Crafter 的所有禁用的槽位。
```yaml
disabledSlots:
type: task
debug: false
script:
- import org.bukkit.Location constructor:<[1].world>|<[1].x>|<[1].y>|<[1].z> as:crafter
- define crafter <[crafter].invoke[getBlock().getState()]>
#
- repeat 9 from:0 as:x:
- define disabledSlots:|:<[x].add[1]> if:<[crafter].invoke[isSlotDisabled(<[x]>)]>
```
# 文档:
## 对象类型
### JavaObjectTag
- **前缀**: `java`
- **描述**: 任何 Java 对象的包装器。它可以持有对象的实例(以 `java@
-
```
### identify
- **标签**: `<[object].identify>`
- **描述**: 将任何标准 Denizen 对象转换为一个新的、持久化的 `JavaObjectTag`。 当您需要存储对象的引用以进行复杂的 Java 交互时,此方法很有用。
- **返回**: `JavaObjectTag`
- **用法**:
```yaml
# 将 MaterialTag 转换为 JavaObjectTag
- define my_java_material