package net.mcreator.phayriosisreborn.meteor;

import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.MobCategory;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.registries.RegisterEvent;

/** Registers only the new live meteor entity. Kept outside the large generated MCreator registry class. */
@Mod.EventBusSubscriber(modid = "phayriosisreborn", bus = Mod.EventBusSubscriber.Bus.MOD)
public final class PhayriosisMeteorEntityRegistry {
    public static EntityType<PhayriosisMeteorEntity> METEOR;

    private PhayriosisMeteorEntityRegistry() {}

    @SubscribeEvent
    public static void register(RegisterEvent event) {
        event.register(Registries.f_256939_, new ResourceLocation("phayriosisreborn", "phayriosis_meteor"), () -> {
            EntityType.Builder<PhayriosisMeteorEntity> builder = EntityType.Builder.m_20704_(
                    (type, level) -> new PhayriosisMeteorEntity(type, level), MobCategory.MISC);
            builder.setShouldReceiveVelocityUpdates(true);
            builder.setCustomClientFactory(PhayriosisMeteorEntity::new);
            builder.setTrackingRange(384);
            builder.setUpdateInterval(1);
            builder.m_20699_(4.0F, 4.0F);
            METEOR = builder.m_20712_("phayriosisreborn:phayriosis_meteor");
            return METEOR;
        });
    }
}
