修复材质概率进游戏紫黑块问题
This commit is contained in:
parent
09d1bf195c
commit
0e90d9825a
|
|
@ -37,6 +37,9 @@ public class ExtendedAEPlus {
|
||||||
public ExtendedAEPlus() {
|
public ExtendedAEPlus() {
|
||||||
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
||||||
|
|
||||||
|
// 在客户端尽早注册内置模型,保证首次资源加载前映射已建立(仿照 AE2 的 AppEngClient 构造期注册)
|
||||||
|
DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> ClientProxy::init);
|
||||||
|
|
||||||
// 注册mod初始化事件
|
// 注册mod初始化事件
|
||||||
modEventBus.addListener(this::commonSetup);
|
modEventBus.addListener(this::commonSetup);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.extendedae_plus.client;
|
package com.extendedae_plus.client;
|
||||||
|
|
||||||
|
import com.extendedae_plus.ExtendedAEPlus;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.client.event.ModelEvent;
|
import net.minecraftforge.client.event.ModelEvent;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
|
@ -8,13 +9,19 @@ import net.minecraftforge.fml.common.Mod;
|
||||||
/**
|
/**
|
||||||
* 确保在模型烘焙/资源重载期间也会注册内置模型,避免在刷新资源后丢失内置模型映射。
|
* 确保在模型烘焙/资源重载期间也会注册内置模型,避免在刷新资源后丢失内置模型映射。
|
||||||
*/
|
*/
|
||||||
@Mod.EventBusSubscriber(value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD)
|
@Mod.EventBusSubscriber(modid = ExtendedAEPlus.MODID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||||
public final class ClientModelEvents {
|
public final class ClientModelEvents {
|
||||||
private ClientModelEvents() {}
|
private ClientModelEvents() {}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onRegisterAdditional(ModelEvent.RegisterAdditional event) {
|
public static void onRegisterAdditional(ModelEvent.RegisterAdditional event) {
|
||||||
// 在每次模型重载开始时确保内置模型已注册
|
// 在每次模型重载开始时确保内置模型已注册
|
||||||
|
// 先显式登记这些模型ID,使其在首次加载阶段被请求,从而触发我们的内置模型拦截
|
||||||
|
event.register(ExtendedAEPlus.id("block/crafting/4x_accelerator_formed_v2"));
|
||||||
|
event.register(ExtendedAEPlus.id("block/crafting/16x_accelerator_formed_v2"));
|
||||||
|
event.register(ExtendedAEPlus.id("block/crafting/64x_accelerator_formed_v2"));
|
||||||
|
event.register(ExtendedAEPlus.id("block/crafting/256x_accelerator_formed_v2"));
|
||||||
|
event.register(ExtendedAEPlus.id("block/crafting/1024x_accelerator_formed_v2"));
|
||||||
ClientProxy.init();
|
ClientProxy.init();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,9 +43,6 @@ public final class ClientProxy {
|
||||||
BuiltInModelHooks.addBuiltInModel(
|
BuiltInModelHooks.addBuiltInModel(
|
||||||
ExtendedAEPlus.id("block/crafting/1024x_accelerator_formed_v2"),
|
ExtendedAEPlus.id("block/crafting/1024x_accelerator_formed_v2"),
|
||||||
new CraftingCubeModel(new EPlusCraftingCubeModelProvider(EPlusCraftingUnitType.ACCELERATOR_1024x)));
|
new CraftingCubeModel(new EPlusCraftingCubeModelProvider(EPlusCraftingUnitType.ACCELERATOR_1024x)));
|
||||||
|
|
||||||
// 菜单 -> 屏幕 绑定
|
|
||||||
MenuScreens.register(ModMenuTypes.NETWORK_PATTERN_CONTROLLER.get(), GlobalProviderModesScreen::new);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -53,8 +50,12 @@ public final class ClientProxy {
|
||||||
*/
|
*/
|
||||||
public static void onClientSetup(final FMLClientSetupEvent event) {
|
public static void onClientSetup(final FMLClientSetupEvent event) {
|
||||||
event.enqueueWork(() -> {
|
event.enqueueWork(() -> {
|
||||||
|
// 确保在首次资源加载前完成内置模型注册(REGISTERED 保护避免重复)
|
||||||
init();
|
init();
|
||||||
|
// 仅在客户端设置阶段执行与 UI 相关的一次性绑定
|
||||||
registerConfigScreen();
|
registerConfigScreen();
|
||||||
|
// 菜单 -> 屏幕 绑定
|
||||||
|
MenuScreens.register(ModMenuTypes.NETWORK_PATTERN_CONTROLLER.get(), GlobalProviderModesScreen::new);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user