开启左侧

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

[复制链接]
abRoy 2025-1-12 18:33:45
本帖最后由 abRoy 于 2025-1-12 18:37 编辑 ; ^/ H  Y. y1 }  h# J7 \
- c7 G. J8 j6 `+ X# e$ ]6 ?1 @4 I# T
从mtr4.0.0B8就一直困扰我到现在的问题终于解决了,分享一下防止其他和我相同问题的人踩坑
- D! v/ l0 [, y1 e! f. Q  z
7 g* R) i/ f) |4 u2 B" T/ K( |( l# S7 _, J5 }, q6 @
原mc(1.20.1)在3.2.2版本的mtr下运行一切正常。升级到4.0.0B13后概率出现部分车站/线路的铁轨,站台门不可见的情况,但是又有一些车站是完全正常的。所有的列车都不可见。+ C  n) E/ e( |& {

- s/ |: O; W2 a- N( D- `" D  A3 N" c
↑这里应该有张图片但是我不知道插入成功没有 看不到
, e0 o1 Y8 ?+ t1 r
" Z8 v: x1 g' ?
6 |! b4 x2 L  f' A) S5 d原本以为是mtr的问题但是等了很久都没有修复,遂自己看一下日志,发现以下报错频繁出现. p& w# X$ @# ?
  1. [121��2025 16:54:18.818] [Render thread/ERROR] [MinecraftMappings/]: 4 d6 i/ {: q( n$ M3 S9 k; N
  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)  {  H+ X$ f* ^2 U- N
  3.         at me.jellysquid.mods.sodium.client.render.vertex.VertexBufferWriter.of(VertexBufferWriter.java:8) ~[%5B�%5D%20rubidium-0.6.5.jar%23246!/:?]
    / x+ C# k# R5 C% V# N4 z, J9 G
  4.         at net.minecraft.client.model.geom.ModelPart.m_104290_(ModelPart.java:563) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    - a7 W" u8 O0 S( T! z
  5.         at net.minecraft.client.model.geom.ModelPart.m_104306_(ModelPart.java:124) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    ' P8 o. y: i9 e: q& _
  6.         at net.minecraft.client.model.geom.ModelPart.m_104301_(ModelPart.java:109) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    7 X( \" B# X( }9 q. f
  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!/:?]6 i8 Y  J, o! L: [1 R  o- Z
  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!/:?]
    ( o  u) z  \  t, N2 ~3 w1 q5 U
  9.         at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
    3 n7 O4 h6 h- I, P) T7 M
  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!/:?]
    5 D* f# F5 `; y5 B0 U* G" {- g  K. O
  11.         at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
    / P, o% `7 W- w( J% `- ^
  12.         at org.mtr.mapping.mapper.OptimizedModel.fromMaterialGroups(OptimizedModel.java:45) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    8 ~( d, C8 i. q9 o2 B* W
  13.         at org.mtr.mod.resource.OptimizedModelWrapper.fromMaterialGroups(OptimizedModelWrapper.java:20) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]. p; B5 l( s0 E: s
  14.         at org.mtr.mod.resource.ModelPropertiesPart.writeCache(ModelPropertiesPart.java:135) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    ! i9 U) }" V5 v- W, K& r
  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!/:?]
    1 M( y5 u7 h2 ~0 a- ^1 ^( f
  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!/:?]
    # a4 l2 d. M9 r. c' V1 `
  17.         at org.mtr.mod.resource.ModelProperties.iterateParts(ModelProperties.java:135) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    ; l5 Q, X1 S5 u. x& P% Y
  18.         at org.mtr.mod.render.DynamicVehicleModel.<init>(DynamicVehicleModel.java:68) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    / @7 ~( |1 R0 @' {4 A$ O
  19.         at org.mtr.mod.resource.VehicleModel.createModel(VehicleModel.java:121) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]1 m6 e' f9 l7 |' Q9 L
  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!/:?]% p  s3 O; [9 |" ^# i
  21.         at org.mtr.mod.resource.CachedResource.getData(CachedResource.java:31) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]$ e/ v: L* b# w: x
  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!/:?]
    ) p2 z& ]/ X, m7 F
  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!/:?]
    : K, B$ M& o; W& K9 l
  24.         at org.mtr.mod.resource.VehicleResource.forEachNonNull(VehicleResource.java:502) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    % J* P+ q6 i$ I8 i& _
  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!/:?]
    # L& {, S4 G) ?% A0 a
  26.         at org.mtr.mod.resource.CachedResource.getData(CachedResource.java:31) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    0 W. J' K& ~6 C
  27.         at org.mtr.mod.resource.VehicleResource.queueBogie(VehicleResource.java:206) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    ; q9 v$ @2 P3 T2 K0 t  w
  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!/:?]7 z: ~  f& ], a4 R- v( b: s2 d
  29.         at org.mtr.mod.render.RenderVehicleHelper.renderModel(RenderVehicleHelper.java:92) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]8 n3 h2 s$ e% j  a
  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!/:?]6 P+ }: x( h  C: e1 e6 f
  31.         at org.mtr.mod.render.RenderVehicles.iterateWithIndex(RenderVehicles.java:330) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    2 p1 r7 s" G& |/ m
  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!/:?]' x# ]4 O& G0 z, M. ^/ {
  33.         at org.mtr.mod.client.CustomResourceLoader.getVehicleById(CustomResourceLoader.java:161) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]: D9 S. s& B' b) L" s/ N
  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!/:?]3 M" M, J/ `8 a" P7 T- Z
  35.         at org.mtr.mod.render.RenderVehicles.iterateWithIndex(RenderVehicles.java:330) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]6 x! \" `8 h3 U5 ]; ?" W. Q+ ?
  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!/:?]: b& L1 B7 z# J8 w* N9 k2 Z* {) y
  37.         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
    ! T% n+ F4 T4 D- ]! ~5 X3 ^/ Z! z
  38.         at org.mtr.mod.render.RenderVehicles.render(RenderVehicles.java:42) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    " ^$ D3 q; d. n
  39.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:102) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]4 f9 O; G1 `- T$ ?4 ]9 k7 F
  40.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:60) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]" D* G8 [2 w3 P& a: n
  41.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:26) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]  \3 p! t8 i4 A0 l0 M, S* B
  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!/:?]
    0 Q4 d0 h  {" M5 g
  43.         at org.mtr.mapping.mapper.GraphicsHolder.createInstanceSafe(GraphicsHolder.java:50) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]" y' Q3 |; p# c0 `% o
  44.         at org.mtr.mapping.mapper.GraphicsHolder.createInstanceSafe(GraphicsHolder.java:40) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]" n: P1 C- X# c5 L0 E
  45.         at org.mtr.mapping.mapper.EntityRenderer.render(EntityRenderer.java:21) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    5 W0 F: U; |3 {4 {% a  q
  46.         at org.mtr.mapping.mapper.EntityRenderer.m_7392_(EntityRenderer.java:11) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]# Z7 a; R/ s7 f# X" P$ F9 ~3 D
  47.         at net.minecraft.client.renderer.entity.EntityRenderDispatcher.m_114384_(EntityRenderDispatcher.java:140) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    - s: a& x4 }% y' ]' u# d) L
  48.         at net.minecraft.client.renderer.LevelRenderer.m_109517_(LevelRenderer.java:1440) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    % [. U; V, M  `& u' Y$ \
  49.         at net.minecraft.client.renderer.LevelRenderer.invokeRenderEntity(LevelRenderer.java) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    $ g( O7 K; P$ T/ i7 z
  50.         at net.coderbot.iris.pipeline.ShadowRenderer.renderEntities(ShadowRenderer.java:606) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]4 M* `& O, n/ j( p% `
  51.         at net.coderbot.iris.pipeline.ShadowRenderer.renderShadows(ShadowRenderer.java:483) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]% D2 W& j! B4 {
  52.         at net.coderbot.iris.pipeline.newshader.NewWorldRenderingPipeline.renderShadows(NewWorldRenderingPipeline.java:1033) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]
    ' W* @- y2 D) f* Z$ p
  53.         at net.minecraft.client.renderer.LevelRenderer.handler$zob000$iris$renderTerrainShadows(LevelRenderer.java:11680) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    : J) _' d) u6 e! }/ V% r. A
  54.         at net.minecraft.client.renderer.LevelRenderer.m_109599_(LevelRenderer.java:1155) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]7 M. V  r/ j3 }, `" ~; x% o
  55.         at net.minecraft.client.renderer.GameRenderer.m_109089_(GameRenderer.java:1126) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    6 D' O& w. N+ ^" f% F) I, ?& K
  56.         at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:909) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]9 x4 `& K1 w2 @1 J+ Q/ n: W
  57.         at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1146) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    2 ]0 }% s: m( w$ f7 m, S/ |
  58.         at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]% {: M: b$ I# t+ Z" g
  59.         at net.minecraft.client.main.Main.main(Main.java:218) ~[Harvista%201.24.jar:?]7 h1 H% Y- a7 m+ I
  60.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]5 \9 \1 v1 b0 k1 M2 d
  61.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    8 P/ w6 }; D( q' {% s
  62.         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    / c9 s* V. t: ]
  63.         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]* a( L" M, u2 D% c
  64.         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.1.30.jar:?]* O) a1 P. p6 L
  65.         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.1.30.jar:?]
    0 c6 P4 H& L7 b/ S
  66.         at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.1.30.jar:?]
    " C) N: g4 D& A9 R% w7 D& @
  67.         at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]
    4 {3 J; o4 [2 V1 E
  68.         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]
    6 I4 l% }( u; f4 h$ i
  69.         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]
    , a. Q7 \/ V. L$ D6 {) G3 X6 w
  70.         at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]
    : U) e, M6 D6 X" X$ F# b9 {
  71.         at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]
    ! @( i- U7 g4 @! W4 O/ [/ Z# D8 R
  72.         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]* I8 q9 g& S+ R1 G
  73.         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]/ t- r$ d, V$ ]3 j, f% Z
  74.         at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]4 F. I' P! ^  c* K! `* G
  75.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    " w. d9 |" e1 {3 H& `
  76.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    , b/ Z* {$ Q4 A4 M# Y/ a4 v* c8 b
  77.         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]6 v5 p* M+ w# \8 l
  78.         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]8 X) Z1 B0 r9 ~6 Y* q6 K; U. U
  79.         at oolloo.jlw.Wrapper.invokeMain(Wrapper.java:112) ~[?:?]- {' {7 {( x& ^" k. \
  80.         at oolloo.jlw.Wrapper.main(Wrapper.java:105) ~[?:?]
复制代码
简单说就是MTR尝试将一个 CapturingVertexConsumer 对象强制转换为Rubidium的类 VertexBufferWriter,但这两个类不兼容。5 d! g- n; H! h) F9 n& w

. R9 ]# J8 L+ DRubidium和oculus这两个模组是整合包原有的,支持性能优化和光影的模组。但是Rubidium自 2023 年12月起已经停止更新,不再维护。1 T. d7 K$ [. H" T) [  u% M
经过研究,我将 Rubidium 替换为 Embeddium 。Embeddium是 Rubidium 的非官方分支,仍在活跃维护中,并包含更多兼容性补丁和新功能。" `+ ]8 J2 R1 P; q. Y1 Q8 Y* Z  c
当 Embeddium 配合 oculus使用时,所有功能都可以正常运行,且日志中未出现任何报错。6 {8 K6 g( }5 Q

- }4 `1 b2 x9 A& f3 M此问题也已提交至mtr的GitHub(https://github.com/Minecraft-Tra ... Railway/issues/1028) ,考虑到Rubidium已经停止维护,mtr是否可以主动兼容Rubidium?$ _5 R1 [/ a1 o! A

本帖子中包含更多资源

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

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

本版积分规则

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