I know it's a bad modding practice to register blocks inside a static block, but when I tried to do it properly textures didn't work. Besides, it wasn't me who wrote this code.
package com.echo.darksouls;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.oredict.ShapedOreRecipe;
import com.echo.darksouls.blocks.BlockBonfire;
import com.echo.darksouls.blocks.BlockBrickPillar;
import com.echo.darksouls.blocks.BlockDecayedBrickPillar;
import com.echo.darksouls.blocks.BlockDecayedCarbedStoneBrick;
import com.echo.darksouls.blocks.BlockDecayedCrackedStoneBrick;
import com.echo.darksouls.blocks.BlockDecayedMossyStoneBrick;
import com.echo.darksouls.blocks.BlockDecayedStoneBrick;
import com.echo.darksouls.blocks.BlockDecayedVines;
import com.echo.darksouls.blocks.BlockForge;
import com.echo.darksouls.blocks.BlockTitaniteOre;
import com.echo.darksouls.creativetab.DarkSoulsTab;
import com.echo.darksouls.creativetabs.placeholder.DarkSoulsTabPlaceHolder;
import com.echo.darksouls.gui.GuiHandler;
import com.echo.darksouls.gui.GuiManaBar;
import com.echo.darksouls.item.ItemBlockBonfire;
import com.echo.darksouls.item.ItemBrokenSword;
import com.echo.darksouls.item.ItemEskusSword;
import com.echo.darksouls.item.ItemTitaniteShard;
import com.echo.darksouls.proxy.CommonProxy;
import com.echo.darksouls.tileentity.TileEntityBonfire;
import com.echo.darksouls.tileentity.TileEntityForge;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
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.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
@Mod(modid = DarkSouls.MODID, version = DarkSouls.VERSION)
public class DarkSouls {
public static final String MODID = "The Official Dark Souls Mod";
public static final String VERSION = "Alpha 0.1";
@Instance(MODID)
public static DarkSouls instance;
@SidedProxy(clientSide = "com.echo.darksouls.proxy.ClientProxy", serverSide = "com.echo.darksouls.proxy.CommonProxy")
public static CommonProxy proxy;
@EventHandler
public void preInit(FMLPreInitializationEvent event) {
}
@EventHandler
public void load(FMLInitializationEvent event) {
proxy.initRenderes();
proxy.initSounds();
new GuiHandler();
MinecraftForge.EVENT_BUS.register(new TutEventHandler());
FMLCommonHandler.instance().bus().register(new TutEventHandler());
}
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
if (FMLCommonHandler.instance().getEffectiveSide().isClient())
MinecraftForge.EVENT_BUS.register(new GuiManaBar(Minecraft
.getMinecraft()));
}
//Register commands
@EventHandler
public void serverLoad(FMLServerStartingEvent event){
//Register model update command
event.registerServerCommand(new CommandUpdate());
}
// creative Tabs
public static CreativeTabs DarkSoulsTab = new DarkSoulsTab(
CreativeTabs.getNextID(), "DarkSoulsTab");
public static Item DarkSoulsTabPlaceHolder = new DarkSoulsTabPlaceHolder(
5501).setUnlocalizedName("DarkSoulsTabPlaceHolder").setTextureName(
"DarkSouls:DarkSoulsTabPlaceHolder");
// tool Materials
public static ToolMaterial Broken = EnumHelper.addToolMaterial("Broken", 5,
478, 2F, 1F, 35);
public static ToolMaterial Eskus = EnumHelper.addToolMaterial("Eskus", 5,
1272, 3F, 3F, 25);
// items and Blocks
public static Item BrokenSword = new ItemBrokenSword(5500, Broken)
.setUnlocalizedName("BrokenSword").setTextureName(
"DarkSouls:BrokenSword");
public static Block TitaniteOre = new BlockTitaniteOre(5502, Material.rock)
.setHardness(4F).setStepSound(Block.soundTypeStone)
.setBlockName("TitaniteOre")
.setBlockTextureName("DarkSouls:TitaniteOre");
public static Item EskusSword = new ItemEskusSword(5503, Eskus)
.setUnlocalizedName("EskusSword").setTextureName(
"DarkSouls:EskusSword");
public static Block Forge = new BlockForge(5504, Material.anvil)
.setHardness(8F).setStepSound(Block.soundTypeAnvil)
.setBlockName("Forge").setBlockTextureName("DarkSouls:Forge");
public static Item TitaniteShard = new ItemTitaniteShard(5505)
.setUnlocalizedName("TitaniteShard").setTextureName(
"DarkSouls:TitaniteShard");
public static Block BrickPillar = new BlockBrickPillar(5506, Material.rock)
.setHardness(5F).setStepSound(Block.soundTypeStone)
.setBlockName("BrickPillar")
.setBlockTextureName("DarkSouls:BrickPillar");
public static Block DecayedVines = new BlockDecayedVines(5507,
Material.vine).setHardness(1F).setStepSound(Block.soundTypeGrass)
.setBlockName("DecayedVines")
.setBlockTextureName("DarkSouls:DecayedVines");
public static Block DecayedStoneBrick = new BlockDecayedStoneBrick(5508,
Material.iron).setHardness(8F).setStepSound(Block.soundTypeStone)
.setBlockName("DecayedStoneBrick")
.setBlockTextureName("DarkSouls:DecayedStoneBrick");
public static Block DecayedCrackedStoneBrick = new BlockDecayedCrackedStoneBrick(
5509, Material.iron).setHardness(6F)
.setStepSound(Block.soundTypeStone)
.setBlockName("DecayedCrackedStoneBrick")
.setBlockTextureName("DarkSouls:DecayedCrackedStoneBrick");
public static Block DecayedMossyStoneBrick = new BlockDecayedMossyStoneBrick(
5510, Material.iron).setHardness(8.5F)
.setStepSound(Block.soundTypeStone)
.setBlockName("DecayedMossyStoneBrick")
.setBlockTextureName("DarkSouls:DecayedMossyStoneBrick");
public static Block DecayedCarvedStoneBrick = new BlockDecayedCarbedStoneBrick(
5511, Material.iron).setHardness(8F)
.setStepSound(Block.soundTypeStone)
.setBlockName("DecayedCarvedStoneBrick")
.setBlockTextureName("DarkSouls:DecayedCarvedStoneBrick");
public static Block DecayedBrickPillar = new BlockDecayedBrickPillar(5512,
Material.iron).setHardness(8F).setStepSound(Block.soundTypeStone)
.setBlockName("DecayedBrickPillar")
.setBlockTextureName("DarkSouls:DecayedBrickPillar");
public static Block Bonfire = new BlockBonfire(
Material.iron).setBlockUnbreakable().setStepSound(Block.soundTypeStone)
.setBlockName("Bonfire");
{
GameRegistry.registerBlock(DecayedBrickPillar, "Decayed Brick Pillar");
GameRegistry.registerBlock(DecayedVines, "Decayed Vines");
GameRegistry.registerItem(EskusSword, "Eskus Sword");
GameRegistry.registerBlock(TitaniteOre, "Titanite Ore");
GameRegistry.registerItem(BrokenSword, "Broken Sword");
GameRegistry.registerItem(DarkSoulsTabPlaceHolder,
"DarkSoulsTabPlaceHolder");
GameRegistry.registerBlock(Forge, "Forge");
GameRegistry.registerTileEntity(TileEntityForge.class, "forgeTE");
GameRegistry.registerItem(TitaniteShard, "Titanite Shard");
GameRegistry.registerBlock(BrickPillar, "Brick Pillar");
GameRegistry.registerBlock(DecayedStoneBrick, "Decayed Stone Brick");
GameRegistry.registerBlock(DecayedCarvedStoneBrick,
"Decayed Carved Stone Brick");
GameRegistry.registerBlock(DecayedMossyStoneBrick,
"Decayed Mossy Stone Brick");
GameRegistry.registerBlock(DecayedCrackedStoneBrick,
"Decayed Cracked Stone Brick");
GameRegistry.registerBlock(Bonfire, ItemBlockBonfire.class, "Bonfire");
GameRegistry.registerTileEntity(TileEntityBonfire.class, "bonfireTE");
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(DarkSouls.Forge), new Object[] {
"WAW", "ILI", "OOO", 'A', Blocks.anvil, 'O', Blocks.obsidian,
'L', Items.lava_bucket, 'I', Blocks.iron_block, 'W',
"logWood" // Blocks.log
}));
LanguageRegistry.addName(DecayedBrickPillar, "Decayed Brick Pillar");
LanguageRegistry.addName(DecayedVines, "Decayed Vines");
LanguageRegistry.addName(EskusSword, "Eskus Sword");
LanguageRegistry.addName(TitaniteOre, "Titanite Ore");
LanguageRegistry.addName(BrokenSword, "Broken Sword");
LanguageRegistry.addName(DarkSoulsTabPlaceHolder,
"DarkSoulsTabPlaceHolder");
LanguageRegistry.addName(Forge, "Forge");
LanguageRegistry.addName(TitaniteShard, "Titanite Shard");
LanguageRegistry.addName(BrickPillar, "Brick Pillar");
LanguageRegistry.addName(DecayedStoneBrick, "Decayed Stone Brick");
LanguageRegistry.addName(DecayedCarvedStoneBrick,
"Decayed Carved Stone Brick");
LanguageRegistry.addName(DecayedMossyStoneBrick,
"Decayed Mossy Stone Brick");
LanguageRegistry.addName(DecayedCrackedStoneBrick,
"Decayed Cracked Stone Brick");
LanguageRegistry.addName(Bonfire, "Bonfire");
}
}