跳到主要内容
Release Notes

萌芽引擎更新记录

最新稳定版4.4.2GermMod 与 GermPlugin 当前对齐
近期详解7 期2026 年 6 月,覆盖 36 个能力点
更新跨度2020 - 202638 个版本,616 项更新
2026 年 6 月

Camera2 运行时镜头命令

Camera2 新增运行时镜头命令。服务器可以通过 DOS 给玩家下发临时镜头效果,例如震屏、后坐力、冲刺拉镜、落地冲击、镜头聚焦目标,以及多条镜头命令批量播放。

play / patch / clear 三类镜头命令

play 适合一次性镜头冲击,patch 适合持续修改第三人称构图,clear 用来按频道淡出或清除镜头效果。每条命令都有 channel,重复使用同一 channel 可以覆盖旧效果,避免堆出不可控的镜头状态。

播放一次技能后坐和冲刺镜头
camera2<->play@skill.recoil@preset=recoil@duration=220@out=180@motionPitch=-1.2@motionFov=1.4
camera2<->play@skill.dash@preset=dash@duration=360@motionZ=-0.32@motionFov=1.85
camera2<->clear@skill.recoil@out=180

用 patch 临时调整构图、偏肩和镜头姿态

patch 不只用来叠加震动,也可以临时调整第三人称镜头构图。配置作者可以按频道设置偏移、距离、偏肩、FOV、俯仰、旋转和 roll,并通过 delay、priority、in/out、curve 控制进入顺序和混合节奏。它适合技能蓄力、NPC 对话、Boss 注视、载具镜头和特殊场景构图。

技能蓄力时切到右肩并拉近镜头
camera2<->patch@skill.aim@duration=-1@priority=80@shoulder=right@offsetX=0.35@offsetY=-0.1@distance=3.2@fov=4@in=180@out=220@curve=smoothstep
camera2<->play@skill.fire@delay=160@duration=420@preset=recoil@motionPitch=-1.4@motionFov=1.2
camera2<->clear@skill.aim@out=240

按频道管理镜头状态

Camera2 命令通过 channel 管理生命周期。默认情况下,同一个 channel 的新命令会替换旧命令,适合持续刷新技能镜头;需要多个镜头效果同时保留时,可以给它们不同 channel,或者显式使用 merge=additive。clear 支持精确频道、前缀通配和全量清理,方便在技能结束、副本退出或玩家死亡时恢复镜头。

按技能前缀统一清理镜头效果
camera2<->patch@boss.phase1.focus@duration=-1@subject=entity@entityId=128@focusYaw=0.35
camera2<->play@boss.phase1.hit@preset=shake@duration=650

# 只淡出 boss.phase1 这一组镜头
camera2<->clear@boss.phase1.*@out=260

# 紧急恢复:清理所有 Camera2 运行时镜头命令
camera2<->clear@*@out=180

预设快捷命令

如果只是想快速给玩家播放常见镜头反馈,可以直接使用 preset 快捷命令,不需要手写完整的 play / patch 参数。它适合技能测试、服主配置效果、脚本里快速触发后坐力、震屏、冲刺拉镜、落地冲击、聚焦和偏肩演示。

直接播放常用 Camera2 预设
camera2<->preset@recoil
camera2<->preset@dash
camera2<->preset@land
camera2<->preset@focus
camera2<->preset@focusOff
camera2<->preset@clear

预设组合、偏肩演示和分组清理

preset 也可以用来快速演示一组镜头效果。preset@all 会按顺序播放后坐力、冲刺、落地和震屏,适合确认客户端镜头系统是否生效;preset@shoulder 会把镜头短暂切到右肩再回中,适合测试偏肩构图。需要恢复时,可以只清聚焦,也可以清理 preset、test、effect 和 server.skill 这些常用镜头频道。

快速演示并恢复镜头状态
camera2<->preset@all
camera2<->preset@shoulder

# 只关闭持续聚焦
camera2<->preset@focusOff

# 清理常用测试和技能镜头频道
camera2<->preset@clear

目标聚焦与批量镜头

subject 可以让镜头柔和看向实体或世界坐标,不强制旋转玩家本体。json / batch 可以一次下发多条命令,适合技能、过场动画、Boss 机制中同时叠加构图、震动和聚焦。

聚焦实体并叠加镜头冲击
camera2<->patch@boss.focus@duration=-1@profile=focus@subject=entity@entityId=128@focusYaw=0.35@focusPitch=0.22@maxYaw=9@maxPitch=5
camera2<->play@boss.hit@preset=shake@duration=650@amp=1.0@freq=15
camera2<->clear@boss.focus@out=220

JSON / batch 一次下发多条镜头命令

Camera2 命令可以直接接收 JSON。配置作者可以用一个对象表示单条命令,也可以用数组或 commands 包装对象一次下发多条命令。这样 Boss 技能、剧情演出和 GUI 按钮不需要连续写很多行 DOS,也更容易把震屏、构图、聚焦和收尾清理放在同一个配置块里维护。

把聚焦、震屏和清理写成一个批量命令
camera2<->batch@{
  "commands": [
    {
      "action": "patch",
      "channel": "boss.focus",
      "durationMs": -1,
      "priority": 60,
      "subject": {
        "type": "entity",
        "entityId": 128,
        "yawStrength": 0.35,
        "pitchStrength": 0.22,
        "maxYaw": 9,
        "maxPitch": 5
      }
    },
    {
      "action": "play",
      "channel": "boss.hit",
      "delayMs": 180,
      "durationMs": 650,
      "motion": {
        "preset": "shake",
        "amplitude": 1.0,
        "frequency": 15
      }
    },
    {
      "action": "clear",
      "channel": "boss.focus",
      "delayMs": 1200,
      "blend": { "outMs": 220 }
    }
  ]
}
2026 年 6 月

镜头路径编辑输入保护

镜头路径编辑器补齐快捷键和输入保护。录制时可以用 P 快速标点;编辑器接管 Space、Tab、WASD、Q/E、左右箭头、加减号和滚轮,避免调整镜头时误触原版按键、切换快捷栏或触发缓存重载。

P 键快速标记路径点

录制镜头路径时,按 P 会直接把当前镜头状态记录为一个路径点,不再需要每次手动发送 mark DOS。只有在路径录制中才会接管 P;编辑器打开时也会吞掉 P,避免误触其他客户端功能。

用快捷键录制路径点
camera2<->path@record@start
# 调整镜头位置后按 P 标记第 1 个点
# 再移动到下一处镜头位置,继续按 P 标记
camera2<->path@record@stop

编辑器接管快捷键和滚轮

编辑模式暂停时,WASD、Q/E、左右箭头、加减号和滚轮会直接用于调整当前镜头点。客户端会拦截这些输入,并清理原版按键触发状态,避免原版移动、快捷栏滚动、其他按键绑定或缓存重载一起触发。

暂停后用键盘微调当前点
camera2<->path@edit@start@mode=remote@start=current
camera2<->path@edit@pause
# Space 保存当前点并继续预览
# Tab 切换姿态/点位模式
# 滚轮调整 FOV,+/- 调整当前点速度

编辑期间保护原版按键状态

编辑器现在会把 Space、Tab、P、WASD、Q/E、左右箭头、加减号和滚轮限制在镜头编辑用途里。按住这些键微调镜头时,不会同时积压原版按键触发状态,也不会在结束编辑后突然触发跳跃、切换物品栏或缓存重载。

安全地连续调整镜头点
camera2<->path@edit@start@mode=remote@start=current
camera2<->path@edit@pause
# 连续按住 W/S/A/D/Q/E 调整点位或姿态
# 用滚轮调 FOV,不会切换快捷栏
camera2<->path@edit@stop

编辑退出自动恢复玩家视角

编辑路径时经常会进入分离镜头和第一人称预览。现在停止编辑会兜底恢复玩家原来的视角和相机控制,即使编辑预览过程中多次暂停、切换点位或从当前镜头接入,也不会把玩家留在远程镜头状态。

编辑完成后直接停止并回到玩家视角
camera2<->path@edit@start@mode=remote@start=current@duration=8000
camera2<->path@edit@pause
# 调整并保存当前点
camera2<->path@edit@stop
2026 年 6 月

沉浸式第三人称角色活动区

沉浸式第三人称镜头新增角色活动区开关。开启后,玩家在镜头中心附近小范围移动时镜头不会立刻平移,接近活动区边界后才开始柔和跟随,适合动作服、RPG 服和需要更稳定观感的第三人称玩法。

角色小幅移动时镜头保持稳定

GermMod 会记录玩家在镜头局部坐标中的移动偏移,并把偏移限制在前后左右的活动区内。玩家停止移动后,偏移会平滑回到中心,避免镜头因为轻微走位或微调方向频繁晃动。

