跳到主要内容

更新记录

每个版本的更新内容与发布日期。升级方式:停服,替换 JAR,启动。配置文件会自动补上新增项目。

v1.6.2最新

开服信息统一格式

  • 优化开服信息改为与本系列插件相同的格式:标题下一行显示「[CloudModel] 云模型 v1.6.2 已启用」,再一行显示服务器版本、模型数量、显示模式等统计
  • 修复开服侦测的系列插件名称:StarBag 显示为「星月行囊」
v1.6.1

开服侦测系列插件、后台讯息整理

  • 新增开服完成后在后台印出云模型启动横幅:版本、Minecraft 版本、已载入的模型数量与自由旋转状态,并列出侦测到的本系列插件(云动作、云时装、云血条会写出与云模型的联动内容)
  • 优化后台只在需要你处理时才出现警告:模型 display 数量的效能提示、网格烘焙统计改为一般讯息
  • 优化授权讯息整理:未填写授权码、暂时连不上授权服务器(会每 60 秒自动重试)、使用离线授权都改为一般讯息;只有授权码错误、过期或被停用才显示警告
v1.6.0大改版

网格时代,正式降临 —— Blockbench 网格模型原样上服

这是云模型诞生以来最大的一次更新。那些在 Blockbench 里用网格(mesh)雕出来的高精度模型——弧形的披风、雕花的铠甲、层层叠叠的发丝——过去只能忍痛转成方块,换来满屏的锯齿和马赛克。从今天起,不必了:把 .bbmodel 直接丢进 blueprints,玩家在游戏里看到的,就是你在 Blockbench 里亲手做出来的样子。不装任何模组,不改一个三角形。

34,935三角形的骑士,一次读进服务器
0 失真外观与 Blockbench 逐张对照一致
2.5 倍10 只同屏时的帧数(对比原样转换)
0.6 秒第二次开服的载入时间(快取)
  • 新增Blockbench 网格(mesh)全面支持:读取时把网格换成任意角度的薄片,贴图照网格的 UV 逐像素重新烘焙,三角形以外完全透明——斜面是直的、曲面是顺的,告别锯齿与马赛克。需要 1.21.11 起的客户端(resource-pack.free-rotation 开启)
  • 新增同一个骨骼仍然只占一个 display:网格面再多也不会多出展示实体,动画、骨骼、技能全部照旧
  • 优化无损瘦身:真正同平面的面自动合成一片;同一骨骼内从 48 个方向都看不到的面自动拿掉。34,935 个三角形的骑士从 14,372 片降到 6,195 片,画面一个像素都不少
  • 优化同屏更多大型模型:10 只骑士同时出现,帧数从 26 提升到 65;20 只从 13 提升到 28
  • 优化秒开:网格烘焙结果存进快取,下次开服、/cm reload 直接读取(7.3 秒 → 0.6 秒)
  • 新增封闭的网格只画正面、有开口的网格(披风、布料)自动双面,与 Blockbench 预览一致
  • 新增resource-pack.mesh.max-faces:想要再更流畅,可以设定每个模型最多几片(会稍微失真);texel-density:网格贴图的清晰度
v1.5.3

模型可见距离 vr:第一人称武器第三人称不再显示

  • 新增MythicMobs model{} 支持 vr(viewrange)可见距离倍率,与 ModelEngine 相同。第一人称武器包用 vr=0.025:只有自己第一人称看得到手和地上的范围指示器,按 F5 第三人称、或其他玩家看你时都不显示(以前整组手会浮在玩家身旁)
v1.5.2

修复新版 26.2 所有模型隐形、多条血的王取消死亡后消失

  • 修复较新的 Paper 26.2 构建(内置 JOML 1.10.9)上所有模型都不显示,后台出现 模型 X 更新失败,已移除: NoSuchMethodError: Quaternionf.dot:JOML 1.10.9 改了这个方法的参数类型。云模型不再依赖它,并在建置时逐一检查用到的 JOML 方法在 1.20 ~ 26.x 各版本内置的 JOML 里都存在
  • 修复MythicMobs ~onDeath 用 cancelevent 取消死亡时(多条血的王:取消死亡再补满血),不再播放死亡动画、模型不再消失
