当前位置: 首页>>代码示例>>Java>>正文


Java LivingEntityUseItemEvent类代码示例

本文整理汇总了Java中net.minecraftforge.event.entity.living.LivingEntityUseItemEvent的典型用法代码示例。如果您正苦于以下问题:Java LivingEntityUseItemEvent类的具体用法?Java LivingEntityUseItemEvent怎么用?Java LivingEntityUseItemEvent使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


LivingEntityUseItemEvent类属于net.minecraftforge.event.entity.living包,在下文中一共展示了LivingEntityUseItemEvent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onItemUse

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void onItemUse(LivingEntityUseItemEvent event)
{
    EntityLivingBase living = event.getEntityLiving();
    ItemStack stack = event.getItem();
    PotionEffect effect = living.getActivePotionEffect(this);

    if(ItemUtil.matchesOreDict(stack,"torch") && effect != null)
    {
        //TODO: Blow a cloud of fire out
        if(effect.getDuration() > 10)
        {
            PotionEffect reducedEffect = new PotionEffect(this, effect.getDuration() - 5, effect.getAmplifier(), effect.getIsAmbient(), effect.doesShowParticles());
            reducedEffect.setCurativeItems(effect.getCurativeItems());
            living.addPotionEffect(reducedEffect);
        }
        else
        {
            living.removePotionEffect(this);
        }
    }
}
 
开发者ID:DaedalusGame,项目名称:Soot,代码行数:23,代码来源:PotionFireLung.java

示例2: onItemUseFinish

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void onItemUseFinish(LivingEntityUseItemEvent.Tick event)
{
	if (event.getEntity() instanceof EntityPlayer && !event.getEntity().world.isRemote)
	{
		int useCurrent = event.getDuration();
		if (useCurrent == 1)
		{
			IExPPlayer data = IExPPlayer.of((EntityPlayer) event.getEntity());
			if (data != null)
			{
				PlayerManager.handlePlayerEatenFood((EntityPlayer) event.getEntity(), data, event.getItem());
			}
		}
	}
}
 
开发者ID:V0idWa1k3r,项目名称:ExPetrum,代码行数:17,代码来源:ExPHandlerServer.java

示例3: OnFinish

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void OnFinish(LivingEntityUseItemEvent.Finish e) //Why not PlayerUseItemEvent.Finish... FORGE 1.9
{
    if (e.getEntity() instanceof EntityPlayer && e.getItem() != null && e.getItem().getItem() instanceof ItemFood) {
        ItemFood food = (ItemFood) e.getItem().getItem();
        World world = e.getEntity().getEntityWorld();

        if (!world.isRemote) {
            String unlocName = food.getUnlocalizedName().substring(5).toLowerCase();
            if (unlocName.startsWith("raw") || unlocName.endsWith("raw") || unlocName.equals("fish")) {
                if (world.rand.nextFloat() > 0.3F)
                    ((EntityPlayer) e.getEntity()).addPotionEffect(new PotionEffect(MobEffects.hunger, 600, 0));
            }
        }
    }
}
 
开发者ID:GamingsModding,项目名称:LittleThings-old,代码行数:17,代码来源:FoodEvents.java

示例4: finishUse

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void finishUse(LivingEntityUseItemEvent.Finish event){
	EntityLivingBase entity = event.getEntityLiving();
	ItemStack stack = event.getItem();
	
	if(entity.isInsideOfMaterial(Material.WATER)){
		if(ItemStackTools.isValid(stack) && stack.getItem() == Items.GLASS_BOTTLE){
			//Restore to full air
			entity.setAir(300);
			ItemStack waterbottle = PotionUtils.addPotionToItemStack(new ItemStack(Items.POTIONITEM), PotionTypes.WATER);
			if(ItemStackTools.getStackSize(stack) > 1){
 			event.setResultStack(ItemUtil.consumeItem(stack));
 			if(entity instanceof EntityPlayer){
 				if(!((EntityPlayer)entity).inventory.addItemStackToInventory(waterbottle)){
 					ItemUtil.spawnItemInWorldWithoutMotion(entity.getEntityWorld(), waterbottle, new BlockPos(entity));
 				}
 			} else {
 				ItemUtil.spawnItemInWorldWithoutMotion(entity.getEntityWorld(), waterbottle, new BlockPos(entity));
 			}
			} else {
				event.setResultStack(waterbottle);
			}
		}
	}
}
 