在客户端 GermMod.cfg 中开启
settings {
    B:enableImmersiveThirdPersonCamera=true
    B:enableImmersiveThirdPersonCameraDeadZone=true
}

服务端可动态下发开关

虽然这是客户端镜头表现功能,但服务器可以沿用已有 updateClient<->engineConfig DOS 动态控制。比如副本、剧情、主城展示区开启活动区,PVP 或需要传统镜头反馈的玩法中关闭。

用 DOS 为玩家开启或关闭
updateClient<->engineConfig@enableImmersiveThirdPersonCamera@true
updateClient<->engineConfig@enableImmersiveThirdPersonCameraDeadZone@true

updateClient<->engineConfig@enableImmersiveThirdPersonCameraDeadZone@false
2026 年 6 月

镜头路径运镜

新增 Camera2 镜头路径能力。客户端可以录制点位、预览和编辑运镜;服务端可以保存路径、下发给玩家播放,也可以通过 API 在剧情、过场动画、副本开场或教学引导中复用同一条镜头路线。

客户端录制和播放镜头路径

GermMod 会把当前镜头位置、朝向、roll、FOV 和点位速度记录成路径点。路径至少需要 2 个点,播放时会自动插值成平滑镜头,可选择第三人称镜头或分离镜头模式。

录制一条本地镜头路径并播放
updateClient<->engineConfig@enableImmersiveThirdPersonCamera@true
camera2<->path@record@start
camera2<->path@mark@speed=1.0
camera2<->path@mark@speed=1.4@fov=8
camera2<->path@record@stop
camera2<->path@play@duration=6000@mode=remote@ease=smooth

录制起点和后续标点都能覆盖镜头参数

开始录制时,record@start 会立即把当前镜头记录为第一个路径点;后续每次 mark 再追加新的路径点。配置作者可以在 start 或 mark 上覆盖 yaw、pitch、roll、fov 和 speed,用来修正起点朝向、给关键帧加横滚、临时拉 FOV,或者让某个点附近播放得更慢。

录制时直接指定起点和关键点参数
camera2<->path@record@start@yaw=90@pitch=8@fov=4@speed=0.8
camera2<->path@mark@roll=5@fov=8@speed=1.4
camera2<->path@mark@yaw=130@pitch=12@speedScale=0.65
camera2<->path@record@stop
camera2<->path@play@mode=remote@ease=smooth

分离镜头播放与视角恢复

mode=remote 会让镜头脱离玩家本体,按路径点直接移动相机位置和朝向,适合剧情过场、Boss 登场、地图展示和教学引导。播放结束时可以自动恢复玩家原来的视角,也可以保留分离镜头状态交给后续 DOS 继续控制。

从当前镜头平滑接入过场路径
camera2<->path@play@mode=remote@start=current@duration=7000@ease=smooth@restore=true@view=first

# 如果要把镜头交给后续 remoteCamera 或其他 DOS 继续控制
camera2<->path@play@mode=remote@duration=5000@restore=false

自动时长、点位速度和缓动曲线

路径播放可以显式指定 duration,也可以省略时长交给客户端按路径距离自动计算。每个路径点的 speed 会参与路段耗时计算,适合让镜头在重点画面附近慢下来、在普通飞行段加快;ease=smooth 会把整段播放改成缓入缓出的节奏。

让同一条路径按画面重点变速
camera2<->path@record@start
camera2<->path@mark@speed=0.6@fov=4
camera2<->path@mark@speed=1.8
camera2<->path@mark@speed=0.8@roll=6
camera2<->path@record@stop

# 不写 duration 时按距离和 speed 自动估算时长
camera2<->path@play@mode=remote@ease=smooth@restore=true

# 需要卡剧情时间轴时,再显式指定 duration
camera2<->path@play@mode=remote@duration=9000@ease=smooth@restore=true

路径命令支持简写和参数别名

为了方便把镜头路径接进已有 GUI、脚本或技能配置,路径播放参数支持多种等价写法。播放时可以直接把一个纯数字当作 duration;mode 也可以写成 driver,remote 也可以写成 sp 或 spectator;start 也可以写成 from,current 也可以写成 now 或 camera;collision 也可以写成 collide,ease 也可以写成 timeCurve 或 speedCurve。录制点位时,FOV 和点位速度也支持 fovOffset、speedScale 这类更贴近配置语义的名字。

用简写播放同一条路径
# 完整写法
camera2<->path@play@duration=7000@mode=remote@start=current@collision=false@ease=smooth

# 等价简写,适合塞进较短的 DOS 配置
camera2<->path@play@7000@driver=sp@from=now@collide=false@timeCurve=smooth

# 标点时也可以使用语义更明确的别名
camera2<->path@mark@fovOffset=6@speedScale=1.35

分离镜头连续接入与 FOV / roll 保留

分离镜头播放时,路径点里的 FOV 和 roll 会继续作用到实际相机上;如果当前已经处在分离镜头或远程观察状态,start=current 会从当前相机位置继续接入下一段路径,减少多段过场之间突然跳镜头的问题。

把两段过场镜头连续接起来
# intro_a / intro_b 的 duration、start、restore 等参数写在各自 options 中
camera2<->path@server@play@intro_a
camera2<->path@server@play@intro_b

# 路径点里的 roll / fov 会在分离镜头中继续生效
camera2<->path@mark@roll=8@fov=6@speed=1.2

路径碰撞与默认恢复行为

路径播放可以决定是否保留第三人称镜头碰撞。分离镜头默认不受墙体回缩影响,镜头会严格按路径点飞行;如果想让展示镜头避开墙体遮挡,可以显式开启 collision=true。编辑模式退出时默认恢复玩家原视角,避免调完镜头后把玩家留在分离镜头状态。

按过场需求选择碰撞和恢复
# 完整过场:按路径飞行,结束后恢复玩家视角
camera2<->path@play@mode=remote@duration=7000@collision=false@restore=true

# 狭窄室内展示:保留第三人称碰撞,避免镜头穿进墙体
camera2<->path@play@mode=remote@duration=5000@collision=true@restore=true

# 多段镜头衔接:播放结束后暂不恢复,交给后续 DOS 接管
camera2<->path@play@mode=remote@duration=5000@restore=false

内置镜头路径编辑器

路径可以进入编辑模式,客户端会显示编辑 HUD。玩家可以暂停到当前镜头点,调整姿态、点位、FOV 和点位速度,再继续预览,适合边看效果边修过场镜头。

从当前镜头进入编辑预览
camera2<->path@edit@start@mode=remote@start=current@duration=8000@ease=smooth
camera2<->path@edit@pause
camera2<->path@edit@mode
camera2<->path@edit@stop

编辑 HUD 显示状态、模式和当前可用操作

进入路径编辑后,客户端会在屏幕左侧显示镜头路径编辑面板。面板会告诉配置作者当前是预览飞行还是暂停编辑、正在使用分离镜头还是第三人称、路径点数量、播放时长、时间曲线,以及暂停时当前点的速度。这样调过场时不用反复看聊天栏,也能知道下一步应该按哪个键。

进入编辑器后按 HUD 提示调整路径点
camera2<->path@edit@start@mode=remote@start=current@duration=8000@ease=smooth

# HUD 显示“预览飞行”时
# Space 暂停到当前镜头点,Tab 切换姿态/点位模式

# HUD 显示“已暂停”时
# 姿态模式:W/S 调俯仰,A/D 调横滚,Q/E 调偏航,滚轮调 FOV
# 点位模式:W/S 前后,A/D 左右,Q/E 上下,滚轮调 FOV
# +/- 调整当前点速度,Space 保存并继续预览

服务端保存、加载和播放路径

GermPlugin 会把镜头路径保存为 misc source 中的 immersiveCameraPath 配置。OP 可以把客户端当前路径保存到服务端,后续通过路径名加载、播放、编辑、删除或列出;播放和编辑参数写在该路径的 options / editOptions 中,方便随服务器配置一起维护。

把路径保存到服务端并让玩家播放
camera2<->path@server@save@spawn_intro
camera2<->path@server@list
camera2<->path@server@play@spawn_intro
camera2<->path@server@edit@spawn_intro
camera2<->path@server@delete@spawn_intro

路径状态与服务端反馈

路径命令会把当前状态和服务端处理结果反馈到玩家聊天栏。配置作者可以直接查看当前是否正在录制、播放、编辑、暂停、使用哪种模式、路径点数量和播放时长;服务端路径不存在、保存失败、权限不足等问题也会返回明确提示。

检查当前路径状态和服务端路径库
camera2<->path
camera2<->path@server@list
camera2<->path@server@load@spawn_intro

调试时可单独停止、清空或导入路径

路径调试不一定每次都要完整走保存和播放流程。配置作者可以随时查看状态、停止当前播放、清空本地路径点,或者只把服务端路径 source 下发到客户端命名缓存,随后再按名称播放或进入编辑器。

