NaturesAura/src/main/java/de/ellpeck/naturesaura/NaturesAura.java

99 lines
3.7 KiB
Java
Raw Normal View History

2018-10-13 20:35:18 +02:00
package de.ellpeck.naturesaura;
2018-11-03 23:08:02 +01:00
import de.ellpeck.naturesaura.aura.Capabilities.StorageImpl;
import de.ellpeck.naturesaura.aura.chunk.AuraChunk;
import de.ellpeck.naturesaura.aura.container.IAuraContainer;
import de.ellpeck.naturesaura.aura.item.IAuraRecharge;
2018-10-13 23:46:30 +02:00
import de.ellpeck.naturesaura.blocks.ModBlocks;
2018-11-07 13:33:49 +01:00
import de.ellpeck.naturesaura.blocks.multi.Multiblocks;
import de.ellpeck.naturesaura.commands.CommandAura;
2018-10-19 14:35:25 +02:00
import de.ellpeck.naturesaura.compat.Compat;
import de.ellpeck.naturesaura.events.CommonEvents;
2018-10-16 11:49:30 +02:00
import de.ellpeck.naturesaura.events.TerrainGenEvents;
2018-10-14 17:46:00 +02:00
import de.ellpeck.naturesaura.items.ModItems;
2018-11-05 20:42:48 +01:00
import de.ellpeck.naturesaura.items.OreDict;
2018-10-14 14:27:18 +02:00
import de.ellpeck.naturesaura.packet.PacketHandler;
2018-10-13 20:35:18 +02:00
import de.ellpeck.naturesaura.proxy.IProxy;
2018-10-16 01:36:30 +02:00
import de.ellpeck.naturesaura.recipes.ModRecipes;
2018-10-13 20:35:18 +02:00
import de.ellpeck.naturesaura.reg.ModRegistry;
import net.minecraft.creativetab.CreativeTabs;
2018-10-28 16:21:43 +01:00
import net.minecraft.init.Items;
2018-10-13 20:35:18 +02:00
import net.minecraft.item.ItemStack;
2018-10-16 11:49:30 +02:00
import net.minecraftforge.common.MinecraftForge;
2018-10-20 21:19:08 +02:00
import net.minecraftforge.common.capabilities.CapabilityManager;
2018-10-13 20:35:18 +02:00
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.SidedProxy;
2018-10-20 21:19:08 +02:00
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
2018-10-13 20:35:18 +02:00
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
2018-10-22 21:07:21 +02:00
@Mod(modid = NaturesAura.MOD_ID, name = NaturesAura.MOD_NAME, version = NaturesAura.VERSION, dependencies = NaturesAura.DEPS)
2018-10-13 20:35:18 +02:00
public final class NaturesAura {
public static final String MOD_ID = "naturesaura";
public static final String PROXY_LOCATION = "de.ellpeck." + MOD_ID + ".proxy.";
public static final String MOD_NAME = "Nature's Aura";
public static final String VERSION = "@VERSION@";
public static final String DEPS = "required-after:patchouli;";
2018-10-13 20:35:18 +02:00
public static final Logger LOGGER = LogManager.getLogger(MOD_NAME);
@SidedProxy(modId = MOD_ID, clientSide = PROXY_LOCATION + "ClientProxy", serverSide = PROXY_LOCATION + "ServerProxy")
public static IProxy proxy;
public static final CreativeTabs CREATIVE_TAB = new CreativeTabs(MOD_ID) {
@Override
public ItemStack createIcon() {
2018-10-14 17:46:00 +02:00
return new ItemStack(ModItems.EYE);
2018-10-13 20:35:18 +02:00
}
};
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
2018-11-03 23:08:02 +01:00
CapabilityManager.INSTANCE.register(IAuraContainer.class, new StorageImpl<>(), () -> null);
CapabilityManager.INSTANCE.register(IAuraRecharge.class, new StorageImpl<>(), () -> null);
CapabilityManager.INSTANCE.register(AuraChunk.class, new StorageImpl<>(), () -> null);
2018-10-20 21:19:08 +02:00
2018-10-13 23:46:30 +02:00
new ModBlocks();
2018-10-14 17:46:00 +02:00
new ModItems();
2018-10-16 01:36:30 +02:00
2018-10-19 14:35:25 +02:00
Compat.init();
2018-10-14 14:27:18 +02:00
PacketHandler.init();
2018-10-13 20:35:18 +02:00
ModRegistry.preInit(event);
new Multiblocks();
2018-10-16 01:36:30 +02:00
2018-10-16 11:49:30 +02:00
MinecraftForge.TERRAIN_GEN_BUS.register(new TerrainGenEvents());
MinecraftForge.EVENT_BUS.register(new CommonEvents());
2018-10-16 01:36:30 +02:00
2018-10-13 20:35:18 +02:00
proxy.preInit(event);
}
@EventHandler
public void init(FMLInitializationEvent event) {
2018-10-16 01:36:30 +02:00
ModRecipes.init();
2018-10-13 20:35:18 +02:00
ModRegistry.init(event);
2018-11-05 20:42:48 +01:00
OreDict.init();
2018-10-16 01:36:30 +02:00
2018-10-13 20:35:18 +02:00
proxy.init(event);
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
ModRegistry.postInit(event);
proxy.postInit(event);
2018-10-28 16:21:43 +01:00
if (ModConfig.general.removeDragonBreathContainerItem) {
Items.DRAGON_BREATH.setContainerItem(null);
}
2018-10-13 20:35:18 +02:00
}
@EventHandler
public void serverStarting(FMLServerStartingEvent event) {
event.registerServerCommand(new CommandAura());
}
2018-10-13 20:35:18 +02:00
}