- 13
- 0
Все сделал но при запуске minecraft crash( Вот код:
Код:
Main Class:
package assets.mechanicalthings.src;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.EnumArmorMaterial;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.EnumHelper;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
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.network.NetworkRegistry;
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)
public class MechanicalThings {
@Mod.Instance(ModInfo.MODID)
public static MechanicalThings mod;
/** Dimension ID **/
/** Fishing Rod **/
/** Furnace **/
private GuiHandlerFurnace guiHandlerFurnace = new GuiHandlerFurnace();
public static Block grinder;
public static Block grinderActive;
public static int grinderID;
public static int grinderActiveID;
/** Table **/
/** Blocks **/
public static final Block uranOre = new UranOre(3001).setUnlocalizedName("UranOre");
/** Items **/
public static Item uran = new Uran(3002).setUnlocalizedName("Uran");
/** Biome's **/
/** Materials **/
public static EnumToolMaterial toolMaterialUranium;
public static EnumArmorMaterial armorMaterialUranium;
/** Mobs **/
/** Tools **/
public static Item itemSwordUranium;
/** Armor **/
public static Item itemArmorUraniumH;
public static Item itemArmorUraniumC;
public static Item itemArmorUraniumL;
public static Item itemArmorUraniumB;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
Configuration config = new Configuration(event.getSuggestedConfigurationFile());
config.load();
grinderID = config.getBlock("grinder ID", 3070, (String)null).getInt();
grinderActiveID = config.getBlock("grinderActive ID", 3071, (String)null).getInt();
config.save();
}
@EventHandler
public void init(FMLInitializationEvent event)
{
/** Armor **/
itemArmorUraniumH = new ItemUraniumArmor(7012, armorMaterialUranium, 0, 0, "Uranium").setUnlocalizedName("UraniumH");
itemArmorUraniumC = new ItemUraniumArmor(7012, armorMaterialUranium, 0, 1, "Uranium").setUnlocalizedName("UraniumC");
itemArmorUraniumL = new ItemUraniumArmor(7012, armorMaterialUranium, 0, 2, "Uranium").setUnlocalizedName("UraniumL");
itemArmorUraniumB = new ItemUraniumArmor(7012, armorMaterialUranium, 0, 3, "Uranium").setUnlocalizedName("UraniumB");
/** Furnace **/
grinder = new BlockGrinder(grinderID, false).setHardness(3.5F).setResistance(2000.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("grinder").setCreativeTab(CreativeTabs.tabBlock);
grinderActive = new BlockGrinder(grinderActiveID, true).setHardness(3.5F).setResistance(2000.0F).setStepSound(Block.soundMetalFootstep).setUnlocalizedName("grinder").setCreativeTab(CreativeTabs.tabBlock);
GameRegistry.registerBlock(grinder, "grinder");
GameRegistry.registerBlock(grinderActive, "grinderActive");
LanguageRegistry.addName(grinder, "Grinder");
GameRegistry.registerTileEntity(TileEntityGrinder.class, "tileEntityGrinder");
RenderingRegistry.registerBlockHandler(2105, RenderGrinder.INSTANCE);
NetworkRegistry.instance().registerGuiHandler(this, guiHandlerFurnace);
/** Mobs **/
/** Table **/
/** Fishing Rod **/
/** Materials **/
toolMaterialUranium = EnumHelper.addToolMaterial("UraniumToolMaterial", 4, 825, 9.0F, 3.5F, 15);
armorMaterialUranium = EnumHelper.addArmorMaterial("UraniumArmorMaterial", 15, new int[]{3, 6, 5, 2}, 10);
/** Tools **/
itemSwordUranium = new ItemSwordUranium(3000, toolMaterialUranium).setUnlocalizedName("uraniumSword");
/** Furnace Recipes **/
/** Register Blocks **/
GameRegistry.registerBlock(uranOre);
GameRegistry.registerWorldGenerator(new UranOreGenerator());
MinecraftForge.setBlockHarvestLevel(uranOre, "pickaxe", 2);
/** Register Items **/
LanguageRegistry.addName(itemArmorUraniumH, "Uranium Helmet");
LanguageRegistry.addName(itemArmorUraniumC, "Uranium Chestplate");
LanguageRegistry.addName(itemArmorUraniumL, "Uranium Leggings");
LanguageRegistry.addName(itemArmorUraniumB, "Uranium Boots");
LanguageRegistry.addName(uran, "Uran");
/** Add In-Game Names **/
LanguageRegistry.addName(itemSwordUranium, "Uranium Sword");
LanguageRegistry.addName(uranOre, "UranOre");
/** Registry Biome's **/
}
@EventHandler
public void postInit(FMLPostInitializationEvent event)
{
}
@EventHandler
public void serverStarting(FMLServerStartingEvent event)
{
}
}
Код:
Armor Class:
package assets.mechanicalthings.src;
import net.minecraft.client.renderer.texture.IconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.item.EnumArmorMaterial;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
public class ItemUraniumArmor extends ItemArmor {
public String texturePath = ModInfo.MODID + ":" + "textures/model/armor/";
public ItemUraniumArmor(int par1, EnumArmorMaterial armorMaterial, int par3, int par4, String type) {
super(par1, armorMaterial, par3, par4);
this.setMaxStackSize(1);
this.setCreativeTab(CreativeTabs.tabCombat);
this.setTextureName(type, par4);
}
private void setTextureName(String type, int armorPart){
if(armorType == 0 || armorType == 1 || armorType == 3){
this.texturePath += type + "_layer_1";
}else{
this.texturePath += type + "_layer_2";
}
}
@SideOnly(Side.CLIENT)
public void registerIcons(IconRegister register){
this.itemIcon = register.registerIcon(ModInfo.MODID + ":" + this.getUnlocalizedName().substring(this.getUnlocalizedName().indexOf(".")+1));
}
public String getArmorTexture(ItemStack itemstack, Entity entity, int slot, int layer){
return this.texturePath;
}
}