调试路径时先导入,再决定下一步
# 查看当前录制、播放、编辑和点位状态
camera2<->path

# 停止当前路径播放,不清空已经录制或导入的点位
camera2<->path@stop

# 清空客户端当前路径点和播放状态
camera2<->path@clear

# 只把服务端路径 source 下发到客户端命名缓存,不立即播放
camera2<->path@server@load@spawn_intro
camera2<->path@server@import@spawn_intro

# 下发后再按名称播放或编辑
camera2<->path@play@spawn_intro
camera2<->path@edit@start@spawn_intro

插件 API 调用镜头路径

插件开发者可以通过 GermPacketAPI 保存、读取、删除、列出、下发、播放和编辑镜头路径,不需要自己处理底层 77 号网络包。适合把过场动画接到 NPC 对话、剧情任务、副本开场或技能展示中。

在插件中播放已保存的镜头路径
GermPacketAPI.playCameraPath(player, "spawn_intro");

服务端路径库 API 全流程

GermPacketAPI 补齐了服务端路径库的常用操作:保存路径 JSON、读取路径、列出路径名、删除路径、只下发路径、下发后播放、下发后进入编辑。插件可以把镜头路径当作服务器资源来管理,不必让每个玩法模块自己读写文件或拼网络包。

在插件里维护并复用一条路径
GermPacketAPI.saveCameraPath("spawn_intro", pathJson);

List<String> paths = GermPacketAPI.listCameraPaths();
String json = GermPacketAPI.loadCameraPath("spawn_intro");

GermPacketAPI.sendCameraPath(player, "spawn_intro", json);
GermPacketAPI.editCameraPath(player, "spawn_intro");
GermPacketAPI.playCameraPath(player, "spawn_intro");

GermPacketAPI.deleteCameraPath("old_spawn_intro");

路径 JSON 与插件下发

镜头路径可以用 JSON 表示,插件既可以把 JSON 保存到服务端路径库,也可以临时下发给某个玩家。这样剧情插件、任务插件或副本插件可以在代码里生成路径,不必要求配置作者先在客户端录制。

直接保存并播放一条插件生成的路径
String pathJson = "{\"version\":1,\"points\":["
    + "{\"x\":0,\"y\":72,\"z\":0,\"yaw\":0,\"pitch\":8,\"roll\":0,\"fov\":0,\"speed\":1},"
    + "{\"x\":8,\"y\":74,\"z\":-6,\"yaw\":45,\"pitch\":12,\"roll\":0,\"fov\":6,\"speed\":1.4}"
    + "]}";

GermPacketAPI.saveCameraPath("boss_intro", pathJson);
GermPacketAPI.playCameraPath(player, "boss_intro");
2025 年 9 月

客户端资源版本与连接信息

客户端连接服务端时会同步客户端版本和资源版本。服务端可以拒绝资源过旧的玩家,也可以在连接事件中读取这些字段,方便做资源包更新提示、渠道判断和开发调试。

客户端上报 clientVersion / resourceVersion

GermMod 会从客户端 GermMod.cfg 中读取 clientVersion 与 resourceVersion,并在完成连接握手时发送给 GermPlugin。clientVersion 适合标记整包或渠道,resourceVersion 适合做资源包最低版本判断。

在客户端 GermMod.cfg 中维护资源版本
settings {
    S:clientVersion=pc-v2025-09
    I:resourceVersion=10
}

服务端最低资源版本检测

GermPlugin 在收到客户端连接信息后,会读取 Settings.resourceVersionCheck。该值不是 -1 且玩家 resourceVersion 低于要求时,会直接使用 resourceVersionMsg 踢出并提示玩家更新客户端。

在 Config.yml 中要求最低资源版本
Settings:
  resourceVersionCheck: 10
  resourceVersionMsg: "§c你的客户端资源过旧,请更新客户端"

开发者 src 强制下发白名单

sendSrcDevList 可以在 sendSrcDebug 关闭时,为指定玩家强制下发服务端 src 配置。这样开发者可以接收调试配置,普通玩家仍然按黑白名单过滤。

只让开发者账号接收调试配置
Settings:
  sendSrcDebug: false
  sendSrcDevList:
    - "GermMC"

GermClientLinkedEvent 暴露更多客户端字段

插件开发者可以在 GermClientLinkedEvent 中读取 getClientVersion() 和 getResourceVersion(),结合已有的 modVersion、机器码、IP 等信息做兼容检查、统计或二次验证。

监听客户端连接事件
@EventHandler
public void onClientLinked(GermClientLinkedEvent event) {
    String clientVersion = event.getClientVersion();
    int resourceVersion = event.getResourceVersion();
}
2023 年 5 月

GUI 展示层点击控制

展示型 GUI 组件补齐点击吞噬控制。背景图、文字、颜色块、实体预览等组件默认保持点击穿透,需要阻止底层按钮或槽位响应时再显式开启。

展示组件新增 swallow

texture、color、gif、frame、video、label、entity、item 均支持 swallow。它用于决定鼠标点到该组件区域时,是否继续把点击传给更底层的组件。

在需要拦截点击的展示层上开启
popupMask:
  type: texture
  path: textures/gui/mask.png
  locationX: 0
  locationY: 0
  width: w
  height: h
  swallow: true

拖动区域保留 dragSwallow

options.dragSwallow 仍用于窗口拖动条区域。当玩家点住拖动条移动窗口时,它可以避免点击同时穿透到其他组件。

在 options 中保护拖动区域
options:
  dragSwallow: true
  drag:
    locationX: 0
    locationY: 0
    width: 180
    height: 28
2023 年 5 月

掉落物旋转与晃动开关

服务端 Config.yml 新增客户端掉落物渲染开关,可统一控制玩家客户端中的掉落物是否上下晃动、是否持续旋转。

ClientOptions.Drop.shake

控制掉落物是否沿用原版上下晃动效果。关闭后,掉落物会保持更稳定的位置,适合展示型掉落物、模型掉落物或希望降低视觉干扰的服务器。

关闭掉落物上下晃动
ClientOptions:
  Drop:
    shake: false
    rotate: true

ClientOptions.Drop.rotate

控制掉落物是否持续旋转。关闭后,掉落物仍会显示模型,但不会随着 tick 持续转动,适合需要固定朝向的自定义物品展示。

固定掉落物朝向
ClientOptions:
  Drop:
    shake: true
    rotate: false
历史版本

历史版本更新

从 1.0 到 4.3.6 的旧版更新记录,按月份和版本排列。

原始记录

2023 年 5 月

2023-05-214.3.5 ->4.3.6
  • 添加新的mysql链接驱动hikari_mysql,使用该驱动可以使用安全的跨服槽位储存逻辑。
  • 旧版可以使用gp misc updateMySQL指令升级。
  • 首先把Config.yml的Drive从mysql改为hikari_mysql
  • 将服务器内的玩家清空(有多个服务器的时候都要清空)
  • 输入/gp misc updateMySQL指令,进服确认物品是否正确。
  • 一些需要在进服时获取槽位数据的插件可能会出问题,可能需要作者监听SafePlayerLoadEvent重新实现逻辑。
  • 添加safer数据库锁的API,可以使用该API安全的进行跨服数据存储,实现SaferLoader接口注册进SaferManager。
  • 修复SlotConfig的NBT匹配字段拼写错误详情看插件SlotConfig。
  • 修复刀光会导致副手持刀崩溃客户端。
2023-05-044.3.4 ->4.3.5
  • 添加将一个链接转为图片的变量%qrcode_url%详情看gui/default.yml。
  • 修复输入框组件的文字渲染不居中问题。
  • 修复声音模块有时候会不加载某些音效。
  • 完善基岩粒子的曲线模块支持bezier曲线。
  • specialItem的redirectAnim支持替换任何动作。
  • 修复在自定义基岩玩家动作中勾选同步腿部会导致动作异常。
  • 添加OBJ方块模型的支持。
  • 支持关闭某个状态下物品的基岩模型替换,可以看服务端item/default.yml/bedrock/transformSetting。
  • GermSpecialItemEvent允许取消
  • mm增加specialItem技能,可以在一段时间内禁止玩家使用specialItem,方便玩家做一些技能动作的时候取消玩家的普攻。specialItem{action=ban;duration=1000}或specialItem{action=unban}
  • entity类文件增加attackAICancel选项可以在怪物攻击的时候停止AI(移动和转头)使其攻击过程更自然。
  • 修复开发API中修复scroll和canvas的克隆问题
  • 实现自定义位置的anchor通道,可以在misc中配置后使用message<->anchor@配置节点@消息 使用他。
  • 可以使用API播放effectentity的动画,完善effect的实体动画播放api。
  • 修复在关闭了openGui会无法与方块交互。
  • 修复破坏了基岩方块不会应用基岩方块配置的描述。
  • 实现第一人称第三人称动画分离,当玩家处于真实第一人称,并且动画拥有以.first_person结尾的动画名时将会自动播放。例如给玩家播放了idle,并且玩家拥有idle.first_person这个动作也正处于真实第一人称,将会播放idle.first_person而不是播放idle。

