package assets.talecraft.src;
import cpw.mods.fml.common.Mod;
import net.minecraft.block.Block;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.EventBus;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
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.FMLServerStartingEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
@Mod(modid=ModInfo.MODID, name=ModInfo.NAME, version=ModInfo.VERSION)
@NetworkMod(clientSideRequired = true, serverSideRequired = true, versionBounds = "Alpha 0.0.3")
public class TaleCraft implements TaleCraftImpl{
public static final CreativeTabs TCCreativeTabI = new TCCreativeTabI(CreativeTabs.getNextID(),"");
public static final CreativeTabs TCCreativeTabII = new TCCreativeTabII(CreativeTabs.getNextID(),"");
//Blocks
public static final Block tcStone = new TCStone(2000).setUnlocalizedName("tcStone");
public static final Block tcStoneOre = new TCStoneOre(2001).setUnlocalizedName("tcStoneOre");
public static final Block tcCrystalOre = new TCCrystalOre(2002).setUnlocalizedName("tcCrystalOre");
public static final Block tcMagicalTNTstone = new TCMagicalTNTstone(2003).setUnlocalizedName("tcMagicalTNTstone");
//Blocks [END]
//Items
public static Item tcStonePiece = new TCStonePiece(3000).setUnlocalizedName("tcStonePiece");
public static Item tcWoodPlate = new TCWoodPlate(3001).setUnlocalizedName("tcWoodPlate");
public static Item tcStonePlate = new TCStonePlate(3002).setUnlocalizedName("tcStonePlate");
public static Item tcSaw = new TCSaw(3003).setUnlocalizedName("tcSaw");
public static Item tcCrystal = new TCCrystal(3004).setUnlocalizedName("tcCrystal");
public static Item tcSpellBlank = new TCSpellBlank(3005).setUnlocalizedName("tcSpellBlank");
//Items [END]
@Mod.Instance(ModInfo.MODID)
public static TaleCraft mod;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
System.out.println("[TaleCraft]: Активация мода TaleCraft. Здесь Вы увидите все стадии активации и другие параметры модификации, которые выводятся в консоль. Информация выводится специально для разработчиков и для отладки модификации.");
System.out.println("[TaleCraft]: Начало инициализации...");
System.out.println("[TaleCraft] [DEV]: public void init(FMLPreInitializationEvent event)");
MinecraftForge.EVENT_BUS.register(new EventBus());
}
@EventHandler
public void init(FMLInitializationEvent event)
{
System.out.println("[TaleCraft]: public void init(FMLInitializationEvent event)");
//Blocks
GameRegistry.registerBlock(tcStone);
LanguageRegistry.addName(tcStone, "Магический камень");
GameRegistry.registerBlock(tcStoneOre);
LanguageRegistry.addName(tcStoneOre, "Магическая руда");
GameRegistry.registerBlock(tcCrystalOre);
LanguageRegistry.addName(tcCrystalOre, "Магический кристалл (руда)");
GameRegistry.registerBlock(tcMagicalTNTstone);
LanguageRegistry.addName(tcMagicalTNTstone, "Магический динамит");
//Blocks [END]
//Items
LanguageRegistry.addName(tcStonePiece, "Кусочек магического камня");
LanguageRegistry.addName(tcWoodPlate, "Деревянная пластина");
LanguageRegistry.addName(tcStonePlate, "Магическая пластина");
LanguageRegistry.addName(tcSaw, "Магическая пила");
LanguageRegistry.addName(tcCrystal, "Магический кристалл");
LanguageRegistry.addName(tcSpellBlank, "Чистый пергамент");
//Items [END]
//Craft recipes
GameRegistry.addRecipe (new ItemStack(TaleCraft.tcStone, 18), new Object[]{
"XXX",
"XXX",
"XXX",
Character.valueOf('X'), TaleCraft.tcStonePiece});
GameRegistry.addRecipe (new ItemStack(TaleCraft.tcSaw, 1), new Object[]{
"ZZY",
"XXY",
Character.valueOf('X'), TaleCraft.tcStonePiece, Character.valueOf('Y'), Item.stick});
GameRegistry.addRecipe (new ItemStack(TaleCraft.tcSaw, 1), new Object[]{
"XXY",
"ZZY",
Character.valueOf('X'), TaleCraft.tcStonePiece, Character.valueOf('Y'), Item.stick});
GameRegistry.addRecipe (new ItemStack(TaleCraft.tcSaw, 1), new Object[]{
"YZZ",
"YXX",
Character.valueOf('X'), TaleCraft.tcStonePiece, Character.valueOf('Y'), Item.stick});
GameRegistry.addRecipe (new ItemStack(TaleCraft.tcSaw, 1), new Object[]{
"YXX",
"YZZ",
Character.valueOf('X'), TaleCraft.tcStonePiece, Character.valueOf('Y'), Item.stick});
GameRegistry.addRecipe (new ItemStack(TaleCraft.tcMagicalTNTstone, 1), new Object[]{
"UUU",
"YXY",
"ZZZ",
Character.valueOf('Z'), TaleCraft.tcStonePiece, Character.valueOf('X'), Block.tnt, Character.valueOf('Y'), TaleCraft.tcCrystal, Character.valueOf('U'), Item.redstone});
GameRegistry.addRecipe (new ItemStack(TaleCraft.tcCrystalOre, 1), new Object[]{
"XXX",
"UYU",
"UUU",
Character.valueOf('U'), TaleCraft.tcStonePiece, Character.valueOf('Y'), Block.oreDiamond, Character.valueOf('X'), Item.redstone});
GameRegistry.addShapelessRecipe(new ItemStack(TaleCraft.tcStonePlate, 16), new Object[] {TaleCraft.tcStonePiece, TaleCraft.tcSaw});
GameRegistry.addShapelessRecipe(new ItemStack(TaleCraft.tcWoodPlate, 16), new Object[] {Block.wood, TaleCraft.tcSaw});
GameRegistry.addShapelessRecipe(new ItemStack(TaleCraft.tcCrystal, 3), new Object[] {TaleCraft.tcCrystalOre});
GameRegistry.addShapelessRecipe(new ItemStack(TaleCraft.tcSpellBlank, 3), new Object[] {Item.leather});
//Craft recipes [END]
//Smelting
GameRegistry.addSmelting(TaleCraft.tcStoneOre.blockID, new ItemStack(TaleCraft.tcStonePiece, 3), 0.1F);
//Smelting [END]
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
System.out.println("[TaleCraft] [DEV]: public void init(FMLPostInitializationEvent event)");
System.out.println("[TaleCraft]: Инициализация завершена (если используется клиент)");
}
/** Сервер **/
@EventHandler
public void serverStarting(FMLServerStartingEvent event)
{
System.out.println("[TaleCraft] [DEV]: public void serverStarting(FMLServerStartingEvent event)");
System.out.println("[TaleCraft]: Инициализация завершена (если используется сервер)");
MinecraftServer.getServer().logInfo("На этом сервере установлена модификация TaleCraft"); // Сообщение в сервере с приставкой [INFO]
MinecraftServer.getServer().setDifficultyForAllWorlds(3); // Установка сложности
}
}