-
Notifications
You must be signed in to change notification settings - Fork 11
/
Waddles.java
58 lines (49 loc) · 2.67 KB
/
Waddles.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package com.girafi.waddles;
import com.girafi.waddles.entity.EntityAdeliePenguin;
import com.girafi.waddles.proxy.CommonProxy;
import com.girafi.waddles.utils.ConfigurationHandler;
import com.girafi.waddles.utils.Reference;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.storage.loot.LootTableList;
import net.minecraftforge.common.BiomeDictionary;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.registry.EntityRegistry;
import java.io.File;
import java.util.List;
import java.util.Set;
import static net.minecraftforge.common.BiomeDictionary.Type.*;
@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.MOD_VERSION, dependencies = Reference.DEPENDENCIES, guiFactory = Reference.GUI_FACTORY_CLASS)
public class Waddles {
@Mod.Instance(Reference.MOD_ID)
public static Waddles instance;
@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_ClASS)
public static CommonProxy proxy;
public static final ResourceLocation LOOT_ENTITIES_PENGUIN_FISH = LootTableList.register(new ResourceLocation(Reference.MOD_ID, "entities/penguin"));
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
ConfigurationHandler.init(new File(event.getModConfigurationDirectory(), "Waddles.cfg"));
MinecraftForge.EVENT_BUS.register(new ConfigurationHandler());
proxy.registerRenders();
}
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
EntityRegistry.registerModEntity(EntityAdeliePenguin.class, "penguin", 0, Waddles.instance, 64, 1, true, 0x000000, 0xFFFFFF);
List<Biome> spawnable_biomes = Lists.newArrayList();
for (Biome biome : Biome.REGISTRY) {
Set<BiomeDictionary.Type> types = Sets.newHashSet(BiomeDictionary.getTypesForBiome(biome));
if (types.contains(SNOWY) && !types.contains(FOREST) && !types.contains(NETHER) && !biome.getSpawnableList(EnumCreatureType.CREATURE).isEmpty()) {
System.out.println("Spawn Penguin");
spawnable_biomes.add(biome);
}
}
EntityRegistry.addSpawn(EntityAdeliePenguin.class, 2, 1, 4, EnumCreatureType.CREATURE, spawnable_biomes.toArray(new Biome[spawnable_biomes.size()]));
}
}