баг с предметами

Версия Minecraft
1.7.10
суть в чём: сделал предмет, которым если нажать на курицу то из неё появится яйцо. и... всё вроде бы работает, но во-1: предмет не успевает ломаться, как из курицы яиц 200 выпрыгнет, во-2: из двухсот яий штук 6 поднимаются... HELP!!!
 

timaxa007

Модератор
5,831
409
672
asdqwertypro написал(а):
во-1: предмет не успевает ломаться, как из курицы яиц 200 выпрыгнет
Нужно смотреть в код.

asdqwertypro написал(а):
во-2: из двухсот яий штук 6 поднимаются... HELP!!!
Спаван яйца происходит на серверной и клиентской стороне. А должно только на серверной.
 
timaxa007 написал(а):
asdqwertypro написал(а):
во-1: предмет не успевает ломаться, как из курицы яиц 200 выпрыгнет
Нужно смотреть в код.

asdqwertypro написал(а):
во-2: из двухсот яий штук 6 поднимаются... HELP!!!
Спаван яйца происходит на серверной и клиентской стороне. А должно только на серверной.

вот код:

import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.PotionEffect;
import net.minecraft.util.DamageSource;
import net.minecraft.world.World;
import net.minecraftforge.event.entity.player.EntityInteractEvent;

public class ChickenItem extends Item{
protected ChickenItem() {
this.setCreativeTab(CreativeTabs.tabTools);
this.setTextureName("mod:chicken");
this.setMaxDamage(10);
this.maxStackSize = 1;}
public boolean itemInteractionForEntity(ItemStack item, EntityPlayer player, EntityLivingBase entity)
    {
if (entity instanceof EntityChicken)
        {
            EntityLiving entityliving = (EntityLiving)entity;
            entityliving.dropItem(Items.egg, 1);
            entityliving.func_110163_bv();
            item.damageItem(1, entity);
            return true;
        }
        else
        {
            return super.itemInteractionForEntity(item, player, entity);
        }
}
}
 

timaxa007

Модератор
5,831
409
672
На счёт "яиц 200", я не знаю как это у тебя выходит. Но типа такой код нужен:
Код:
@Override
public boolean itemInteractionForEntity(ItemStack item, EntityPlayer player, EntityLivingBase entity) {
	if (!player.worldObj.isRemote && entity instanceof EntityChicken) {
		EntityLiving entityliving = (EntityLiving)entity;
		entityliving.dropItem(Items.egg, 1);
		entityliving.func_110163_bv();
		item.damageItem(1, entity);
		return true;
	}
	return super.itemInteractionForEntity(item, player, entity);
}
 
timaxa007 написал(а):
На счёт "яиц 200", я не знаю как это у тебя выходит. Но типа такой код нужен:
Код:
@Override
public boolean itemInteractionForEntity(ItemStack item, EntityPlayer player, EntityLivingBase entity) {
 if (!player.worldObj.isRemote && entity instanceof EntityChicken) {
 EntityLiving entityliving = (EntityLiving)entity;
 entityliving.dropItem(Items.egg, 1);
 entityliving.func_110163_bv();
 item.damageItem(1, entity);
 return true;
 }
 return super.itemInteractionForEntity(item, player, entity);
}

спасибо! теперь яйца успевают нормально спауниться и подбираются все!
 
Сверху