跳到主要内容

更新日志

BTC Studio 扩展与插件的版本说明。

每条记录包含扩展名称、版本号、发布日期及变更内容。 新版本发布时会在此追加记录。

即将推出

以下扩展已经完成,正在等待发布。列在这里是为了让你知道接下来会有什么——目前尚未 发布任何 release,下面的版本号就是这些 release 将要使用的版本号。

Corpse Extension v0.1 — 首个版本

  • 尸体像引擎自身的实体显示一样,为每个观看者各渲染一次,因此附近的所有人都能看到;模型动画和名牌 在 BetterModel、BTC Mob NPC 和 MythicMobs NPC 后端上均可正常运行。
  • 支持 Folia:所有调度都通过兼容 Folia 的调度器进行,掉落物、经验球和粒子都在拥有该尸体的区域上执行。
  • 尸体所保存的物品栏能够在重启、崩溃或重载后保留。尸体在 MySQL 可用时存入 MySQL,否则存入插件文件夹, 并在启动时恢复。
  • onlyOwnerCanLoot 会真正生效,拾取判定绑定到尸体自身的实体 ID,而不再是四格范围内的任意右键。
  • 尸体定义会在每次死亡时根据世界和优先级选取,其存在时长只在该尸体上解析一次。
  • on_corpse_spawnon_corpse_looton_corpse_expire 事件会经过引擎的触发器管线,并将尸体的 拥有者、掉落物和位置作为上下文发布出去。
  • displayNameshowDisplayNamedropOnInteractrenderArmorplayDeathAnimationdeathAnimationName 全部生效,且大多数设置为动态值,因此可以由占位符和 fact 驱动。
  • 由客户端渲染、颜色可配置的发光轮廓,尸体音效改为按附近玩家逐个发送,而不再全世界广播。
  • has_corpsecorpse_count fact、corpse_owner_audience 受众、显示到自己尸体的距离与方向的 corpse_waypointcorpse_recovery_objective,以及带有 listclear 子命令的 corpse_admin_command
  • 掉落物保护时间窗口,超过后尸体对所有人开放。

Custom Biome Extension v0.5

  • 自定义生物群系立即生效。 定义在保存的那一刻就会注册进运行中的注册表,而不必等待服务器重启。 生成的数据包成为持久化层,而不再是唯一的途径。
  • 修复:生成的数据包被服务器忽略。它的 pack format 被硬编码为一个旧值,而且被写入了服务器从不读取的 文件夹。
  • 修复:baseBiome 除 plains 之外毫无作用。生物群系现在基于服务器持有的基础群系构建,并使用其自身的 编解码器编码,因此生物生成、地物和洞穴雕刻器会被继承而不是丢失。
  • 修复:修改生物群系会在世界上打洞。刷新时发送的是区块卸载包,而服务器从不跟上一次重发。客户端现在 收到的是依据真实区块数据构建的生物群系更新。
  • 修复:leave_biome_event 从不触发。进入与离开的监听器互相覆盖了对方的状态,导致结果取决于注册顺序。
  • 修复:绘制时写入了整列的每个方块,而不是每个 4x4x4 单元格写入一个,并且是在调用线程上执行。写入现在 被调度到拥有各个区块的区域上。
  • 服务器无法序列化的生物群系现在会在注册阶段被拒绝,并指明出问题的取值。此前它会被接受,随后导致每次 登录都失败。
  • 按玩家的生物群系覆盖player_biome_overlay_action):在不改动世界、也不影响其他人的前提下, 只让一名玩家看到不同的生物群系。
  • 区域绘制paint_biome_region_action)并带快照,以及用于还原区域的 restore_biome_action
  • biome_transition_cinematic:在一段过场动画的过程中改变玩家所看到的生物群系。
  • custom_biome_preset:在多个生物群系之间共享颜色和视觉属性,并可按定义覆盖。
  • explore_biome_objectivebiome_discovery_fact:通过访问生物群系来完成的任务。
  • 每个读取类条目都新增了 source 选项,用于选择读取玩家所看到的内容还是世界实际包含的内容。
  • 移除了 /tw biome setcolor(它创建的临时生物群系从未被持久化)以及 fact 的 HASH 模式(其取值在 重启之间并不稳定)。
  • 扩展的 jar 从 2.6 MB 降到 230 KB:它不再打包服务器本就提供的库。

