Не могу понять в чем проблема?!

252
0
Я создал 9 предметов, и для каждого свой класс, а это:
RenderEntityItem,
EntityItem,
ProxyCommon,
ProxyClient,
Главный класс он у меняMain,
И каждому Item класс.
И итого 30 классов!
-----------
И при запуске, происходит краш! вот лог 
Код:
---- Minecraft Crash Report ----
// Uh... Did I do that?

Time: 02.03.16 20:36
Description: Initializing game

java.lang.NullPointerException: Initializing game
    at cpw.mods.fml.common.registry.EntityRegistry.doModEntityRegistration(EntityRegistry.java:164)
    at cpw.mods.fml.common.registry.EntityRegistry.registerModEntity(EntityRegistry.java:150)
    at ru.ewokmod.Main.<init>(Main.java:50)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:379)
    at cpw.mods.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:173)
    at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:506)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:513)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:208)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)
    at net.minecraft.client.Minecraft.run(Minecraft.java:942)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
    at cpw.mods.fml.common.registry.EntityRegistry.doModEntityRegistration(EntityRegistry.java:164)
    at cpw.mods.fml.common.registry.EntityRegistry.registerModEntity(EntityRegistry.java:150)
    at ru.ewokmod.Main.<init>(Main.java:50)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at java.lang.Class.newInstance(Class.java:379)
    at cpw.mods.fml.common.ILanguageAdapter$JavaAdapter.getNewInstance(ILanguageAdapter.java:173)
    at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:506)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
    at cpw.mods.fml.common.Loader.loadMods(Loader.java:513)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:208)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:522)

-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:942)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)

-- System Details --
Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 7 (amd64) version 6.1
    Java Version: 1.7.0_79, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 606451608 bytes (578 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    UC    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
    UC    FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) 
    UC    Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) 
    UE    ewokmod{0.4.0} [EwokMod] (bin) 
    GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.2.0' Renderer: 'GeForce GTX 650/PCIe/SSE2'
    Launched Version: 1.7.10
    LWJGL: 2.9.1
    OpenGL: GeForce GTX 650/PCIe/SSE2 GL version 4.2.0, NVIDIA Corporation
    GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: [faithful64pack-v1.4.0.zip]
    Current Language: Русский (Россия)
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Anisotropic Filtering: Off (1)

Скажите пожалуйста точно, в чем проблема, где она находиться и как её решить!
[merge_posts_bbcode]Добавлено: 02.03.2016 22:39:28[/merge_posts_bbcode]

В прошлый раз я неправильно составил Render для остальных 8 предметов, я их уже поправил но все равно Crash происходит!
 
NullPointerException at cpw.mods.fml.common.registry.EntityRegistry.doModEntityRegistration(EntityRegistry.java:164)

Покажи кусок метода на этой строке.
 
Смотрим лог:
Код:
 at ru.ewokmod.Main.<init>(Main.java:50)


Класс "Main" по пути ru.ewokmod .
java:50  - 50 строка
 
XuPuPG написал(а):
Смотрим лог:
Код:
 at ru.ewokmod.Main.<init>(Main.java:50)


Класс "Main" по пути ru.ewokmod .
java:50  - 50 строка
И что нам это даст? Ровным счётом ничего. А вот если посмотреть мою строку, то будет точно понятно где null
 
svk написал(а):
XuPuPG написал(а):
Смотрим лог:
Код:
 at ru.ewokmod.Main.<init>(Main.java:50)


Класс "Main" по пути ru.ewokmod .
java:50  - 50 строка
И что нам это даст? Ровным счётом ничего. А вот если посмотреть мою строку, то будет точно понятно где null
Вот Main class
Код:
package ru.ewokmod;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;

@Mod(modid = Main.MODID, name = Main.NAME, version = Main.VERSION)
public class Main {

    public static final String
    MODID = "ewokmod",
    NAME = "EwokMod",
    VERSION = "0.4.0"
    ;

    @Mod.Instance(MODID) public static Main instance;

    @SidedProxy(serverSide= "ru.ewokmod.ProxyCommon" , clientSide= "ru.ewokmod.ProxyClient")
    public static ProxyCommon proxy;

    public static Item ItemBlack_white_Spear;
    public static Item ItemBlue_Spear;
    public static Item ItemBrown_Spear;
    public static Item ItemGrey_Spear;
    public static Item ItemGrey_White_Spear;
    public static Item ItemIron_Spear;
    public static Item ItemMalachite_Spear;
    public static Item ItemPurple_Spear;
    public static Item ItemRed_Crystal_Spear;
    

    @Mod.EventHandler
    public void preInit(cpw.mods.fml.common.event.FMLPreInitializationEvent event) {

        ItemBlack_white_Spear = new ItemBlack_white_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Black_white_Spear").setTextureName(MODID + ":Black_white_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemBlack_white_Spear, "Black_white_Spear");

        EntityRegistry.registerModEntity(EntityItemBlack_white_Spear.class, "EntityItemBlack_white_Spear", 0, instance, 20, 1, true);

