开启左侧

(已解决)4.0.0B13轨道和站台门有概率完全不可见的问题

[复制链接]
abRoy 2025-1-12 18:33:45
本帖最后由 abRoy 于 2025-1-12 18:37 编辑 ( i  o/ ^5 U! j3 @3 n1 Q7 v
5 g; ]: S: Q- s& {
从mtr4.0.0B8就一直困扰我到现在的问题终于解决了,分享一下防止其他和我相同问题的人踩坑
# r+ O$ L+ Z: [; {1 t; G
. r# P3 x% l! }4 t
& V& y2 {4 ^. s% T9 r原mc(1.20.1)在3.2.2版本的mtr下运行一切正常。升级到4.0.0B13后概率出现部分车站/线路的铁轨,站台门不可见的情况,但是又有一些车站是完全正常的。所有的列车都不可见。
" B; c8 T3 m2 }( d4 l8 F0 C! z5 W! |
0 M/ r, U) d4 [# z
, i0 W( h& p) v9 _↑这里应该有张图片但是我不知道插入成功没有 看不到
( ]0 b2 D$ B$ Y' G  L3 U) M; z
! G6 C+ ]+ {6 `+ J
原本以为是mtr的问题但是等了很久都没有修复,遂自己看一下日志,发现以下报错频繁出现! Y$ V. g: `: k9 F4 i
  1. [121��2025 16:54:18.818] [Render thread/ERROR] [MinecraftMappings/]: 1 b: h) r  ]8 y, {  R; f
  2. java.lang.ClassCastException: class org.mtr.mapping.render.vertex.CapturingVertexConsumer cannot be cast to class me.jellysquid.mods.sodium.client.render.vertex.VertexBufferWriter (org.mtr.mapping.render.vertex.CapturingVertexConsumer is in module mtr@4.0.0-beta.13 of loader 'TRANSFORMER' @62c46e53; me.jellysquid.mods.sodium.client.render.vertex.VertexBufferWriter is in module rubidium@0.6.5 of loader 'TRANSFORMER' @62c46e53)9 X, ]4 i8 D% o% l. _; o" \
  3.         at me.jellysquid.mods.sodium.client.render.vertex.VertexBufferWriter.of(VertexBufferWriter.java:8) ~[%5B�%5D%20rubidium-0.6.5.jar%23246!/:?]
    7 E6 o" b  D) y% J0 \% u& W* X% U
  4.         at net.minecraft.client.model.geom.ModelPart.m_104290_(ModelPart.java:563) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]  y" ^9 w$ X# X
  5.         at net.minecraft.client.model.geom.ModelPart.m_104306_(ModelPart.java:124) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    ( X7 O4 v, \! T8 h2 p
  6.         at net.minecraft.client.model.geom.ModelPart.m_104301_(ModelPart.java:109) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]3 ]; T7 a1 g6 Z, I3 w
  7.         at org.mtr.mapping.mapper.OptimizedModel$MaterialGroup.lambda$addCube$0(OptimizedModel.java:99) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]; h5 ?/ R4 t1 t7 x  e
  8.         at org.mtr.mapping.mapper.OptimizedModel.lambda$fromMaterialGroups$0(OptimizedModel.java:47) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]  V& i5 `! N6 o- r( S7 D) k
  9.         at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]2 J' {. ]$ b- v% W4 c- I
  10.         at org.mtr.mapping.mapper.OptimizedModel.lambda$fromMaterialGroups$1(OptimizedModel.java:47) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]) ^+ U  M8 N; e6 k6 d4 s, I
  11.         at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
    / O" R$ B2 H. w, f$ _. J4 W' H
  12.         at org.mtr.mapping.mapper.OptimizedModel.fromMaterialGroups(OptimizedModel.java:45) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]3 J& Z! Q8 f- U+ c! P
  13.         at org.mtr.mod.resource.OptimizedModelWrapper.fromMaterialGroups(OptimizedModelWrapper.java:20) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    : G! ^' s* |3 }3 `- r5 A+ N  ]
  14.         at org.mtr.mod.resource.ModelPropertiesPart.writeCache(ModelPropertiesPart.java:135) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]2 C- M- |* H2 Z. V4 y3 d
  15.         at org.mtr.mod.render.DynamicVehicleModel.lambda$new$3(DynamicVehicleModel.java:68) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]. c, @0 J7 a% [; u/ j/ H5 b
  16.         at org.mtr.libraries.it.unimi.dsi.fastutil.objects.ObjectArrayList.forEach(ObjectArrayList.java:749) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    $ E* N9 }' s$ G
  17.         at org.mtr.mod.resource.ModelProperties.iterateParts(ModelProperties.java:135) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]: H# O& M1 v" }4 v* Y% l; J
  18.         at org.mtr.mod.render.DynamicVehicleModel.<init>(DynamicVehicleModel.java:68) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]1 n9 L$ ^, p( e& D
  19.         at org.mtr.mod.resource.VehicleModel.createModel(VehicleModel.java:121) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]; ]3 ?6 |2 A$ S: k* g% O8 N
  20.         at org.mtr.mod.resource.VehicleModel.lambda$new$0(VehicleModel.java:30) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    " S3 \/ x; l0 V* Z" V. a; G, n
  21.         at org.mtr.mod.resource.CachedResource.getData(CachedResource.java:31) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]2 ]7 f/ U) \% r; E4 d" |# G
  22.         at org.mtr.mod.resource.VehicleResource.lambda$forEachNonNull$20(VehicleResource.java:503) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    - J6 B  O( f, R4 M1 Z
  23.         at org.mtr.libraries.it.unimi.dsi.fastutil.objects.ObjectArrayList.forEach(ObjectArrayList.java:749) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]: F) G: n9 i% t- e$ ~2 D
  24.         at org.mtr.mod.resource.VehicleResource.forEachNonNull(VehicleResource.java:502) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]/ z' j& P7 k6 A% y4 q) Z
  25.         at org.mtr.mod.resource.VehicleResource.lambda$cachedVehicleResourceInitializer$15(VehicleResource.java:390) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    - J* k! c/ X+ n& a" x
  26.         at org.mtr.mod.resource.CachedResource.getData(CachedResource.java:31) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]# u1 g+ Q" K" k+ ~+ B8 [# y; C
  27.         at org.mtr.mod.resource.VehicleResource.queueBogie(VehicleResource.java:206) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    ( F/ v# Z2 P) U6 A
  28.         at org.mtr.mod.render.RenderVehicles.lambda$render$3(RenderVehicles.java:81) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]9 W1 W# k. T) o4 e
  29.         at org.mtr.mod.render.RenderVehicleHelper.renderModel(RenderVehicleHelper.java:92) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]: S/ ^0 t2 @$ X& N
  30.         at org.mtr.mod.render.RenderVehicles.lambda$render$6(RenderVehicles.java:81) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    # o3 c1 @& k/ t# H4 B' ^
  31.         at org.mtr.mod.render.RenderVehicles.iterateWithIndex(RenderVehicles.java:330) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]% B; D  P- T5 x7 R6 e7 d, F) D
  32.         at org.mtr.mod.render.RenderVehicles.lambda$render$12(RenderVehicles.java:78) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    : ]" j1 Y9 y: }' I' |5 ?  R3 @2 q+ r
  33.         at org.mtr.mod.client.CustomResourceLoader.getVehicleById(CustomResourceLoader.java:161) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]& ~; M$ z. \! a7 `7 A
  34.         at org.mtr.mod.render.RenderVehicles.lambda$render$13(RenderVehicles.java:72) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]2 I& S" q& Q. e9 `
  35.         at org.mtr.mod.render.RenderVehicles.iterateWithIndex(RenderVehicles.java:330) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]! b& Y. n) L  K* E
  36.         at org.mtr.mod.render.RenderVehicles.lambda$render$14(RenderVehicles.java:53) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
      k, W. b) {& l/ z9 g! M$ L- }
  37.         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]7 c" c9 Q1 C4 p5 g8 _* m; I
  38.         at org.mtr.mod.render.RenderVehicles.render(RenderVehicles.java:42) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]. p  ^  g8 U# s  D$ S& Y( I1 X
  39.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:102) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]' ?# U$ o; K$ h# @# u' R+ ]
  40.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:60) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    9 D2 ?! K+ D" `* K! y
  41.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:26) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    % Z. }2 D' ?' u" j5 `
  42.         at org.mtr.mapping.mapper.EntityRenderer.lambda$render$0(EntityRenderer.java:21) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]9 G  S; b0 T/ }5 N" [# u! |0 z& O
  43.         at org.mtr.mapping.mapper.GraphicsHolder.createInstanceSafe(GraphicsHolder.java:50) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?], O2 x1 k, _4 W' {/ J$ t
  44.         at org.mtr.mapping.mapper.GraphicsHolder.createInstanceSafe(GraphicsHolder.java:40) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    - ^! v" {0 C, w2 b6 o, M% M2 p
  45.         at org.mtr.mapping.mapper.EntityRenderer.render(EntityRenderer.java:21) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]% B/ w# `9 O7 G+ T$ @' A' t( G& ?1 K
  46.         at org.mtr.mapping.mapper.EntityRenderer.m_7392_(EntityRenderer.java:11) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]* T* E: l9 @4 I7 N7 K4 z  k
  47.         at net.minecraft.client.renderer.entity.EntityRenderDispatcher.m_114384_(EntityRenderDispatcher.java:140) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]# d1 h( x; J8 K
  48.         at net.minecraft.client.renderer.LevelRenderer.m_109517_(LevelRenderer.java:1440) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]$ d$ Z+ @7 n9 x5 a, p
  49.         at net.minecraft.client.renderer.LevelRenderer.invokeRenderEntity(LevelRenderer.java) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]" a  q+ `- X+ |- [5 A' A
  50.         at net.coderbot.iris.pipeline.ShadowRenderer.renderEntities(ShadowRenderer.java:606) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]
    % Q6 G0 \7 `, v& L2 @# {* x
  51.         at net.coderbot.iris.pipeline.ShadowRenderer.renderShadows(ShadowRenderer.java:483) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]
    7 X, s& M* e5 ~! ^- b
  52.         at net.coderbot.iris.pipeline.newshader.NewWorldRenderingPipeline.renderShadows(NewWorldRenderingPipeline.java:1033) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]
    1 i% \! q. ]9 A
  53.         at net.minecraft.client.renderer.LevelRenderer.handler$zob000$iris$renderTerrainShadows(LevelRenderer.java:11680) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]4 g2 d% r, ?1 L. U8 r
  54.         at net.minecraft.client.renderer.LevelRenderer.m_109599_(LevelRenderer.java:1155) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    ' m* z: F2 k( Y6 X5 U- f
  55.         at net.minecraft.client.renderer.GameRenderer.m_109089_(GameRenderer.java:1126) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]# m' C; o0 _. H0 D5 l" l' [2 g
  56.         at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:909) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    ! m& k  U! K9 i8 s3 r) R7 s
  57.         at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1146) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    - \3 x% q. F3 I/ k6 U  _) a
  58.         at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]7 S) p) S9 c0 f* I) n3 E
  59.         at net.minecraft.client.main.Main.main(Main.java:218) ~[Harvista%201.24.jar:?]
    # K- {! Z3 i3 L! ?
  60.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]4 r5 N2 D; C9 l8 H
  61.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]; X: f3 j4 [2 u/ j3 o6 {& N
  62.         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]4 O$ m" |5 i2 E8 |/ w( j3 M
  63.         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    7 U1 e! @9 }+ m& E
  64.         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.1.30.jar:?]; V, {* @$ s  @* f, q
  65.         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.1.30.jar:?]
    " j2 K/ M8 @( @: F) N8 |* H
  66.         at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.1.30.jar:?]
    . Z4 ]0 v9 }- `7 h1 J
  67.         at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]
    ' @9 q/ Y! i. `. ~* e& g
  68.         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]
    . m6 G7 ~6 ^# H
  69.         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]" _* J" ?. _9 o$ }
  70.         at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]  [* e% ]2 Z  D/ m7 w
  71.         at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]; @# `& G9 ]* `, U
  72.         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]" Y5 @, r- {$ `+ ^& C3 \
  73.         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]3 d, ?" d5 y/ G  u
  74.         at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]: a2 F0 c0 y+ ^2 M  H9 b" n
  75.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    + d+ Q; x) d7 e  H: `' G4 f+ l
  76.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]4 d/ e  d; X0 x7 U6 c  X
  77.         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    % t( A% a6 I+ h$ T
  78.         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]6 r3 E9 I& R7 r3 N6 z
  79.         at oolloo.jlw.Wrapper.invokeMain(Wrapper.java:112) ~[?:?]
    & Y: ^) ^" P9 I3 f' M  n; N: {
  80.         at oolloo.jlw.Wrapper.main(Wrapper.java:105) ~[?:?]
复制代码
简单说就是MTR尝试将一个 CapturingVertexConsumer 对象强制转换为Rubidium的类 VertexBufferWriter,但这两个类不兼容。
1 I! A9 I* b; o: p- F; R4 J% g
7 i5 L, D. G: x1 E' {Rubidium和oculus这两个模组是整合包原有的,支持性能优化和光影的模组。但是Rubidium自 2023 年12月起已经停止更新,不再维护。
, R' T/ O  ~! M  a! e经过研究,我将 Rubidium 替换为 Embeddium 。Embeddium是 Rubidium 的非官方分支,仍在活跃维护中,并包含更多兼容性补丁和新功能。
; S/ z9 S' d* J0 |. W& e6 X1 P/ r当 Embeddium 配合 oculus使用时,所有功能都可以正常运行,且日志中未出现任何报错。0 E3 F, S1 L6 v$ I7 G5 Z/ c* I
3 d. Z. F% Y+ J% R0 j
此问题也已提交至mtr的GitHub(https://github.com/Minecraft-Tra ... Railway/issues/1028) ,考虑到Rubidium已经停止维护,mtr是否可以主动兼容Rubidium?
5 A4 P  Q' {  f0 ?" H1 Q

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
CokeStudio 2025-6-23 21:18:07
MTR:我不兼容Rubidium,请替换成Embeddium
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表