Skip to content

Endless 1.20.1-0.7` 与 Touhou Little Maid + YSM 联动时启动崩溃:YSM 女仆渲染器被强转为 GeckoEntityMaidRenderer #46

@KitanoSakurana

Description

@KitanoSakurana

环境

  • Minecraft: 1.20.1
  • Forge: 47.4.20
  • Endless: 1.20.1-0.7
  • Touhou Little Maid: 1.5.3-forge+mc1.20.1
  • Yes Steve Model: 2.6.5-forge+mc1.20.1
  • GeckoLib: 4.4.9

问题描述

同时安装 Endless 1.20.1-0.7Touhou Little MaidYes Steve Model 后,客户端在启动加载阶段崩溃,无法进入标题界面。

根据 0.7 更新日志,本版本新增了:

车万女仆新联动:在女仆装备全套无尽盔甲时,为 YSM 模型女仆添加星空渲染和无尽翅膀;为酒狐添加翅膀。

崩溃看起来正好发生在这个女仆/YSM 渲染联动逻辑中。

复现步骤

  1. 安装 Endless-1.20.1-0.7.jar
  2. 安装 touhoulittlemaid-1.5.3-forge+mc1.20.1.jar
  3. 安装 ysm-2.6.5-forge+mc1.20.1-release.jar
  4. 启动客户端
  5. 在加载界面崩溃

实际结果

客户端启动阶段崩溃:

java.lang.IllegalArgumentException: Failed to create model for touhou_little_maid:maid
Caused by: java.lang.ClassCastException:
class com.elfmcys.yesstevemodel.O00OOo0oo0O000OOooOOooOo
cannot be cast to class
com.github.tartaricacid.touhoulittlemaid.client.renderer.entity.GeckoEntityMaidRenderer

at com.yuo.endless.Compat.Maid.MaidGeoLayer.<init>(MaidGeoLayer.java:33)
at com.yuo.endless.Compat.Maid.MaidGeoLayer.copy(MaidGeoLayer.java:39)
at com.github.tartaricacid.touhoulittlemaid.client.renderer.entity.EntityMaidRenderer.initYsmModelRenderer(EntityMaidRenderer.java:91)

期望结果

安装 YSM 后,女仆渲染器可能不再是 Touhou Little Maid 原本的 GeckoEntityMaidRenderer
Endless 的女仆额外渲染兼容层应当避免直接强转,或在遇到 YSM 包装/替换后的渲染器时跳过/使用兼容路径,避免启动崩溃。

补充判断

删除 YSM 后可避开该崩溃;但从栈看,直接抛异常的位置在:

com.yuo.endless.Compat.Maid.MaidGeoLayer.<init>

因此疑似是 Endless 1.20.1-0.7 新增的 Touhou Little Maid + YSM 联动渲染代码缺少类型判断。


相关LOG:  


` ---- Minecraft Crash Report ----
// Embeddium instance tainted by mods: [entity_texture_features, oculus, acceleratedrendering]
// Please do not reach out for Embeddium support without removing these mods first.
// -------
// Why did you do that?
Time: 2026-06-04 17:17:27
Description: Rendering overlay
java.lang.IllegalArgumentException: Failed to create model for touhou_little_maid:maid
	at net.minecraft.client.renderer.entity.EntityRenderers.m_257087_:L164
	at java.util.HashMap.forEach:L1421
	at net.minecraft.client.renderer.entity.EntityRenderers.m_174049_:L160
	at net.minecraft.client.renderer.entity.EntityRenderDispatcher.m_6213_:L360
	at net.minecraft.server.packs.resources.ResourceManagerReloadListener.m_10759_:L15
	at java.util.concurrent.CompletableFuture$UniRun.tryFire:L787
	at java.util.concurrent.CompletableFuture$Completion.run:L482
	at net.minecraft.server.packs.resources.SimpleReloadInstance.m_143940_:L69
	at net.minecraft.util.thread.BlockableEventLoop.m_6367_:L156
	at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_:L23
	at net.minecraft.util.thread.BlockableEventLoop.m_7245_:L130
	at net.minecraft.util.thread.BlockableEventLoop.m_18699_:L115
	at net.minecraft.client.Minecraft.m_91383_:L1106
	at net.minecraft.client.Minecraft.m_91374_:L718
	at net.minecraft.client.main.Main.main:L218
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0:native
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke:L77
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke:L43
	at java.lang.reflect.Method.invoke:L568
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget:L111
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService:L99
	at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0:L25
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch:L30
	at cpw.mods.modlauncher.LaunchServiceHandler.launch:L53
	at cpw.mods.modlauncher.LaunchServiceHandler.launch:L71
	at cpw.mods.modlauncher.Launcher.run:L108
	at cpw.mods.modlauncher.Launcher.main:L78
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept:L26
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept:L23
	at cpw.mods.bootstraplauncher.BootstrapLauncher.main:L141
