Volver al índice
src/main/java/ar/com/companeros/horror/client/ParasiteClientRegistration.java
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;
});
}
}