Проблема, ентити не спавнится на сервере

Есть проблема я создал лук и своё энтити стрелы, собственно спавню его, проверив мир, но при запуске на сервере стрелы даже не появляется,в синглплеере всё спавнится!
Код лука:
Код:
package ru.lightway.items;

import java.util.ArrayList;
import java.util.List;

import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentHelper;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBow;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.ArrowLooseEvent;
import net.minecraftforge.event.entity.player.ArrowNockEvent;
import ru.lightway.entity.EntityLightwayArrow;
import ru.lightway.mod.Modinfo;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class ItemModBow extends ItemBow {

    public static List<Item> bowList = new ArrayList<Item>();
    public static final int                DEFAULT_MAX_USE_DURATION = 72000;
    @SideOnly(Side.CLIENT)
    protected IIcon[]                      IIconArray;
    protected String                       name;
    protected String                       textureName;
    protected final String[]               texture;
    protected int                          damageMin;
    protected int                           damageMax;
    protected int                          maxUseDuration;
    protected boolean                      unbreakable;
    protected Item                         arrow;
    protected boolean                      needArrow = true;
    protected String arrowTex;
    private String sound = "random.bow";
    private boolean vethean = false;

    public ItemModBow(String name, int uses, int damageMin, int damageMax, Item arrow) {
        this(name, uses, damageMin, damageMax, DEFAULT_MAX_USE_DURATION, arrow);
    }
    
    public ItemModBow(String name, int uses, int damageMin, int damageMax, String arrowTex) {
        this(name, uses, damageMin, damageMax, DEFAULT_MAX_USE_DURATION, null);
        this.arrowTex = arrowTex;
    }
    
    public ItemModBow(String name, int uses, int damageMin, int damageMax, Item arrow, String arrowTex) {
        this(name, uses, damageMin, damageMax, DEFAULT_MAX_USE_DURATION, arrow);
        this.arrowTex = arrowTex;
    }
    
    public ItemModBow(String name, int uses, int damageMin, int damageMax, int maxUseDuraction) {
        this(name, uses, damageMin, damageMax, maxUseDuraction, null);
    }
    
    public ItemModBow(String name, int uses, int damageMin, int damageMax, int maxUseDuraction, Item arrow, String arrowTex) {
        this(name, uses, damageMin, damageMax, maxUseDuraction, arrow);
        this.arrowTex = arrowTex;
    }

    public ItemModBow(String name, int uses, int damageMin, int damageMax, int maxUseDuraction, Item arrow) {
        
        this.name = name;
        this.textureName = Modinfo.MODID+":" + name;
        if (arrow == null) needArrow = false;
        else this.arrow = arrow;
        this.damageMin = damageMin;
        this.damageMax = damageMax;
        this.maxUseDuration = maxUseDuraction;
        unbreakable = true;
        this.maxStackSize = 1;
        this.setCreativeTab(CreativeTabs.tabCombat);
        this.texture = new String[] { textureName + "_standby", textureName + "_0", textureName + "_1", textureName + "_2" };
        setUnlocalizedName(name);
        GameRegistry.registerItem(this, name);
        
        bowList.add(this);
    }

    @Override
    @SideOnly(Side.CLIENT)
    public void registerIcons(IIconRegister icon) {
        itemIcon = icon.registerIcon(texture[0]);
        IIconArray = new IIcon[texture.length];
        for(int i = 0; i < texture.length; i++)
            IIconArray[i] = icon.registerIcon(texture[i]);
    }

    @Override
    @SideOnly(Side.CLIENT)
    public IIcon getItemIconForUseDuration(int icon) {
        return IIconArray[icon];
    }

    @Override
    public IIcon getIcon(ItemStack stack, int renderPass, EntityPlayer player, ItemStack usingItem, int useRemaining) {
        if (player.getItemInUse() == null) return itemIcon;
        int pulling = stack.getMaxItemUseDuration() - useRemaining;
        if (pulling >= 18/(DEFAULT_MAX_USE_DURATION/this.getMaxItemUseDuration(stack))) return IIconArray[3];
        if (pulling > 13/(DEFAULT_MAX_USE_DURATION/this.getMaxItemUseDuration(stack))) return IIconArray[2];
        if (pulling > 0) return IIconArray[1];
        return IIconArray[0];
    }

    @Override
    public void onPlayerStoppedUsing(ItemStack stack, World world, EntityPlayer player, int itemUseCount) {
        int maxItemUse = getMaxItemUseDuration(stack) - itemUseCount;
        ArrowLooseEvent event = new ArrowLooseEvent(player, stack, maxItemUse);
        MinecraftForge.EVENT_BUS.post(event);
        stack.damageItem(3, player);
        if (event.isCanceled()) return;
        maxItemUse = event.charge;
        boolean infiniteAmmo = !needArrow || player.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0;
        if (infiniteAmmo || player.inventory.hasItem(arrow)) {
            float timeRatio = DEFAULT_MAX_USE_DURATION/this.getMaxItemUseDuration(stack);
            float scaledItemUse = ((float) maxItemUse / 20.0F)*timeRatio;
            scaledItemUse = (scaledItemUse * scaledItemUse + scaledItemUse * 2) / 3;
            if ((double) scaledItemUse < 0.1) return;
            if (scaledItemUse > 1) scaledItemUse = 1;
            EntityLightwayArrow entityarrow;
            if(this.arrow != null && this.arrowTex == null) entityarrow = new EntityLightwayArrow(world, player, scaledItemUse*2, damageMin, damageMax, arrow.getUnlocalizedName().replace("item.", ""));
            else entityarrow = new EntityLightwayArrow(world, player, scaledItemUse*2, damageMin, damageMax, this.arrowTex);
            entityarrow.setAmmoItem(arrow);
            if (scaledItemUse == 1) entityarrow.setIsCritical(true);
            int powerLevel = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, stack);
            if (powerLevel > 0) entityarrow.setDamage(entityarrow.getDamage() + (double) powerLevel * 0.5 + 0.5);
            int punchLevel = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, stack);
            if (punchLevel > 0) entityarrow.setKnockbackStrength(punchLevel);
            if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, stack) > 0) entityarrow.setFire(100);
            if (!unbreakable) stack.damageItem(1, player);
            world.playSoundAtEntity(player, this.sound, 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + scaledItemUse * 0.5F);
            if (infiniteAmmo) entityarrow.canBePickedUp = 2;
            else player.inventory.consumeInventoryItem(arrow);
            if (!world.isRemote) world.spawnEntityInWorld(entityarrow);
        }
    }

    @Override
    public int getMaxItemUseDuration(ItemStack stack) {
        return maxUseDuration;
    }

   
    //@SideOnly(Side.SERVER)