Caused by: java.lang.ClassCastException: class com.elfmcys.yesstevemodel.O00OOo0oo0O000OOooOOooOo cannot be cast to class com.github.tartaricacid.touhoulittlemaid.client.renderer.entity.GeckoEntityMaidRenderer (com.elfmcys.yesstevemodel.O00OOo0oo0O000OOooOOooOo is in module yes_steve_model@2.6.5-forge+mc1.20.1 of loader 'TRANSFORMER' @3ae91bcc; com.github.tartaricacid.touhoulittlemaid.client.renderer.entity.GeckoEntityMaidRenderer is in module touhou_little_maid@1.5.3-forge+mc1.20.1 of loader 'TRANSFORMER' @3ae91bcc)
	at com.yuo.endless.Compat.Maid.MaidGeoLayer.<init>:L33
	at com.yuo.endless.Compat.Maid.MaidGeoLayer.copy:L39
	at com.github.tartaricacid.touhoulittlemaid.client.renderer.entity.EntityMaidRenderer.initYsmModelRenderer:L91
	at com.github.tartaricacid.touhoulittlemaid.client.renderer.entity.EntityMaidRenderer.<init>:L72
	at net.minecraft.client.renderer.entity.EntityRenderers.m_257087_:L162
	... 29 more
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Thread: Render thread
Suspected Mods: 
	Touhou Little Maid (touhou_little_maid), Version: 1.5.3-forge+mc1.20.1
		at com.github.tartaricacid.touhoulittlemaid.client.renderer.entity.EntityMaidRenderer.initYsmModelRenderer:L91
	Endless (endless), Version: 1.20.1-0.7
		at com.yuo.endless.Compat.Maid.MaidGeoLayer.<init>:L33
Stacktrace:
	at net.minecraft.client.renderer.entity.EntityRenderers.m_257087_:L164
	at java.util.HashMap.forEach:L1421
	at net.minecraft.client.renderer.entity.EntityRenderers.m_174049_:L160
	at net.minecraft.client.renderer.entity.EntityRenderDispatcher.m_6213_:L360
	at net.minecraft.server.packs.resources.ResourceManagerReloadListener.m_10759_:L15
	at java.util.concurrent.CompletableFuture$UniRun.tryFire:L787
	at java.util.concurrent.CompletableFuture$Completion.run:L482
	at net.minecraft.server.packs.resources.SimpleReloadInstance.m_143940_:L69
	at net.minecraft.util.thread.BlockableEventLoop.m_6367_:L156
	at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_:L23
	at net.minecraft.util.thread.BlockableEventLoop.m_7245_:L130
-- Overlay render details --
Details:
	Overlay name: net.minecraftforge.client.loading.ForgeLoadingOverlay
