package ar.com.companeros.horror.client; import ar.com.companeros.Companeros; import ar.com.companeros.horror.HorrorModule; import ar.com.companeros.horror.HorrorNetwork; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.client.event.EntityRenderersEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; /** Registro sólo cliente: el servidor dedicado no carga clases de renderizado. */ @Mod.EventBusSubscriber(modid = Companeros.ID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public final class ParasiteClientRegistration { private ParasiteClientRegistration() { } @SubscribeEvent public static void renderers(EntityRenderersEvent.RegisterRenderers event) { event.registerEntityRenderer(HorrorModule.STALKER.get(), ParasiteRenderer::new); } @SubscribeEvent public static void layers(EntityRenderersEvent.RegisterLayerDefinitions event) { event.registerLayerDefinition(ParasiteModel.LAYER, ParasiteModel::createBodyLayer); event.registerLayerDefinition(ParasiteModel.FRIENDLY_LAYER, ParasiteModel::createFriendlyLayer); } @SubscribeEvent public static void setup(FMLClientSetupEvent event) { event.enqueueWork(() -> { HorrorNetwork.CLIENT_RECEIVER = enabled -> { HorrorClientSafety.setEnabled(enabled); if (enabled) HorrorSpeechClient.stopAll(); }; HorrorNetwork.CLIENT_SPEECH = HorrorSpeechClient::play; }); } }