generated from tilera/1710mod
114 lines
6.5 KiB
Java
114 lines
6.5 KiB
Java
package dev.tilera.auracore;
|
|
|
|
import cpw.mods.fml.common.FMLCommonHandler;
|
|
import cpw.mods.fml.common.Mod;
|
|
import cpw.mods.fml.common.SidedProxy;
|
|
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
|
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
|
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
|
import cpw.mods.fml.common.event.FMLServerAboutToStartEvent;
|
|
import cpw.mods.fml.common.event.FMLServerStoppedEvent;
|
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
|
import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
|
|
import cpw.mods.fml.common.registry.GameRegistry;
|
|
import cpw.mods.fml.relauncher.Side;
|
|
import dev.tilera.auracore.api.Aspects;
|
|
import dev.tilera.auracore.aura.AuraCalculationThread;
|
|
import dev.tilera.auracore.aura.AuraDeleteThread;
|
|
import dev.tilera.auracore.aura.AuraManager;
|
|
import dev.tilera.auracore.aura.AuraUpdateThread;
|
|
import dev.tilera.auracore.aura.AuraWorldTicker;
|
|
import dev.tilera.auracore.client.GUITicker;
|
|
import dev.tilera.auracore.client.RenderEventHandler;
|
|
import dev.tilera.auracore.network.AuraDeletePacket;
|
|
import dev.tilera.auracore.network.AuraDeletePacketHandler;
|
|
import dev.tilera.auracore.network.AuraPacket;
|
|
import dev.tilera.auracore.network.AuraPacketHandler;
|
|
import dev.tilera.auracore.network.AuraTransferFXPacket;
|
|
import dev.tilera.auracore.network.AuraTransferFXPacketHandler;
|
|
import dev.tilera.auracore.network.NodeZapPacket;
|
|
import dev.tilera.auracore.network.NodeZapPacketHandler;
|
|
import dev.tilera.auracore.proxy.CommonProxy;
|
|
import dev.tilera.auracore.world.WorldGenerator;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraftforge.common.MinecraftForge;
|
|
import thaumcraft.api.ThaumcraftApi;
|
|
import thaumcraft.api.aspects.Aspect;
|
|
import thaumcraft.api.aspects.AspectList;
|
|
import thaumcraft.common.config.ConfigBlocks;
|
|
import thaumcraft.common.config.ConfigItems;
|
|
|
|
@Mod(modid = "auracore", name = "AuraCore", version = "{VERSION}", dependencies = "required-after:Thaumcraft;after:MagicBees")
|
|
public class AuraCore {
|
|
|
|
public static SimpleNetworkWrapper CHANNEL;
|
|
@Mod.Instance("auracore")
|
|
public static AuraCore INSTANCE;
|
|
@SidedProxy(modId = "auracore", clientSide = "dev.tilera.auracore.proxy.ClientProxy", serverSide = "dev.tilera.auracore.proxy.CommonProxy")
|
|
public static CommonProxy proxy;
|
|
|
|
@Mod.EventHandler
|
|
public void preInit(FMLPreInitializationEvent e) {
|
|
Config.load();
|
|
Aspects.load();
|
|
CHANNEL = NetworkRegistry.INSTANCE.newSimpleChannel("auracore");
|
|
int pktID = 0;
|
|
AuraCore.CHANNEL.registerMessage(AuraPacketHandler.class, AuraPacket.class, pktID++, Side.CLIENT);
|
|
AuraCore.CHANNEL.registerMessage(AuraDeletePacketHandler.class, AuraDeletePacket.class, pktID++, Side.CLIENT);
|
|
AuraCore.CHANNEL.registerMessage(AuraTransferFXPacketHandler.class, AuraTransferFXPacket.class, pktID++, Side.CLIENT);
|
|
AuraCore.CHANNEL.registerMessage(NodeZapPacketHandler.class, NodeZapPacket.class, pktID++, Side.CLIENT);
|
|
proxy.preInit();
|
|
MinecraftForge.EVENT_BUS.register(new EventHandler());
|
|
MinecraftForge.EVENT_BUS.register(new RenderEventHandler());
|
|
FMLCommonHandler.instance().bus().register(new AuraWorldTicker());
|
|
FMLCommonHandler.instance().bus().register(new GUITicker());
|
|
Thread auraCalcThread = new Thread(new AuraCalculationThread());
|
|
auraCalcThread.setName("TC Aura Calculation Thread");
|
|
auraCalcThread.start();
|
|
Thread auraDelThread = new Thread(new AuraDeleteThread());
|
|
auraDelThread.setName("TC Aura Deletion Thread");
|
|
auraDelThread.start();
|
|
Thread auraUpdateThread = new Thread(new AuraUpdateThread());
|
|
auraUpdateThread.setName("TC Aura Update Thread");
|
|
auraUpdateThread.start();
|
|
GameRegistry.registerWorldGenerator(new WorldGenerator(), 100);
|
|
}
|
|
|
|
@Mod.EventHandler
|
|
public void init(FMLInitializationEvent ev) {
|
|
ConfigBlocks.blockCrystal.setTickRandomly(true);
|
|
Recipes.initRecipes();
|
|
NetworkRegistry.INSTANCE.registerGuiHandler(this, proxy);
|
|
thaumcraft.common.config.Config.genStructure = false;
|
|
thaumcraft.common.config.Config.genAura = false;
|
|
}
|
|
|
|
@Mod.EventHandler
|
|
public void postInit(FMLPostInitializationEvent e) {
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigItems.itemShard, 1, 0), new AspectList().add(Aspect.MAGIC, 2).add(Aspect.AIR, 2).add(Aspect.CRYSTAL, 2).add(Aspect.MOTION, 2));
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigItems.itemShard, 1, 1), new AspectList().add(Aspect.MAGIC, 2).add(Aspect.FIRE, 2).add(Aspect.CRYSTAL, 2).add(Aspect.ENERGY, 2));
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigItems.itemShard, 1, 2), new AspectList().add(Aspect.MAGIC, 2).add(Aspect.WATER, 2).add(Aspect.CRYSTAL, 2).add(Aspect.COLD, 2));
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigItems.itemShard, 1, 3), new AspectList().add(Aspect.MAGIC, 2).add(Aspect.EARTH, 2).add(Aspect.CRYSTAL, 2).add(Aspects.ROCK, 2));
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigItems.itemShard, 1, 4), new AspectList().add(Aspect.MAGIC, 2).add(Aspect.ORDER, 2).add(Aspect.CRYSTAL, 2).add(Aspects.CONTROL, 2));
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigItems.itemShard, 1, 5), new AspectList().add(Aspect.MAGIC, 2).add(Aspect.ENTROPY, 2).add(Aspect.CRYSTAL, 2).add(Aspects.DESTRUCTION, 2));
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigItems.itemShard, 1, 7), new AspectList().add(Aspect.MAGIC, 6).add(Aspect.CRYSTAL, 2));
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigItems.itemShard, 1, 8), new AspectList().add(Aspect.MAGIC, 2).add(Aspect.CRYSTAL, 2));
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigItems.itemShard, 1, 9), new AspectList().add(Aspect.MAGIC, 2).add(Aspect.TAINT, 2).add(Aspect.CRYSTAL, 2).add(Aspects.FLUX, 2));
|
|
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigBlocks.blockCustomOre, 1, 8), new AspectList().add(Aspect.EARTH, 1).add(Aspect.MAGIC, 3).add(Aspect.CRYSTAL, 2));
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigBlocks.blockCustomOre, 1, 9), new AspectList().add(Aspect.EARTH, 1).add(Aspect.CRYSTAL, 2));
|
|
ThaumcraftApi.registerObjectTag(new ItemStack(ConfigBlocks.blockCustomOre, 1, 10), new AspectList().add(Aspect.EARTH, 1).add(Aspect.TAINT, 3).add(Aspect.CRYSTAL, 2));
|
|
}
|
|
|
|
@Mod.EventHandler
|
|
public void onServerLoad(FMLServerAboutToStartEvent event) {
|
|
AuraManager.invalidate();
|
|
}
|
|
|
|
@Mod.EventHandler
|
|
public void onServerStop(FMLServerStoppedEvent event) {
|
|
AuraManager.invalidate();
|
|
}
|
|
|
|
}
|