本文整理汇总了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);
}
}
}
示例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());
}
}
}
}
示例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));
}
}
}
}
示例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);
}
}
}
}
示例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));
}
}
}
示例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
));
}
}
示例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;
}
}
示例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);
}
}
}
示例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);
}
}
}
示例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());
}
}
示例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);
}
}
}
示例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);
}
}
}
示例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);
}
}
}
示例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);
}
示例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);
}
}