@Override
    public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) {
       
        ArrowNockEvent nockEvent = new ArrowNockEvent(player, stack);
        MinecraftForge.EVENT_BUS.post(nockEvent);
        if (nockEvent.isCanceled()) return nockEvent.result;
        boolean infiniteAmmo = !needArrow || player.capabilities.isCreativeMode || (EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0 && player.inventory.hasItem(arrow));
        if (infiniteAmmo || player.inventory.hasItem(arrow))
            player.setItemInUse(stack, this.getMaxItemUseDuration(stack));
        return stack;
    }
    
public ItemModBow setSound(String newSound) {
        this.sound = newSound;
        return this;
    }
    

}
[merge_posts_bbcode]Добавлено: 21.11.2015 17:38:26[/merge_posts_bbcode]

Вот код энтити:
Код:
package ru.lightway.entity;

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.entity.projectile.EntityArrow;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.play.server.S2BPacketChangeGameState;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
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 cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class EntityLightwayArrow extends EntityArrow implements IProjectile
{
    protected int xTile = -1;
    protected int yTile = -1;
    protected int zTile = -1;
    protected Block inTile;
    protected int inData;
    protected boolean inGround;
    public int canBePickedUp;
    public int arrowShake;
    public Entity shootingEntity;
    protected int ticksInGround;
    protected int ticksInAir;
    public double damageMin;
    public double damageMax;
    protected int knockbackStrength;
    public Item ammoItem;
    
    public EntityLightwayArrow(World w) {
        super(w);
        this.renderDistanceWeight = 10.0D;
        this.setSize(0.5F, 0.5F);
    }

    public EntityLightwayArrow(World w, double x, double y, double z) {
        super(w);
        this.renderDistanceWeight = 10.0D;
        this.setSize(0.5F, 0.5F);
        this.setPosition(x, y, z);
        this.yOffset = 0.0F;
    }

    public EntityLightwayArrow(World w, EntityLivingBase shooter, EntityLivingBase target, float p_i1755_4_, float p_i1755_5_, float damage, String texture) {
        super(w);
        this.renderDistanceWeight = 10.0D;
        this.shootingEntity = shooter;
        this.damageMax = this.damageMin = damage;
        this.dataWatcher.updateObject(17, texture);

        if (shooter instanceof EntityPlayer)
        {
            this.canBePickedUp = 1;
        }

        this.posY = shooter.posY + (double)shooter.getEyeHeight() - 0.10000000149011612D;
        double d0 = target.posX - shooter.posX;
        double d1 = target.boundingBox.minY + (double)(target.height / 3.0F) - this.posY;
        double d2 = target.posZ - shooter.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;
            this.setLocationAndAngles(shooter.posX + d4, this.posY, shooter.posZ + d5, f2, f3);
            this.yOffset = 0.0F;
            float f4 = (float)d3 * 0.2F;
            this.setThrowableHeading(d0, d1 + (double)f4 -1, d2, p_i1755_4_, p_i1755_5_);
        }
    }

    public EntityLightwayArrow(World w, EntityLivingBase shooter, float p_i1756_3_, float damageMin, float damageMax, String texturename) {
        super(w);
        this.renderDistanceWeight = 10.0D;
        this.shootingEntity = shooter;
        this.damageMin = damageMin;
        this.damageMax = damageMax;
        this.dataWatcher.updateObject(17, texturename);

        if (shooter instanceof EntityPlayer)
        {
            this.canBePickedUp = 1;
        }

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

    @Override
    protected void entityInit()
    {
        this.dataWatcher.addObject(16, Byte.valueOf((byte)0));
        this.dataWatcher.addObject(17, "");
    }

    @Override
    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_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_;
        p_70186_3_ += this.rand.nextGaussian() * (double)(this.rand.nextBoolean() ? -1 : 1) * 0.007499999832361937D * (double)p_70186_8_;
        p_70186_5_ += this.rand.nextGaussian() * (double)(this.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_;
        this.motionX = p_70186_1_;
        this.motionY = p_70186_3_;
        this.motionZ = p_70186_5_;
        float f3 = MathHelper.sqrt_double(p_70186_1_ * p_70186_1_ + p_70186_5_ * p_70186_5_);
        this.prevRotationYaw = this.rotationYaw = (float)(Math.atan2(p_70186_1_, p_70186_5_) * 180.0D / Math.PI);
        this.prevRotationPitch = this.rotationPitch = (float)(Math.atan2(p_70186_3_, (double)f3) * 180.0D / Math.PI);
        this.ticksInGround = 0;
    }

    @Override
    @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_)
    {
        this.setPosition(p_70056_1_, p_70056_3_, p_70056_5_);
        this.setRotation(p_70056_7_, p_70056_8_);
    }

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

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

    @Override
    public void onUpdate()
    {
        super.onEntityUpdate();

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

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

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

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

        if (this.arrowShake > 0)
        {
            --this.arrowShake;
        }

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

            if (block == this.inTile && j == this.inData)
            {
                ++this.ticksInGround;

                if (this.ticksInGround == 1200)
                {
                    this.setDead();
                }
            }
            else
            {
                this.inGround = false;
                this.motionX *= (double)(this.rand.nextFloat() * 0.2F);
                this.motionY *= (double)(this.rand.nextFloat() * 0.2F);
                this.motionZ *= (double)(this.rand.nextFloat() * 0.2F);
                this.ticksInGround = 0;
                this.ticksInAir = 0;
            }
        }
        else
        {
            ++this.ticksInAir;
            Vec3 vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
            Vec3 vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
            MovingObjectPosition position = this.worldObj.rayTraceBlocks(vec31, vec3, false);
            vec31 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
            vec3 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
            
            if (position != null)
            {
                vec3 = Vec3.createVectorHelper(position.hitVec.xCoord, position.hitVec.yCoord, position.hitVec.zCoord);
            }

            Entity entity = null;
            List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.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 != this.shootingEntity || this.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) position = new MovingObjectPosition(entity);

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

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

            float f2;
            float f4;

            if (position != null)
            {
                if (position.entityHit != null)
                {
                    f2 = MathHelper.sqrt_double(4*(this.motionX * this.motionX + this.motionY * this.motionY + this.motionZ * this.motionZ));
                    int k = MathHelper.ceiling_double_int(f2 * (this.damageMin));
                    if(k>this.damageMax) k = MathHelper.ceiling_double_int(this.damageMax);

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

                    DamageSource damagesource = null;

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

                    if (position.entityHit.attackEntityFrom(damagesource, (float)k))
                    {
                        if(this.getTextureName() == "hunterArrow" && position.entityHit instanceof EntityLivingBase){
                            ((EntityLivingBase)position.entityHit).addPotionEffect(new PotionEffect(Potion.poison.id, 40, 2));
                        }

                        if (this.isBurning() && !(position.entityHit instanceof EntityEnderman)) position.entityHit.setFire(5);
                        if(this.getTextureName() == "infernoArrow") position.entityHit.setFire(12);
                        
                        if(this.getTextureName() == "bluefireArrow" || this.getTextureName() == "snowstormArrow") this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 3.0F, false);
                        if (position.entityHit instanceof EntityLivingBase)
                        {
                            EntityLivingBase entitylivingbase = (EntityLivingBase)position.entityHit;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                f3 = 0.8F;
            }

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

            this.motionX *= (double)f3;
            this.motionY *= (double)f3;
            this.motionZ *= (double)f3;
            this.motionY -= (double)f1;
            this.setPosition(this.posX, this.posY, this.posZ);
            this.doBlockCollisions();
            
            if((this.worldObj.getBlock((int)Math.round(this.posX), (int)Math.floor(this.posY)-1, (int)Math.round(this.posZ)) != Blocks.air || this.worldObj.getBlock((int)Math.round(this.posX), (int)Math.floor(this.posY), (int)Math.round(this.posZ)) != Blocks.air || this.worldObj.getBlock((int)Math.round(this.posX)+1, (int)Math.floor(this.posY), (int)Math.round(this.posZ)) != Blocks.air || this.worldObj.getBlock((int)Math.round(this.posX)-1, (int)Math.floor(this.posY), (int)Math.round(this.posZ)) != Blocks.air || this.worldObj.getBlock((int)Math.round(this.posX), (int)Math.floor(this.posY), (int)Math.round(this.posZ)+1) != Blocks.air || this.worldObj.getBlock((int)Math.round(this.posX), (int)Math.floor(this.posY), (int)Math.round(this.posZ)-1) != Blocks.air || this.worldObj.getBlock((int)Math.round(this.posX), (int)Math.floor(this.posY)+1, (int)Math.round(this.posZ)) != Blocks.air) && this.getTextureName() == "snowstormArrow"){
                this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 3.0F, false);
                this.setDead();
            }
        }
    }

    private void doBlockCollisions() {
        
        
    }

    @Override
    public void writeEntityToNBT(NBTTagCompound tag)
    {
        tag.setShort("xTile", (short)this.xTile);
        tag.setShort("yTile", (short)this.yTile);
        tag.setShort("zTile", (short)this.zTile);
        tag.setShort("life", (short)this.ticksInGround);
        tag.setByte("inTile", (byte)Block.getIdFromBlock(this.inTile));
        tag.setByte("inData", (byte)this.inData);
        tag.setByte("shake", (byte)this.arrowShake);
        tag.setByte("inGround", (byte)(this.inGround ? 1 : 0));
        tag.setByte("pickup", (byte)this.canBePickedUp);
        tag.setDouble("damage", this.damageMin);
        tag.setString("texture", this.dataWatcher.getWatchableObjectString(17));
    }

    @Override
    public void readEntityFromNBT(NBTTagCompound tag)
    {
        this.xTile = tag.getShort("xTile");
        this.yTile = tag.getShort("yTile");
        this.zTile = tag.getShort("zTile");
        this.ticksInGround = tag.getShort("life");
        this.inTile = Block.getBlockById(tag.getByte("inTile") & 255);
        this.inData = tag.getByte("inData") & 255;
        this.arrowShake = tag.getByte("shake") & 255;
        this.inGround = tag.getByte("inGround") == 1;
        this.dataWatcher.updateObject(17, tag.getString("texture"));

        if (tag.hasKey("damage", 99))
        {
            this.damageMin = tag.getDouble("damage");
        }

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

    @Override
    public void onCollideWithPlayer(EntityPlayer p_70100_1_)
    {
        if (!this.worldObj.isRemote && this.inGround && this.arrowShake <= 0)
        {
            boolean flag = this.canBePickedUp == 1 || this.canBePickedUp == 2 && p_70100_1_.capabilities.isCreativeMode;

            if (this.canBePickedUp == 1 && !p_70100_1_.inventory.addItemStackToInventory(new ItemStack(ammoItem, 1)))
            {
                flag = false;
            }

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

    @Override
    protected boolean canTriggerWalking()
    {
        return false;
    }

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

    @Override
    public void setDamage(double p_70239_1_)
    {
        this.damageMin = p_70239_1_;
    }

    @Override
    public double getDamage()
    {
        return this.damageMin;
    }

    @Override
    public void setKnockbackStrength(int p_70240_1_)
    {
        this.knockbackStrength = p_70240_1_;
    }

    @Override
    public boolean canAttackWithItem()
    {
        return false;
    }

   

    
    @Override
    public void setIsCritical(boolean p_70243_1_)
    {
        byte b0 = this.dataWatcher.getWatchableObjectByte(16);

        if (p_70243_1_)
        {
            this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 | 1)));
        }
        else
        {
            this.dataWatcher.updateObject(16, Byte.valueOf((byte)(b0 & -2)));
        }
    }

    @Override
    public boolean getIsCritical()
    {
        byte b0 = this.dataWatcher.getWatchableObjectByte(16);
        return (b0 & 1) != 0;
    }
    
    public void setAmmoItem(Item ammo){
        this.ammoItem = ammo;
    }
    
    public String getTextureName(){
        return this.dataWatcher.getWatchableObjectString(17);
    }
    
}

