當前位置: 首頁>>代碼示例>>Java>>正文


Java EntityLivingBase.setItemStackToSlot方法代碼示例

本文整理匯總了Java中net.minecraft.entity.EntityLivingBase.setItemStackToSlot方法的典型用法代碼示例。如果您正苦於以下問題:Java EntityLivingBase.setItemStackToSlot方法的具體用法?Java EntityLivingBase.setItemStackToSlot怎麽用?Java EntityLivingBase.setItemStackToSlot使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在net.minecraft.entity.EntityLivingBase的用法示例。


在下文中一共展示了EntityLivingBase.setItemStackToSlot方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: apply

import net.minecraft.entity.EntityLivingBase; //導入方法依賴的package包/類
@Override
public void apply(World world, BlockPos pos, EntityLivingBase entity, int amplifier, int tick) {
	if (!entity.world.isRemote) {
		int i = entity.getRNG().nextInt(4 + 16 / (amplifier + 1));
		switch (i) {
			case 0:
				spawnItem(entity, entity.getItemStackFromSlot(EntityEquipmentSlot.FEET));
				entity.setItemStackToSlot(EntityEquipmentSlot.FEET, ItemStack.EMPTY);
				break;
			case 1:
				spawnItem(entity, entity.getItemStackFromSlot(EntityEquipmentSlot.LEGS));
				entity.setItemStackToSlot(EntityEquipmentSlot.LEGS, ItemStack.EMPTY);
				break;
			case 2:
				spawnItem(entity, entity.getItemStackFromSlot(EntityEquipmentSlot.CHEST));
				entity.setItemStackToSlot(EntityEquipmentSlot.CHEST, ItemStack.EMPTY);
				break;
			case 3:
				spawnItem(entity, entity.getItemStackFromSlot(EntityEquipmentSlot.HEAD));
				entity.setItemStackToSlot(EntityEquipmentSlot.HEAD, ItemStack.EMPTY);
				break;
		}
	}
}
 
開發者ID:Um-Mitternacht,項目名稱:Bewitchment,代碼行數:25,代碼來源:DisrobingBrew.java

示例2: dispenseArmor