2023 年 3 月

2023-03-174.3.3 ->4.3.4
  • effect增加渲染距离参数
  • 兼容RGBA颜色和label的省略功能
  • button,slot添加鼠标滚轮点击,鼠标滚轮shift点击事件,button添加中间middleDos和shiftMiddleDos
  • 添加颠覆所有箱子和指定箱子大小的功能,添加匹配所有熔炉界面的功能。
  • 添加bb新的动画全局旋转格式
  • 修复一种基岩粒子加载失败。
  • 修复多个崩溃客户端的报错
  • 添加第五种第一人称客户端配置修改rfp2.cfg

2023 年 2 月

2023-02-194.3.2 ->4.3.3
  • 修复一种基岩粒子加载失败。
  • 修复多个崩溃客户端的报错
  • effect增加渲染距离参数配置项
  • `button`,`slot`组件添加鼠标滚轮点击,鼠标滚轮shift点击事件,`button`添加中间`middleDos`和`shiftMiddleDos`
  • 添加颠覆所有箱子和指定箱子大小的功能,添加匹配所有熔炉界面的功能
  • 添加bb新的动画全局旋转格式
  • 添加第五种第一人称客户端配置修改rfp2.cfg
  • 兼容RGBA颜色和`label`的省略功能
2023-02-134.3.1 ->4.3.2
  • 修复截取字符串宽度的代码没有忽略RGBA颜色。
  • 修复计算时间时的数据溢出丢失
  • 修复偶现的GermClientLinkedEvent事件不会触发
  • 修复从服务端下发文件的BUG
  • 修复effect的gui中item和slot组件显示异常,tooltip界面显示异常
  • 修复entity组件装备参数,穿装备会影响到本体的BUG
  • 增加options组件的变量,例如startX,startY等
  • `Config.yml`内`damage显示`增加服务端配置哪些实体不显示
  • 添加specialItem的变量刷新,可以根据攻速属性加快动作播放速度
  • 添加time_later,time_after变量,详情看gui/default.yml
  • 添加countdown2变量,详情看gui/default.yml
  • 增加complex变量,详情看gui/default.yml
  • 支持以箱子原型替换的基岩模型方块
  • 增加请求客户端正在播放音乐的数据包,`GermClientAPI.reqPlayingSounds()`
  • 优化动画中的move动画现在可以移动按钮等的响应位置了,不再只是显示效果
  • 将动画的`cycleDelay`字段重命名为`stay`
  • 路径中现在支持`if()`,例如`path: "if(str(%asd%,888),textures/misc/logo.png,textures/misc/air.png)"`
  • 优化物品match中的NBT条件读取比较int,long等其他类型
  • 修复`entity`组件的`followCursor`选项无效的BUG
  • 修复`GermSkinAPI`的`additem`方法不会自动刷新他人视角的时装的BUG
  • `Config.yml`添加玩家处于观察者模式时取消所有按键响应的配置
  • `Config.yml`添加不显示伤害数值的配置
  • `Config.yml`添加`hotCache`配置,用在不方便更新客户端资源时的临时更新内容使用
  • 导航增加navPitch配置,是否导航纵向位置
  • 优化mm的effect技能,目标支持坐标点
  • 优化MM怪物出生时被模型替换的速度
  • 优化依赖发布
  • 优化枚举类被混淆
  • mm中hud技能支持Placeholder

2022 年 12 月

2022-12-134.3.0 ->4.3.1
  • 修复`enable`变量值改变会导致的闪烁
  • 修复`滚动框`套用画布有时候点击会出问题。
  • 修复模型中的hitbox导致的碰撞箱偏移。
  • 修复`input`的`enterDos`无效。
  • 修复开启萌芽第三人称的指针渲染没有按照指针交互。
  • 修复effect方块和实体渲染bug。
  • 修复真实第一人下可以使用ALT转化视角。
  • 添加fill变量,添加experience2变量详情看gui/default.yml。
  • animation动画模块添加cycleDelay选项详情看animation/default.yml。
  • specialItem的duration增加新的负数写法
  • 让effect entity组件 在替换模型的时候 支持绑定声音和基岩粒子。
  • 抛射物支持模型替换支持模型scale。
  • 原先的7z密码支持zip,默认密码在官网看,可以加载加密的原版java
  • 支持获取掉落物的名字变量。
  • 增加forceGuiScale的客户端配置,可以强制客户端界面尺寸。
  • 将quickbar中的物品变量支持嵌套。
  • 实现item类型的Match中的matchEntity,使表达式里面的变量可以获取其他玩家信息。
  • 添加玩家是否正在钓鱼的变量。
  • 添加鼠标点击的key事件触发,keydos支持复合按键,支持鼠标按键触发。
  • GUI中的entity组件支持设置穿什么衣服,可以用来给GUI中的模型穿时装。
  • 非字符输入时,就算鼠标聚焦在input也可以触发keydos了,比如按tab。
  • 添加锁定快捷物品栏的API和指令,可以完全禁止玩家切换物品栏。
  • 添加主线程卡死检测,gp misc指令使用
  • 优化数据包传输,大数据包进行压缩,减少数倍网络占用。
  • 优化界面序列化算法,优化界面打开速度。
  • 优化effectframe在渲染每张不同大小的序列帧时的效果。
  • 优化伤害帧判断范围,优化很多东西。

2022 年 10 月

2022-10-234.2.9 ->4.3.0
  • 修复在gui中`entity`组件的视线焦点在脚底。
  • 修复~默认变量值无效,`%player_health~20%`,这样写当变量不存在时会默认为20。
  • 修复在渲染透明度极低的贴图时的渲染问题。
  • 修复重载萌芽时替换模型的怪物会自己移动一下。
  • GUI模块添加视频组件,可以播放本地和网络视频!
  • 真实第一人称增加可选隐藏肢体,详情见客户端`rfp2.cfg`
  • 支持箭的模型动作触发,如箭飞行时的动画。
  • 增加shift点击按钮的事件。
  • 增加`SpecialItem`触发动作的连贯性,只要拿了特殊武器就不触发原版与道具相关的动作。
  • `SpecialItem`增加KeyUP的识别。
  • `SpecialItem`增加`continuous`,`autoTurn`,`duration`,`originDamage`选项,详情看`GermPlugin/misc/default.yml`
  • slot组件增加支持`startUV`和`endUV`。
  • 增加`exeDos`。
  • `entity`组件添加`rotateX`属性,`options`,`button`,`checkbox`,`slot`,`input`组件添加`swallow`属性,可以防止点击穿透
  • options和canvas添加dragSwallow。
  • 支持更多抛射物模型替换,比如雪球,烈焰弹等。
  • 现在玩家鼠标悬浮物品的时候会触发GermHoverSlotAsyncEvent事件。
  • `SpecialItem`添加替换原版动作的逻辑,可以根据手持物品切换玩家动作。
  • 添加相机分离的API,服务端可以控制玩家灵魂出窍观察地图。
  • 添加`基岩版物品模型`可以单独设置`icon`。
  • 添加gui@showHealth,gui@showFood,gui@showQuick单独控制的HUD显示的开关 。
  • 添加第三人称强制开启指针渲染的选项。
  • 添加模型动画反向播放某个动作的指令和API。
  • 指针指向实体事件增加uuid,支持发包实体触发。
  • 添加事件`GermSrcRegisterEvent`。
  • 优化基岩粒子,修复多个BUG。
  • 优化执行自定义动作时的同步腿部,将不会挥动手臂。
  • 优化dos算法,算的更快更流畅,帧率可能会大幅度提高。
  • dos兼容长字符串型的dos写法,更具备可读性,详情看GermPlugin/gui/default.yml
  • 优化基岩方块碰撞箱的方向,现在会根据摆放角度旋转碰撞箱。
  • 优化模型动画逻辑,修复多个bug。
  • 优化头颅方块加载,有效防止进服打开带有基岩方块的箱子会卡顿。

2022 年 7 月

2022-07-024.2.8 ->4.2.9
  • 修复`lockmove`无法使用永久时间
  • 修复兼容`molang动作`后导致一些动作反向
  • 修复gui`Input`组件`invalid`时不会禁止输入
  • 增加不可锁定的生物限制,更新服务端的`Config.yml`可以看到怎么设置。
  • `SpecialItem`支持触发服务端的interact事件了,具体看`misc/default.yml`
  • `SpecialItem`支持触发指令了
  • `SpecialItem`增加一个触发时的事件 `GermSpecialItemEvent`
  • 增加`GermDosAPI`,现在开发者处理自定义dos需要先注册了
  • 增加使实体面向目标数据包`EntityUtils类`

