Links
Tags
Creators
Details
26.1.2-b2
Compatibility
Required content
Changes
VeryMcProto 26.1.2-b2(JEI 协议重做 + 修复)
以纯 Paper 插件形式移植 Fabric 端协议 Mod(Servux / JEI / Syncmatica),面向 Minecraft 26.1.2 / Paper 26.1.2(Java 25)。
重做:JEI 服务端协议(对齐最上游 mezz/JustEnoughItems 26.1)
原 jeirecipebridge 模块(基于已停更的 Mrbysco/JEIRecipeBridge,仅配方同步切面)整体重做为完整 JEI 协议三层实现(对照 mezz 26.1 分支 = JEI 29.37.0):
- 配方同步层:
fabric:recipe_sync(Fabric API wire,RegisterChannel 触发)+neoforge:recipe_content(join + brand 触发)+ NeoForge tag 表补发;进服时序复刻上游 PlayerListMixin——netty 出站扣住UpdateRecipesPacket,等 play register 证据后放行 jei:*通道 10 条:8 C2S(cheat 权限请求 / give / delete / set_hotbar / 4 种配方转移)+ 2 S2C(cheat_permission/recipe_transfer_result)——客户端isJeiOnServer()门禁由通道声明解锁,与 brand 无关- 服务端行为:cheat 权限三切面(Op=权限级 2 /
minecraft.command.give/ Creative)+BasicRecipeTransferHandlerServer配方转移算法逐行移植 - 协议详情见
docs/30-jei-protocol.md
修复
- plugin.yml
api-version遗留 '1.21' 更正为 '26.1.2'(Paper 官方 1.20.5 起支持三段式;本插件协议面绑死精确补丁,Modrinth 等平台此前按旧值错标适用版本) - EasyPlace 长按错放多放(改写放行 + BlockPlaceEvent 修正)
- 混合 ingredients 列表致 minihud 66 条配方解码失败(wire 同构化)
- JEI 配方包晚于进服重载致警告(netty 扣包等证据放行)
- 五通道 C2S 注册版本门禁缺失与拒绝后旁路(register 名册状态机 + failures 检疫)
- paste 同步直放卡主线程与 InfoHud 帧缺失(PasteTask 分 tick 任务化 + 调度器基类泛化)
- PacketSplitter 中断上传会话永生与 buffer 泄漏(TTL 心跳驱逐 + 边界分支对齐)
- syncmatica 对原版客户端推握手探针(canSend 守卫)
- syncmatica 元数据泄露服务端绝对路径(出口 getCleanFileName + saveServer 清洗)
各项修复均随提交经服务端实机验证(详见各提交记录)。
验证
- 83/83 单元测试全绿(14 个测试类:PacketSplitter / TaskScheduler / DataTagIo / FeatureSet / LitematicaBitArray / RecipeNbtNormalizer / JEI 协议常量·权限矩阵·转移校验等)
- 版本注入终检通过:产物 jar 内
plugin.yml/version.properties与构建版本一致,且api-version≡mcVersion(自本版起为构建强制闸门;本版曾修复「发版后 jar 内版本陈旧」问题并增设该终检) runServer实机起服日志Enabling VeryMcProto v26.1.2-b2(api-version: '26.1.2'加载正常);产物为 Mojang 映射 jar(26.1 起无 reobf)
产物
VeryMcProto-26.1.2-b2.jar —— Mojang 映射 jar,标准 Paper 26.1.2 服务器放入 plugins/ 直接加载。
上一版本:v26.1.2-b1;旧版本(MC 1.21.11)见 v1.21.11-b1。
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:tyOxCfUJ:3EJ5wHSk"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:tyOxCfUJ:3EJ5wHSk"
}