开发者ID:Alec-WAM,项目名称:CrystalMod,代码行数:26,代码来源:EventHandler.java

示例5: onMilkDrink

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void onMilkDrink(LivingEntityUseItemEvent.Finish e) {
    if (milkResets && e.getItem().getItem() instanceof ItemBucketMilk && FloofBullet.oldPartCache.containsKey(e.getEntityLiving().getPersistentID())) {
        UUID uuid = e.getEntityLiving().getPersistentID();
        PartsData oldParts = FloofBullet.oldPartCache.get(uuid);
        boolean remove = oldParts == null;
        if (remove) {
            Tails.proxy.removePartsData(uuid);
        }
        else {
            Tails.proxy.addPartsData(uuid, oldParts);
        }
        if (FMLCommonHandler.instance().getSide() == Side.SERVER) {
            Tails.networkWrapper.sendToAll(new PlayerDataMessage(uuid, oldParts, remove));
        }
    }
}
 
开发者ID:kihira,项目名称:ImmersiveFloofs,代码行数:18,代码来源:ImmersiveFloofs.java

示例6: eatApple

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void eatApple(LivingEntityUseItemEvent.Start event) {
    if (event.getItem().getItem() != Items.GOLDEN_APPLE || !(event.getEntityLiving() instanceof EntityPlayer)) {
        return;
    }

    EntityPlayer player = (EntityPlayer) event.getEntityLiving();
    if (ConfigHandler.antiCheatMode && event.getItem().getItemDamage() == 1) {
        player.sendMessage(new TextComponentTranslation("message.uhcreloaded.apple.enchanted"));
        event.setCanceled(true);
        return;
    }
    if (!event.getItem().hasTagCompound()) {
        return;
    }
    NBTTagCompound tag = event.getItem().getTagCompound();
    if (tag.getBoolean("golden_skull")) {
        player.addPotionEffect(new PotionEffect(
            MobEffects.HEALTH_BOOST, 1, ConfigHandler.healAmountSkull - 4
        ));
    }
}
 
开发者ID:liachmodded,项目名称:UHC-Reloaded,代码行数:23,代码来源:GoldenSkull.java

示例7: decreaseBowUseDuration

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void decreaseBowUseDuration(LivingEntityUseItemEvent.Tick event) {
	if (event.getItem() == null) {
		return;
	}

	if (event.getItem().getItem() != Items.BOW) {
		return;
	}

	int level = EnchantmentHelper.getEnchantmentLevel(CodingPiratesMod.haste,
			event.getItem());

	switch (level) {
	case 1:
		event.setDuration(event.getDuration() - 1);
		break;
	case 2:
		event.setDuration(event.getDuration() - 2);
		break;
	default:
		break;
	}
}
 
开发者ID:jarryDk,项目名称:MineCraft,代码行数:25,代码来源:EnchantmentArrowFast.java

示例8: onActiveItemUseTick

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void onActiveItemUseTick(LivingEntityUseItemEvent.Tick event) {
    ItemStack stack = event.getItem();
    if (stack.getItem() == TrumpetSkeletonItems.TRUMPET) {
        if (event.getDuration() == stack.getMaxItemUseDuration() - 10) {
            EntityLivingBase user = event.getEntityLiving();
            World world = user.world;

            user.playSound(TrumpetSkeletonSoundEvents.ITEM_TRUMPET_USE, 1.0F, 0.9F + world.rand.nextFloat() * 0.2F);
            if (!world.isRemote) {
                List<EntityLivingBase> spookedEntities = world.getEntitiesWithinAABB(EntityLivingBase.class, user.getEntityBoundingBox().grow(10.0D));
                for (EntityLivingBase spookedEntity : spookedEntities) {
                    if (spookedEntity == user) continue;
                    double deltaX = user.posX - spookedEntity.posX;
                    double deltaZ = user.posZ - spookedEntity.posZ;
                    double distance = Math.sqrt(deltaX * deltaX + deltaZ * deltaZ);
                    if (distance > 0.25D) {
                        spookedEntity.knockBack(user, 0.5F, deltaX / distance, deltaZ / distance);
                    }
                    spookedEntity.setRevengeTarget(user);
                }
                stack.damageItem(1, user);
            }
        } else if (event.getDuration() <= stack.getMaxItemUseDuration() - 15) {
            event.setCanceled(true);
        }
    }
}
 