2022 年 6 月

2022-06-184.2.7 -> 4.2.8
  • 修复前方有图片替换文字的话就会导致后面的字体渲染颜色异常
  • 修复更替所有字体在预加载时有密码的话会导致客户端崩溃
  • 完善topperHUD
  • 修复文字替换图片也会描边渲染
  • 修复手中武器的定位器
  • effect中的alwaysVisible改名为topRendering
  • 模型方块添加renderRange渲染范围参数,可以让模型渲染的更远
  • 修复entity组件无法点击和悬浮的判定位置不正确
  • 基岩动画兼容基础molang公式和参数query.anim_time
  • 实现动态模型组件替换,modelReplace
  • 增加序列帧模型的支持,在服务端调整切换图片的频率
  • 可以调整基岩模型的动画播放速度调整
  • 增加手持渲染成盔甲的选项,可以更精准的定位手中物品渲染位置了
  • 添加服务端不装萌芽自动清理客户端缓存,可以在客户端germmod.cfg中开关
  • 修复GUI中模型的自动播放无效
  • 优化锁定怪物,快速按下抬起~键则是自动锁定最近的敌人。
  • 增加V键调视角
  • 增加自动奔跑,客户端可以配置开关
  • 增加按住ALT可以自由查看自己的模式
  • 兼容万向跑,第三人称下可以不锁定向头朝的方向跑
  • 支持根据hitbox识别碰撞箱
  • 模型entity支持entityLength调整碰撞箱长度
  • 模型entity支持textureFront只渲染面对的贴图
  • 修复putPlaceholder dos的随机数不正确
  • 在锁定后增加一些俯视
  • 优化第三人称视角,改为越肩和可按下V键调整远近的
  • 添加updateClient<->engineConfig@名字@true/false动态开关所有客户端germmod.cfg的配置 - dos
  • 添加开关控制朝向鼠标攻击
  • 替换玩家模型,增加swimming_idle,swimming_walk触发动画,删除swimming触发动画。
  • 替换玩家模型,增加falling动画,在玩家从高出掉落时触发。
  • 制作动画walk1,walk2然后用萌芽BB插件给walk1衔接到walk2,可以做一个开始移动的过渡动画。
  • 增加MM技能释放effect,用法和,MM技能释放模型骨骼替换

2022 年 4 月

2022-04-274.2.6 -> 4.2.7
  • Effect组件添加followBindX,followBindY,followBindZ
  • Effect的texture,gif,frame添加CrossRendering
  • 修复原版的一个计分板的报错
  • 修复怪物在切换状态时导致动作被重置
  • 修复怪物在切换模型时导致模型的动作被重置
  • 将playerController移动到misc文件夹改名为SpecialItem,支持任何物品触发
  • SpecialItem支持多条件触发,支持按键触发
  • 增加rayEntity变量取代cursorEntity,获取更远鼠标对着的实体
  • 方块模型组件添加offset,可以调整渲染位置
  • 优化基岩模型掉落物的位置
  • icon的渲染调整改名为transformSetting具体看icom/default.yml
  • 基岩模型添加transformSetting支持,可以调整基岩模型在物品栏的渲染位置和大小
  • 可以使用transformSetting调整基岩模型在各个人称的渲染位置,添加默认在gui中的预览动作触发名preview
  • 增加箭的模型替换和怪物的替换配置通用
  • 增加TNT的模型颠覆,动画idle将会根据爆炸时间来播放动画
  • 优化弓的基岩模型替换,拉弓时会触发动画pull_bow,拉弓时弓的idle播放速度会越来越快
  • GUI增加options topperHud,设置为true可以将hud渲染在任何界面之上。
  • 增加玩家锁定怪物的功能,按住~键对准实体锁定,开启后玩家的头会锁定怪物,玩家需有权限germplugin.lock.entity
  • 加入lockEntity Dos 可以开关玩家镜头锁定实体的功能还可以动态调整一些参数,详情请看gui/default
  • 修复怪物的COMBATING(发现目标)动作触发不了
  • 兼容NPCMOD生物的名字匹配模型
  • Rotate动画支持表达式
  • GUI中OPTIONS的KeyDos支持直接@按键的写法了
  • 强化材质包加密功能
  • 恢复玩家刀光,可以在客户端germmod.cfg中开关
  • 优化和修复yaml式的玩家动作文件,播放完之后玩家会鬼畜一下的bug
  • 修复网链资源图片有时候加载不出来的BUG
  • 方块模型增加dosController可以触发dos,详情看item/default.yml
  • 修复无法调用GermPacketAPI的clearPlayerCameraBehavior无效
  • EntityUtil增加修改LivingEntity实体的移动类型为奔跑
  • 增加玩家镜头相关的指令组输入/gp camera查看
  • 支持在GUI中显示不同世界玩家的时装等
  • 代码优化等,修复一些小问题
  • 可能还写了什么没记录下来
  • 修复模型方块的碰撞箱虽然小了但是走不过去的bug
  • 增加模型替换动画触发,前提是原类型有这些动画逻辑,推荐将原型做成玩家类型
  • IDLE, //静止动画 动画应只播放一遍
  • WALK, //移动动画 动画应只播放一遍
  • FLYING_IDLE, //空中静止动画 动画应只播放一遍
  • FLYING_WALK, //控制移动动画 动画应只播放一遍
  • JUMP, //跳跃动画 动画应简短且只播放一遍
  • SPRINT, //奔跑动画 动画应只播放一遍
  • SNEAK(LivingData::isSneaking), //潜行动画 动画应停于最后一帧
  • SPAWN, //出生动画 动画应只播放一遍
  • BURNING, //燃烧动画 动画应只播放一遍
  • SWIMMING, //游泳动画 动画应只播放一遍
  • HEAL, //恢复动画 动画应只播放一遍
  • HURT, //受伤动画 动画应只播放一遍
  • FLYING_ELYTRA, //鞘翅飞行动画 动画应只播放一遍
  • RIDING, //骑乘动画 动画应只播放一遍
  • CLIMBING, //攀爬动画 动画应只播放一遍
  • //进入战斗状态动画 动画应停于最后一帧 例如僵尸发现目标时抬起了手
  • COMBATING,
  • DEATH, //死亡动画 动画可只播放一遍或停于最后一帧 动画在不循环只播放一遍时,播放完动画后会消失 动画在停止到最后一帧时 会将模型留在地图上(可以作为怪物死后的尸体效果)
  • //防御动画 动画应停于最后一帧
  • DEFENSE,
  • //吃动画 动画应停于最后一帧
  • EAT,
  • //喝动画 动画应停于最后一帧
  • DRINK,
  • //拉弓动画 动画应停于最后一帧
  • PULL_BOW,
  • //握住弓箭 动画应停于最后一帧
  • HELD_BOW,
  • //握住稿子 动画应停于最后一帧
  • HELD_PICKAXE,
  • //握住斧子 动画应停于最后一帧
  • HELD_AXE,
  • //握住剑 动画应停于最后一帧
  • HELD_SWORD,
  • //握住方块 动画应停于最后一帧
  • HELD_BLOCK,
  • //握住铲子 动画应停于最后一帧
  • HELD_SPADE,
  • //握住锄头 动画应停于最后一帧
  • HELD_HOE,
  • SWING_HOE, //挥舞锄头 动画应只播放一遍
  • SWING_SPADE, //挥舞铲子 动画应只播放一遍
  • SWING_BOW, //挥舞弓 动画应只播放一遍
  • SWING_BLOCK, //挥舞方块 动画应只播放一遍
  • SWING_SWORD, //挥舞剑 动画应只播放一遍
  • SWING_PICKAXE, //挥舞稿子 动画应只播放一遍
  • SWING_AXE, //挥舞斧子 动画应只播放一遍
  • ATTACK //攻击动画 动画应只播放一遍 如果没有找到对应的SWING动作 则播放该动画
2022-04-034.2.5 ->4.2.6
  • 修复基岩物品在槽位预览时不会根据tone改变颜色
  • 修复怪物在死亡时没有立刻停止正在播放的动画增加强制锁定玩家视角的API,GermPacketAPI
  • 修复effectmanager一个并发异常错误
  • 修复germ_gui_chat的一个BUG
  • 增加使实体面向目标数据包entityutils类
  • misc文件夹增加itemEffect功能,可以根据不同物品替换物品的背景贴图
  • 添加获取坐骑材质的变量,看gui/default最下面
  • 添加可以设置变量的默认值,格式%变量名~默认值% 例如 %aaaa~默认%
  • 添加实体自触发动画hurt在受伤时触发,heal在生命值恢复时触发
  • 优化镜头控制API,增加更多控制方式,详情看GermPacketAPI