        proxy.preInit();

    }
    {
    ItemBlue_Spear = new ItemBlue_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Blue_Spear").setTextureName(MODID + ":Blue_Spear").setCreativeTab(CreativeTabs.tabCombat);
    GameRegistry.registerItem(ItemBlue_Spear, "Blue_Spear");

    EntityRegistry.registerModEntity(EntityItemBlue_Spear.class, "EntityItemBlue_Spear", 0, instance, 20, 1, true);

    proxy.preInit();

    }
    {
        ItemBrown_Spear = new ItemBrown_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Brown_Spear").setTextureName(MODID + ":Brown_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemBrown_Spear, "Brown_Spear");

        EntityRegistry.registerModEntity(EntityItemBrown_Spear.class, "EntityItemBrown_Spear", 0, instance, 20, 1, true);

        proxy.preInit();

    }
    {
        ItemGrey_Spear = new ItemGrey_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Grey_Spear").setTextureName(MODID + ":Grey_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemGrey_Spear, "Grey_Spear");

        EntityRegistry.registerModEntity(EntityItemGrey_Spear.class, "EntityItemGrey_Spear", 0, instance, 20, 1, true);

        proxy.preInit();

    }
    {
        ItemGrey_White_Spear = new ItemGrey_White_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Grey_White_Spear").setTextureName(MODID + ":Grey_White_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemGrey_White_Spear, "Grey_White_Spear");

        EntityRegistry.registerModEntity(EntityItemGrey_White_Spear.class, "EntityItemGrey_White_Spear", 0, instance, 20, 1, true);

        proxy.preInit();

    }
    {
        ItemIron_Spear = new ItemIron_Spear().setDamageVsEntity(7F).setMaxDamage(1024).setUnlocalizedName("Iron_Spear").setTextureName(MODID + ":Iron_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemIron_Spear, "Iron_Spear");

        EntityRegistry.registerModEntity(EntityItemIron_Spear.class, "EntityItemIron_Spear", 0, instance, 20, 1, true);

        proxy.preInit();

    }
    {
        ItemMalachite_Spear = new ItemMalachite_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Malachite_Spear").setTextureName(MODID + ":Malachite_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemMalachite_Spear, "Malachite_Spear");

        EntityRegistry.registerModEntity(EntityItemMalachite_Spear.class, "EntityItemMalachite_Spear", 0, instance, 20, 1, true);

        proxy.preInit();

    }
    {
    ItemPurple_Spear = new ItemPurple_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Purple_Spear").setTextureName(MODID + ":Purple_Spear").setCreativeTab(CreativeTabs.tabCombat);
    GameRegistry.registerItem(ItemPurple_Spear, "Purple_Spear");

    EntityRegistry.registerModEntity(EntityItemPurple_Spear.class, "EntityItemPurple_Spear", 0, instance, 20, 1, true);

    proxy.preInit();

    }
    {
    ItemRed_Crystal_Spear = new ItemRed_Crystal_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Red_Crystal_Spear").setTextureName(MODID + ":Red_Crystal_Spear").setCreativeTab(CreativeTabs.tabCombat);
    GameRegistry.registerItem(ItemRed_Crystal_Spear, "Red_Crystal_Spear");

    EntityRegistry.registerModEntity(EntityItemRed_Crystal_Spear.class, "EntityItemRed_Crystal_Spear", 0, instance, 20, 1, true);

    proxy.preInit();

}
    
}
 
svk написал(а):
А вот если посмотреть мою строку, то будет точно понятно где null
Конечно, null в ванилла-файле. И мы будем исправлять именно его, ведь ошибка именно там, а не на 50й строке класса "ru.ewokmod.Main" -_-
[merge_posts_bbcode]Добавлено: 02.03.2016 18:54:02[/merge_posts_bbcode]

Код:
EntityRegistry.registerModEntity(EntityItemBlue_Spear.class, "EntityItemBlue_Spear", 0, instance, 20, 1, true);

У тебя ID - 0. Смени на, скажем, 157
 
AlexSocol написал(а):
svk написал(а):
А вот если посмотреть мою строку, то будет точно понятно где null
Конечно, null в ванилла-файле. И мы будем исправлять именно его, ведь ошибка именно там, а не на 50й строке класса "ru.ewokmod.Main" -_-
[merge_posts_bbcode]Добавлено: 02.03.2016 18:54:02[/merge_posts_bbcode]

Код:
EntityRegistry.registerModEntity(EntityItemBlue_Spear.class, "EntityItemBlue_Spear", 0, instance, 20, 1, true);

У тебя ID - 0. Смени на, скажем, 157
если я правильно понимаю то для 9 предметов я должен каждому дать любой ID?
 
AlexSocol написал(а):
Это сущность. Для сущностей да, каждому свой ID
А у меня тогда еще такой вопрос после instance идут цифры 20 и 1, что они означают?
Код:
EntityRegistry.registerModEntity(EntityItemBlue_Spear.class, "EntityItemBlue_Spear", 0, instance, 20, 1, true);
 
wilah написал(а):
Ты идиот? Открой и прочитай ссаный комментарий.
Я поменял ID но все так же вылетает!
я думаю  что из за чисел 20 и 1, что они означают?
Код:
EntityRegistry.registerModEntity(EntityItemBlue_Spear.class, "EntityItemBlue_Spear", 0, instance, 20, 1, true);
 
meh -_-
Код:
.registerModEntity(entityClass, entityName, id, mod, trackingRange, updateFrequency, sendsVelocityUpdates)
 
IvanTur написал(а):
wilah написал(а):
Ты идиот? Открой и прочитай ссаный комментарий.
Я поменял ID но все так же вылетает!
я думаю  что из за чисел 20 и 1, что они означают?
Код:
EntityRegistry.registerModEntity(EntityItemBlue_Spear.class, "EntityItemBlue_Spear", 0, instance, 20, 1, true);
Сходи ка ты почитай книжек по java, и не берись ни за что дальше, пока не поймешь что скопипастил и как это работает( вообще посмотри особенности работы с эклипсом! Если навести курсор на метод, то тебе покажет комментарий где написан список всех передаваемых параметров этого метода)
[merge_posts_bbcode]Добавлено: 02.03.2016 21:28:39[/merge_posts_bbcode]
 
Скажем вот весь мой мод!
EntityItemBlack_white_Spear
Код:
package ru.ewokmod;

