
铁魔法法术3D预览
添加Iron的法术3D施法预览。
Iron 的咒术卷轴 Ponder
Iron 的咒术卷轴 Ponder 为 Iron's Spells 'n Spellbooks 中的咒术卷轴添加了交互式咒术预览。将鼠标悬停在有效咒术卷轴上并按住 Ponder 的可配置按键(默认为 W)即可打开实时预览。
该模组无需为每个咒术手动编写场景,而是在一个独立的预览维度中,于服务端模拟的玩家身上施放所选咒术。实体、方块、粒子、音效、施法状态以及选定的 Iron's Spellbooks 客户端数据包都会被投射到 Ponder 虚拟世界中。这为内置咒术和许多附加咒术提供了有用的预览,而无需为每个咒术编写场景代码。
附加模组兼容性
大多数 Iron's Spellbooks 的附加模组都能自动运行,因为本模组通过 SpellRegistry 发现它们注册的咒术,并在服务端模拟的玩家身上执行真实的咒术。随后,它会将产生的实体、粒子、音效、方块变化、施法状态以及经过审查的视觉数据包投射到 Ponder 场景中。使用 Iron 标准施法和世界 API 的普通附加咒术不需要专门的集成。
对于复杂咒术,如果其重要行为发生在初次施法之后(例如重新施法、后续物理攻击、效果移除回调或其他游戏内互动),则可能需要适配器。附加模组作者可以在 common 初始化阶段注册一个服务端 SpellPreviewAdapter:
SpellPreviewAdapters.register(
ResourceLocation.fromNamespaceAndPath("your_mod", "complex_spell"),
new SpellPreviewAdapter() {
@Override
public void onCastCompleted(SpellPreviewContext context) {
// 准备后续演示所需的任何状态。
}
@Override
public Action tickAfterCast(SpellPreviewContext context) {
if (context.ticksSinceLastCast() == 12) {
context.performPhysicalAttack(1.0F);
}
return context.ticksSinceLastCast() >= 20 ? Action.COMPLETE : Action.WAIT;
}
});
适配器的生命周期还提供了 onSceneReady、beforeRecast 和 onSessionClosed 方法,而 SpellPreviewContext 则公开了用于常见互动的受限辅助方法。对于无法安全隔离的咒术(例如持久传送门或跨维度传送),可从 allowsSimulation 返回 false。自定义的仅客户端数据包不会被自动信任:建议使用标准的实体、粒子、音效和方块 API,或为该数据包贡献一个经过严格审查的投射处理器。完整 API 请参阅 SpellPreviewAdapter 和 SpellPreviewContext。
特性
- 查看卷轴提示时按住普通 Ponder 按键即可打开预览。
- 显示咒术名称、描述、学派、稀有度、等级、施法类型、法力消耗、冷却时间、咒术强度、独特属性和观察到的目标伤害。
- 渲染一个紧凑的
7 x 7竞技场,包含一个模拟施法者和三个目标。 - 无需重置视角即可重放当前咒术。
- 按学派浏览已启用的咒术、进行搜索并切换活动预览。
- 可旋转、平移和缩放 Ponder 风格场景。
- 显示蓄力型和持续型咒术的服务端同步施法进度。
- 在服务端运行咒术逻辑,同时保持真实玩家原位不动。
- 将 Ponder 和 Flywheel 打包在分发的 JAR 文件中。
要求
仍需安装 Iron's Spellbooks 及其常规运行时依赖。请在客户端和服务端都安装本模组。
使用方法
- 打开物品栏界面并将鼠标悬停在有效的 Iron's Spellbooks 卷轴上。
- 按住工具提示中显示的 Ponder 按键。
- 拖动以旋转场景,使用鼠标滚轮缩放,使用界面显示的方向键平移视角。
- 使用 重放 来重新构建并再次施放当前咒术。
- 点击卷轴图标以搜索并预览另一个已启用的咒术。
- 按 Escape 或关闭界面以结束服务端预览会话。
Ponder 按键可在 Minecraft 的按键绑定中更改。生成的 config/iss_ponder-client.toml 文件还提供了 tooltip.showScrollSpellDescription 选项;将其设置为 false 可停止在卷轴工具提示中添加咒术指南描述,但不会禁用预览提示。
安全性与兼容性
咒术代码是可执行的模组代码,因此自动兼容性永远无法达到绝对。预览将一次施法限制为 15 秒,并将每位玩家隔离在 iss_ponder:spell_preview 维度中一个遥远的独立区域内。内置的 pocket_dimension、recall 和 portal 咒术仅为信息展示,因为它们可能改变维度或持久的游戏世界状态。
依赖生物群系、结构、方块互动、真实玩家物品栏或第二次游戏操作的附加咒术可能需要专门的适配器。自定义客户端数据包在虚拟世界中重放之前也需要明确的审查。
该项目为多阶段、重施法、反应性防御和后续弹射物机制提供了专门的后续适配器。测试矩阵请参阅 SPECIAL_SPELLS.md,已验证的架构、源代码参考和升级清单请参阅 TECHNICAL_NOTES.md。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。