2022 年 3 月

2022-03-284.2.4 ->4.2.5
  • 修复全局替换为TTF字体后聊天输入框的间隔不正确
  • 修复ALT+P无法动态加载原版json模型
  • 修复加密资源包在玩家第一次进服时有几率无法加载原版json模型
  • 修复scroll组件在一定情况下不能单独开启横向滚动
  • 修复全局替换为TTF字体后聊天输入框的间隔不正确
  • 修复ALT+P无法动态加载原版json模型
  • 修复加密资源包在玩家第一次进服时有几率无法加载原版json模型
  • GUI增加序列帧组件
  • GUI的button和checkbox增加真实悬浮检测
  • 增加put永久变量的dos,修改服务端主动发送给客户端的变量为永久变量不会过期
  • GUI的button和checkbox添加悬浮颜色字段
  • 增加变量%calint_var%和%t_w_var%和%t_h_var%
  • GUI组件的entity组件增加rotateY,配合横向滑动条的变量%guiName_partName_scrolledH%可以制作360人物模型预览
  • germ-gui-chat颠覆界面增加 autoClear enterClose background enterDos 等的支持,详情解压GermPLugin.jar查看gui/germguichat.yml
  • 动作内的damage指令可以360度选择了,详情看germplugin/item/default.yml
  • 优化yaml编辑,在填写GUI字段属性时,所有字段不必需添加双引号包括了,会自动识别,例如GUI中的locationX选项可以写成locationX: 100而不是必须locationX: "100"
  • 优化代码和界面打开速度
  • 优化旧版基岩模型加载,不需要每次都改模型名字为geometry.germ了
2022-03-184.2.3 -> 4.2.4
  • 修复展示框渲染的东西被缩小
  • 修复slot,item组件copy时物品不会被copy
  • 修复文字组件不支持透明度动画
  • 修复一些方块模型渲染的时候出现的一些错误
  • scrollableV/H增加解析字段auto,会自动根据内部组件计算可滚动距离
  • 增加自定义文字支持文字替换图片
  • 方块模型增加发光参数
  • label组件增加fontsize参数,在自定义字体的情况下使用fontSize来缩放字体不会导致模糊,增加stroke描边大小,strokeColor描边颜色
  • button组件增加omitWidth,fontSize,hoverOmitWidth,hoverFontSize,stroke,strokeColor,hoverStroke,hoverStrokeColor用法看default
  • checkbox增加checkedSwap,omitWidth,fontSize,hoverOmitWidth,hoverFontSize,stroke,strokeColor,hoverStroke,hoverStrokeColor用法看default
  • delay Dos支持变量和公式了
  • 客户端配置添加可以替换所有字体的配置
  • 优化文字替换重载后不会立即匹配
  • 优化scroll组件使用鼠标直接拖动可滚动区域时的感觉
  • 优化GermBlockAPI
2022-03-124.2.2 -> 4.2.3
  • 修复int_开头的变量问题
  • 修复layout不识别enable的BUG
  • 修复entity的overwrite类型中带装备的怪物的装备会消失的BUG
  • 修复animation的源码从服务端收取后无法根据yaml名字删除的BUG
  • 修复动作内的攻击方法在周围有掉落物时导致的客户端崩溃
  • 修复怪物模型在BB插件中的同步头部,同步腿部属性无效的BUG
  • 新增HudMessageDos和API,可以方便的做一些提示消息
  • 新增`模型方块`功能
  • 新增`模型方块`的相关指令
  • 新增`misc`指令分类
  • 新增`呼出隐藏鼠标`的指令
  • 新增`基岩模型`支持`textureTone`
  • 新增GermSkinAPI获得指定物品上存在的时装属性方法
  • 新增`模型方块`的API
  • 优化`游戏内界面编辑器`,增加坐标模式,临时关闭,提示使用教程等,修复在放大组件时如果有startX/Y可能会导致鼠标指针所在位置和实际大小位置不一致

2022 年 2 月

2022-02-224.2.1 -> 4.2.2
  • 修复有时候新下载的网络资源没有被加载的bug
  • 修复导航完成的finishCmds的事件无效
  • 修复导航完成时是异步执行的指令
  • 修复超大物品储存到数据库时溢出,导致储存失败(仅会修复新加的拓展槽位ID,已经生成的拓展槽位无法修复,请手动调整表字段为`TEXT`->`LONGTEXT`类型)
  • 新增`tw1`,`th1`,`tw2`,`th2`等获取图片本身宽度和高度的变量,例如在按钮组件中`defaultPath`中的图片高宽可以用`th1`,`tw1`表示,`hoverPath`中的图片高宽可以用`th2`,`tw2`表示
  • 新增当图片在下载的时候使用MOD内部的图片textures/misc/buffer.png作为替代资源,不使用原版的紫黑贴图了,可以将其替换为任意大小的图片,但是建议使用纯色,因为需要适应各种大小,可能会被拉伸
  • 新增dos `skin@itemSkinOverride@true/false` 可以给玩家开关是否把时装覆盖到手中的武器上(只对玩家自己有效,待优化)。
  • 新增文件过滤条件,只读取服务端文件夹内的`.yml`为后缀的文件
  • `Input`组件添加`replaceColor`,来控制是否处理玩家输入的颜色
  • `Entity`组件添加根据实体entityID获取模型的API方法
  • 新增实体模型类别,`overwrite`新类型,可以重写一些原版MC生物模型的一些参数
  • 新增自定义熔炉GUI功能
  • 新增`interactSlot Dos` 可以在按钮中模拟点击一个拓展槽位
  • `label`组件删除一个无用字段`lineHeight`,请使用`lineSpace`代替
  • 优化`%filter_number_123.534%`变量,支持过滤出带小数点的数字了
2022-02-154.2.0 -> 4.2.1
  • 修复`gui@showHUD@true/false`的dos 可以使用Dos开关所有HUD的显示和隐藏
  • 修复手持的基岩模型时如果没有动画,将不会把模型状态设置为初始的状态,可能造成手持的模型也在做运动
  • 修复API无法删除删除entity模型的BUG
  • 修复从颠覆箱子界面使用`open dos`跳转到`player_inventory`时背包物品无法同步刷新的BUG
  • 修复`shiftout`从槽位取出物品后时装不会解除渲染的BUG
  • 新增基岩盔甲挥斧头,挥稿子的动画触发,详情看文档 https://docs.qq.com/doc/DZFhYR21NbmVXR3VU
  • 新增entity的模型支持多个世界名称的匹配,详情看entity/default.yml的matchCondition的world条件
  • 新增`end键`一键关闭基岩时装和时装的渲染,给玩家自由开启是否渲染时装用,避免人多的时候造成卡顿
  • `BlockBench插件`增加`hide_cape`,用来隐藏玩家的披风
  • 新增支持在`Config`的按键触发中输入@大写按键全称指定按键,无需每次都查ID表了
  • 优化`GUI贴图`加载,加快界面打开速度
  • 优化`icon`图标加载,加快加载速度,不会导致`gp reload`时客户端卡顿
  • 优化`GermGuiSlotSavedEvent`事件,可以做到在临储存到数据前替换物品,做黑名单物品过滤等
2022-02-104.1.8 -> 4.2.0
  • 修复`EffectGui`无法使用`.ttf`字体
  • 修复`EffectParticle`的`local position`和`local rotation`
  • 新增`自定义箱子GUI界面`的标题变量` %opened_chest_title%`
  • 新增`icon`的旋转缩放等参数,可以做纸片武器了
  • 优化`guide`模式的编辑功能,防止在编辑模式下可能会出现无法拖动和放大的功能
  • 优化怪物攻击延迟功能
  • 优化界面打开速度
  • 优化`safe指令`配置
  • 优化`gif`的渲染速度
  • 优化`基岩物品模型`的动画

历史版本

历史版本4.1.7 -> 4.1.8
  • 新增`SlotConfig`内的`bedrockSlotSets`来支持基岩版物品模型的时装功能
  • 新增`基岩版物品模型` ` 玩家控制器`
  • 优化`updateDos`更新列表时兼容`\n`
  • 优化了一些API
历史版本4.1.6 -> 4.1.7
  • 新增基础动作分组切换功能
  • 新增`attackDamageDelay`攻击动作伤害延迟
  • 优化默认配置文件
历史版本4.1.5 -> 4.1.6
  • 修复`Adyeshach`的`NPC拓展`功能中NPC名称读取问题
  • 新增开关真实第一人称的dos
  • 优化默认配置文件