开发者ID:JamiesWhiteShirt,项目名称:trumpet-skeleton,代码行数:29,代码来源:TrumpetSkeleton.java

示例9: onLivingEntityUseItemEventFinish

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent(priority = EventPriority.NORMAL)
public void onLivingEntityUseItemEventFinish(LivingEntityUseItemEvent.Finish event) {
    if (the_item.equals("item.apple")){
        if (!event.getEntityLiving().world.isRemote){
            EntityItem item = new EntityItem(event.getEntityLiving().world, event.getEntityLiving().posX, event.getEntityLiving().posY, event.getEntityLiving().posZ, new ItemStack(ModItems.applecore, 1));
            event.getEntityLiving().world.spawnEntity(item);
        }
    }
}
 
开发者ID:DeflatedPickles-Old-Repositories,项目名称:JustJunk,代码行数:10,代码来源:EventHandlerCommon.java

示例10: onItemUse

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void onItemUse(LivingEntityUseItemEvent event) {
	if (event.getEntityLiving() instanceof EntityPlayer) {
		// Stop rescuing if the player does something other than rescuing
		abortRescue((EntityPlayer) event.getEntityLiving());
	}
}
 
开发者ID:blay09,项目名称:HardcoreRevival,代码行数:8,代码来源:RescueHandler.java

示例11: onPlayerUse

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent(priority = EventPriority.HIGHEST)
	public void onPlayerUse(LivingEntityUseItemEvent event) {
		if (event.isCancelable() && event.getEntityLiving() instanceof EntityPlayer) {
//			if(ModConfig.allowBows && event.getItem().getItem() instanceof ItemBow) {
//				return;
//			}
			if (event.getEntityLiving().getHealth() <= 0f) {
				event.setCanceled(true);
			}
		}
	}
 
开发者ID:blay09,项目名称:HardcoreRevival,代码行数:12,代码来源:RestrictionHandler.java

示例12: startUse

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void startUse(LivingEntityUseItemEvent.Start event){
	EntityLivingBase entity = event.getEntityLiving();
	ItemStack stack = event.getItem();
	
	if(entity.isInsideOfMaterial(Material.WATER)){
		if(ItemStackTools.isValid(stack) && stack.getItem() == Items.GLASS_BOTTLE){
			event.setDuration(32);
		}
	}
}
 
开发者ID:Alec-WAM,项目名称:CrystalMod,代码行数:12,代码来源:EventHandler.java

示例13: monitorUse

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void monitorUse(LivingEntityUseItemEvent.Tick event){
	EntityLivingBase entity = event.getEntityLiving();
	ItemStack stack = event.getItem();
	
	if(!entity.isInsideOfMaterial(Material.WATER)){
		if(ItemStackTools.isValid(stack) && stack.getItem() == Items.GLASS_BOTTLE){
			event.setDuration(-1);
			event.setCanceled(true);
		}
	}
}
 
开发者ID:Alec-WAM,项目名称:CrystalMod,代码行数:13,代码来源:EventHandler.java

示例14: stopItemUse

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
private void stopItemUse(LivingEntityUseItemEvent event)
{
	PotionEffect effect = event.getEntityLiving().getActivePotionEffect(PotionRegistry.REDSTONE_NEEDLE);
	if (effect == null)
		return;
	if (effect.getAmplifier() >= 4)
		event.setCanceled(true);
}
 
开发者ID:murapix,项目名称:Inhuman-Resources,代码行数:9,代码来源:PotionRedstoneNeedle.java

示例15: onItemUse

import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent; //导入依赖的package包/类
@SubscribeEvent
public void onItemUse (LivingEntityUseItemEvent.Tick event) {

    // Gluttony Charm
    if (event.getEntityLiving() instanceof EntityPlayer && itemGluttonyCharm.hasItem((EntityPlayer) event.getEntityLiving()) && !event.getItem().isEmpty() && event.getItem().getItem() instanceof ItemFood) {
        event.setDuration(0);
    }
}
 
开发者ID:Darkhax-Minecraft,项目名称:Dark-Utilities,代码行数:9,代码来源:FeatureCharms.java


注:本文中的net.minecraftforge.event.entity.living.LivingEntityUseItemEvent类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。