import java.util.List;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.monster.EntityEnderman;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.play.server.S2BPacketChangeGameState;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
import net.minecraftforge.common.util.Constants.NBT;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class EntityItemBlack_white_Spear extends Entity implements IProjectile {

    private int xTile = -1;
    private int yTile = -1;
    private int zTile = -1;
    private Block idTile;
    private int inData;
    private boolean inGround;
    public int canBePickedUp;
    public int itemShake;
    public Entity shootingEntity;
    private int ticksInGround;
    private int ticksInAir;
    private double damage = 2.0D;
    private int knockbackStrength = 0;
    //private ItemStack item;

    public EntityItemBlack_white_Spear(World world) {
        super(world);
        renderDistanceWeight = 10.0D;
        setSize(0.5F, 0.5F);
    }

    public EntityItemBlack_white_Spear(World world, double x, double y, double z) {
        super(world);
        renderDistanceWeight = 10.0D;
        setSize(0.5F, 0.5F);
        setPosition(x, y, z);
        yOffset = 0.0F;
    }

    public EntityItemBlack_white_Spear(World world, EntityLivingBase entity1, EntityLivingBase entity2, float p_i1755_4_, float p_i1755_5_) {
        super(world);
        renderDistanceWeight = 10.0D;
        shootingEntity = entity1;

        if (entity1 instanceof EntityPlayer) {
            canBePickedUp = 1;
        }

        posY = entity1.posY + (double)entity1.getEyeHeight() - 0.10000000149011612D;
        double d0 = entity2.posX - entity1.posX;
        double d1 = entity2.boundingBox.minY + (double)(entity2.height / 3.0F) - posY;
        double d2 = entity2.posZ - entity1.posZ;
        double d3 = (double)MathHelper.sqrt_double(d0 * d0 + d2 * d2);

        if (d3 >= 1.0E-7D) {
            float f2 = (float)(Math.atan2(d2, d0) * 180.0D / Math.PI) - 90.0F;
            float f3 = (float)(-(Math.atan2(d1, d3) * 180.0D / Math.PI));
            double d4 = d0 / d3;
            double d5 = d2 / d3;
            setLocationAndAngles(entity1.posX + d4, posY, entity1.posZ + d5, f2, f3);
            yOffset = 0.0F;
            float f4 = (float)d3 * 0.2F;
            setThrowableHeading(d0, d1 + (double)f4, d2, p_i1755_4_, p_i1755_5_);
        }
    }

    public EntityItemBlack_white_Spear(World world, EntityLivingBase entity, float p_i1756_3_) {
        super(world);
        renderDistanceWeight = 10.0D;
        shootingEntity = entity;

        if (entity instanceof EntityPlayer) {
            canBePickedUp = 1;
        }

        setSize(0.5F, 0.5F);
        setLocationAndAngles(entity.posX, entity.posY + (double)entity.getEyeHeight(), entity.posZ, entity.rotationYaw, entity.rotationPitch);
        posX -= (double)(MathHelper.cos(rotationYaw / 180.0F * (float)Math.PI) * 0.16F);
        posY -= 0.10000000149011612D;
        posZ -= (double)(MathHelper.sin(rotationYaw / 180.0F * (float)Math.PI) * 0.16F);
        setPosition(posX, posY, posZ);
        yOffset = 0.0F;
        motionX = (double)(-MathHelper.sin(rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float)Math.PI));
        motionZ = (double)(MathHelper.cos(rotationYaw / 180.0F * (float)Math.PI) * MathHelper.cos(rotationPitch / 180.0F * (float)Math.PI));
        motionY = (double)(-MathHelper.sin(rotationPitch / 180.0F * (float)Math.PI));
        setThrowableHeading(motionX, motionY, motionZ, p_i1756_3_ * 1.5F, 1.0F);
    }

    public void entityInit() {
        getDataWatcher().addObject(16, Byte.valueOf((byte)0));
        getDataWatcher().addObjectByDataType(10, 5);
    }

    public void setThrowableHeading(double p_70186_1_, double p_70186_3_, double p_70186_5_, float p_70186_7_, float p_70186_8_) {
        float f2 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_3_ * p_70186_3_ + p_70186_5_ * p_70186_5_);
        p_70186_1_ /= (double)f2;
        p_70186_3_ /= (double)f2;
        p_70186_5_ /= (double)f2;
        p_70186_1_ += rand.nextGaussian() * (double)(rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_;
        p_70186_3_ += rand.nextGaussian() * (double)(rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_;
        p_70186_5_ += rand.nextGaussian() * (double)(rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_;
        p_70186_1_ *= (double)p_70186_7_;
        p_70186_3_ *= (double)p_70186_7_;
        p_70186_5_ *= (double)p_70186_7_;
        motionX = p_70186_1_;
        motionY = p_70186_3_;
        motionZ = p_70186_5_;
        float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_);
        prevRotationYaw = rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI);
        prevRotationPitch = rotationPitch = (float)(Math.atan2(p_70186_3_, (double)f3) * 180.0D / Math.PI);
        ticksInGround = 0;
    }

    @SideOnly(Side.CLIENT)
    public void setPositionAndRotation2(double p_70056_1_, double p_70056_3_, double p_70056_5_, float p_70056_7_, float p_70056_8_, int p_70056_9_) {
        setPosition(p_70056_1_, p_70056_3_, p_70056_5_);
        setRotation(p_70056_7_, p_70056_8_);
    }

    @SideOnly(Side.CLIENT)
    public void setVelocity(double p_70016_1_, double p_70016_3_, double p_70016_5_) {
        motionX = p_70016_1_;
        motionY = p_70016_3_;
        motionZ = p_70016_5_;

        if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F) {
            float f = MathHelper.sqrt_double(p_70016_1_ * p_70016_1_ + p_70016_5_ * p_70016_5_);
            prevRotationYaw = rotationYaw = (float)(Math.atan2(p_70016_1_, p_70016_5_) * 180.0D / Math.PI);
            prevRotationPitch = rotationPitch = (float)(Math.atan2(p_70016_3_, (double)f) * 180.0D / Math.PI);
            prevRotationPitch = rotationPitch;
            prevRotationYaw = rotationYaw;
            setLocationAndAngles(posX, posY, posZ, rotationYaw, rotationPitch);
            ticksInGround = 0;
        }
    }

    public void onUpdate() {
        super.onUpdate();

        if (prevRotationPitch == 0.0F && prevRotationYaw == 0.0F) {
            float f = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ);
            prevRotationYaw = rotationYaw = (float)(Math.atan2(motionX, motionZ) * 180.0D / Math.PI);
            prevRotationPitch = rotationPitch = (float)(Math.atan2(motionY, (double)f) * 180.0D / Math.PI);
        }

        Block block = worldObj.getBlock(xTile, yTile, zTile);

        if (block.getMaterial() != Material.air) {
            block.setBlockBoundsBasedOnState(worldObj, xTile, yTile, zTile);
            AxisAlignedBB axisalignedbb = block.getCollisionBoundingBoxFromPool(worldObj, xTile, yTile, zTile);

            if (axisalignedbb != null && axisalignedbb.isVecInside(Vec3.createVectorHelper(posX, posY, posZ))) {
                inGround = true;
            }
        }

        if (itemShake > 0) {
            --itemShake;
        }

        if (inGround) {
            int j = worldObj.getBlockMetadata(xTile, yTile, zTile);

            if (block == idTile && j == inData) {
                ++ticksInGround;

                if (ticksInGround == 1200) {
                    setDead();
                }
            } else {
                inGround = false;
                motionX *= (double)(rand.nextFloat() * 0.2F);
                motionY *= (double)(rand.nextFloat() * 0.2F);
                motionZ *= (double)(rand.nextFloat() * 0.2F);
                ticksInGround = 0;
                ticksInAir = 0;
            }
        } else {
            ++ticksInAir;
            Vec3 vec31 = Vec3.createVectorHelper(posX, posY, posZ);
            Vec3 vec3 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ);
            MovingObjectPosition movingobjectposition = worldObj.func_147447_a(vec31, vec3, false, true, false);
            vec31 = Vec3.createVectorHelper(posX, posY, posZ);
            vec3 = Vec3.createVectorHelper(posX + motionX, posY + motionY, posZ + motionZ);

            if (movingobjectposition != null) {
                vec3 = Vec3.createVectorHelper(movingobjectposition.hitVec.xCoord, movingobjectposition.hitVec.yCoord, movingobjectposition.hitVec.zCoord);
            }

            Entity entity = null;
            List list = worldObj.getEntitiesWithinAABBExcludingEntity(this, boundingBox.addCoord(motionX, motionY, motionZ).expand(1.0D, 1.0D, 1.0D));
            double d0 = 0.0D;
            int i;
            float f1;

            for (i = 0; i < list.size(); ++i) {
                Entity entity1 = (Entity)list.get(i);

                if (entity1.canBeCollidedWith() && (entity1 != shootingEntity || ticksInAir >= 5)) {
                    f1 = 0.3F;
                    AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand((double)f1, (double)f1, (double)f1);
                    MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vec31, vec3);

                    if (movingobjectposition1 != null) {
                        double d1 = vec31.distanceTo(movingobjectposition1.hitVec);

                        if (d1 < d0 || d0 == 0.0D) {
                            entity = entity1;
                            d0 = d1;
                        }
                    }
                }
            }

            if (entity != null) {
                movingobjectposition = new MovingObjectPosition(entity);
            }

            if (movingobjectposition != null && movingobjectposition.entityHit != null && movingobjectposition.entityHit instanceof EntityPlayer) {
                EntityPlayer entityplayer = (EntityPlayer)movingobjectposition.entityHit;

                if (entityplayer.capabilities.disableDamage || shootingEntity instanceof EntityPlayer && !((EntityPlayer)shootingEntity).canAttackPlayer(entityplayer)) {
                    movingobjectposition = null;
                }
            }

            float f2;
            float f4;

            if (movingobjectposition != null) {
                if (movingobjectposition.entityHit != null) {
                    f2 = MathHelper.sqrt_double(motionX * motionX + motionY * motionY + motionZ * motionZ);
                    int k = MathHelper.ceiling_double_int((double)f2 * damage);

                    if (getIsCritical()) {
                        k += rand.nextInt(k / 2 + 2);
                    }

                    DamageSource damagesource = null;

                    if (shootingEntity == null) {
                        damagesource = DamageSource.causeThrownDamage(this, this);
                    } else {
                        damagesource = DamageSource.causeThrownDamage(this, shootingEntity);
                    }

                    if (isBurning() && !(movingobjectposition.entityHit instanceof EntityEnderman)) {
                        movingobjectposition.entityHit.setFire(5);
                    }

                    if (movingobjectposition.entityHit.attackEntityFrom(damagesource, (float)k)) {
                        if (movingobjectposition.entityHit instanceof EntityLivingBase) {
                            EntityLivingBase entitylivingbase = (EntityLivingBase)movingobjectposition.entityHit;

                            if (!worldObj.isRemote) {
                                //entitylivingbase.setArrowCountInEntity(entitylivingbase.getArrowCountInEntity() + 1);
                            }

                            if (knockbackStrength > 0) {
                                f4 = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ);

                                if (f4 > 0.0F) {
                                    movingobjectposition.entityHit.addVelocity(motionX * (double)knockbackStrength * 0.6000000238418579D / (double)f4, 0.1D, motionZ * (double)knockbackStrength * 0.6000000238418579D / (double)f4);
                                }
                            }

                            if (shootingEntity != null && shootingEntity instanceof EntityLivingBase) {
                                EnchantmentHelper.func_151384_a(entitylivingbase, shootingEntity);
                                EnchantmentHelper.func_151385_b((EntityLivingBase)shootingEntity, entitylivingbase);
                            }

                            if (shootingEntity != null && movingobjectposition.entityHit != shootingEntity && movingobjectposition.entityHit instanceof EntityPlayer && shootingEntity instanceof EntityPlayerMP) {
                                ((EntityPlayerMP)shootingEntity).playerNetServerHandler.sendPacket(new S2BPacketChangeGameState(6, 0.0F));
                            }
                        }

                        playSound("random.bowhit", 1.0F, 1.2F / (rand.nextFloat() * 0.2F + 0.9F));

                        if (!(movingobjectposition.entityHit instanceof EntityEnderman)) {
                            //setDead();
                        }
                    } else {
                        motionX *= -0.10000000149011612D;
                        motionY *= -0.10000000149011612D;
                        motionZ *= -0.10000000149011612D;
                        rotationYaw += 180.0F;
                        prevRotationYaw += 180.0F;
                        ticksInAir = 0;
                    }
                } else {
                    xTile = movingobjectposition.blockX;
                    yTile = movingobjectposition.blockY;
                    zTile = movingobjectposition.blockZ;
                    idTile = worldObj.getBlock(xTile, yTile, zTile);
                    inData = worldObj.getBlockMetadata(xTile, yTile, zTile);
                    motionX = (double)((float)(movingobjectposition.hitVec.xCoord - posX));
                    motionY = (double)((float)(movingobjectposition.hitVec.yCoord - posY));
                    motionZ = (double)((float)(movingobjectposition.hitVec.zCoord - posZ));
                    f2 = MathHelper.sqrt_double(motionX * motionX + motionY * motionY + motionZ * motionZ);
                    posX -= motionX / (double)f2 * 0.05000000074505806D;
                    posY -= motionY / (double)f2 * 0.05000000074505806D;
                    posZ -= motionZ / (double)f2 * 0.05000000074505806D;
                    playSound("random.bowhit", 1.0F, 1.2F / (rand.nextFloat() * 0.2F + 0.9F));
                    inGround = true;
                    itemShake = 7;
                    setIsCritical(false);

                    if (idTile.getMaterial() != Material.air) {
                        idTile.onEntityCollidedWithBlock(worldObj, xTile, yTile, zTile, this);
                    }
                }
            }

            if (getIsCritical()) {
                for (i = 0; i < 4; ++i) {
                    worldObj.spawnParticle("crit", posX + motionX * (double)i / 4.0D, posY + motionY * (double)i / 4.0D, posZ + motionZ * (double)i / 4.0D, -motionX, -motionY + 0.2D, -motionZ);
                }
            }

            posX += motionX;
            posY += motionY;
            posZ += motionZ;
            f2 = MathHelper.sqrt_double(motionX * motionX + motionZ * motionZ);
            rotationYaw = (float)(Math.atan2(motionX, motionZ) * 180.0D / Math.PI);

            for (rotationPitch = (float)(Math.atan2(motionY, (double)f2) * 180.0D / Math.PI); rotationPitch - prevRotationPitch < -180.0F; prevRotationPitch -= 360.0F) {
                ;
            }

            while (rotationPitch - prevRotationPitch >= 180.0F) {
                prevRotationPitch += 360.0F;
            }

            while (rotationYaw - prevRotationYaw < -180.0F) {
                prevRotationYaw -= 360.0F;
            }

            while (rotationYaw - prevRotationYaw >= 180.0F) {
                prevRotationYaw += 360.0F;
            }

            rotationPitch = prevRotationPitch + (rotationPitch - prevRotationPitch) * 0.2F;
            rotationYaw = prevRotationYaw + (rotationYaw - prevRotationYaw) * 0.2F;
            float f3 = 0.99F;
            f1 = 0.05F;

            if (isInWater()) {
                for (int l = 0; l < 4; ++l) {
                    f4 = 0.25F;
                    worldObj.spawnParticle("bubble", posX - motionX * (double)f4, posY - motionY * (double)f4, posZ - motionZ * (double)f4, motionX, motionY, motionZ);
                }

                f3 = 0.8F;
            }

            if (isWet()) {
                extinguish();
            }

            motionX *= (double)f3;
            motionY *= (double)f3;
            motionZ *= (double)f3;
            motionY -= (double)f1;
            setPosition(posX, posY, posZ);
            func_145775_I();
        }
    }

    public void writeEntityToNBT(NBTTagCompound nbt) {

        if (getItemStack() != null)
        {
            nbt.setTag("Item", getItemStack().writeToNBT(new NBTTagCompound()));
        }

        nbt.setShort("xTile", (short)xTile);
        nbt.setShort("yTile", (short)yTile);
        nbt.setShort("zTile", (short)zTile);
        nbt.setShort("life", (short)ticksInGround);
        nbt.setByte("inTile", (byte)Block.getIdFromBlock(idTile));
        nbt.setByte("inData", (byte)inData);
        nbt.setByte("shake", (byte)itemShake);
        nbt.setByte("inGround", (byte)(inGround ? 1 : 0));
        nbt.setByte("pickup", (byte)canBePickedUp);
        nbt.setDouble("damage", damage);
    }

    public void readEntityFromNBT(NBTTagCompound nbt) {

        NBTTagCompound nbttagcompound1 = nbt.getCompoundTag("Item");
        setItemStack(ItemStack.loadItemStackFromNBT(nbttagcompound1));

        ItemStack item = getDataWatcher().getWatchableObjectItemStack(10);

        if (item == null || item.stackSize <= 0)
        {
            setDead();
        }

        xTile = nbt.getShort("xTile");
        yTile = nbt.getShort("yTile");
        zTile = nbt.getShort("zTile");
        ticksInGround = nbt.getShort("life");
        idTile = Block.getBlockById(nbt.getByte("inTile") & 255);
        inData = nbt.getByte("inData") & 255;
        itemShake = nbt.getByte("shake") & 255;
        inGround = nbt.getByte("inGround") == 1;

        if (nbt.hasKey("damage", 99)) {
            damage = nbt.getDouble("damage");
        }

        if (nbt.hasKey("pickup", 99)) {
            canBePickedUp = nbt.getByte("pickup");
        }
        else if (nbt.hasKey("player", 99)) {
            canBePickedUp = nbt.getBoolean("player") ? 1 : 0;
        }
    }

    public void onCollideWithPlayer(EntityPlayer player) {
        if (!worldObj.isRemote && inGround && itemShake <= 0) {

            if (getItemStack() != null && getItemStack().stackSize <= 0) {
                playSound("random.break", 0.8F, 0.8F + worldObj.rand.nextFloat() * 0.4F);
                if (!worldObj.isRemote) setDead();
                return;
            }

            boolean flag = canBePickedUp == 1 || canBePickedUp == 2 && player.capabilities.isCreativeMode;

            if (canBePickedUp == 1 && getItemStack() != null && !player.inventory.addItemStackToInventory(getItemStack())) {
                flag = false;
            }

            if (flag) {
                playSound("random.pop", 0.2F, ((rand.nextFloat() - rand.nextFloat()) * 0.7F + 1.0F) * 2.0F);
                setDead();
            }
        }
    }

    public boolean canTriggerWalking() {
        return false;
    }

    @SideOnly(Side.CLIENT)
    public float getShadowSize() {
        return 0.0F;
    }

    public void setDamage(double damage) {
        this.damage = damage;
    }

    public double getDamage() {
        return damage;
    }

    public void setKnockbackStrength(int strength) {
        knockbackStrength = strength;
    }

    public boolean canAttackWithItem() {
        return false;
    }

    public void setIsCritical(boolean flag) {
        byte b0 = getDataWatcher().getWatchableObjectByte(16);
        if (flag) {
            getDataWatcher().updateObject(16, Byte.valueOf((byte)(b0 | 1)));
        } else {
            getDataWatcher().updateObject(16, Byte.valueOf((byte)(b0 & -2)));
        }
    }

    public boolean getIsCritical() {
        byte b0 = getDataWatcher().getWatchableObjectByte(16);
        return (b0 & 1) != 0;
    }

    public EntityItemBlack_white_Spear setItemStack(ItemStack item) {
        getDataWatcher().updateObject(10, item);
        getDataWatcher().setObjectWatched(10);
        return this;
    }

    public ItemStack getItemStack() {
        ItemStack itemstack = getDataWatcher().getWatchableObjectItemStack(10);
        return itemstack == null ? new ItemStack(Blocks.stone) : itemstack;
    }

}
ItemBlack_white_Spear
Код:
package ru.ewokmod;

