开启左侧

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

[复制链接]
abRoy 2025-1-12 18:33:45
本帖最后由 abRoy 于 2025-1-12 18:37 编辑
5 P, g; T: T& L, d2 O/ f9 q8 Q0 A* G0 z) y4 w
从mtr4.0.0B8就一直困扰我到现在的问题终于解决了,分享一下防止其他和我相同问题的人踩坑& |. M# {; c; \$ ?5 G. D- }  a

2 a( c! n$ V3 ~; q, \( q$ S  n4 f, n  M' K! B! X1 ^  s
原mc(1.20.1)在3.2.2版本的mtr下运行一切正常。升级到4.0.0B13后概率出现部分车站/线路的铁轨,站台门不可见的情况,但是又有一些车站是完全正常的。所有的列车都不可见。
/ L+ Z2 W! p6 N$ J- h2 T: f. `, }  e, ]' W9 L

; C  k& x3 L# h& ~4 A: ^↑这里应该有张图片但是我不知道插入成功没有 看不到8 e& @( M, ^7 C! J  X

8 \  C4 i8 ]$ w$ F/ O7 h1 L4 f" b4 M' h
原本以为是mtr的问题但是等了很久都没有修复,遂自己看一下日志,发现以下报错频繁出现8 C* P' y! n- F/ b
  1. [121��2025 16:54:18.818] [Render thread/ERROR] [MinecraftMappings/]: . _9 e8 @: c/ E
  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)
    * }* }4 ?6 W* C4 l
  3.         at me.jellysquid.mods.sodium.client.render.vertex.VertexBufferWriter.of(VertexBufferWriter.java:8) ~[%5B�%5D%20rubidium-0.6.5.jar%23246!/:?]( a. Z1 Q2 H1 x& \& j
  4.         at net.minecraft.client.model.geom.ModelPart.m_104290_(ModelPart.java:563) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?], Z7 `; l( C: _, P. p0 G) ]" {
  5.         at net.minecraft.client.model.geom.ModelPart.m_104306_(ModelPart.java:124) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    5 p+ B( T/ w! N3 _- b, T& [
  6.         at net.minecraft.client.model.geom.ModelPart.m_104301_(ModelPart.java:109) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    $ j. @7 g) i! W' J- q; U
  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!/:?]
    5 F- }/ v* s5 R: U; }% S' L8 n
  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!/:?]) u& E) m4 j' o' Z9 I# y" e. E
  9.         at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]7 J3 d" Z( G. D% h" J6 Y- ~
  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!/:?]3 D- x5 |1 Z  X9 v- X
  11.         at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
    8 |  d/ ^0 R/ A8 A
  12.         at org.mtr.mapping.mapper.OptimizedModel.fromMaterialGroups(OptimizedModel.java:45) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    : N0 h. F) z/ I  ^
  13.         at org.mtr.mod.resource.OptimizedModelWrapper.fromMaterialGroups(OptimizedModelWrapper.java:20) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    : Y% `. f5 ], G4 c; i
  14.         at org.mtr.mod.resource.ModelPropertiesPart.writeCache(ModelPropertiesPart.java:135) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    % [( Y2 o& q4 x, k8 G1 p7 a( o
  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!/:?]! g; K" z9 O& ]" J, Z
  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!/:?]. d$ S1 ^! A$ I
  17.         at org.mtr.mod.resource.ModelProperties.iterateParts(ModelProperties.java:135) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]  e& Y$ p1 J; p7 \
  18.         at org.mtr.mod.render.DynamicVehicleModel.<init>(DynamicVehicleModel.java:68) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    3 K1 W( e0 l5 @( `0 Y
  19.         at org.mtr.mod.resource.VehicleModel.createModel(VehicleModel.java:121) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?], A7 @! e' g" o# v% D: q0 @# w: r
  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!/:?]( k% s2 ^3 c1 Y
  21.         at org.mtr.mod.resource.CachedResource.getData(CachedResource.java:31) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    $ t' m  q5 n( t+ K9 A0 P9 L0 P6 @
  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!/:?]
    # s# W8 m0 U2 L/ O6 \9 \
  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!/:?]
    ' U1 E$ k* }3 K! j. O* p# _
  24.         at org.mtr.mod.resource.VehicleResource.forEachNonNull(VehicleResource.java:502) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    ( ^" A8 v) T" L: S5 o1 ^
  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!/:?]
    2 u$ {  }" C/ O3 s  f, ]. C
  26.         at org.mtr.mod.resource.CachedResource.getData(CachedResource.java:31) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    1 o7 o, q7 F) V6 `' Y& a8 n' {- Y5 l% y
  27.         at org.mtr.mod.resource.VehicleResource.queueBogie(VehicleResource.java:206) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]6 s5 F- }; r! L- t
  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!/:?]$ Z- a3 L- [1 `& x  m
  29.         at org.mtr.mod.render.RenderVehicleHelper.renderModel(RenderVehicleHelper.java:92) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]3 P( O3 v' w3 U+ e
  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 i8 s0 o1 B! F; X& [  V6 r
  31.         at org.mtr.mod.render.RenderVehicles.iterateWithIndex(RenderVehicles.java:330) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]- c) N7 [$ x4 ~; l, F4 G8 C# k6 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!/:?]
    " N+ J, r; B+ N' ~
  33.         at org.mtr.mod.client.CustomResourceLoader.getVehicleById(CustomResourceLoader.java:161) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]4 a9 D7 r0 {3 J8 X" v2 P; P
  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!/:?]  m/ q" y- y+ }5 B
  35.         at org.mtr.mod.render.RenderVehicles.iterateWithIndex(RenderVehicles.java:330) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]+ z& ?6 q; D' [0 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!/:?]
    , h% f3 p7 e, W/ ?
  37.         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
    ) H3 Y/ L( q4 t0 d
  38.         at org.mtr.mod.render.RenderVehicles.render(RenderVehicles.java:42) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]1 D2 {" Y- o2 u8 h) J4 Q+ c
  39.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:102) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    0 F. Z2 Q8 W: _% I$ @
  40.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:60) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    3 o, f3 j; t4 G1 _
  41.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:26) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]! f1 j* R% t, T) X2 A/ w
  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!/:?]1 ?( J0 {! Y/ T4 o
  43.         at org.mtr.mapping.mapper.GraphicsHolder.createInstanceSafe(GraphicsHolder.java:50) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    " W2 H/ _: x1 n3 O% T; l
  44.         at org.mtr.mapping.mapper.GraphicsHolder.createInstanceSafe(GraphicsHolder.java:40) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]) L3 R, q7 V+ A9 Z( g/ E1 W3 C: V4 W
  45.         at org.mtr.mapping.mapper.EntityRenderer.render(EntityRenderer.java:21) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    & s, n- W' f( `" L6 `4 L7 n
  46.         at org.mtr.mapping.mapper.EntityRenderer.m_7392_(EntityRenderer.java:11) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    $ }5 m/ `- r* h' r6 I* {1 g
  47.         at net.minecraft.client.renderer.entity.EntityRenderDispatcher.m_114384_(EntityRenderDispatcher.java:140) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]: U1 U- {8 s6 {; K
  48.         at net.minecraft.client.renderer.LevelRenderer.m_109517_(LevelRenderer.java:1440) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    8 T5 K% C- ^. d! f
  49.         at net.minecraft.client.renderer.LevelRenderer.invokeRenderEntity(LevelRenderer.java) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    8 T( v+ |2 k( I
  50.         at net.coderbot.iris.pipeline.ShadowRenderer.renderEntities(ShadowRenderer.java:606) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]; U; F5 ?& H+ S* N, r8 o
  51.         at net.coderbot.iris.pipeline.ShadowRenderer.renderShadows(ShadowRenderer.java:483) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]" p( A6 U+ d8 j0 Y
  52.         at net.coderbot.iris.pipeline.newshader.NewWorldRenderingPipeline.renderShadows(NewWorldRenderingPipeline.java:1033) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]
    ; y4 o7 c6 m5 X; |4 l& P
  53.         at net.minecraft.client.renderer.LevelRenderer.handler$zob000$iris$renderTerrainShadows(LevelRenderer.java:11680) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    6 _6 T1 @' q0 K' Q1 S
  54.         at net.minecraft.client.renderer.LevelRenderer.m_109599_(LevelRenderer.java:1155) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?], B/ V( H9 x0 z' B4 I
  55.         at net.minecraft.client.renderer.GameRenderer.m_109089_(GameRenderer.java:1126) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]9 W0 m9 m9 w: p4 p
  56.         at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:909) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    & ?1 s! B( D- i  I) d8 f0 m4 ?
  57.         at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1146) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]9 O/ N# i" S/ B
  58.         at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]$ M- p& G( G% t$ x
  59.         at net.minecraft.client.main.Main.main(Main.java:218) ~[Harvista%201.24.jar:?]
    % A% A/ W! t$ ?; T5 w
  60.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    1 u/ }9 T% E1 o3 [% p3 ~: {
  61.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    $ V9 p+ x- V- g& W7 {8 t
  62.         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]/ e* ^' I$ z6 s) [! b; U
  63.         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]  x" c# P1 E1 ?/ Y6 G' F+ ]4 P
  64.         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.1.30.jar:?]
    5 }& k- g: \" v# a# n. r
  65.         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.1.30.jar:?]
    ' o7 D7 ?" B# x
  66.         at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.1.30.jar:?]: B8 b, m; P$ @! h* x9 p
  67.         at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]: D# m2 ?* K6 T# ?# Y+ P& X
  68.         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]1 D) }  Z0 c) [# G7 q" {7 }
  69.         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]' ?. u( G" t  a- j
  70.         at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]
    * b; ^- `3 F! k2 m& ^" Y' R
  71.         at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]
    2 a  j9 e9 r( e1 I$ J4 T: r
  72.         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]
    : _2 k. w$ z  }
  73.         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]' W  N& P. r( N" z4 V. Y
  74.         at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]% l5 u1 C7 O! G& |
  75.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    ) [- S" F. Q" i1 i& f& G% v. ?
  76.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    ! T6 E0 }+ O$ L4 t' x" M: Y- R4 @
  77.         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]# z6 J4 ?" A( y' W9 g
  78.         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    # R- N  w, p- A
  79.         at oolloo.jlw.Wrapper.invokeMain(Wrapper.java:112) ~[?:?]
    . i. \; {% q+ Z0 w: l
  80.         at oolloo.jlw.Wrapper.main(Wrapper.java:105) ~[?:?]
复制代码
简单说就是MTR尝试将一个 CapturingVertexConsumer 对象强制转换为Rubidium的类 VertexBufferWriter,但这两个类不兼容。! [8 |! f0 n- J/ g3 Y6 R: o2 ?
- M6 l: e/ W! j" K% d/ p7 T4 V
Rubidium和oculus这两个模组是整合包原有的,支持性能优化和光影的模组。但是Rubidium自 2023 年12月起已经停止更新,不再维护。
7 b" i7 l1 }% _5 C6 r经过研究,我将 Rubidium 替换为 Embeddium 。Embeddium是 Rubidium 的非官方分支,仍在活跃维护中,并包含更多兼容性补丁和新功能。
1 w2 K: v/ p4 k/ b' k9 ~当 Embeddium 配合 oculus使用时,所有功能都可以正常运行,且日志中未出现任何报错。
- ^) Y1 o/ Q3 i. _' ^; E
# t/ @2 j8 s2 N; @# Q  t此问题也已提交至mtr的GitHub(https://github.com/Minecraft-Tra ... Railway/issues/1028) ,考虑到Rubidium已经停止维护,mtr是否可以主动兼容Rubidium?
3 j- `4 F; Z& A3 ~- ]6 G) y; X

本帖子中包含更多资源

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

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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