历史版本4.1.1 -> 4.1.5
  • 修复当shift把时装放到拓展时装槽位时不会立即刷新时装
  • 修复bukkit的softdepend导致的拓展插件的功能有可能会加载失败
  • 新增`Adyeshach`的`NPC拓展`功能
  • 新增`options`的配置项`dropCursorItem`普通界面的点击空白处丢出功能
  • 新增事件`GermGuiSlotSavedEvent`
  • 新增`SlotConfig`内的`loreContainsIndex`以及`loreEqualsIndex`
  • 新增`SlotConfig`中的限制支持原版盔甲槽位
  • 优化播放bend指令,支持仅播放给某个玩家
  • 优化播放effect指令,支持后台和仅对某玩家播放
历史版本4.1.0 -> 4.1.1
  • 新增dos`"playModelAnimation"、"stopModelAnimation"`播放实体组件模型动画
  • 新增`label`组件`omitwidth`字段,可自动省略过长字符
  • 优化界面关闭的API
历史版本4.0.5 -> 4.1.0
  • 修复mm技能`gsound`无效
  • 修复mm技能`HUD`显示无效
  • 新增`options`的配置项`guide: true`时,可以在游戏内拖动缩放组件来拼合GUI
  • 新增`layout`布局器
  • 新增`game_quick_bar`界面私有参数`actionBar的偏移量(actionBarOffsetX、actionBarOffsetY)`
  • 新增dos`updateOptionDos`修改界面的options
历史版本4.0.3 -> 4.0.5
  • 修复时装匹配问题
  • 新增`effectEntity(实体特效)`和`effectItem(物品特效)`
  • 新增`Animation`的英文type
  • 新增mm技能`gsound`
  • 新增dos`"stopSound"`停止声音播放
  • 新增`game_quick_bar`界面的私有参数`切换物品出现的提示偏移量(tooltipOffsetX、tooltipOffsetY)`
历史版本4.0.2 -> 4.0.3
  • 新增Animation的英文type
  • 新增`bend`支持同步玩家腿部
  • 新增`bend`的`action`的id形式兼容Adyeshach的发包NPC
  • 更改item配置内的type -> `json更名为javaEdition、bedrock更名为bedrockEdition、skin更名为armoursWorkshop`
历史版本4.0.1 -> 4.0.2
  • 优化Effect
历史版本4.0.0 -> 4.0.1
  • 修复声音API被混淆
  • 增加`EffectManager`的管理的effect的生命周期控制,不再是简陋的spawn
  • 删除切换世界删除effect逻辑,移动到客户端执行
  • 优化effect指令spawn
历史版本1.2 -> 1.3
  • 修复进服需要重载才能使用,解决方式是Config添加选项`sendDelay: 27`
  • 增加按钮的悬浮DOS详情看GUI的全部内容
  • 修复背包人物位置不能修改
  • 修复GUI全部内容的起始坐标轴不能用
  • 允许一个物品多个时装
  • GUI中删除mode 增加 model 可以设置任意模型了详情看GUI的全部内容
  • 自定义NPCmod崩端问题
  • 修复SlotConfig的放置条件
历史版本1.1 -> 1.2
  • 修复若干BUG。
  • 删除了Config的TexturesCache 变为只要在文件中设置了图片链接便会自动下载。
  • GermCache除了不支持物品模型的热加载,其余全部兼容了。
  • 修复Sqlite
  • 模型血条开关
  • 修改背包
  • 时装lore
历史版本1.0 -> 1.1
  • 修复已知所有BUG
  • 增加原版声音的支持
  • 动态重载GermCache不需要重启客户端
  • 删除了没用的内置素材

2021 年 11 月

2021-11-213.3.1 -> 4.0.0
  • GUI滚动组件直接添加背景组件,自适应滚动速度,再也不怕玩家把滑轮滑坏了、可以直接用鼠标拖动界面,增加scrollDraggable选项
  • 增加槽位数据缓存,减少数据库交互次数增加插件运行效率
  • GUI物品冷却时显示冷却需要的剩余秒数
  • 字体替换为图片支持字符串了
  • 增加了RGBA渐变格式为 `#FF000000-FFFFFFFF萌芽渐变萌芽渐变其一`
  • 现在所有需要写动画配置的位置都可以直接写动画配置了 不用必须在animation文件夹写好后再对应名字
  • 增加了动画和特效的API
  • GUIAPI组件增加了copy方法
  • 渲染在地图上的3D全息GUI修复了Z轴正负的问题
  • 现在有翅膀时装会隐藏鞘翅了
  • 修复了导航关闭指令
  • 修改GUI的item组件,支持替换为时装和模型了
  • 修复popTime不能用
  • checkbox组件增加 checkedoffset 可以修改选择标记的位置了
  • checkbox组件增加 checkedwidth/height 可以修改选择标记的大小了
  • 删除了label的<click>出现下一行的功能(无人问津的功能)
  • 增加了animation的API增加了effect的api增加了item的api
  • label组件增加是否渲染阴影的字段
  • move动画增加offset参数
  • 修复穿时装挂机会越来越卡
  • 修复从颠覆的箱子界面跳转到普通界面时会闪现原箱子界面
  • 修复input的鼠标位置符闪烁不正常
  • 修复对按钮的文字缩放时导致位置异常的现象
  • 增加基岩武器
  • 改版基岩实体的配置格式(旧版自动转换)
  • 增加客户端选项是否开启萌芽字体功能
  • 修复超过500kb的时装加载异常
  • 提升时装的加载速度
  • 时装模型配置里可以加图标了
  • GermSlotAPI增加新的接口,可以编写自己的持久化逻辑详情看javadoc
  • 增加GermSkinAPI,增加在服务端控制玩家镜头和移动的API详情看javadoc
  • effect 指令增加一个spawn,用该指令释放不会储存到文件中(退服、切换世界就会消失)
  • 增加变量%germ_slot_get_tipX:identity% 返回槽位ID为 identity 的槽位里的物品描述 (X∈自然数,X>=0,X<=100)
  • 修复无法网链时无法识别图片为gif
  • 增加%time_秒数% %date_格式_秒数% 变量等 可以做倒计时
  • 画布组件增加可拖动设置,拖动不用非得新建一个界面了
  • 滚动框组件里加开关相对坐标的选项relative,再也不用担心对坐标烦了
  • 增加effectgui跟随实体时获取跟随实体属性的变量,详情看gui/default
  • effect 指令打开到实体身上的指令
  • 现在鼠标上物品的大小会随着拿出的槽位的大小变化了
  • entity 中的基岩模型生物添加了取消原版声音的选项
  • 修复 entity 中的声音字段无效
  • 增加Slot储存缓存,加快效率
  • GermClientLinkedEvent事件添加获得mod版本和玩家机器码的方法
  • 增加网站的自助换绑
  • 增加MM的HUD技能,可以做一些作为状态显示,例如boss技能提示什么的
  • 优化3D血量显示,如果由玩家攻击怪物,将会偏移到玩家视线前一些
  • dos识别名现在不在需要大小写完全一致
  • 增加skin dos,可以隐藏某个槽位的时装,详情看gui default dos
  • 增加实体模型的idle声音
  • 修复一个自定义字体的加载异常现象
  • 增加事件在玩家指向一个实体和离开指向实体的时候触发
  • 增加rgba多色渐变
  • 在服务端直接修改渲染的基岩实体模型的大小

2021 年 5 月

2021-05-243.3.0 -> 3.3.1
  • GUI:增加颠覆死亡重生界面
  • item:优化代码结构
  • 时装:修复了一些时装渲染的问题
  • GUI:修复了shift点击槽位的问题,修复了快捷栏在进服的时候可能不加载背景的情况
  • 客户端配置:GermMod.cfg添加选项当玩家被墙挡住的时候完全隐藏名字
  • 客户端配置:GermMod.cfg添加选项否渲染玩家的CustomName
  • 客户端配置:在GermModUI.cfg添加选项可以指定玩家接受mod输出的log信息
  • 变量:增加filter变量可以过滤出文本中的数字或者汉字
  • 变量:增加作用域概念可以指定获取指定玩家的变量值
  • 玩家:增加头顶tag功能,可以修改任意玩家名字,可以在名字上面添加无限行,在名字下面加一行,支持变量
  • 其他:增加KeyDown组合键触发机制
  • GUI:增加修改客户端标题的Dos,增加动态开关更多动作的Dos,可以做到生存服开启动作、RPG关闭动作
  • 模型:修复了基岩模型有时候变大动画会异常的情况,修复了使用存在匹配时重载模型丢失bug
  • 其他:删除icon文件夹转移到item内(有新旧格式自动转换器,直接换新版进去就好,不过保险起见建议备份)
  • 其他:新增client文件夹准备放置很多关于客户端的杂七杂八配置
  • 其他:删除Config文件中的Font配置转移到client文件夹内(有新旧格式自动转换器,直接换新版进去就好,不过保险起见建议备份)