import net.minecraft.block.Block;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.EnumAction;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.world.World;

public class ItemBlack_white_Spear extends Item {

    private float damage_vs_entity = 0F;

    public ItemBlack_white_Spear() {
        super();
    }

    public ItemBlack_white_Spear setDamageVsEntity(float damage) {
        damage_vs_entity = damage;
        return this;
    }

    public float getDamageVsEntity() {
        return damage_vs_entity;
    }

    @Override
    public boolean hitEntity(ItemStack is, EntityLivingBase entity1, EntityLivingBase entity2) {
        DamageSource dmgSrc = null;
        if (entity2 instanceof EntityPlayer)
            dmgSrc = DamageSource.causePlayerDamage((EntityPlayer)entity2);
        else
            dmgSrc = DamageSource.causeMobDamage(entity2);
        if (dmgSrc != null) entity1.attackEntityFrom(dmgSrc, getDamageVsEntity());
        is.damageItem(1, entity2);
        return true;
    }

    @Override
    public boolean onBlockDestroyed(ItemStack is, World world, Block block, int x, int y, int z, EntityLivingBase entity) {
        if (block.getBlockHardness(world, x, y, z) != 0.0F) {
            is.damageItem(2, entity);
        }
        return true;
    }

    @Override
    public void onPlayerStoppedUsing(ItemStack is, World world, EntityPlayer player, int tick) {
        int j = this.getMaxItemUseDuration(is) - tick;

        boolean flag = player.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, is) > 0;