v1.5.1

动画时间轴脚本、动画切换不再闪、名牌插件共存

  • 新增动画时间轴(Effects)的脚本关键帧 mm:技能名称 与音效关键帧照样执行,与 ModelEngine 相同(例如第一人称武器的蓄力射击刀光、表情音效)
  • 修复自动动画切换(idle ↔ walk 等交叉淡换)时,两段动画都隐藏的骨骼(缩放 0 的特效)会闪出来、手臂瞬间偏向原本的姿势:新动画第一个 tick 的淡入权重没有前进,两段权重相加少了 1/4。现在交叉淡换中权重一直相加为 1
  • 修复第一人称武器蹲下时(例如 Shift 蓄力的范围指示器)位置偏高:与 ModelEngine 相同固定用站立时的乘客座位高度,模型跟着镜头一起降
  • 修复玩家身上套了模型时,CustomNameplates、PlayerTitle 等插件用封包挂在玩家头上的名牌 / 称号会被挤掉、卡在原地:云模型送乘客封包时会一并带上其他插件加的乘客
v1.5.0

ModelEngine 4 的第一人称武器与玩家肢体

  • 新增支持 ModelEngine 4 的第一人称 / 玩家模型技能:animatemodel(技能直接控制骨骼)、pairmodel(对指定玩家强制显示 / 隐藏)、renderinit 与 model{init=false}、modelplayerskin(手臂画上玩家皮肤)、lockmodel(锁住转向,以前只是接受参数)、model{seeself}。ModelEngine 的第一人称武器包(例如 EliteCreatures 的动画武器)技能档不用改,与 ModelEngine 实测对照(1.21.4、26.2)位置与挥砍动作逐格相同,见 [第一人称与玩家模型](./mythicmobs.md#第一人称与玩家模型)
  • 新增骨骼标签 limb[type=...]_:玩家肢体(头、身体、上臂、前臂、大腿、小腿,一般 / 细手臂),用资源包逐像素上色画玩家皮肤,不需要 MineSkin 之类的外部服务
  • 优化玩家身上的整个模型 billboard:与 ModelEngine 相同,零件照常骑在玩家身上、整组绕乘客座位转向镜头(第一人称武器靠这个锁在视角前,移动不延迟)
v1.4.1

资源包变动时自动让 CraftEngine 重新生成

  • 修复CraftEngine 合并云模型资源包时,重开服 CraftEngine 不会重新生成资源包,玩家拿到的还是旧的:升级 1.4.0(零件编号改变)后斜片消失、出现别的贴图。现在云模型的资源包内容有变动(换模型、改设置、升级云模型)就在开服完成、/cm reload 完成时自动执行 /ce reload all,内容没变不会执行
  • 新增新设置 resource-pack.auto-reload-craftengine(默认 true)
v1.4.0

1.21.11 起一个骨骼一个 display

  • 新增新版客户端(1.21.11 起)的物品模型支持方块任意角度、多轴旋转:资源包直接写入这种旋转,同一个骨骼的方块合成一个 display,不再按旋转角度拆开。实测买家的刀光特效 43 个 display → 9 个,整台测试服 2887 → 2002 个,封包与客户端负担跟着减少;画面与以前逐像素相同(1.21.11、26.2 客户端实测)
  • 新增新设置 resource-pack.free-rotation(默认 auto:服务器 1.21.11 以上、没装 ViaBackwards / ViaRewind 时开启)。群组服在代理端用 ViaBackwards 让旧版客户端进来时请改成 false,见 [设置](./config.md#方块自由旋转)
v1.3.2

onend 无缝衔接下一段

  • 优化state{} 的 onend 默认提早 2 tick 执行(新参数 oeoffset / oeo,0 = 播完才执行):技能排到主线程、新模型送到画面各要 1 tick,以前下一段会晚 2 tick(约 0.1 秒)才出现,中间有空窗;现在实测 0 毫秒无缝接上
v1.3.1

移动中的逐格特效恢复平滑

  • 修复1.2.2 起,移动中的逐格特效(例如 bulletType=MEG 抛射物子弹上的刀光)每换一格会顿一下、平滑效果变差:刚出现的那一格直接到位,比其他还在插值的零件超前一格。现在刚出现的零件先放到上一刻该在的位置、再和其他零件一起平滑移动;原地不动的特效照样不会从中心滑出来
v1.3.0

state{} 播完时执行技能(onend)

  • 新增state{} 新增 onend(缩写 oe):动画播完时执行一个 MythicMobs 技能,例如 state{mid=boss;s=attack;loop=once;oe=Boss_AttackEnd}。循环动画、中途被停掉都不执行,见 [动画播完时执行技能](./mythicmobs.md#动画播完时执行技能onend)
v1.2.2

展示实体上的逐格特效不再从中心滑出来

  • 修复模型套在展示实体(ITEM_DISPLAY 等,例如 summon{} 召唤的特效实体)上、或 billboard 零件:逐格动画(step 缩放 0 / 1 切换)的每一格出现时,零件会从骨骼中心滑到该在的位置,斜片看起来「抽搐」、最后都飞向中心。现在零件出现、第一次显示时位置直接到位(缩放本来就直接到位,位置插值之前漏掉了)
v1.2.1

召唤出来的特效一出现就朝向正确

  • 修复技能召唤的实体(例如 summon{} 在 @Forward 生成的特效怪)套上模型后,模型先朝 0° 再慢慢转到实体的方向,刀光等特效出招时会甩一下、看起来像抽搐:刚生成的生物现在照原版客户端的做法,身体朝向直接对齐实体朝向,模型一出现就朝向正确(与 ModelEngine 相同)
v1.2.0

兼容 MCPets 等只支持 ModelEngine 的插件

  • 新增新增 ModelEngine 兼容层(另一个 jar,插件名称 ModelEngine):只支持 ModelEngine 的插件(例如 MCPets)可以直接改用云模型,见 [兼容 ModelEngine 插件](./meg-plugins.md)
  • 新增骑乘操控:经由兼容层骑上的驾驶照 ModelEngine 的 walking / force_walking / flying / force_flying 移动模型,速度看怪物的移动速度属性;模型没有 mount 骨骼时直接骑在怪物身上
  • 新增名牌:ModelEngine 的 tag_name 名牌(例如 MCPets 的宠物名称)显示在 tag_name 骨骼,不会和实体名称重复
  • 优化座位改成与 ModelEngine 相同的做法:服务器上乘客直接骑在模型的实体身上,玩家看到的座位跟着骨骼走;不再每 tick 传送乘客(以前会让 MCPets 这类插件把玩家放下来)
  • 修复下坐骑时其他插件在事件里又放人下来,会出现 ConcurrentModificationException
v1.1.3

名称高度与开关

  • 修复模型里有很高的方块(光环、特效)时,名称被推到最上面:名称高度改成与原版、ModelEngine 相同——有 tag_name 骨骼在那根骨骼的位置,有 hitbox 骨骼在它上方 0.5 格,否则在实体碰撞箱上方 0.5 格
  • 修复同一只生物套了好几个模型时会出现好几个名称,现在只显示一个
  • 新增model{} 新增 shownames(sn):个别生物不显示名称,例如 model{mid=npc;shownames=false}
  • 新增model{} 新增 nameoffset(nh)与 config render.name-offset:名称高度再往上(负数往下)几格
v1.1.2

套上模型的生物照样显示名称

  • 修复生物套上模型后名称(MythicMobs 的 Display、自订名称)不见了:原版在实体隐形、或实体身上有乘客时都不显示名称,现在由云模型代为显示在模型上方,规则同原版——永远显示(AlwaysShowName)时一直显示,否则准心对准时才显示
  • 新增玩家型的 Citizens NPC 也会显示名称,照 NPC 的名牌设定(显示 / 不显示 / 准心对准才显示)
  • 优化名称高度:模型有 hitbox 骨骼时在它上方,否则在实体与模型较高的那一个上方;盔甲架原本就会显示名称,不重复显示。可用 render.show-names: false 关闭
v1.1.1

关键帧算式与 Blockbench 一致

  • 修复关键帧的值只填了一半(例如 -、1-、*)时,与 Blockbench 相同把缺少的数字当成 0,/cm reload 不再出现「无法解析的表达式」警告;以前缩放通道会用 1 代替,和 Blockbench 看到的不一样(Blockbench 是 0,那一格会缩到看不见)
v1.1.0

ModelEngine 技能全面补齐

  • 新增ModelEngine 的 changepart remapmodel(remap) submodel mountmodel dismountmodel dismountallmodel(dismountall) bindhitbox setmodeltag light 技能、目标选择器 @ModelPart(LOCAL / MODEL / GLOBAL 偏移)@ModelPassengers @MountedModel、条件 ModelHasPassengers 全部可用,bodyclamp 不再报错。从 ModelEngine 搬过来的技能文件开服不再出现 Failed to load custom mechanic / targeter / condition
  • 新增换零件:骨骼换成另一个模型的方块(换装、换武器、Boss 二阶段),动画进度不中断;结构相同的模型互换时只换物品、画面不闪
  • 新增座位:玩家或怪物坐在模型的 p_ 骨骼上并跟着动画移动(Boss 抓人、荡秋千);名牌骨骼 tag_ 显示文字;碰撞箱骨骼绑定 MythicMobs 怪物
  • 新增骨骼 ID 与 ModelEngine 相同:技能里写去掉标签的名称(例如 h_head 写 head、p_seat 写 seat)
  • 修复b_ / ob_ 碰撞箱骨骼、ModelEngine 玩家肢体骨骼的方块不再被画出来;g_ 幽灵骨骼平时不显示,换零件后才看得到(与 ModelEngine 相同)
  • 修复模型方块的 UV 画到贴图外面时夹回贴图范围:26.1 起的客户端不会再无法显示这种模型,CraftEngine 合并资源包时也不再警告「越界 UV」
  • 优化染色(tint{})在换零件、/cm reload 后会保留
  • 新增给其他插件的 API:换骨骼显示的物品、登记额外的模型文件夹与资源包文件(为云动作 CloudMotion 准备)
v1.0.15

onStart 控制子弹模型、新增 scale{}

  • 新增抛射物 onStart 技能里的 state{} brightness{} tint{} partvis{} billboard{} scale{} defaultstate{} 套到子弹的模型上,与 ModelEngine 相同:子弹不用写 bulletState,飞出去那一刻用技能设定动画、亮度。目标是施法者自己时才会转到子弹,子弹没有指定的 mid 时照常套到施法者
  • 新增scale{} 技能(与 ModelEngine 同名同参数):m 留空 = 全部模型、s 缩放倍数(支持变量与算式)、h=true 改碰撞箱(底下实体的原版 scale 属性,1.20.5 以上);改完的大小重开服务器后保留
v1.0.14

逐格特效不再偶尔往回缩小

  • 修复用缩放 0 / 1 切换的逐格特效,偶尔会有一格刀光已经该消失了,却一闪一闪地重新出现、慢慢缩小(网络有抖动时才会,所以时有时无):原因是零件没变时也一直送「插值起点」,客户端每收到一次就把上一段插值重播一次。现在变换没变就不送
  • 修复藏起来(缩放 0)的零件不再送变换更新;零件「啪」地出现的那一下与紧接的下一次更新都直接到位:两个封包挤在同一个客户端 tick 时,也不会变成从看不见慢慢放大、慢慢缩小
  • 优化底座是展示实体时,判断「逐格瞬间切换」只看旋转与缩放,不再被同时往前移动的位移稀释(移动中的刀光切格也一定是直接切换)
v1.0.13

逐格特效也能平滑移动

  • 优化底座是展示实体(技能特效)时,零件的位置改用实体传送插值,变换只放旋转与缩放:用缩放 0 / 1 做的逐格刀光照样「啪」地切换,同时往前推、移动的部分平滑移动(以前缩放一瞬间切换,位置也只能跟着一格一格跳)
  • 优化底座自己设了 teleport_duration 时,零件跟底座用同样的时间滑过去
v1.0.12

动画衔接不再抽一下

  • 修复没有淡入(li=0)的动画开始、没有淡出的动画结束或被 state{r=true} 停掉时,姿势直接到位:连招里「停掉上一段、播下一段」的衔接不会再从上一段的最后姿势滑过去(看起来像抽一下)
  • 修复模型第一次显示前多等一个 tick,等同一批技能(state brightness billboard)都套上:MythicMobs 晚一两 tick 才执行 state{} 时,不会先闪一下没有动画的初始姿势;关闭自动动画(usm=false)而且还没播动画的模型最多等到第 6 tick。等待的时间在底座移除时会补回来,动画结尾照样完整
v1.0.11

短特效动画完整播完

  • 修复底座被移除(例如 MythicMobs 的 remove{delay=…})时,动画若为了显示第一帧而晚开始了几 tick,模型会在原地多留这几 tick 把动画播完:刀光、挥砍这类很短的特效不会再偶尔播到一半就消失(服务器有卡顿时更明显)。最多多留 10 tick,循环动画照常立刻移除
v1.0.10

技能参数支持变量与算式

  • 新增MythicMobs 技能参数支持变量与算式,与 ModelEngine 相同:例如 model{scale=2*<caster.var.size>}、state{s=<caster.var.anim>;speed=<caster.var.sp>*2},每次施放时才计算
  • 新增state{} 找不到动画时在后台提醒,并列出这个模型有哪些动画(同一个情况只提醒一次,/cm reload 换了文件会再提醒)
v1.0.9

billboard 保留模型的旋转

  • 修复billboard{} 套在一般方块做的特效上时,整个模型当成一张贴片面向镜头,保留模型里的旋转与相对位置(与 ModelEngine 相同):以前骨骼旋转会被丢掉,例如 group 转 -45° 的斜劈刀光会变回水平,同一个模型的不同动画看起来一样
  • 修复玩家看到的是模型的 Blockbench 正面(北面),与 Blockbench 预览一致(已用 Blockbench 本身核对)
  • 优化面向玩家的零件改为只送有变化的变换字段(位置、旋转、缩放分开比对)
v1.0.8

抛射物模型子弹

  • 新增MythicMobs 抛射物(projectile / missile / orbital / totem)可以用模型当子弹:bulletType=MEG 的技能不用改,没装 ModelEngine 时由云模型接手;也可以写 bulletType=CMODEL
  • 新增支持 ModelEngine 子弹的 bulletModel bulletState(循环播放) bulletScale bulletColor bulletBrightness;子弹结束时有 death 动画就先播完再消失
  • 新增bulletPitch=true:整个模型跟着飞行方向上下倾斜(ModelEngine 只转 h_ 头部骨骼,默认与它相同)
  • 修复死亡动画播完后模型正确标记为已移除(ModelHandle#isValid() 变成 false)
v1.0.7

动画第一帧、逐格动画

  • 修复动画的第一帧一定会显示:刚开始播放的那一 tick 不再先往前推;怪物刚生成、玩家还没开始追踪时动画停在 0 秒,等模型送到玩家画面才开始
  • 修复面向玩家(Billboard)的零件也照 step 关键帧直接切换:逐格动画(用缩放 0 / 1 轮流显示)不再被插值成慢慢缩放
  • 修复model{} 的 damagetint(d、tint)改为与 ModelEngine 相同的开关:d=false = 受伤不闪红;填颜色仍可指定受伤颜色
  • 新增model{} 支持 invisible(i):i=false 不隐藏底下的实体
v1.0.6

面向玩家(Billboard)

  • 新增支持 Blockbench 的 Billboard 元素:特效永远面向每个玩家的镜头,朝向模式 lookat / rotate → 原版 CENTER,lookat_y / rotate_y → VERTICAL
  • 新增MythicMobs billboard{}(m p b em c,与 ModelEngine 相同):整个模型或指定骨骼面向玩家,b 可选 FIXED / VERTICAL / HORIZONTAL / CENTER
  • 优化面向玩家的零件位置照样跟着骨骼动画走,用原版的位置插值平滑移动
  • 优化读取模型时遇到还不支持的元素(例如 mesh 网格)会在后台提醒,不再默默略过
v1.0.5

简体授权版

  • 新增简体授权版:在资源中心下载,授权码在会员中心「我的授权」,填进 plugins/CloudModel/token.yml 即可。默认配置与提示消息全部是简体中文
  • 新增授权在后台验证,不拖慢开服;连不上授权服务器时每 60 秒自动重试,连上立即生效,不需要重启;最多可离线运行 72 小时
  • 新增没有有效授权时模型不显示、/cm 锁定,插件其他部分照常载入;授权生效后模型自动出现
v1.0.4

转向平滑、受伤变红更可靠

  • 优化模型转向照原版客户端画生物身体的方式缓动:服务器上的身体朝向是一段一段跳的(走路转弯一 tick 最多转 90°),以前大模型会一顿一顿,现在平滑转过去。实测底座一 tick 转 90° 时分 20 次转完、单次最多 18°(以前一次跳完)
  • 新增新配置 render.rotation-smoothing(默认 0.3,0 = 关闭)与 render.rotation-max-lag(默认 60°,转太快时直接拉近,不会跟不上)
  • 修复受伤变红:除了受伤事件,另外侦测受伤封包与血量下降,技能、其他插件的伤害系统、直接扣血都会变红(真实客户端截图验证)
  • 新增model{} 支持 damagetint(别名 d、tint)指定受伤颜色,ModelEngine 的写法直接可用
v1.0.3

继承展示实体

  • 新增模型套在展示实体(block / item / text display)上时,可以继承展示实体的变换(平移、旋转、缩放)、朝向与亮度,就像模型是展示实体的内容一样。MythicMobs 用 model{mid=...;inherit=true},或在 config 设 render.inherit-display: true 全部开启
  • 新增继承时照原版的方式平滑:变换按 interpolation_duration / start_interpolation,转向按 teleport_duration
  • 新增API:ModelOptions#inheritDisplay(Boolean);继承设定会随模型一起存档,重启后保留
v1.0.2

动作衔接更准

  • 修复隐藏后重新显示的骨骼(例如 partvis 或动画切换)在同一个封包组里送出完整位置与物品,不会先在旧位置闪一下
  • 修复服务器卡顿后补帧时,瞬间切换(Step 关键帧)的判断范围改用动画实际前进的 tick 数,技能动作不再错位
v1.0.1

效能优化

  • 优化位置封包只发送有变化的字段,流量减少约 39%
  • 优化受伤泛红改用封包组同时套用,整个模型同一帧变色
  • 新增渲染线程过载时自动补帧,并在控制台提示
v1.0.0

首个正式版

  • 新增纯封包 item_display 渲染:服务器端没有实体,动画、骨骼计算与封包都在独立渲染线程
  • 新增读取 .bbmodel(含压缩存档)与 ModelEngine 模型文件夹,自动生成资源包,PNG 无损压缩与可选缩图 / 减色
  • 新增MythicMobs 技能 model state brightness partvis tint defaultstate,名称与参数同 ModelEngine
  • 新增Citizens NPC:/cm npc 套模型并存档,重启与区块重新加载自动套回
  • 新增玩家伪装 /cm dis,重新登录自动恢复;/cm apply 给任意实体套模型
  • 新增CloudCosmetics 3.2 起可使用云模型渲染模型时装
  • 优化动画与 Blockbench 5 逐帧一致:Linear / Step / Catmull-Rom / Bezier、Molang 关键帧
  • 优化与服务器 tick 同步更新、近距离每 tick 更新,同一模型的封包同一 tick 套用,动作不抖动
  • 修复state{} 的 loop=hold/once/loop 与 ModelEngine 一致,技能特效播完不会跳回静止姿势