package com.teaminfinity.elementalinvocations;

import com.teaminfinity.elementalinvocations.entity.*;

public class EntityRegistry {
    private static final EntityRegistry INSTANCE = new EntityRegistry();

    public static EntityRegistry getInstance() {
        return INSTANCE;
    }

    private EntityRegistry() {
        entityMagicProjectile = new EntityRegistryEntry<>(EntityMagicProjectile.class, "entity.magic_missile")
                .setTrackingDistance(64)
                .setUpdateFrequency(1)
                .setVelocityUpdates(true)
                .setRenderFactory(EntityMagicProjectile.RenderFactory.getInstance());

        entityBallLightning = new EntityRegistryEntry<>(EntityBallLightning.class, "entity.ball_lightning")
                .setTrackingDistance(64)
                .setUpdateFrequency(1)
                .setVelocityUpdates(true)
                .setRenderFactory(EntityBallLightning.RenderFactory.getInstance());

        entitySunstrike = new EntityRegistryEntry<>(EntitySunstrike.class, "entity.sunstrike")
                .setTrackingDistance(64)
                .setUpdateFrequency(1)
                .setVelocityUpdates(false)
                .setRenderFactory(EntitySunstrike.RenderFactory.getInstance());

        entityWaveForm = new EntityRegistryEntry<>(EntityWaveForm.class, "entity.sunstrike")
                .setTrackingDistance(64)
                .setUpdateFrequency(1)
                .setVelocityUpdates(true)
                .setRenderFactory(EntityWaveForm.RenderFactory.getInstance());

        entityMeteor = new EntityRegistryEntry<>(EntityMeteor.class, "entity.sunstrike")
                .setTrackingDistance(128)
                .setUpdateFrequency(1)
                .setVelocityUpdates(true)
                .setRenderFactory(EntityMeteor.RenderFactory.getInstance());


    }

    public final EntityRegistryEntry<EntityMagicProjectile> entityMagicProjectile;
    public final EntityRegistryEntry<EntityBallLightning> entityBallLightning;
    public final EntityRegistryEntry<EntitySunstrike> entitySunstrike;
    public final EntityRegistryEntry<EntityWaveForm> entityWaveForm;
    public final EntityRegistryEntry<EntityMeteor> entityMeteor;
}

@@ -1324,33 +1324,33 @@
 ss, %22entity.
-sunstrike
+wave_form
 %22)%0A         
@@ -1615,33 +1615,30 @@
 ss, %22entity.
-sunstrike
+meteor
 %22)%0A         

Fix entity names