        if (flag || player.inventory.hasItem(this)) {
            float f = (float)j / 20.0F;
            f = (f * f + f * 2.0F) / 3.0F;
            if ((double)f < 0.1D) return;
            if (f > 1.0F) f = 1.0F;

            EntityItemBlack_white_Spear entity_spear = new EntityItemBlack_white_Spear(world, player, f * 2.0F);
            entity_spear.setDamage(getDamageVsEntity());

            if (f == 1.0F) {
                entity_spear.setIsCritical(true);
            }

            int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, is);

            if (k > 0) {
                entity_spear.setDamage(entity_spear.getDamage() + (double)k * 0.5D + 0.5D);
            }

            int l = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, is);

            if (l > 0) {
                entity_spear.setKnockbackStrength(l);
            }

            if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, is) > 0) {
                entity_spear.setFire(100);
            }

            if (flag) {
                entity_spear.canBePickedUp = 2;
            } else {
                //player.inventory.consumeInventoryItem(this);
            }

            ItemStack new_item_spear = is.copy();
            new_item_spear.stackSize = 1;
            new_item_spear.damageItem(1, player);
            entity_spear.setItemStack(new_item_spear);

            world.playSoundAtEntity(player, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F);
            if (!world.isRemote) world.spawnEntityInWorld(entity_spear);

            if (!flag) {
                --is.stackSize;
                if (is.stackSize <= 0) {
                    if (player.getCurrentEquippedItem() == is) {
                        player.setCurrentItemOrArmor(0, null);
                    } else is = null;
                }
            }

        }
    }

    @Override
    public ItemStack onEaten(ItemStack is, World world, EntityPlayer player) {
        return is;
    }

    @Override
    public int getMaxItemUseDuration(ItemStack is) {
        return 72000;
    }

    @Override
    public EnumAction getItemUseAction(ItemStack is) {
        return EnumAction.bow;
    }

    @Override
    public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) {
        if (player.capabilities.isCreativeMode || player.inventory.hasItem(this)) {
            player.setItemInUse(is, this.getMaxItemUseDuration(is));
        }
        return is;
    }

    @Override
    public int getItemEnchantability() {
        return 1;
    }

}
Main
Код:
package ru.ewokmod;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;