Enchantment Creator Extension v0.8

  • 机制上的 levelMode 可将 runOnLevel 作为精确等级、最低等级(AT_LEAST)或最高等级(AT_MOST) 来比较。此前只能精确匹配。
  • eventPhase 让机制的动作在当前 Bukkit 事件内执行,因此取消事件或修改伤害才会真正生效。对于排队执行的 Typewriter 交互,请将其设为 false。
  • clientSideEffects 现在具备客户端感知能力,并新增 client_particle_effect 动作:BTC 定制产物在可用时 使用基于 PacketEvents 的渲染器,公开的 Paper 产物则使用面向单个玩家的 Bukkit 回退方案。
  • 注册表键现在由 id 派生。加载已有页面和物品时,原先的 name 会作为遗留别名保留,因此无需重新编写。
  • 公开产物刻意不依赖 BTC-CORE 或 BTC Velocity:它在 Paper 1.21.x 上以 Java 21 运行,由 JDK 25 编译为 Java 21 字节码。

Numerical Storage Extension v0.9

  • 交易配置中的 transactionModeINTERNAL 保留 PlaceholderAPI 加控制台命令的路径,VAULT 直接 走 Vault Economy API,并忽略 amountPlaceholder 及各命令字段。
  • addCommandremoveCommand 的文档此前写反了。addCommand 用于完成存入存储的操作,并在持久化变更 之前 进行检查;removeCommand 用于完成取出操作。
  • 持久化现已改为异步,并加入按产物划分的变更锁和短时缓存,因此两笔同时进行的存入不会再相互干扰。
  • 存储文件迁移到技术产物路径下的 JSON 架构版本 2。基于语义化 artifactId 的旧文件会备份到 backups/numericalstorage/,并在首次访问时迁移——升级前请备份 Typewriter 的 assets/ 目录。
  • artifactId 是自动生成的技术标识符:留空即可,Typewriter 会自行填入。
  • 占位符改为接收显式的定义参数(%typewriter_ns_balance_bank%),从而消除了定义 ID 本身包含下划线时, 旧的按下划线拆分所带来的歧义。
  • 安装 Profiles 集成后可选启用的按档案区分的键。

2026-08-07

QuestCodex Extension v2.8

  • 真正的 Minecraft 进度。 新增的 advancement_definition 条目会把真实的进度写入扩展自行管理的数据包,因此它们会出现在原版进度界面中,拥有独立的标签页、进度树、边框与提示弹窗。parent 引用另一个定义,所以进度树会在节点编辑器中绘制出来。
  • grant_advancement 用于授予或收回进度,并会沿着父级链依次处理,避免出现父级未获得而子级已获得的情况。
  • autoGrant 让进度在玩家的第一个刻就被获得。用在根进度上时,标签页便能在尚未获得任何进度之前就存在。
  • 修复任务顺序:嵌套任务从自身所属的子分类读取顺序,未显式设置顺序的任务不再挤作一团,添加任务也不会再清除它原有的顺序。
  • 任务标记支持分页,排序模式按玩家各自保存,多重追踪在重新连接后仍保持玩家选择的顺序。

Release v2.8

OmniGUI Extension v0.11

  • 物品提示框,并在 GUI 配置条目中新增 hideVanillaItemStats 开关。
  • 分页布局可通过新的 INDICATOR 角色显示页码指示器。
  • 服务器启动时校验菜单:越界的格子、缺失的模板或未知的按钮类型,会在玩家打开菜单之前就在控制台中指明。
  • <shift:N> 无需 CraftEngine 即可生效,改由内置的 Magic Digit 字体处理。
  • countrepeatY 已明确说明为格子的重复次数,而非物品堆叠数量。

Release v0.11

Shop Extension v1.3

  • 商店不会再让玩家的余额变为负数。此前有三条彼此独立的路径都会导致这一结果。
  • 无法读取的余额不再被当作零处理,12.5k 这类带格式的余额也能正确解析。

Release v1.3

