跳到正文

Iron’s Spells 3D Cast Preview

作者:_p1nero

添加 Iron's spells 的 3D 施法预览。

收藏

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

Iron’s Spell Scroll Ponder

Iron’s Spell Scroll Ponder 为来自 Iron’s Spells ‘n Spellbooks 的卷轴添加了可交互的法术预览。将鼠标悬停在有效的法术卷轴上,并按住 Ponder 可配置的按键(默认为 W),即可打开实时预览。

本模组无需为每个法术单独制作场景,而是会在隔离的预览维度中,让服务端模拟玩家施放所选法术。实体、方块、粒子、声音、施法状态以及 Iron’s Spellbooks 的特定客户端数据包,都会投射到 Ponder 虚拟世界中。这样一来,内置法术和许多附属模组的法术都能获得实用的预览,无需为每个法术编写专属场景代码。

附属模组兼容性

大多数 Iron’s Spellbooks 附属模组都能自动兼容,因为本模组会通过 SpellRegistry 发现它们注册的法术,并让服务端模拟玩家施放真实法术。随后,它会将产生的实体、粒子、声音、方块变化、施法状态以及经过审核的视觉数据包投射到 Ponder 场景中。使用 Iron’s 标准施法和世界 API 的普通附属模组法术无需专门集成。

对于复杂法术,如果其关键行为发生在初次施法之后,例如再次施法、后续物理攻击、效果移除回调或其他游戏交互,则可能需要适配器。附属模组作者可以在通用初始化期间注册服务端 SpellPreviewAdapter:

SpellPreviewAdapters.register(
        ResourceLocation.fromNamespaceAndPath("your_mod", "complex_spell"),
        new SpellPreviewAdapter() {
            @Override
            public void onCastCompleted(SpellPreviewContext context) {
                // Prepare any state required by the follow-up demonstration.
            }

            @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 风格的场景。
  • 显示充能型和持续型法术的服务端同步施法进度。
  • 在服务端运行法术逻辑,同时让真实玩家保持原位。
  • 在可分发的 JAR 中内置 Ponder 和 Flywheel。

要求

仍需安装 Iron’s Spellbooks 及其常规运行依赖。本模组必须同时安装在客户端和服务器上。

使用方法

  1. 打开物品栏界面,将鼠标悬停在有效的 Iron’s Spellbooks 卷轴上。
  2. 按住提示框中显示的 Ponder 键。
  3. 拖动鼠标旋转场景,滚动鼠标滚轮缩放,并使用界面显示的移动键平移镜头。
  4. 使用 Replay,重新构建并施放当前法术。
  5. 点击卷轴图标,搜索并预览其他已启用的法术。
  6. 按 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。

常见问题

Iron’s Spells 3D Cast Preview 支持哪些 Minecraft 版本?

Iron’s Spells 3D Cast Preview 支持 Minecraft Java 版 1.20.1–1.21.1,共 2 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

Iron’s Spells 3D Cast Preview 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

_p1nero 的其他作品

查看全部 →