@Mod(modid = Main.MODID, name = Main.NAME, version = Main.VERSION)
public class Main {

    public static final String
    MODID = "ewokmod",
    NAME = "EwokMod",
    VERSION = "0.4.0"
    ;

    @Mod.Instance(MODID) public static Main instance;

    @SidedProxy(serverSide= "ru.ewokmod.ProxyCommon" , clientSide= "ru.ewokmod.ProxyClient")
    public static ProxyCommon proxy;

    public static Item ItemBlack_white_Spear;
    public static Item ItemBlue_Spear;
    public static Item ItemBrown_Spear;
    public static Item ItemGrey_Spear;
    public static Item ItemGrey_White_Spear;
    public static Item ItemIron_Spear;
    public static Item ItemMalachite_Spear;
    public static Item ItemPurple_Spear;
    public static Item ItemRed_Crystal_Spear;
    

    @Mod.EventHandler
    public void preInit(cpw.mods.fml.common.event.FMLPreInitializationEvent event) {

        ItemBlack_white_Spear = new ItemBlack_white_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Black_white_Spear").setTextureName(MODID + ":Black_white_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemBlack_white_Spear, "Black_white_Spear");

        EntityRegistry.registerModEntity(EntityItemBlack_white_Spear.class, "EntityItemBlack_white_Spear", 140, instance, 20, 1, true);

