开启左侧

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

[复制链接]
abRoy 2025-1-12 18:33:45
本帖最后由 abRoy 于 2025-1-12 18:37 编辑
# z( m$ G% J/ F& h# a- R6 Y$ J" p# v3 @( e
从mtr4.0.0B8就一直困扰我到现在的问题终于解决了,分享一下防止其他和我相同问题的人踩坑; ?) T* v. M: T" [8 ]5 ?! a

! A2 \2 u! c6 x2 m
9 v- D9 a$ X: [0 w/ Z原mc(1.20.1)在3.2.2版本的mtr下运行一切正常。升级到4.0.0B13后概率出现部分车站/线路的铁轨,站台门不可见的情况,但是又有一些车站是完全正常的。所有的列车都不可见。# l8 }: X2 {! g# }/ b

( A8 A8 Z$ `: I, G9 q) C/ e) l! m% K& I
↑这里应该有张图片但是我不知道插入成功没有 看不到0 m0 ~2 c% r6 ^" P
5 o. i1 w) F6 M4 T* e  N

6 l0 \9 P0 P4 W0 O/ i8 P8 u原本以为是mtr的问题但是等了很久都没有修复,遂自己看一下日志,发现以下报错频繁出现% _: }: E, S, ~$ p2 x* F9 k! h# E* @
  1. [121��2025 16:54:18.818] [Render thread/ERROR] [MinecraftMappings/]: , Z% R6 P& F4 f) x" f8 g6 X" G: I
  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 G4 p: M% [* o0 @, v
  3.         at me.jellysquid.mods.sodium.client.render.vertex.VertexBufferWriter.of(VertexBufferWriter.java:8) ~[%5B�%5D%20rubidium-0.6.5.jar%23246!/:?]
    9 [" Q  j. \! R5 w, ]$ k. e& G
  4.         at net.minecraft.client.model.geom.ModelPart.m_104290_(ModelPart.java:563) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]' T4 b( t9 [! ^$ }2 T$ C. ?
  5.         at net.minecraft.client.model.geom.ModelPart.m_104306_(ModelPart.java:124) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]+ D) T4 x3 H9 J% i4 |
  6.         at net.minecraft.client.model.geom.ModelPart.m_104301_(ModelPart.java:109) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    # B( _3 _4 o5 T: y# z  m' d( Y
  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!/:?]
    4 P+ H& z- P! |; l; V7 a+ 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!/:?]
    % C1 v. a6 f) E( a) o
  9.         at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]5 m' i5 h& ]' V
  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!/:?]  e+ W6 q; [" J0 Z  ?. @: m
  11.         at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
    6 p/ N2 J! I/ O' N) b6 f
  12.         at org.mtr.mapping.mapper.OptimizedModel.fromMaterialGroups(OptimizedModel.java:45) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]( C* T" r  Q0 @. `
  13.         at org.mtr.mod.resource.OptimizedModelWrapper.fromMaterialGroups(OptimizedModelWrapper.java:20) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    ' y' Z& s5 N2 l% X2 b9 L
  14.         at org.mtr.mod.resource.ModelPropertiesPart.writeCache(ModelPropertiesPart.java:135) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?], H* r$ O% e3 E3 |) |1 a
  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!/:?]
    8 j3 S- Q9 U+ K! d0 d+ w0 {$ x
  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!/:?]1 d2 ^3 \2 W2 w: B2 S
  17.         at org.mtr.mod.resource.ModelProperties.iterateParts(ModelProperties.java:135) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    * Q# L9 W7 {1 f3 }+ f
  18.         at org.mtr.mod.render.DynamicVehicleModel.<init>(DynamicVehicleModel.java:68) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    8 E8 G6 f# ~) k- e9 N. l8 E, S
  19.         at org.mtr.mod.resource.VehicleModel.createModel(VehicleModel.java:121) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    : ?) c4 o- t, 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!/:?]
    8 M& S% y; p0 C
  21.         at org.mtr.mod.resource.CachedResource.getData(CachedResource.java:31) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]* j$ R& a0 N3 y1 F5 o
  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!/:?]
    4 h3 M, M7 V1 S  Y' h" L
  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!/:?]) {& T9 A3 [! l( M  n$ [; l) L
  24.         at org.mtr.mod.resource.VehicleResource.forEachNonNull(VehicleResource.java:502) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    , r6 y) I- Q* 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!/:?]
    ' ]. R& k7 q: ?; H- {2 ~
  26.         at org.mtr.mod.resource.CachedResource.getData(CachedResource.java:31) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    : J* A; b8 t! a) Q3 z
  27.         at org.mtr.mod.resource.VehicleResource.queueBogie(VehicleResource.java:206) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    # r# m) \2 o! ^) A2 X6 U+ q
  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!/:?]( F; U& o$ k+ U0 q0 N& C$ w  u
  29.         at org.mtr.mod.render.RenderVehicleHelper.renderModel(RenderVehicleHelper.java:92) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?], X& {& @0 j! r: [% o3 f0 R3 ^
  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!/:?], M# j2 r0 |' k" `! O
  31.         at org.mtr.mod.render.RenderVehicles.iterateWithIndex(RenderVehicles.java:330) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]6 ~1 V9 n5 @8 H+ |! H- @9 u: s
  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!/:?]
    ' O' {8 t, T. M4 k6 ~1 a: G
  33.         at org.mtr.mod.client.CustomResourceLoader.getVehicleById(CustomResourceLoader.java:161) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    : w8 S+ k: D: W- a- z' z
  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!/:?]
    9 R: B; ~/ q; v- C3 ^! x
  35.         at org.mtr.mod.render.RenderVehicles.iterateWithIndex(RenderVehicles.java:330) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]) I6 m: h9 f. `% x: ~6 ~. E( F
  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!/:?]; S: H' j7 F% D
  37.         at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]/ J* ^* w' S, y0 ]
  38.         at org.mtr.mod.render.RenderVehicles.render(RenderVehicles.java:42) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    * A, R2 U- E; s
  39.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:102) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]/ z# `" G. `3 W0 `7 w  P
  40.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:60) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
      }9 b/ r6 b  Q! C; z9 r1 q
  41.         at org.mtr.mod.render.MainRenderer.render(MainRenderer.java:26) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]8 D9 S0 C0 C! p0 F: L3 Z9 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!/:?]
      _- F. a0 O( t+ [( l& M
  43.         at org.mtr.mapping.mapper.GraphicsHolder.createInstanceSafe(GraphicsHolder.java:50) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    * V/ w8 z, k- F, j  V  v0 C
  44.         at org.mtr.mapping.mapper.GraphicsHolder.createInstanceSafe(GraphicsHolder.java:40) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]. A2 T6 J& l( F
  45.         at org.mtr.mapping.mapper.EntityRenderer.render(EntityRenderer.java:21) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]4 a* F' G, \  |% d! A
  46.         at org.mtr.mapping.mapper.EntityRenderer.m_7392_(EntityRenderer.java:11) ~[MTR-forge-4.0.0-beta.13+1.20.1.jar%23287!/:?]
    6 S: `- c; ~- @4 ?9 G# \
  47.         at net.minecraft.client.renderer.entity.EntityRenderDispatcher.m_114384_(EntityRenderDispatcher.java:140) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]7 E: N0 B7 W" [* @( [) s/ t6 q7 }
  48.         at net.minecraft.client.renderer.LevelRenderer.m_109517_(LevelRenderer.java:1440) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]6 V1 l! _# k% U! ~3 c
  49.         at net.minecraft.client.renderer.LevelRenderer.invokeRenderEntity(LevelRenderer.java) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]- T" W1 |& [$ d& I% v) N5 O" [5 T
  50.         at net.coderbot.iris.pipeline.ShadowRenderer.renderEntities(ShadowRenderer.java:606) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]4 c9 N3 \5 z- K9 E  |2 n
  51.         at net.coderbot.iris.pipeline.ShadowRenderer.renderShadows(ShadowRenderer.java:483) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]
    ' q! ?3 J! _7 a- r( l
  52.         at net.coderbot.iris.pipeline.newshader.NewWorldRenderingPipeline.renderShadows(NewWorldRenderingPipeline.java:1033) ~[oculus-mc1.20-1.6.4.jar%23288!/:?]6 L; ?# n, S4 |
  53.         at net.minecraft.client.renderer.LevelRenderer.handler$zob000$iris$renderTerrainShadows(LevelRenderer.java:11680) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    9 @% z3 U# \3 P* {$ w
  54.         at net.minecraft.client.renderer.LevelRenderer.m_109599_(LevelRenderer.java:1155) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    3 @* X: P. `, g, M  E
  55.         at net.minecraft.client.renderer.GameRenderer.m_109089_(GameRenderer.java:1126) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]7 w: K& y% g& m
  56.         at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:909) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?], B* @9 A. t( }
  57.         at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1146) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]
    2 Q) Y  m& P/ ]2 h) Y) T  Z
  58.         at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:718) ~[client-1.20.1-20230612.114412-srg.jar%23300!/:?]( s. p: o  V" r" p$ T- C6 B
  59.         at net.minecraft.client.main.Main.main(Main.java:218) ~[Harvista%201.24.jar:?]
    2 e. A" l3 c( X
  60.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    + c3 d1 e6 V' y1 D, z+ K( V+ s* X
  61.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    ( j7 U* K4 G3 B5 c$ }- [/ X
  62.         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]3 {8 N  H$ d2 i% ~
  63.         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
    ; v+ \' X0 x& I3 d+ ^
  64.         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.1.30.jar:?]& E; E1 O: C! V- [
  65.         at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:99) ~[fmlloader-1.20.1-47.1.30.jar:?]3 x& B* W2 S; p# R3 e
  66.         at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0(CommonClientLaunchHandler.java:25) ~[fmlloader-1.20.1-47.1.30.jar:?]
    9 z9 \8 r9 J4 ^) r
  67.         at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?]
    . h, d' Z* d5 t% t% B6 W4 G8 Q
  68.         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?]
      o5 w8 z1 g! Y9 _% U/ U. |- z/ Q* s
  69.         at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?]
    2 ~7 T# _% u) a) B4 ^
  70.         at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?]
    , j& h% R0 F" `, S$ q. v# O6 j$ O
  71.         at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?]
    $ K3 U) L; @% z
  72.         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?]
    2 S# r) b( r( I- g5 h
  73.         at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?]3 I: ^5 k) i0 d* G) m3 x$ p
  74.         at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?]) j+ k7 V2 _6 l8 ~  ~
  75.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    0 i$ d" g/ I/ S6 {! P
  76.         at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
    ) V/ N! d$ t- p; e
  77.         at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    6 m5 }! \! d4 }/ Z( g% A4 u% S. n' S
  78.         at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]7 |/ E3 q+ X* b4 F5 |" ]
  79.         at oolloo.jlw.Wrapper.invokeMain(Wrapper.java:112) ~[?:?]0 Y9 ]4 @  L4 `$ H8 o/ ]0 M: ~8 ~( L
  80.         at oolloo.jlw.Wrapper.main(Wrapper.java:105) ~[?:?]
复制代码
简单说就是MTR尝试将一个 CapturingVertexConsumer 对象强制转换为Rubidium的类 VertexBufferWriter,但这两个类不兼容。9 J0 M  k* C, w2 p- g! t
7 \7 E2 Q  L+ e* D) D+ X& R
Rubidium和oculus这两个模组是整合包原有的,支持性能优化和光影的模组。但是Rubidium自 2023 年12月起已经停止更新,不再维护。
% d. H) |0 j  d) \! H经过研究,我将 Rubidium 替换为 Embeddium 。Embeddium是 Rubidium 的非官方分支,仍在活跃维护中,并包含更多兼容性补丁和新功能。
- X3 g# l  Y8 R: S当 Embeddium 配合 oculus使用时,所有功能都可以正常运行,且日志中未出现任何报错。
% \! ^# K  f+ j2 m; u. ]5 ?2 A1 K' y
9 H6 g" b7 X& m: N# }8 S5 J2 @此问题也已提交至mtr的GitHub(https://github.com/Minecraft-Tra ... Railway/issues/1028) ,考虑到Rubidium已经停止维护,mtr是否可以主动兼容Rubidium?
, G, x1 C: l: `! N4 M3 P

本帖子中包含更多资源

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

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

本版积分规则

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