开启左侧

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

[复制链接]
abRoy 2025-1-12 18:33:45
本帖最后由 abRoy 于 2025-1-12 18:37 编辑
2 g# s5 I. U$ x# g* l% U3 f) N/ x& L% o: T
从mtr4.0.0B8就一直困扰我到现在的问题终于解决了,分享一下防止其他和我相同问题的人踩坑; V3 G& g& g6 N/ Y

% V+ Z- }* ?, T! f( Z1 p! B3 J$ H( Z0 m7 [; q8 v
原mc(1.20.1)在3.2.2版本的mtr下运行一切正常。升级到4.0.0B13后概率出现部分车站/线路的铁轨,站台门不可见的情况,但是又有一些车站是完全正常的。所有的列车都不可见。
4 p: E1 ^9 L2 P# y- O' d  p4 X* S: u5 P

7 }/ r6 y; Y. P# X* j% _- W; e↑这里应该有张图片但是我不知道插入成功没有 看不到' F/ m  r" k. a" ^0 E

" q, J3 G$ i3 W4 C9 U- X5 p  p8 K, T6 Z! ~& r
原本以为是mtr的问题但是等了很久都没有修复,遂自己看一下日志,发现以下报错频繁出现, K# F3 d2 Y7 Q; r9 F, ?
  1. [121��2025 16:54:18.818] [Render thread/ERROR] [MinecraftMappings/]: 9 j/ L# u- O7 C9 N! E+ ]  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)
    * t& P4 h/ Y; ]: ~+ I
  3.         at me.jellysquid.mods.sodium.client.render.vertex.VertexBufferWriter.of(VertexBufferWriter.java:8) ~[%5B�%5D%20rubidium-0.6.5.jar%23246!/:?]
    4 i* r8 G# z( Q/ w5 D
  4.         at net.minecraft.client.model.geom.ModelPart.m_104290_(ModelPart.java:563) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    - x# z) ]% H& x( W; E: S; C: E
  5.         at net.minecraft.client.model.geom.ModelPart.m_104306_(ModelPart.java:124) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    3 v5 p* y  `! E( a) J: V
  6.         at net.minecraft.client.model.geom.ModelPart.m_104301_(ModelPart.java:109) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]% M- l4 d! h1 y9 p
  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!/:?]
      @2 L$ M0 c) Q6 X
  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!/:?]
    " J! f* h7 Y. N4 w0 U* U, U
  9.         at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]& s4 s" c5 ]$ C- o# C6 W
  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!/:?]
    4 w+ J6 n& F- N% e" p1 d) X$ b1 c
  11.         at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]! X5 Q/ X6 s6 ]/ G
  12.         at org.mtr.mapping.mapper.OptimizedModel.fromMaterialGroups(OptimizedModel.java:45) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    4 |" q9 G4 c5 i# a& _& i: z/ Y/ ^
  13.         at org.mtr.mod.resource.OptimizedModelWrapper.fromMaterialGroups(OptimizedModelWrapper.java:20) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    ( r, I, ~+ f3 x* i) q
  14.         at org.mtr.mod.resource.ModelPropertiesPart.writeCache(ModelPropertiesPart.java:135) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    & o8 P' G5 c7 Y/ L; 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!/:?]
    5 \/ X. q4 e7 ~
  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!/:?], J) b6 \! R) m6 H2 p" M/ Z
  17.         at org.mtr.mod.resource.ModelProperties.iterateParts(ModelProperties.java:135) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]: W6 x7 `% r) _
  18.         at org.mtr.mod.render.DynamicVehicleModel.<init>(DynamicVehicleModel.java:68) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    $ y' r( M/ [% V1 @( z9 K
  19.         at org.mtr.mod.resource.VehicleModel.createModel(VehicleModel.java:121) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]; v4 i9 l! Y4 L# ~7 t2 n" F
  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!/:?]- H/ {! f: Z- ~& X0 }
  21.         at org.mtr.mod.resource.CachedResource.getData(CachedResource.java:31) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    7 F5 W3 ]  g* L, Y0 |9 S
  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!/:?]
    ' X% J# H& I% ?9 D3 q' A
  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!/:?]0 c2 h( e! f! L6 A: n& _% X  @
  24.         at org.mtr.mod.resource.VehicleResource.forEachNonNull(VehicleResource.java:502) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
      @7 c+ f9 ^$ ?1 g  F. S
  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!/:?]
    & ~4 c1 G+ k; I+ @. e- t# Q$ K* d
  26.         at org.mtr.mod.resource.CachedResource.getData(CachedResource.java:31) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    % s, ]% ]4 r$ L% q2 E0 \
  27.         at org.mtr.mod.resource.VehicleResource.queueBogie(VehicleResource.java:206) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    ' O* x- m$ M% O7 \6 n5 o5 p4 @5 `
  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!/:?]& r7 A- A6 T5 O, l$ ~& T
  29.         at org.mtr.mod.render.RenderVehicleHelper.renderModel(RenderVehicleHelper.java:92) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]- f- e8 _! O- V6 R  n& 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!/:?]
    ' V* x% ?$ r5 m* g4 i2 T
  31.         at org.mtr.mod.render.RenderVehicles.iterateWithIndex(RenderVehicles.java:330) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]! e. o3 b7 k% [" }+ ?/ B
  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!/:?]
    ' F8 A* u; F7 o9 V6 m
  33.         at org.mtr.mod.client.CustomResourceLoader.getVehicleById(CustomResourceLoader.java:161) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]( S9 C7 u' f6 _, I, J: a7 f
  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!/:?]
    . t# p+ k- _+ O1 e. s2 h3 s' W
  35.         at org.mtr.mod.render.RenderVehicles.iterateWithIndex(RenderVehicles.java:330) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]1 \+ L/ L6 R+ r
  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!/:?]
    * J% a: ^6 E+ |0 ~6 z' u5 C: D
  37.         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
    2 D2 P% X' F8 M8 q! S* V( u# [/ d
  38.         at org.mtr.mod.render.RenderVehicles.render(RenderVehicles.java:42) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    : Y- f, `4 c; t* ^( R. V
  39.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:102) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]  w2 o2 M& [5 i- p6 U8 O
  40.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:60) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    0 s6 k  y4 @2 e3 f( N/ R: x8 j$ ]
  41.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:26) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]* y( M" u6 h$ h% ^5 o1 U$ v+ V
  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!/:?]# R6 P0 d3 P% ?# g
  43.         at org.mtr.mapping.mapper.GraphicsHolder.createInstanceSafe(GraphicsHolder.java:50) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]; C; P' Q! C6 F4 q8 E9 ~& `
  44.         at org.mtr.mapping.mapper.GraphicsHolder.createInstanceSafe(GraphicsHolder.java:40) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    $ N3 A! f, b2 d) a$ M  W5 k; d" @, `
  45.         at org.mtr.mapping.mapper.EntityRenderer.render(EntityRenderer.java:21) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]- i  @: j% P( ^1 b2 \  D" l
  46.         at org.mtr.mapping.mapper.EntityRenderer.m_7392_(EntityRenderer.java:11) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    7 F/ R4 N; s" n2 n& v
  47.         at net.minecraft.client.renderer.entity.EntityRenderDispatcher.m_114384_(EntityRenderDispatcher.java:140) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    # A8 N$ \; W/ I  [3 x
  48.         at net.minecraft.client.renderer.LevelRenderer.m_109517_(LevelRenderer.java:1440) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    $ W5 N$ y% M- ~' W; T8 l" _+ L9 ^/ `
  49.         at net.minecraft.client.renderer.LevelRenderer.invokeRenderEntity(LevelRenderer.java) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    + S( Q: `) c. @. P' ~, Z( t# h
  50.         at net.coderbot.iris.pipeline.ShadowRenderer.renderEntities(ShadowRenderer.java:606) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]
    ) n( L$ x) B3 k7 J
  51.         at net.coderbot.iris.pipeline.ShadowRenderer.renderShadows(ShadowRenderer.java:483) ~[oculus-mc1.20-1.6.4.jar%23288!/:?], O& O1 e0 `. Q( L* a
  52.         at net.coderbot.iris.pipeline.newshader.NewWorldRenderingPipeline.renderShadows(NewWorldRenderingPipeline.java:1033) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]
    : `8 Y4 Q  f% [6 f0 o4 @
  53.         at net.minecraft.client.renderer.LevelRenderer.handler$zob000$iris$renderTerrainShadows(LevelRenderer.java:11680) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]* q* B' O9 e8 E! K0 b! U
  54.         at net.minecraft.client.renderer.LevelRenderer.m_109599_(LevelRenderer.java:1155) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]+ n! k# S1 M, b  y0 @1 q
  55.         at net.minecraft.client.renderer.GameRenderer.m_109089_(GameRenderer.java:1126) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    " i% h% \1 N; S# w3 q+ [) M0 \8 H' B
  56.         at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:909) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    , P0 }, Z* L. j8 Q5 J% x, k5 }
  57.         at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1146) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    - ?" D8 d( Q, j1 ^
  58.         at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]: j: a( O7 ~! S
  59.         at net.minecraft.client.main.Main.main(Main.java:218) ~[Harvista%201.24.jar:?]  ~2 |  i- d: b: m1 g
  60.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
      v) _3 O5 y# E7 m; b
  61.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    ; J1 |# n) N* E8 u( B
  62.         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    9 A. p9 A6 b# p3 T
  63.         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]& j9 l! C- R4 L! @
  64.         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.1.30.jar:?]
    3 ^; X2 O: j' L3 e$ @5 @
  65.         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.1.30.jar:?]
    $ {9 L1 `$ Z, e& `
  66.         at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.1.30.jar:?]
    ) q! ?% P' S' }( L' L6 l2 ?
  67.         at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]6 e1 C6 b& H# d6 Z
  68.         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]
    1 `& G; m3 @. U' _9 L. |  Q( a, K
  69.         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]" k% F$ S% U( [  `
  70.         at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]
    " r$ j% l9 B/ x+ B
  71.         at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]$ M! q7 M- C- h! |
  72.         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]
    9 J; Z6 @* I! E) q8 D- e
  73.         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]! X2 K& z) l, p! H2 Y
  74.         at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]
    ( Y: ~" {, I1 T: b2 V: T
  75.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    ; ?5 J* j2 Z6 x0 S! d: ]0 g" K
  76.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
      t# B1 i0 k6 ~" U# m' ?1 o+ a7 @
  77.         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    ! y7 g8 Q8 h' J' O; [# i& n0 F% l
  78.         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    # u! v8 K% e1 K9 W* ]4 N. U
  79.         at oolloo.jlw.Wrapper.invokeMain(Wrapper.java:112) ~[?:?]9 x5 h! B( C8 p6 p
  80.         at oolloo.jlw.Wrapper.main(Wrapper.java:105) ~[?:?]
复制代码
简单说就是MTR尝试将一个 CapturingVertexConsumer 对象强制转换为Rubidium的类 VertexBufferWriter,但这两个类不兼容。1 L- X9 v5 x! ?0 J- P1 W, ]8 X; ~
* i; \4 `. ?4 C8 i
Rubidium和oculus这两个模组是整合包原有的,支持性能优化和光影的模组。但是Rubidium自 2023 年12月起已经停止更新,不再维护。
1 ?, @# _8 t7 ?3 H. f$ m经过研究,我将 Rubidium 替换为 Embeddium 。Embeddium是 Rubidium 的非官方分支,仍在活跃维护中,并包含更多兼容性补丁和新功能。
1 v# M/ `- B. Z- Y当 Embeddium 配合 oculus使用时,所有功能都可以正常运行,且日志中未出现任何报错。
7 C- J, B; `' @. J2 _  r+ r3 S* M) @8 L1 C
此问题也已提交至mtr的GitHub(https://github.com/Minecraft-Tra ... Railway/issues/1028) ,考虑到Rubidium已经停止维护,mtr是否可以主动兼容Rubidium?0 \& w" V, I, {% G# }6 |3 }

本帖子中包含更多资源

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

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

本版积分规则

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