[merge_posts_bbcode]Добавлено: 21.11.2015 17:42:09[/merge_posts_bbcode]

Заметил ещё одну странность при клике луком по блоку, лук исчезает.​
 
Dragon2488 написал(а):
Твоего мода нет на сервере, скорее всего.
Я уже думал о том что дело в сервере, но сам мод лежит на нём
[merge_posts_bbcode]Добавлено: 21.11.2015 18:36:47[/merge_posts_bbcode]

Dragon2488 написал(а):
Твоего мода нет на сервере, скорее всего.
К тому же предмет в руки я брать могу и при стрельбе стрелы тратятся, значит дело явно в спавне энтити.
 
А ты вестрели, перезайди и посмотри на к количество стрел.
 
Dragon2488 написал(а):
А ты вестрели, перезайди и посмотри на к количество стрел.
точно! как быть? на сервере мод стоит-но не уверен что загружается, в консоль эклипса пишет это:
[16:56:20] [Netty Client IO #2/INFO] [FML]: Aborting client handshake "VANILLA"
[16:56:20] [Netty Client IO #2/INFO] [FML]: [Netty Client IO #2] Client side vanilla connection established
[merge_posts_bbcode]Добавлено: 21.11.2015 18:58:48[/merge_posts_bbcode]

Как я понимаю должно быть уж точно не ванила
 
Dragon2488 написал(а):
Хреново понимаешь. Кинь весь лог сервера и клиента.
Уж как естть:ermm:!
Лог сервера:
Код:
[18:01:42 INFO]: Starting Minecraft server on *:25568
[18:01:43 WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
[18:01:43 WARN]: The server will make no attempt to authenticate usernames. Beware.
[18:01:43 WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
[18:01:43 WARN]: To change this, set "online-mode" to "true" in the server.properties file.
[18:01:43 INFO]: Preparing level "world"
[18:01:43 INFO]: Preparing start region for level 0
[18:01:43 INFO]: Done (0,779s)! For help, type "help" or "?"
Лог клиента:
Код:
[17:29:58] [main/INFO] [GradleStart]: Extra: []
[17:29:58] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Владислав/.gradle/caches/minecraft/assets, --assetIndex, 1.7.10, --accessToken, {REDACTED}, --version, 1.7.10, --tweakClass, cpw.mods.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[17:29:58] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[17:29:59] [main/INFO] [LaunchWrapper]: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
[17:29:59] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[17:29:59] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
[17:29:59] [main/INFO] [FML]: Forge Mod Loader version 7.99.15.1447 for Minecraft 1.7.10 loading
[17:29:59] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_51, running on Windows 7:amd64:6.1, installed at C:\Program Files\Java\jre1.8.0_51
[17:29:59] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[17:29:59] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[17:29:59] [main/INFO] [GradleStart]: Injecting location in coremod cpw.mods.fml.relauncher.FMLCorePlugin
[17:29:59] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[17:29:59] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[17:29:59] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
[17:29:59] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[17:29:59] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[17:29:59] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
[17:29:59] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[17:29:59] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[17:30:00] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[17:30:00] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
[17:30:00] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
[17:30:01] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[17:30:01] [main/INFO] [LaunchWrapper]: Loading tweak class name cpw.mods.fml.common.launcher.TerminalTweaker
[17:30:01] [main/INFO] [LaunchWrapper]: Calling tweak class cpw.mods.fml.common.launcher.TerminalTweaker
[17:30:01] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[17:30:02] [main/INFO]: Setting user: Player410
[17:30:04] [Client thread/INFO]: LWJGL Version: 2.9.1
[17:30:05] [Client thread/INFO] [STDOUT]: [cpw.mods.fml.client.SplashProgress:start:188]: ---- Minecraft Crash Report ----
// I'm sorry, Dave.

Time: 21.11.15 17:30
Description: Loading screen debug info

This is just a prompt for computer specs to be printed. THIS IS NOT A ERROR


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

-- System Details --
Details:
 Minecraft Version: 1.7.10
 Operating System: Windows 7 (amd64) version 6.1
 Java Version: 1.8.0_51, Oracle Corporation
 Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
 Memory: 737214472 bytes (703 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: 
 GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13399 Compatibility Profile Context 15.200.1062.1004' Renderer: 'AMD Radeon HD 6700 Series'
[17:30:05] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization
[17:30:05] [Client thread/INFO] [FML]: MinecraftForge v10.13.4.1447 Initialized
[17:30:05] [Client thread/INFO] [FML]: Replaced 183 ore recipies
[17:30:05] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
[17:30:05] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[17:30:05] [Client thread/INFO] [FML]: Searching J:\Lightwaynewforge\eclipse\mods for mods
[17:30:09] [Client thread/INFO] [FML]: Forge Mod Loader has identified 4 mods to load
[17:30:09] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, lightway] at CLIENT
[17:30:09] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, lightway] at SERVER
[17:30:10] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:lightway
[17:30:10] [Client thread/INFO] [FML]: Processing ObjectHolder annotations
[17:30:10] [Client thread/INFO] [FML]: Found 341 ObjectHolder annotations
[17:30:10] [Client thread/INFO] [FML]: Identifying ItemStackHolder annotations
[17:30:10] [Client thread/INFO] [FML]: Found 0 ItemStackHolder annotations
[17:30:10] [Client thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[17:30:10] [Client thread/INFO] [FML]: Applying holder lookups
[17:30:10] [Client thread/INFO] [FML]: Holder lookups applied
[17:30:10] [Client thread/INFO] [FML]: Injecting itemstacks
[17:30:10] [Client thread/INFO] [FML]: Itemstack injection complete
[17:30:10] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[17:30:10] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem...
[17:30:10] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
[17:30:10] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:     (The LWJGL binding of OpenAL.  For more information, see [url]http://www.lwjgl.org[/url])
[17:30:10] [Thread-8/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
[17:30:11] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[17:30:11] [Sound Library Loader/INFO]: Sound engine started
[17:30:12] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
[17:30:12] [Client thread/INFO]: Created: 256x256 textures/items-atlas
[17:30:13] [Client thread/INFO] [FML]: Injecting itemstacks
[17:30:13] [Client thread/INFO] [FML]: Itemstack injection complete
[17:30:13] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
[17:30:13] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:lightway
[17:30:13] [Client thread/INFO]: Created: 512x256 textures/blocks-atlas
[17:30:13] [Client thread/INFO]: Created: 256x256 textures/items-atlas
[17:30:14] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[17:30:14] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: SoundSystem shutting down...
[17:30:14] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:importantMessage:90]:     Author: Paul Lamb, [url=http://www.paulscode.com]www.paulscode.com[/url]
[17:30:14] [Client thread/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[17:30:14] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[17:30:14] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Starting up SoundSystem...
[17:30:14] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: Initializing LWJGL OpenAL
[17:30:14] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]:     (The LWJGL binding of OpenAL.  For more information, see [url]http://www.lwjgl.org[/url])
[17:30:14] [Thread-10/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: OpenAL initialized.
[17:30:14] [Sound Library Loader/INFO] [STDOUT]: [paulscode.sound.SoundSystemLogger:message:69]: 
[17:30:14] [Sound Library Loader/INFO]: Sound engine started
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]: The following texture errors were found.
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]:   DOMAIN minecraft
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]: --------------------------------------------------
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]:   domain minecraft is missing 1 texture
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]:     domain minecraft has 3 locations:
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]:       unknown resourcepack type net.minecraft.client.resources.DefaultResourcePack : Default
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]:       mod FML resources at C:\Users\Владислав\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.4.1447-1.7.10\forgeSrc-1.7.10-10.13.4.1447-1.7.10.jar
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]:       mod Forge resources at C:\Users\Владислав\.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.4.1447-1.7.10\forgeSrc-1.7.10-10.13.4.1447-1.7.10.jar
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]: -------------------------
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]:     The missing resources for domain minecraft are:
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]:       textures/items/lalka.png
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]: -------------------------
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]:     No other errors exist for domain minecraft
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]: ==================================================
[17:30:15] [Client thread/ERROR] [TEXTURE ERRORS]: +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
[17:30:34] [Client thread/INFO]: Connecting to localhost, 25568
[17:30:35] [Netty Client IO #1/INFO] [FML]: Aborting client handshake "VANILLA"
[17:30:35] [Netty Client IO #1/INFO] [FML]: [Netty Client IO #1] Client side vanilla connection established
[17:32:46] [Client thread/INFO]: [CHAT] Player410 заработал достижение [Проверить карманы]
[merge_posts_bbcode]Добавлено: 21.11.2015 20:04:46[/merge_posts_bbcode]

Разобрался, не грузятся на сервер почему-то моды, даже не отображается что вгружает их!Не только мой но и любой другой мод. Дело в сервере, вот только в чем именно неясно!
Всем спасибо пойду спрашивать у сборщиков на рубаките!:D
 
Спс всё исправил, поменял ядро!Спасибо!
 
Назад
Сверху