import net.minecraft.entity.EntityLivingBase; //導入方法依賴的package包/類
public static ItemStack dispenseArmor(IBlockSource blockSource, ItemStack stack)
{
    BlockPos blockpos = blockSource.getBlockPos().offset((EnumFacing)blockSource.getBlockState().getValue(BlockDispenser.FACING));
    List<EntityLivingBase> list = blockSource.getWorld().<EntityLivingBase>getEntitiesWithinAABB(EntityLivingBase.class, new AxisAlignedBB(blockpos), Predicates.<EntityLivingBase> and (EntitySelectors.NOT_SPECTATING, new EntitySelectors.ArmoredMob(stack)));

    if (list.isEmpty())
    {
        return ItemStack.field_190927_a;
    }
    else
    {
        EntityLivingBase entitylivingbase = (EntityLivingBase)list.get(0);
        EntityEquipmentSlot entityequipmentslot = EntityLiving.getSlotForItemStack(stack);
        ItemStack itemstack = stack.splitStack(1);
        entitylivingbase.setItemStackToSlot(entityequipmentslot, itemstack);

        if (entitylivingbase instanceof EntityLiving)
        {
            ((EntityLiving)entitylivingbase).setDropChance(entityequipmentslot, 2.0F);
        }

        return stack;
    }
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:25,代碼來源:ItemArmor.java

示例3: dispenseArmor

import net.minecraft.entity.EntityLivingBase; //導入方法依賴的package包/類
public static ItemStack dispenseArmor(IBlockSource blockSource, ItemStack stack)
{
    BlockPos blockpos = blockSource.getBlockPos().offset((EnumFacing)blockSource.getBlockState().getValue(BlockDispenser.FACING));
    List<EntityLivingBase> list = blockSource.getWorld().<EntityLivingBase>getEntitiesWithinAABB(EntityLivingBase.class, new AxisAlignedBB(blockpos), Predicates.<EntityLivingBase>and(EntitySelectors.NOT_SPECTATING, new EntitySelectors.ArmoredMob(stack)));

    if (list.isEmpty())
    {
        return null;
    }
    else
    {
        EntityLivingBase entitylivingbase = (EntityLivingBase)list.get(0);
        EntityEquipmentSlot entityequipmentslot = EntityLiving.getSlotForItemStack(stack);
        ItemStack itemstack = stack.copy();
        itemstack.stackSize = 1;
        entitylivingbase.setItemStackToSlot(entityequipmentslot, itemstack);

        if (entitylivingbase instanceof EntityLiving)
        {
            ((EntityLiving)entitylivingbase).setDropChance(entityequipmentslot, 2.0F);
        }

        --stack.stackSize;
        return stack;
    }
}
 
開發者ID:F1r3w477,項目名稱:CustomWorldGen,代碼行數:27,代碼來源:ItemArmor.java

示例4: onEntityUpdate

import net.minecraft.entity.EntityLivingBase; //導入方法依賴的package包/類
@SubscribeEvent
public void onEntityUpdate(LivingUpdateEvent event)
{
	EntityLivingBase living = event.getEntityLiving();
	if(living instanceof IBurnInDay && living.world.isDaytime() && !living.world.isRemote && !living.isChild() && ((IBurnInDay)living).shouldBurn() && living.getBrightness() > 0.5F && 
			living.getRNG().nextFloat() * 30.0F < (living.getBrightness() - 0.4F) * 2.0F && living.world.canSeeSky(new BlockPos(living.posX, living.posY + (double)living.getEyeHeight(), living.posZ)))
	{
		boolean flag = true;
           ItemStack itemstack = living.getItemStackFromSlot(EntityEquipmentSlot.HEAD);
           if (!itemstack.isEmpty())
           {
               if (itemstack.isItemStackDamageable())
               {
                   itemstack.setItemDamage(itemstack.getItemDamage() + living.getRNG().nextInt(2));

                   if (itemstack.getItemDamage() >= itemstack.getMaxDamage())
                   {
                   	living.renderBrokenItemStack(itemstack);
                   	living.setItemStackToSlot(EntityEquipmentSlot.HEAD, ItemStack.EMPTY);
                   }
               }

               flag = false;
           }

           if (flag)
           {
           	living.setFire(8);
           }
	}
}
 
開發者ID:kenijey,項目名稱:harshencastle,代碼行數:32,代碼來源:HandlerBurnInDaylight.java

示例5: damageShield

import net.minecraft.entity.EntityLivingBase; //導入方法依賴的package包/類
void damageShield(EntityLivingBase attacked, EntityLivingBase attacker, float f)
{
    ItemStack shield = null;
    if(Prep1_11.isValid(attacked.getHeldItemOffhand()) && attacked.getHeldItemOffhand().getItem() == RegisterItems.wickerShield)
    shield = attacked.getHeldItemOffhand();
    else if(Prep1_11.isValid(attacked.getHeldItemMainhand()) && attacked.getHeldItemMainhand().getItem() == RegisterItems.wickerShield)
    shield = attacked.getHeldItemMainhand();

    //Copied from EntityPlayer#damageShield() START
    if(Prep1_11.isEmpty(shield)) return;
    shield.damageItem(1 + MathHelper.floor(f), attacker);
    if (shield.getCount() <= 0)
    {
        EnumHand enumhand = attacked.getActiveHand();
        if(attacked instanceof EntityPlayer) net.minecraftforge.event.ForgeEventFactory.onPlayerDestroyItem((EntityPlayer) attacked, attacked.getActiveItemStack(), enumhand);

        if (enumhand == EnumHand.MAIN_HAND)
        {
            attacked.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, ItemStack.EMPTY);
        }
        else
        {
            attacked.setItemStackToSlot(EntityEquipmentSlot.OFFHAND, ItemStack.EMPTY);
        }

        attacked.resetActiveHand();
        attacked.playSound(SoundEvents.ITEM_SHIELD_BREAK, 0.8F, 0.8F + attacked.world.rand.nextFloat() * 0.4F);
    }
    //Copied from EntityPlayer#damageShield() END
}
 
開發者ID:einsteinsci,項目名稱:BetterBeginningsReborn,代碼行數:31,代碼來源:ItemWickerShield.java


注:本文中的net.minecraft.entity.EntityLivingBase.setItemStackToSlot方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。