package com.jenny.enhancedexplosives.entities; import com.jenny.enhancedexplosives.entities.arrows.*; import com.jenny.enhancedexplosives.entities.client.*; import com.jenny.enhancedexplosives.entities.throwable.dynamite; import com.jenny.enhancedexplosives.entities.tnt.*; import net.minecraft.client.renderer.entity.EntityRenderers; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MobCategory; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; import static com.jenny.enhancedexplosives.EnhancedExplosives.MODID; public class entities { public static final DeferredRegister> ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, MODID); public static final RegistryObject> TNT_HOMING = ENTITY_TYPES.register("tnt_homing", () -> EntityType.Builder.of(homingPrimedTNT::new, MobCategory.MISC) .fireImmune().sized(0.98F, 0.98F).clientTrackingRange(10).updateInterval(10).build("tnt_homing")); public static final RegistryObject> TNT_STRONGER = ENTITY_TYPES.register("tnt_stronger", () -> EntityType.Builder.of(StrongerPrimedTNT::new, MobCategory.MISC) .fireImmune().sized(0.98F, 0.98F).clientTrackingRange(10).updateInterval(10).build("tnt_stronger")); public static final RegistryObject> TNT_CLUSTER = ENTITY_TYPES.register("tnt_cluster", () -> EntityType.Builder.of(ClusterPrimedTNT::new, MobCategory.MISC) .sized(0.48F, 0.48F).fireImmune().clientTrackingRange(10).updateInterval(10).build("tnt_cluster")); public static final RegistryObject> TNT_BLACK_HOLE = ENTITY_TYPES.register("tnt_blackhole", () -> EntityType.Builder.of(blackHolePrimedTNT::new, MobCategory.MISC) .fireImmune().sized(0.98F, 0.98F).clientTrackingRange(10).updateInterval(10).build("tnt_blackhole")); public static final RegistryObject> TNT_SELECTIVE = ENTITY_TYPES.register("tnt_selective", () -> EntityType.Builder.of(selectivePrimedTNT::new, MobCategory.MISC) .fireImmune().sized(0.98F, 0.98F).clientTrackingRange(10).updateInterval(10).build("tnt_selective")); public static final RegistryObject> TNT_CLAYMORE = ENTITY_TYPES.register("tnt_claymore", () -> EntityType.Builder.of(claymorePrimedTNT::new, MobCategory.MISC) .fireImmune().sized(0.98F, 0.98F).clientTrackingRange(10).updateInterval(10).build("tnt_claymore")); public static final RegistryObject> TNT_ENDER = ENTITY_TYPES.register("tnt_ender", () -> EntityType.Builder.of(enderPrimedTNT::new, MobCategory.MISC) .fireImmune().sized(0.98F, 0.98F).clientTrackingRange(10).updateInterval(10).build("tnt_ender")); public static final RegistryObject> TNT_REPULSIVE = ENTITY_TYPES.register("tnt_repulsive", () -> EntityType.Builder.of(repulsivePrimedTNT::new, MobCategory.MISC) .fireImmune().sized(0.98F, 0.98F).clientTrackingRange(10).updateInterval(10).build("tnt_repulsive")); public static final RegistryObject> ARROW_TNT = ENTITY_TYPES.register("arrow_tnt", () -> EntityType.Builder.of(tntArrow::new, MobCategory.MISC) .sized(0.48F, 0.48F).clientTrackingRange(64).build("arrow_tnt")); public static final RegistryObject> ARROW_CONCUSSIVE = ENTITY_TYPES.register("arrow_concussive", () -> EntityType.Builder.of(concussiveArrow::new, MobCategory.MISC) .sized(0.48F, 0.48F).clientTrackingRange(64).build("arrow_concussive")); public static final RegistryObject> ARROW_CARPET = ENTITY_TYPES.register("arrow_carpet", () -> EntityType.Builder.of(carpetArrow::new, MobCategory.MISC) .sized(0.48F, 0.48F).clientTrackingRange(64).build("arrow_carpet")); public static final RegistryObject> ARROW_CLAYMORE = ENTITY_TYPES.register("arrow_claymore", () -> EntityType.Builder.of(claymoreArrow::new, MobCategory.MISC) .sized(0.48F, 0.48F).clientTrackingRange(64).build("arrow_claymore")); public static final RegistryObject> ARROW_CARPET_PART = ENTITY_TYPES.register("arrow_carpet_part", () -> EntityType.Builder.of(carpetArrowPart::new, MobCategory.MISC) .sized(0.48F, 0.48F).clientTrackingRange(64).build("arrow_carpet_part")); public static final RegistryObject> DYNAMITE = ENTITY_TYPES.register("dynamite", () -> EntityType.Builder.of(dynamite::new, MobCategory.MISC) .sized(0.48F, 0.48F).clientTrackingRange(64).build("dynamite")); public static final RegistryObject> ARROW_TUNNEL = ENTITY_TYPES.register("arrow_tunnel", () -> EntityType.Builder.of(tunnelArrow::new, MobCategory.MISC) .sized(0.48F, 0.48F).clientTrackingRange(64).build("arrow_tunnel")); public static void register(IEventBus eventBus) { ENTITY_TYPES.register(eventBus); } public static void registerRenderers () { EntityRenderers.register(TNT_STRONGER.get(), BaseTNTRenderer::new); EntityRenderers.register(TNT_HOMING.get(), BaseTNTRenderer::new); EntityRenderers.register(TNT_BLACK_HOLE.get(), BaseTNTRenderer::new); EntityRenderers.register(TNT_CLAYMORE.get(), BaseTNTRenderer::new); EntityRenderers.register(TNT_ENDER.get(), BaseTNTRenderer::new); EntityRenderers.register(TNT_REPULSIVE.get(), BaseTNTRenderer::new); EntityRenderers.register(TNT_SELECTIVE.get(), SelectiveTNTRenderer::new); EntityRenderers.register(TNT_CLUSTER.get(), clusterTNTRenderer::new); EntityRenderers.register(DYNAMITE.get(), clusterTNTRenderer::new); EntityRenderers.register(ARROW_TNT.get(), TNTArrowRenderer::new); EntityRenderers.register(ARROW_CONCUSSIVE.get(), TNTArrowRenderer::new); EntityRenderers.register(ARROW_CARPET.get(), TNTArrowRenderer::new); EntityRenderers.register(ARROW_CARPET_PART.get(), TNTArrowRenderer::new); EntityRenderers.register(ARROW_TUNNEL.get(), TNTArrowRenderer::new); EntityRenderers.register(ARROW_CLAYMORE.get(), baseArrowRenderer::new); } }