// Path: java/tb/core/TBCore.java
// @Mod(modid = modid, version = version, name = name,dependencies=dependencies)
// public class TBCore {
// 	
// 	public static final String modid = "thaumicbases";
// 	public static final String version = "2.1.189.32";
// 	public static final String name = "Thaumic Bases";
// 	public static final String serverProxy = "tb.network.proxy.TBServer";
// 	public static final String clientProxy = "tb.network.proxy.TBClient";
// 	public static final String dependencies = "required-after:Thaumcraft@[5.1.6,);required-after:Baubles@[1.1.1.0,);required-after:DummyCore@[2.2.189.0,);";
// 
// 	@SidedProxy(serverSide = serverProxy,clientSide = clientProxy)
// 	public static TBServer proxy;
// 	public static SimpleNetworkWrapper network;
// 	
// 	public static TBCore instance;
// 	public static final TBConfig cfg = new TBConfig();
// 	
// 	@EventHandler
// 	public void preInit(FMLPreInitializationEvent event)
// 	{
// 		instance = this;
// 		Core.registerModAbsolute(getClass(), name, event.getModConfigurationDirectory().getAbsolutePath(), cfg);
// 		setupModInfo(event.getModMetadata());
// 		TBBlocks.setup();
// 		TBItems.setup();
// 		TBEnchant.setup();
// 		TBTiles.setup();
// 		FMLInterModComms.sendMessage("Waila", "register", "tb.utils.WAILACompat.callbackRegister");	
// 	}
// 	
// 	@EventHandler
// 	public void init(FMLInitializationEvent event)
// 	{
// 		MinecraftForge.EVENT_BUS.register(new EnchantmentHandler());
// 		MinecraftForge.EVENT_BUS.register(new TBEventHandler());
// 		//FMLCommonHandler.instance().bus().register(new TBEventHandler());
// 		NetworkRegistry.INSTANCE.registerGuiHandler(instance, proxy);
// 		
// 		EntityRegistry.registerModEntity(EntityAspectOrb.class, "tb.old.tc.aspectOrb", 0, this, 32, 1, true);
// 		EntityRegistry.registerModEntity(EntityRevolverBullet.class, "tb.bullet", 1, this, 32, 1, true);
// 		
// 		//TBFociUpgrades.init();
// 		proxy.registerRenderInformation();
// 		RevolverUpgrade.initConflictingMappings();
// 		
// 		network = NetworkRegistry.INSTANCE.newSimpleChannel("thaumbases");
// 		network.registerMessage(TBNetworkManager.class, PacketTB.class, 0, Side.SERVER);
// 		network.registerMessage(TBNetworkManager.class, PacketTB.class, 0, Side.CLIENT);
// 		
// 	}
// 	
// 	@EventHandler
// 	public void postInit(FMLPostInitializationEvent event)
// 	{
// 		TBRecipes.setup();
// 		TBThaumonomicon.setup();
// 		CraftingManager.getInstance().addRecipe(new RecipesFragmentAdditions());
// 	}
// 	
// 	public void setupModInfo(ModMetadata meta)
// 	{
// 		meta.autogenerated = false;
// 		meta.modId = modid;
// 		meta.name = name;
// 		meta.version = version;
// 		meta.description = "A huge addon to an amazing mod named Thaumcraft by Azanor";
// 		ArrayList<String> authors = new ArrayList<String>();
// 		authors.add("Modbder");
// 		meta.authorList = authors;
// 	}
// }