        proxy.preInit();

    }
    {
    ItemBlue_Spear = new ItemBlue_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Blue_Spear").setTextureName(MODID + ":Blue_Spear").setCreativeTab(CreativeTabs.tabCombat);
    GameRegistry.registerItem(ItemBlue_Spear, "Blue_Spear");

    EntityRegistry.registerModEntity(EntityItemBlue_Spear.class, "EntityItemBlue_Spear", 141, instance, 20, 1, true);

    proxy.preInit();

    }
    {
        ItemBrown_Spear = new ItemBrown_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Brown_Spear").setTextureName(MODID + ":Brown_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemBrown_Spear, "Brown_Spear");

        EntityRegistry.registerModEntity(EntityItemBrown_Spear.class, "EntityItemBrown_Spear", 142, instance, 20, 1, true);

        proxy.preInit();

    }
    {
        ItemGrey_Spear = new ItemGrey_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Grey_Spear").setTextureName(MODID + ":Grey_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemGrey_Spear, "Grey_Spear");

        EntityRegistry.registerModEntity(EntityItemGrey_Spear.class, "EntityItemGrey_Spear", 143, instance, 20, 1, true);

        proxy.preInit();

    }
    {
        ItemGrey_White_Spear = new ItemGrey_White_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Grey_White_Spear").setTextureName(MODID + ":Grey_White_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemGrey_White_Spear, "Grey_White_Spear");

        EntityRegistry.registerModEntity(EntityItemGrey_White_Spear.class, "EntityItemGrey_White_Spear", 144, instance, 20, 1, true);

        proxy.preInit();

    }
    {
        ItemIron_Spear = new ItemIron_Spear().setDamageVsEntity(7F).setMaxDamage(1024).setUnlocalizedName("Iron_Spear").setTextureName(MODID + ":Iron_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemIron_Spear, "Iron_Spear");

        EntityRegistry.registerModEntity(EntityItemIron_Spear.class, "EntityItemIron_Spear", 145, instance, 20, 1, true);

        proxy.preInit();

    }
    {
        ItemMalachite_Spear = new ItemMalachite_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Malachite_Spear").setTextureName(MODID + ":Malachite_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemMalachite_Spear, "Malachite_Spear");

        EntityRegistry.registerModEntity(EntityItemMalachite_Spear.class, "EntityItemMalachite_Spear", 146, instance, 20, 1, true);

        proxy.preInit();

    }
    {
    ItemPurple_Spear = new ItemPurple_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Purple_Spear").setTextureName(MODID + ":Purple_Spear").setCreativeTab(CreativeTabs.tabCombat);
    GameRegistry.registerItem(ItemPurple_Spear, "Purple_Spear");

    EntityRegistry.registerModEntity(EntityItemPurple_Spear.class, "EntityItemPurple_Spear", 147, instance, 20, 1, true);

    proxy.preInit();

    }
    {
    ItemRed_Crystal_Spear = new ItemRed_Crystal_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Red_Crystal_Spear").setTextureName(MODID + ":Red_Crystal_Spear").setCreativeTab(CreativeTabs.tabCombat);
    GameRegistry.registerItem(ItemRed_Crystal_Spear, "Red_Crystal_Spear");

    EntityRegistry.registerModEntity(EntityItemRed_Crystal_Spear.class, "EntityItemRed_Crystal_Spear", 148, instance, 20, 1, true);

    proxy.preInit();

}
    
}
ProxyClient
Код:
package ru.ewokmod;

import cpw.mods.fml.client.registry.RenderingRegistry;

public class ProxyClient extends ProxyCommon {

    public void preInit() {
        super.preInit();

        RenderingRegistry.registerEntityRenderingHandler(EntityItemBlack_white_Spear.class, new RenderEntityItemBlack_white_Spear());
        RenderingRegistry.registerEntityRenderingHandler(EntityItemBlue_Spear.class, new RenderEntityItemBlue_Spear());
        RenderingRegistry.registerEntityRenderingHandler(EntityItemBrown_Spear.class, new RenderEntityItemBrown_Spear());
        RenderingRegistry.registerEntityRenderingHandler(EntityItemGrey_Spear.class, new RenderEntityItemGrey_Spear());
        RenderingRegistry.registerEntityRenderingHandler(EntityItemGrey_White_Spear.class, new RenderEntityItemGrey_White_Spear());
        RenderingRegistry.registerEntityRenderingHandler(EntityItemIron_Spear.class, new RenderEntityItemIron_Spear());
        RenderingRegistry.registerEntityRenderingHandler(EntityItemMalachite_Spear.class, new RenderEntityItemMalachite_Spear());
        RenderingRegistry.registerEntityRenderingHandler(EntityItemPurple_Spear.class, new RenderEntityItemPurple_Spear());
        RenderingRegistry.registerEntityRenderingHandler(EntityItemRed_Crystal_Spear.class, new RenderEntityItemRed_Crystal_Spear());
        
    }
}

ProxyCommon
Код:
package ru.ewokmod;

public class ProxyCommon {

    public void preInit() {
        
    }

}
RenderEntityItemBlack_white_Spear

Код:
package ru.ewokmod;

import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;

import org.lwjgl.opengl.GL11;

public class RenderEntityItemBlack_white_Spear extends Render {

    @Override
    public void doRender(Entity entity, double x, double y, double z, float yaw, float partialTickTime) {
        render((EntityItemBlack_white_Spear)entity, x, y, z, yaw, partialTickTime);
    }

    @Override
    public ResourceLocation getEntityTexture(Entity entity) {
        return null;
    }

    private void render(EntityItemBlack_white_Spear entity, double x, double y, double z, float yaw, float partialTickTime) {
        GL11.glPushMatrix();
        GL11.glTranslatef((float)x, (float)y, (float)z);
        GL11.glRotatef(entity.prevRotationYaw + (entity.rotationYaw - entity.prevRotationYaw) * partialTickTime - 90.0F, 0.0F, 1.0F, 0.0F);
        GL11.glRotatef(entity.prevRotationPitch + (entity.rotationPitch - entity.prevRotationPitch) * partialTickTime, 0.0F, 0.0F, 1.0F);
        GL11.glRotatef(-45F, 0.0F, 0.0F, 1.0F);

        ItemStack itemstack = entity.getItemStack();
        if (itemstack != null) {
            EntityItem entityitem = new EntityItem(entity.worldObj, 0.0D, 0.0D, 0.0D, itemstack);
            entityitem.hoverStart = 0.0F;
            RenderManager.instance.renderEntityWithPosYaw(entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
        }

        GL11.glPopMatrix();
    }

}

Вот, в чем ошибочка?!
[merge_posts_bbcode]Добавлено: 02.03.2016 23:55:53[/merge_posts_bbcode]

ElectroDans написал(а):
IvanTur написал(а):
wilah написал(а):
Ты идиот? Открой и прочитай ссаный комментарий.
Я поменял ID но все так же вылетает!
я думаю  что из за чисел 20 и 1, что они означают?
Код:
EntityRegistry.registerModEntity(EntityItemBlue_Spear.class, "EntityItemBlue_Spear", 0, instance, 20, 1, true);
Сходи ка ты почитай книжек по java, и не берись ни за что дальше, пока не поймешь что скопипастил и как это работает( вообще посмотри особенности работы с эклипсом! Если навести курсор на метод, то тебе покажет комментарий где написан список всех передаваемых параметров этого метода)
[merge_posts_bbcode]Добавлено: 02.03.2016 21:28:39[/merge_posts_bbcode]
Ну как говорться Начал-доканчивай)
 