2026-08-03

QuestCodex Extension v2.7

  • 新增航点显示模式:WORLD_DIRECTIONAL 沿目标的真实方向,把标记投影到玩家视线周围的球面上; TARGET_ANCHORED 直接把标记放在目标处;ADAPTIVE 在两者之间平滑过渡。默认仍为 HUD_LOCKED, 因此现有页面不受影响。
  • 新增恒定视觉尺寸与角度去重叠处理,使多个目标处于同一视线方向时,各标记依然清晰可辨。
  • 新增在单个航点条目中渲染多个目标,配套新增追踪目标选择项 ALLONE_PER_QUEST,以及上限 maxTargets
  • 修复航点忽略多重追踪的问题:次要追踪任务的目标从未被解析,因此只有主线任务会生成标记。
  • 新增 quest_codex_locator_bar,在 Minecraft 1.21.6 及以上版本中,将同样解析出的目标渲染为原版 定位栏圆点,且不生成任何实体。

版本 v2.7

2026-08-02

QuestCodex Extension v2.6

  • 新增对中断的 Typewriter 对话与过场动画的持久化恢复,包含最后一帧过场画面。当 Typewriter 在玩家断开 连接后触发清理事件时,恢复功能现在会保留已捕获的快照。
  • 新增多任务持久化追踪,包含追踪任务菜单、专用占位符,以及一个双任务航点的公开示例。
  • 新增纯文本的客户端航点,支持可配置的图标文本、居中的方块展示实体、居中的信标旋转、按层级对齐目标、 平滑插值、靠近目标放置,以及可配置的水平可见锥角。
  • 在首次公开部署前,移除了旧的航点图层(物品展示实体与方向箭头)。

版本 v2.6

OmniGUI Extension v0.10

  • 新增 Flex 与 Composite 布局引擎,用于响应式的格位排布与合成式菜单图层。
  • 新增可复用的可寻址视图,支持继承布局池、默认视图、面包屑、视图标签,以及可选的历史记录集成。
  • 新增支持视图的架构迁移与 QuestCodex 集成,并补充了 Maven 发布元数据。
  • 修复视图切换:现在重建菜单时不再出现关闭再打开的闪烁,且关闭背包的操作已适配 Folia。

版本 v0.10

Shop Extension v1.2

  • 基于 OmniGUI v0.10 重新构建并验证了公开版 Shop 扩展。
  • 保留了现有的动态商店布局、导航历史、填充物处理、库存与限购规则,以及自定义商店按钮处理器。
  • 从 Shop Extension v1.1 升级无需任何迁移操作。

版本 v1.2

MythicMobsNPC Extension v0.4.6

  • 修复不含任何动画的模型忽略缩放变更的问题,处理方式与 BetterModel 扩展一致。
  • 原版生物变种(猫、狐狸、狼、村民等)现在会在控制台提示一次,而不再被静默忽略:它们属于 MythicMobs 配置,该配置掌握生物的身份,并会在每次重生时覆盖这些设置。
  • 修复单个数据条目失败会取消同批次其余所有条目的问题,该问题可能导致 NPC 完全没有应用任何已配置数据。
  • 发光效果与装备现在作用于模型,而不再只作用于生物本体。生物本体被模型遮挡,仅设置在本体上不会显示 任何效果。
  • 当模型没有承载物品的骨骼时,装备现在会在控制台提示,而不是静默地不做任何处理。
  • 火焰每秒重新施加一次,避免自行熄灭;当 BetterModel 隐藏了绘制火焰所依附的本体时,也会给出提示。
  • 修复 NPC 行走或沿路网移动时名牌抖动的问题:文本展示实体现在会在两次更新之间插值,而不再跳跃式传送。