Stacktrace:
	at net.minecraft.client.renderer.GameRenderer.m_109093_:L957
	at net.minecraft.client.Minecraft.m_91383_:L1146
	at net.minecraft.client.Minecraft.m_91374_:L718
	at net.minecraft.client.main.Main.main:L218
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0:native
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke:L77
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke:L43
	at java.lang.reflect.Method.invoke:L568
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget:L111
	at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.clientService:L99
	at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$makeService$0:L25
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch:L30
	at cpw.mods.modlauncher.LaunchServiceHandler.launch:L53
	at cpw.mods.modlauncher.LaunchServiceHandler.launch:L71
	at cpw.mods.modlauncher.Launcher.run:L108
	at cpw.mods.modlauncher.Launcher.main:L78
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept:L26
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept:L23
	at cpw.mods.bootstraplauncher.BootstrapLauncher.main:L141
-- Last reload --
Details:
	Reload number: 1
	Reload reason: initial
	Finished: No
	Packs: vanilla, tacz_resources, mod_resources, Moonlight Generated Pack, resources/tipsmod, tact/restore_end_story, KubeJS Resource Pack [assets]
-- System Details --
	JVM Flags: 12 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -XX:-OmitStackTraceInFastThrow -Xmx9318m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:G1HeapRegionSize=32M -XX:MaxGCPauseMillis=50 -XX:+PerfDisableSharedMem -XX:MinHeapFreeRatio=25 -XX:MaxHeapFreeRatio=40
	Loaded Shaderpack: (off)
	Launched Version: 1.6.3fix
	Backend library: LWJGL version 3.3.1 build 7
	Backend API: NVIDIA GeForce RTX 3060 Laptop GPU/PCIe/SSE2 GL version 4.6.0 NVIDIA 610.47, NVIDIA Corporation
	Window size: 854x480
	GL Caps: Using framebuffer using OpenGL 3.2
	GL debug messages: 
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'forge'
	Type: Client (map_client.txt)
	Graphics mode: fast
	Resource Packs: 
	Current Language: zh_cn
	CPU: 20x 12th Gen Intel(R) Core(TM) i7-12700H
	ModLauncher: 10.0.9+10.0.9+main.dcd20f30
	ModLauncher launch target: forgeclient
	ModLauncher naming: srg
	ModLauncher services: 
		mixin-0.8.5.jar mixin PLUGINSERVICE 
		eventbus-6.2.33.jar eventbus PLUGINSERVICE 
		fmlloader-1.20.1-47.4.20.jar slf4jfixer PLUGINSERVICE 
		fmlloader-1.20.1-47.4.20.jar object_holder_definalize PLUGINSERVICE 
		fmlloader-1.20.1-47.4.20.jar runtime_enum_extender PLUGINSERVICE 
		fmlloader-1.20.1-47.4.20.jar capability_token_subclass PLUGINSERVICE 
		accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE 
		fmlloader-1.20.1-47.4.20.jar runtimedistcleaner PLUGINSERVICE 
		modlauncher-10.0.9.jar mixin TRANSFORMATIONSERVICE 
		modlauncher-10.0.9.jar fml TRANSFORMATIONSERVICE 
		modlauncher-10.0.9.jar crash_assistant TRANSFORMATIONSERVICE 
	FML Language Providers: 
		minecraft@1.0
		kotlinforforge@4.11.0
		javafml@null
		lowcodefml@null
	Flywheel Backend: flywheel:off
	Crash Report UUID: 88e2a676-9436-4144-8dec-c020e6c61284
	FML: 47.4
	Forge: net.minecraftforge:47.4.20
	Fragments: Back Stack Index: 0
FragmentManager misc state:
  mHost=icyllis.modernui.mc.UIManager$HostCallbacks@367e10cc
  mContainer=icyllis.modernui.mc.UIManager$HostCallbacks@367e10cc
  mCurState=7 mStateSaved=false mStopped=false mDestroyed=false
	AllTheLeaks: 
		Events:
		Explicit GC Last Run: 38ms ago
		Leaking objects:`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions