More Work on Neon Flies and add Auto Spawn

This commit is contained in:
2022-08-06 01:33:35 +02:00
parent 00a7aa8fb0
commit d628631949
18 changed files with 145 additions and 81 deletions

View File

@@ -3,15 +3,20 @@ package me.hypherionmc.hyperlighting;
import me.hypherionmc.hyperlighting.common.entities.NeonFlyEntity;
import me.hypherionmc.hyperlighting.common.init.CommonRegistration;
import me.hypherionmc.hyperlighting.common.init.HLEntities;
import me.hypherionmc.hyperlighting.common.worldgen.FabricWorldGen;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
import net.minecraft.world.entity.SpawnPlacements;
import net.minecraft.world.level.levelgen.Heightmap;
public class HyperLightingFabric implements ModInitializer {
@Override
public void onInitialize() {
CommonRegistration.registerAll();
FabricWorldGen.registerAll();
FabricDefaultAttributeRegistry.register(HLEntities.FIREFLY.get(), NeonFlyEntity.prepareAttributes());
FabricDefaultAttributeRegistry.register(HLEntities.NEONFLY.get(), NeonFlyEntity.prepareAttributes());
SpawnPlacements.register(HLEntities.NEONFLY.get(), SpawnPlacements.Type.NO_RESTRICTIONS, Heightmap.Types.WORLD_SURFACE, NeonFlyEntity::canSpawn);
}
}

View File

@@ -26,7 +26,7 @@ public class HyperLightingFabricClient implements ClientModInitializer {
}
});
EntityRendererRegistry.register(HLEntities.FIREFLY.get(), NeonFlyRenderer::new);
EntityRendererRegistry.register(HLEntities.NEONFLY.get(), NeonFlyRenderer::new);
EntityModelLayerRegistry.registerModelLayer(NeonFlyModel.LAYER_LOCATION, NeonFlyModel::createBodyLayer);
}
}

View File

@@ -0,0 +1,30 @@
package me.hypherionmc.hyperlighting.common.worldgen;
import me.hypherionmc.hyperlighting.common.init.HLEntities;
import net.fabricmc.fabric.api.biome.v1.BiomeModifications;
import net.fabricmc.fabric.api.biome.v1.BiomeSelectors;
import net.minecraft.world.entity.MobCategory;
import net.minecraft.world.level.biome.Biomes;
/**
* @author HypherionSA
* @date 06/08/2022
*/
public class FabricWorldGen {
public static void registerAll() {
addNeonFlyGen();
}
private static void addNeonFlyGen() {
BiomeModifications.addSpawn(
BiomeSelectors.includeByKey(Biomes.SWAMP),
MobCategory.AMBIENT,
HLEntities.NEONFLY.get(),
10,
8,
25
);
}
}