import java.util.ArrayList;
import java.util.List;
import DummyCore.Client.IRotationProvider;
import DummyCore.Client.Icon;
import DummyCore.Client.IconRegister;
import DummyCore.Client.RenderAccessLibrary;
import DummyCore.Utils.BlockStateMetadata;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import tb.core.TBCore;
import thaumcraft.api.crafting.IInfusionStabiliser;
	@Override
	public int getDCRenderID() {
		return RenderAccessLibrary.RENDER_ID_ANVIL;
	}

	@Override
	public EnumFacing getRotation(IBlockAccess world, int x, int y, int z, IBlockState state) {
		return BlockStateMetadata.getBlockMetadata(world, x, y, z) < 3 ? EnumFacing.NORTH : EnumFacing.WEST;
	}
	
    public IBlockState getStateFromMeta(int meta)
    {
    	return this.getDefaultState().withProperty(BlockStateMetadata.METADATA, meta);
    }
    
    public int getMetaFromState(IBlockState state)
    {
    	return BlockStateMetadata.getMetaFromState(state);
    }
    
    protected BlockState createBlockState()
    {
    	return new BlockState(this,BlockStateMetadata.METADATA);
    }
    
    public boolean onBlockActivated(World w, BlockPos pos, IBlockState state, EntityPlayer p, EnumFacing side, float hitX, float hitY, float hitZ)
    {
    	if(w.isRemote)
    		return true;
    	
// Path: java/tb/core/TBCore.java
// @Mod(modid = modid, version = version, name = name,dependencies=dependencies)
// public class TBCore {
// 	
// 	public static final String modid = "thaumicbases";
// 	public static final String version = "2.1.189.32";
// 	public static final String name = "Thaumic Bases";
// 	public static final String serverProxy = "tb.network.proxy.TBServer";
// 	public static final String clientProxy = "tb.network.proxy.TBClient";
// 	public static final String dependencies = "required-after:Thaumcraft@[5.1.6,);required-after:Baubles@[1.1.1.0,);required-after:DummyCore@[2.2.189.0,);";
// 
// 	@SidedProxy(serverSide = serverProxy,clientSide = clientProxy)
// 	public static TBServer proxy;
// 	public static SimpleNetworkWrapper network;
// 	
// 	public static TBCore instance;
// 	public static final TBConfig cfg = new TBConfig();
// 	
// 	@EventHandler
// 	public void preInit(FMLPreInitializationEvent event)
// 	{
// 		instance = this;
// 		Core.registerModAbsolute(getClass(), name, event.getModConfigurationDirectory().getAbsolutePath(), cfg);
// 		setupModInfo(event.getModMetadata());
// 		TBBlocks.setup();
// 		TBItems.setup();
// 		TBEnchant.setup();
// 		TBTiles.setup();
// 		FMLInterModComms.sendMessage("Waila", "register", "tb.utils.WAILACompat.callbackRegister");	
// 	}
// 	
// 	@EventHandler
// 	public void init(FMLInitializationEvent event)
// 	{
// 		MinecraftForge.EVENT_BUS.register(new EnchantmentHandler());
// 		MinecraftForge.EVENT_BUS.register(new TBEventHandler());
// 		//FMLCommonHandler.instance().bus().register(new TBEventHandler());
// 		NetworkRegistry.INSTANCE.registerGuiHandler(instance, proxy);
// 		
// 		EntityRegistry.registerModEntity(EntityAspectOrb.class, "tb.old.tc.aspectOrb", 0, this, 32, 1, true);
// 		EntityRegistry.registerModEntity(EntityRevolverBullet.class, "tb.bullet", 1, this, 32, 1, true);
// 		
// 		//TBFociUpgrades.init();
// 		proxy.registerRenderInformation();
// 		RevolverUpgrade.initConflictingMappings();
// 		
// 		network = NetworkRegistry.INSTANCE.newSimpleChannel("thaumbases");
// 		network.registerMessage(TBNetworkManager.class, PacketTB.class, 0, Side.SERVER);
// 		network.registerMessage(TBNetworkManager.class, PacketTB.class, 0, Side.CLIENT);
// 		
// 	}
// 	
// 	@EventHandler
// 	public void postInit(FMLPostInitializationEvent event)
// 	{
// 		TBRecipes.setup();
// 		TBThaumonomicon.setup();
// 		CraftingManager.getInstance().addRecipe(new RecipesFragmentAdditions());
// 	}
// 	
// 	public void setupModInfo(ModMetadata meta)
// 	{
// 		meta.autogenerated = false;
// 		meta.modId = modid;
// 		meta.name = name;
// 		meta.version = version;
// 		meta.description = "A huge addon to an amazing mod named Thaumcraft by Azanor";
// 		ArrayList<String> authors = new ArrayList<String>();
// 		authors.add("Modbder");
// 		meta.authorList = authors;
// 	}
// }


// Path: java/tb/common/block/BlockThaumicAnvil.java
import java.util.ArrayList;
import java.util.List;
import DummyCore.Client.IRotationProvider;
import DummyCore.Client.Icon;
import DummyCore.Client.IconRegister;
import DummyCore.Client.RenderAccessLibrary;
import DummyCore.Utils.BlockStateMetadata;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import tb.core.TBCore;
import thaumcraft.api.crafting.IInfusionStabiliser;

	@Override
	public int getDCRenderID() {
		return RenderAccessLibrary.RENDER_ID_ANVIL;
	}

	@Override
	public EnumFacing getRotation(IBlockAccess world, int x, int y, int z, IBlockState state) {
		return BlockStateMetadata.getBlockMetadata(world, x, y, z) < 3 ? EnumFacing.NORTH : EnumFacing.WEST;
	}
	
    public IBlockState getStateFromMeta(int meta)
    {
    	return this.getDefaultState().withProperty(BlockStateMetadata.METADATA, meta);
    }
    
    public int getMetaFromState(IBlockState state)
    {
    	return BlockStateMetadata.getMetaFromState(state);
    }
    
    protected BlockState createBlockState()
    {
    	return new BlockState(this,BlockStateMetadata.METADATA);
    }
    
    public boolean onBlockActivated(World w, BlockPos pos, IBlockState state, EntityPlayer p, EnumFacing side, float hitX, float hitY, float hitZ)
    {
    	if(w.isRemote)
    		return true;
    	
    	p.openGui(TBCore.instance, 0x421921, w, pos.getX(),pos.getY(),pos.getZ());