2021 年 3 月

2021-03-033.2 ->3.3.0
  • GUI:复选框组件增加selectedDos和cancelledDos并兼容所有button的属性
  • API:输入框组件增加失去焦点事件与获得焦点事件
  • API:所有可交互的组件都增加了函数式注册调用
  • 其他:item文件夹内的配置新增另一种格式,将来可以更灵活配置
  • GUI:Label组件增加splitwidth、(识别宽度自动换行)lineHeight(行高)、lineSpace(行间距)
  • item:现在可以设置effect物品把effect穿在身上了,并且在slotConfig增加识别item中effect物品的拓展槽位
  • GUI:现在第一次使用萌芽插件会生成game_quick_bar和tooltip默认文件
  • GUI:增加给tooltip判断是否是悬浮在物品上出现的tip的变量
  • 其他:增加配置文件Messages,用来自定义一些消息输出
  • 附属:所有九九写的附属都需要更新一遍,其他人的不用
  • Slotconfig:增加shiftout选项,负责开关shift点击直接到背包
  • Slotconfig:增加另一种配置格式,超多条件应有尽有
  • GUI:颠覆背包和颠覆箱子界面可以自定义点击的部件丢出鼠标上的物品
  • 附属:GermGuiExtends修复一些bug,增加查看别人拓展槽位功能,增加指令帮助/gge

2021 年 1 月

2021-01-263.1 -> 3.2
  • 背包配置索引名全匹配改为开头匹配,现在是只要索引名的开头是player_inventory既可以匹配成功,这样可以做N多个以背包为基础槽位的界面了。
  • 增加组件checkbox(复选框)
  • 组件label增加ttf字体的渲染,ttf字体需要放入assets/germmod/font文件夹下,并且在germmodui.cfg可以指名字体精度(分辨率)
  • 增加窗口拖动
  • 给label组件增加了文字弹出功能
  • 给实体模型增加不同的声音,比如受伤,攻击,死亡....
  • 给按钮组件增加textScale、hoverTextScale、textOffsetX、textOffsetY、textOffsetZ
  • 现在指定槽位的identity才会去渲染时装了,在服务端SlotConfig里面设置
  • 声音系统完善了 输入/gp 可以看指令
  • 掉落的物品如果是时装的话显示时装的模型
  • 时装在背包内也显示时装模型
  • 渲染HUD自己的时候头不会消失了
  • 颠覆箱子界面,以dos形式与原版槽位点击hook时不会再闪现原物品了
  • 颠覆箱子界面,可以做到吧原来箱子内的物品放入滚动框、控制显示了
  • 修复界面内的keyUp Dos无效
  • 增加 canvas 组件 可以套娃 和 组件的相对坐标啦~
  • 增加修改MC窗口大小的DOS,增加禁止玩家修改窗口大小的DOS,再也不用担心玩家乱拖大小了
  • 增加可选配置禁用玩家自由拖动窗口,和固定MC窗口比率
  • 所有字体可以使用RGBA来设置颜色和透明度
  • 支持修改光标
  • 服务端设置开关HUD
  • 时装脚与动作几乎完全吻合了
  • 时装小臂有更好的配置解决方案了
  • 不开启真实第一人称时,第一人称的时装也显示了
  • 增加调整动画组件
  • 不开启真实第一人称时,GUI内的人物渲染正确了
  • 客户端原生绘制粒子!!再也不怕特效卡服了
  • 支持文字替换图片
  • 修复关于时装的若干渲染bug
  • 槽位增加itemSize属性,可以让槽位背景与内部的物品不一样大了
  • effect 导航更新设置目的地渲染信标光束,自定义3D指南针,自定义目的地描述,增加到达目的地自动关闭导航并触发指令,当导航指向某个实体时,导航结果会跟随实体移动
  • 不开启动作也可以使用时装功能了
  • 修复背包和颠覆箱子界面Z轴不可为负数问题
  • 添加背包和颠覆箱子界面原始黑色透明背景的开关设置
  • 增加effect的到时间自动删除功能
  • 增加3D伤害显示
  • 增加按钮、复选框等dos触发延迟防止鼠标连点器
  • 给GUI所有组件增加initDos

2020 年 10 月

2020-10-081.6 -> 3.1
  • 支持加载.ttf字体
  • scroll横向滚动
  • 所有GUI部件增加了tooltip
  • 支持槽位直接替换成按钮,点击按钮,代表点击那个格子,原有物品按钮
  • 支持icon 调整手持的大小
  • tooltip 支持papi
  • SlotConfig 移除了槽位默认物品的功能,因为可以在槽位部件中直接设置了
  • SlotConfig 增加了shift点击物品自动进入槽位的设置
  • 头盔、武器等本无法合并的东西在拓展槽位中也不能合并了
  • 增加了让基岩实体模型播放动作的指令/gp 查询
  • 实体渲染增加lookAtX,lookAtY与followCursor选项
  • 增加了按键dos
  • 增加了实体基岩模型的发光渲染
  • 兼容了所有形式的基岩模型
  • 增加runDos和stopDos可以后台运行或停止一串dos
  • 改写箱子颠覆的完全匹配改为存在匹配
  • 修复装入CustomSkinLoader 后会导致二层皮肤丢失的问题
  • 增加组件enable的条件选项
  • 修复箱子界面内input无法输入的情况
  • 增加了将所有小数类型转为整数形式的方法
  • 增加了将字符串中的颜色去除的方法
  • 修改了按钮中的错别词levelDos->leaveDos(各位也得改一下,真不好意思...)
  • run Dos中的 $ 换行改为了;
  • 颠覆箱子、原版背包界面中的槽位支持小数
  • 颠覆箱子、原版背包界面中的槽位指定空时的背景和非空时的背景
  • 颠覆箱子、原版背包界面中槽位属性动态更新的updateMCSlot dos
  • 增加3D交互界面(将GUI界面渲染到世界上交互!!!)
  • 增加给玩家指定本地皮肤、披风、更多行tag的功能
  • 增加NPC插件的兼容,给NPC指定本地皮肤、披风、更多行tag

2020 年 7 月

2020-07-301.5 -> 1.6
  • 增加Dos update 可以更新存在的部件的参数了
  • 所有部件增加enable参数,可以根据权限控制部件的显示
  • 增加槽位、按钮的无效化标记
  • 增加坐标参数 x y ,可以根据指针位置生成窗口了
  • 可以根据PAPI设置坐标了
  • 可以颠覆esc界面了
  • 增加许多API
  • 增加列表组件,横向滚动,竖向滚动
  • 读取新版基岩模型
  • 基岩模型读取动画
  • 可以隐藏原版HUD了
  • 支持关闭动作,时装功能。
  • 增加input 字符长度限制,添加默认字符
  • 支持颠覆描述界面
  • 增加物品模型组件,支持动画
  • 兼容龙之时装
  • 实体模型兼容图床缓存
  • 时装兼容图床缓存
  • 怪物、NPC玩家实体都可以套时装了
  • 增加缓存内容的加密
  • 改变混淆规则运行速度++
  • GermPlugin/item 里面时装文件需要加后缀了,如果之前没加那就改一下,改起来非常快,不用手动不会找我。
  • 增加putPlaceholder、removePlaceholder DOS
  • 按钮增加文字对齐方式的调整
  • 可以使用材质包加密了
  • 读取新版基岩模型、支持所有基岩模型动画
  • 修复头盔不显示问题
  • 持盾不再显示第一人称
  • 修复皮肤外层不显示问题
  • 修复重载HUD客户端崩溃问题
  • 增加一堆接口
2020-07-021.4 -> 1.5
  • 增加options选项consume
  • 增加options选项guide
  • 修复背包有时候物品不同步,比如捡东西、从别的地方获取东西
  • 拓展槽位操作起来、看起来都更像原版了
  • Label(字符串)删除了center选项添加了align选项,现在可以左、中、右对齐了
  • 增加placeholder的Dos可以进行各种权限、金币数量、点券数量的判断啦!
  • 修复悬浮在鼠标上的物品会显示到槽位下方
  • 增加了一堆API
  • API变得更加标准
  • 修复了一堆BUG、小问题

2020 年 6 月

2020-06-281.3 -> 1.4
  • 增加GUI的字符串缩放功能,字符串动画兼容
  • 增加GUI按钮的leveldos,离开悬浮状态时执行dos
  • 删除<hide>标识符
  • 颜色块增加endColor设置渐变色
  • 背包界面设置更改了一点
  • 增加了一堆API
  • 还有啥忘了
  • 修复动态调试GermCache的纹理时 如果先于 GermCache 重载 会显示为白色问题。
  • 修复穿时装隐藏裤子、鞋子不完全问题。
  • 修复悬浮dos崩端问题
  • 修复了很多BUG