Твой файл "Main" заслуживает награды "Лучший в мире код на Java (на самом деле нет)"
Я могу смириться с тем, что ты по неопытности более 7-8 раз вызываешь метод proxy.preInit(), создавая куча ненужных объектов.

Но, черт, открыть метод preInit, написать в нем 3 строки, потом закрыть, а после писать код вне метода, который будет вызываться при инициализации класса. Конечно, блин, ничего работать не будет.

Во первых, следующий свободный айди для Ентити можно доставать вот так:

Код:
int entityId = EntityRegistry.findGlobalUniqueEntityId();

А вот вторых. Так должен выглядеть твой "работающий" код. 

Код:
@Mod.EventHandler
    public void preInit(cpw.mods.fml.common.event.FMLPreInitializationEvent event) {

        ItemBlack_white_Spear = new ItemBlack_white_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Black_white_Spear").setTextureName(MODID + ":Black_white_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemBlack_white_Spear, "Black_white_Spear");

        EntityRegistry.registerModEntity(EntityItemBlack_white_Spear.class, "EntityItemBlack_white_Spear", 140, instance, 20, 1, true);

    ItemBlue_Spear = new ItemBlue_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Blue_Spear").setTextureName(MODID + ":Blue_Spear").setCreativeTab(CreativeTabs.tabCombat);
    GameRegistry.registerItem(ItemBlue_Spear, "Blue_Spear");

    EntityRegistry.registerModEntity(EntityItemBlue_Spear.class, "EntityItemBlue_Spear", 141, instance, 20, 1, true);

        ItemBrown_Spear = new ItemBrown_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Brown_Spear").setTextureName(MODID + ":Brown_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemBrown_Spear, "Brown_Spear");

        EntityRegistry.registerModEntity(EntityItemBrown_Spear.class, "EntityItemBrown_Spear", 142, instance, 20, 1, true);

        ItemGrey_Spear = new ItemGrey_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Grey_Spear").setTextureName(MODID + ":Grey_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemGrey_Spear, "Grey_Spear");

        EntityRegistry.registerModEntity(EntityItemGrey_Spear.class, "EntityItemGrey_Spear", 143, instance, 20, 1, true);

        ItemGrey_White_Spear = new ItemGrey_White_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Grey_White_Spear").setTextureName(MODID + ":Grey_White_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemGrey_White_Spear, "Grey_White_Spear");

        EntityRegistry.registerModEntity(EntityItemGrey_White_Spear.class, "EntityItemGrey_White_Spear", 144, instance, 20, 1, true);

        ItemIron_Spear = new ItemIron_Spear().setDamageVsEntity(7F).setMaxDamage(1024).setUnlocalizedName("Iron_Spear").setTextureName(MODID + ":Iron_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemIron_Spear, "Iron_Spear");

        EntityRegistry.registerModEntity(EntityItemIron_Spear.class, "EntityItemIron_Spear", 145, instance, 20, 1, true);

        ItemMalachite_Spear = new ItemMalachite_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Malachite_Spear").setTextureName(MODID + ":Malachite_Spear").setCreativeTab(CreativeTabs.tabCombat);
        GameRegistry.registerItem(ItemMalachite_Spear, "Malachite_Spear");

        EntityRegistry.registerModEntity(EntityItemMalachite_Spear.class, "EntityItemMalachite_Spear", 146, instance, 20, 1, true);

    ItemPurple_Spear = new ItemPurple_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Purple_Spear").setTextureName(MODID + ":Purple_Spear").setCreativeTab(CreativeTabs.tabCombat);
    GameRegistry.registerItem(ItemPurple_Spear, "Purple_Spear");

    EntityRegistry.registerModEntity(EntityItemPurple_Spear.class, "EntityItemPurple_Spear", 147, instance, 20, 1, true);


    ItemRed_Crystal_Spear = new ItemRed_Crystal_Spear().setDamageVsEntity(10F).setMaxDamage(1024).setUnlocalizedName("Red_Crystal_Spear").setTextureName(MODID + ":Red_Crystal_Spear").setCreativeTab(CreativeTabs.tabCombat);
    GameRegistry.registerItem(ItemRed_Crystal_Spear, "Red_Crystal_Spear");

    EntityRegistry.registerModEntity(EntityItemRed_Crystal_Spear.class, "EntityItemRed_Crystal_Spear", 148, instance, 20, 1, true);

    proxy.preInit();
}
 
За тебя не будут перепахивать over строк кода, что-бы пофиксить твою проблему.
Я тебе уже сказал что сделать, жду...
 
Дамы и господа, Я вас всех благодарю! 
Спасибо что отозвались на крик о помощи!
Я сделал вывод что мне все таки надо прочитать про java, а то влез туда куда вообще ничего не знал)
И такой вопрос на последок: Откуда вы столько много знаете, что где прописать, куда написать и т.д?
Знания, книги или сайт какой нибудь в чем секрет, как вы сами учились и узнали про java?
 
IvanTur написал(а):
Дамы и господа, Я вас всех благодарю! 
Спасибо что отозвались на крик о помощи!
Я сделал вывод что мне все таки надо прочитать про java, а то влез туда куда вообще ничего не знал)
И такой вопрос на последок: Откуда вы столько много знаете, что где прописать, куда написать и т.д?
Знания, книги или сайт какой нибудь в чем секрет, как вы сами учились и узнали про java?
В сети куча книжек по java и программированию в целом)) множество переведено на русский. Если что можешь попробовать фундаментальный учебник Герберта Шилдта java любое руководство- но это только теория. Спроси у других может кто-то из своего опыта поделится учебником получше и с практикой.Не кидайтесь тапками))
 
Назад
Сверху