BetterModel Extension v1.3

  • 修复不含任何动画的模型忽略模型缩放的问题。BetterModel 只在动画播放期间重新计算模型变换,因此运行时 施加的缩放变更永远无法作用于静态模型。扩展现在会自行强制触发重新计算。
  • 同一修复也适用于模型偏移,它此前走的是相同的代码路径。
  • 实体数据条目现在会真正作用于模型,而不再被丢弃。已支持:发光效果、药水效果颜色(渲染为物品染色)、 亮度、公告板约束、插值时长、平移、3D 缩放、碰撞箱尺寸、装备与火焰。
  • 新增 bettermodel_bone_appearance,即按骨骼设置发光、染色、附魔光效与亮度的版本,采用与 bettermodel_bone_visibility 相同的条件系统。
  • 装备会映射到 BetterModel 的手部与头部物品骨骼。盔甲槽位会在控制台提示一次而非静默忽略,因为模型的 躯干与腿部承载着模型自身的几何结构。
  • 非等比的 3D 缩放现在会发出警告,而不再静默地只取单一轴向:BetterModel 仅支持等比缩放。
  • 任何对 3D 模型没有意义的数据条目(姿势、生物变种、繁殖状态等)现在会在控制台提示一次,而不再被静默 丢弃。
  • 发光、染色、亮度、公告板、平移与装备现在能够在资源包重载或重生后保留,而不会退回模型的默认外观。
  • 当模型没有带 riliph 标签的骨骼时,装备会在控制台提示,而不是静默地不做任何处理——这正是 物品无法显示的常见原因。
  • 火焰现在绘制在 NPC 的交互实体上,而非模型骨骼上:客户端会按实体的碰撞箱缩放火焰,而展示实体没有 碰撞箱,导致火焰被渲染为零尺寸。

Nexo Extension v1.0

  • 新增用于判断玩家手持物、背包携带物、注视对象及所站方块的事实条目。
  • 新增可获取所指物品、方块与家具的 ID 及属性的变量。
  • 新增基于 Nexo 物品 ID 的给予与移除物品动作。
  • 新增物品拾取、丢弃与消耗事件。
  • 新增自定义方块与家具的交互及伤害事件,以及掉落物事件。
  • 事件现在会把自身数据(方块 ID、位置、手持物品)传递给后续流程,对话或动作可直接使用。

CraftEngine Extension v1.0

  • 任务目标已可正常工作。可绑定到任务、保存进度,并在完成时触发序列。
  • 新增关于冷却时间、手持与携带物品,以及玩家所指方块或家具的事实条目。
  • 新增可获取 ID、物品属性及已加载内容列表的变量。
  • 新增基于 CraftEngine 物品 ID 的给予与移除物品动作。
  • 新增物品拾取、丢弃与消耗事件。
  • 新增放置尝试事件与击打家具事件。
  • 事件现在会把自身数据传递给后续流程。

ItemsAdder Extension v1.0

  • 方块与家具事件现在直接读取 ItemsAdder,而不再依据原版事件推断。这提升了可靠性,并消除了此前可能导致 触发丢失或重复的短暂延迟。
  • 新增关于手持与携带物品、剩余使用次数、自定义耐久、HUD 可见性及作物生长的事实条目。
  • 新增可获取 ID、物品属性及字体图像的变量。
  • 新增基于 ItemsAdder 物品 ID 的给予与移除物品动作。
  • 新增物品拾取、丢弃与消耗事件。
  • 新增交互事件、家具放置前事件,以及自定义实体死亡事件。
  • 事件现在会把自身数据传递给后续流程。
  • 修复任务目标,处理方式与 Nexo 扩展一致。

2026-07-26

QuestCodex Extension v2.5

  • 新增通过 quest_codex_tracking_artifact 条目实现的多任务持久化追踪。
  • 新增分类菜单模式 @tracked 与动态标记 TRACKED_QUEST_SLOT
  • 新增 /tw codex tracked 命令与内部 GUI 命令 codex:tracked
  • 新增 PlaceholderAPI 占位符,涵盖追踪任务数量、上限、主线任务、按索引的追踪任务、状态、目标与优先级。
  • 记录了公开页面包的结构:主清单、静态追踪产物、任务定义与 GUI 设置。

OmniGUI Extension v0.9

  • 新增针对内联存储与旧分页字段的公开页面架构自动迁移。
  • 记录了紧凑的 storagePool / storageIdnavigationButtons 架构,用于减少 Typewriter 编辑器 发布时的卡顿。
  • 阐明了大型 QuestCodex 菜单推荐使用的引用式菜单模式。