Java 类net.minecraft.util.EnumMovingObjectType 实例源码

项目:RuneCraftery    文件:ItemEnderEye.java   
public ItemStack func_77659_a(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
   MovingObjectPosition var4 = this.func_77621_a(p_77659_2_, p_77659_3_, false);
   if(var4 != null && var4.field_72313_a == EnumMovingObjectType.TILE) {
      int var5 = p_77659_2_.func_72798_a(var4.field_72311_b, var4.field_72312_c, var4.field_72309_d);
      if(var5 == Block.field_72104_bI.field_71990_ca) {
         return p_77659_1_;
      }
   }

   if(!p_77659_2_.field_72995_K) {
      ChunkPosition var7 = p_77659_2_.func_72946_b("Stronghold", (int)p_77659_3_.field_70165_t, (int)p_77659_3_.field_70163_u, (int)p_77659_3_.field_70161_v);
      if(var7 != null) {
         EntityEnderEye var6 = new EntityEnderEye(p_77659_2_, p_77659_3_.field_70165_t, p_77659_3_.field_70163_u + 1.62D - (double)p_77659_3_.field_70129_M, p_77659_3_.field_70161_v);
         var6.func_70220_a((double)var7.field_76930_a, var7.field_76928_b, (double)var7.field_76929_c);
         p_77659_2_.func_72838_d(var6);
         p_77659_2_.func_72956_a(p_77659_3_, "random.bow", 0.5F, 0.4F / (field_77697_d.nextFloat() * 0.4F + 0.8F));
         p_77659_2_.func_72889_a((EntityPlayer)null, 1002, (int)p_77659_3_.field_70165_t, (int)p_77659_3_.field_70163_u, (int)p_77659_3_.field_70161_v, 0);
         if(!p_77659_3_.field_71075_bZ.field_75098_d) {
            --p_77659_1_.field_77994_a;
         }
      }
   }

   return p_77659_1_;
}
项目:RuneCraftery    文件:RenderGlobal.java   
public void func_72731_b(EntityPlayer p_72731_1_, MovingObjectPosition p_72731_2_, int p_72731_3_, float p_72731_4_) {
   if(p_72731_3_ == 0 && p_72731_2_.field_72313_a == EnumMovingObjectType.TILE) {
      GL11.glEnable(3042);
      GL11.glBlendFunc(770, 771);
      GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.4F);
      GL11.glLineWidth(2.0F);
      GL11.glDisable(3553);
      GL11.glDepthMask(false);
      float var5 = 0.002F;
      int var6 = this.field_72769_h.func_72798_a(p_72731_2_.field_72311_b, p_72731_2_.field_72312_c, p_72731_2_.field_72309_d);
      if(var6 > 0) {
         Block.field_71973_m[var6].func_71902_a(this.field_72769_h, p_72731_2_.field_72311_b, p_72731_2_.field_72312_c, p_72731_2_.field_72309_d);
         double var7 = p_72731_1_.field_70142_S + (p_72731_1_.field_70165_t - p_72731_1_.field_70142_S) * (double)p_72731_4_;
         double var9 = p_72731_1_.field_70137_T + (p_72731_1_.field_70163_u - p_72731_1_.field_70137_T) * (double)p_72731_4_;
         double var11 = p_72731_1_.field_70136_U + (p_72731_1_.field_70161_v - p_72731_1_.field_70136_U) * (double)p_72731_4_;
         this.func_72715_a(Block.field_71973_m[var6].func_71911_a_(this.field_72769_h, p_72731_2_.field_72311_b, p_72731_2_.field_72312_c, p_72731_2_.field_72309_d).func_72314_b((double)var5, (double)var5, (double)var5).func_72325_c(-var7, -var9, -var11));
      }

      GL11.glDepthMask(true);
      GL11.glEnable(3553);
      GL11.glDisable(3042);
   }

}
项目:RuneCraftery    文件:Minecraft.java   
private void func_71399_a(int p_71399_1_, boolean p_71399_2_) {
   if(!p_71399_2_) {
      this.field_71429_W = 0;
   }

   if(p_71399_1_ != 0 || this.field_71429_W <= 0) {
      if(p_71399_2_ && this.field_71476_x != null && this.field_71476_x.field_72313_a == EnumMovingObjectType.TILE && p_71399_1_ == 0) {
         int var3 = this.field_71476_x.field_72311_b;
         int var4 = this.field_71476_x.field_72312_c;
         int var5 = this.field_71476_x.field_72309_d;
         this.field_71442_b.func_78759_c(var3, var4, var5, this.field_71476_x.field_72310_e);
         if(this.field_71439_g.func_82246_f(var3, var4, var5)) {
            this.field_71452_i.func_78867_a(var3, var4, var5, this.field_71476_x.field_72310_e);
            this.field_71439_g.func_71038_i();
         }
      } else {
         this.field_71442_b.func_78767_c();
      }

   }
}
项目:Magitech    文件:BlockMagi.java   
@ForgeSubscribe
/**
 * Called by ItemBucket when it tries to fill a bucket
 * @param evt
 */
public void bucketFill(FillBucketEvent evt) {
    if (evt.current.getItem().equals(Item.bucketEmpty) && evt.target.typeOfHit == EnumMovingObjectType.TILE) {
        if (evt.world.canMineBlock(evt.entityPlayer, evt.target.blockX, evt.target.blockY, evt.target.blockZ)) {
            if (evt.entityPlayer.canPlayerEdit(evt.target.blockX, evt.target.blockY, evt.target.blockZ, evt.target.sideHit, evt.current)) {
                if (evt.world.getBlockId(evt.target.blockX, evt.target.blockY, evt.target.blockZ) == blockID) {
                    evt.world.setBlockToAir(evt.target.blockX, evt.target.blockY, evt.target.blockZ);
                    evt.result = new ItemStack(Magitech.instance.magibucket);
                    evt.setResult(Result.ALLOW);
                }
            }
        }
    }
}
项目:Reliquary    文件:ItemFertileLilypad.java   
/**
 * Called whenever this item is equipped and the right mouse button is
 * pressed. Args: itemStack, world, entityPlayer
 */
@Override
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
    MovingObjectPosition var4 = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true);
    if (var4 == null) return par1ItemStack;
    else {
        if (var4.typeOfHit == EnumMovingObjectType.TILE) {
            int var5 = var4.blockX;
            int var6 = var4.blockY;
            int var7 = var4.blockZ;
            if (!par2World.canMineBlock(par3EntityPlayer, var5, var6, var7)) return par1ItemStack;
            if (!par3EntityPlayer.canPlayerEdit(var5, var6, var7, var4.sideHit, par1ItemStack)) return par1ItemStack;
            if (par2World.getBlockMaterial(var5, var6, var7) == Material.water && par2World.getBlockMetadata(var5, var6, var7) == 0 && par2World.isAirBlock(var5, var6 + 1, var7)) {
                par2World.setBlock(var5, var6 + 1, var7, XRBlocks.lilypad.blockID);
                if (!par3EntityPlayer.capabilities.isCreativeMode) {
                    --par1ItemStack.stackSize;
                }
            }
        }
        return par1ItemStack;
    }
}
项目:Theflogats-Mods    文件:Formulas.java   
public ItemStack add(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer){

    MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, true);

      if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE)
      {
          int i = movingobjectposition.blockX;
          int j = movingobjectposition.blockY;
          int k = movingobjectposition.blockZ;

        par2World.setBlockToAir(i, j, k);

          if (--par1ItemStack.stackSize <= 0)
          {
            return new ItemStack(Item.bucketWater);
          }

          if (!par3EntityPlayer.inventory.addItemStackToInventory(new ItemStack(Item.bucketWater)))
          {
            par3EntityPlayer.dropPlayerItem(new ItemStack(Item.bucketWater.itemID, 1, 0));
          }
      }
return par1ItemStack;
  }
项目:MineFantasy    文件:ItemPaper.java   
@Override
public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player)
{
    Random rand = new Random();
    MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, true);

    if (movingobjectposition == null)
    {
        return item;
    }
    else
    {
        if (!world.isRemote && movingobjectposition.typeOfHit == EnumMovingObjectType.TILE)
        {
            int i = movingobjectposition.blockX;
            int j = movingobjectposition.blockY;
            int k = movingobjectposition.blockZ;

            if (!world.canMineBlock(player, i, j, k))
            {
                return item;
            }

            if (!player.canPlayerEdit(i, j, k, movingobjectposition.sideHit, item))
            {
                return item;
            }

            if (isSaltWaterSource(world, i, j, k))
            {
                world.playSoundAtEntity(player, "random.splash", 0.125F + rand.nextFloat()/4, 0.5F + rand.nextFloat());
                item.stackSize --;
                EntityItem result = new EntityItem(world, player.posX, player.posY, player.posZ, new ItemStack(ItemListMF.misc, 1, ItemListMF.saltPaper));
                world.spawnEntityInWorld(result);
            }
        }
    }
    return item;
}
项目:MineFantasy    文件:MineFantasyHUD.java   
public int[] getClickedBlock(float ticks, int mouseX, int mouseY)
{
    if (mc.objectMouseOver != null && mc.objectMouseOver.typeOfHit == EnumMovingObjectType.TILE)
       {
           int j = mc.objectMouseOver.blockX;
           int k = mc.objectMouseOver.blockY;
           int l = mc.objectMouseOver.blockZ;

           return new int[]{j, k, l};
       }
    return null;
}
项目:MineFantasy    文件:WeaponHandlerClient.java   
@Override
public void tickEnd(EnumSet<TickType> type, Object... tickData)
{
    if (!type.contains(TickType.PLAYER)) return;

    EntityPlayer entityPlayer = (EntityPlayer) tickData[0];

    if (entityPlayer != null)
    {
        //If we JUST swung an Item
        if (entityPlayer.swingProgressInt == 1) 
        {
            ItemStack mainhand = entityPlayer.getCurrentEquippedItem();
            if (mainhand != null && mainhand.getItem() instanceof IExtendedReachItem) 
            {
                float extendedReach = ((IExtendedReachItem) mainhand.getItem()).getReachModifierInBlocks(mainhand);
                if(extendedReach > 0)
                {
                    MovingObjectPosition mouseOver = ExtendedReachHelper.getMouseOver(0, extendedReach + 4);
                    if (mouseOver != null && mouseOver.typeOfHit == EnumMovingObjectType.ENTITY) 
                    {
                        Entity target = mouseOver.entityHit;
                        if (target instanceof EntityLiving && target != entityPlayer)
                        {
                            if (target.hurtResistantTime != ((EntityLiving) target).maxHurtResistantTime) 
                            {
                                FMLClientHandler.instance().getClient().playerController.attackEntity(entityPlayer, target);
                            }
                        }
                    }
                }
            }
        }
    }
}
项目:RuneCraftery    文件:ItemGlassBottle.java   
public ItemStack func_77659_a(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
   MovingObjectPosition var4 = this.func_77621_a(p_77659_2_, p_77659_3_, true);
   if(var4 == null) {
      return p_77659_1_;
   } else {
      if(var4.field_72313_a == EnumMovingObjectType.TILE) {
         int var5 = var4.field_72311_b;
         int var6 = var4.field_72312_c;
         int var7 = var4.field_72309_d;
         if(!p_77659_2_.func_72962_a(p_77659_3_, var5, var6, var7)) {
            return p_77659_1_;
         }

         if(!p_77659_3_.func_82247_a(var5, var6, var7, var4.field_72310_e, p_77659_1_)) {
            return p_77659_1_;
         }

         if(p_77659_2_.func_72803_f(var5, var6, var7) == Material.field_76244_g) {
            --p_77659_1_.field_77994_a;
            if(p_77659_1_.field_77994_a <= 0) {
               return new ItemStack(Item.field_77726_bs);
            }

            if(!p_77659_3_.field_71071_by.func_70441_a(new ItemStack(Item.field_77726_bs))) {
               p_77659_3_.func_71021_b(new ItemStack(Item.field_77726_bs.field_77779_bT, 1, 0));
            }
         }
      }

      return p_77659_1_;
   }
}
项目:RuneCraftery    文件:ItemMonsterPlacer.java   
public ItemStack func_77659_a(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
   if(p_77659_2_.field_72995_K) {
      return p_77659_1_;
   } else {
      MovingObjectPosition var4 = this.func_77621_a(p_77659_2_, p_77659_3_, true);
      if(var4 == null) {
         return p_77659_1_;
      } else {
         if(var4.field_72313_a == EnumMovingObjectType.TILE) {
            int var5 = var4.field_72311_b;
            int var6 = var4.field_72312_c;
            int var7 = var4.field_72309_d;
            if(!p_77659_2_.func_72962_a(p_77659_3_, var5, var6, var7)) {
               return p_77659_1_;
            }

            if(!p_77659_3_.func_82247_a(var5, var6, var7, var4.field_72310_e, p_77659_1_)) {
               return p_77659_1_;
            }

            if(p_77659_2_.func_72803_f(var5, var6, var7) == Material.field_76244_g) {
               Entity var8 = func_77840_a(p_77659_2_, p_77659_1_.func_77960_j(), (double)var5, (double)var6, (double)var7);
               if(var8 != null) {
                  if(var8 instanceof EntityLivingBase && p_77659_1_.func_82837_s()) {
                     ((EntityLiving)var8).func_94058_c(p_77659_1_.func_82833_r());
                  }

                  if(!p_77659_3_.field_71075_bZ.field_75098_d) {
                     --p_77659_1_.field_77994_a;
                  }
               }
            }
         }

         return p_77659_1_;
      }
   }
}
项目:RuneCraftery    文件:ItemLilyPad.java   
public ItemStack func_77659_a(ItemStack p_77659_1_, World p_77659_2_, EntityPlayer p_77659_3_) {
   MovingObjectPosition var4 = this.func_77621_a(p_77659_2_, p_77659_3_, true);
   if(var4 == null) {
      return p_77659_1_;
   } else {
      if(var4.field_72313_a == EnumMovingObjectType.TILE) {
         int var5 = var4.field_72311_b;
         int var6 = var4.field_72312_c;
         int var7 = var4.field_72309_d;
         if(!p_77659_2_.func_72962_a(p_77659_3_, var5, var6, var7)) {
            return p_77659_1_;
         }

         if(!p_77659_3_.func_82247_a(var5, var6, var7, var4.field_72310_e, p_77659_1_)) {
            return p_77659_1_;
         }

         if(p_77659_2_.func_72803_f(var5, var6, var7) == Material.field_76244_g && p_77659_2_.func_72805_g(var5, var6, var7) == 0 && p_77659_2_.func_72799_c(var5, var6 + 1, var7)) {
            p_77659_2_.func_94575_c(var5, var6 + 1, var7, Block.field_71991_bz.field_71990_ca);
            if(!p_77659_3_.field_71075_bZ.field_75098_d) {
               --p_77659_1_.field_77994_a;
            }
         }
      }

      return p_77659_1_;
   }
}
项目:RuneCraftery    文件:MovingObjectPosition.java   
public MovingObjectPosition(int p_i2303_1_, int p_i2303_2_, int p_i2303_3_, int p_i2303_4_, Vec3 p_i2303_5_) {
   this.field_72313_a = EnumMovingObjectType.TILE;
   this.field_72311_b = p_i2303_1_;
   this.field_72312_c = p_i2303_2_;
   this.field_72309_d = p_i2303_3_;
   this.field_72310_e = p_i2303_4_;
   this.field_72307_f = p_i2303_5_.field_72447_d.func_72345_a(p_i2303_5_.field_72450_a, p_i2303_5_.field_72448_b, p_i2303_5_.field_72449_c);
}
项目:RuneCraftery    文件:EnumHelper.java   
public static EnumMovingObjectType addMovingObjectType(String name)
{
    if (!isSetup)
    {
        setup();
    }

    return addEnum(EnumMovingObjectType.class, name);
}
项目:RuneCraftery    文件:ItemEnderEye.java   
/**
 * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
 */
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
    MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, false);

    if (movingobjectposition != null && movingobjectposition.typeOfHit == EnumMovingObjectType.TILE)
    {
        int i = par2World.getBlockId(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ);

        if (i == Block.endPortalFrame.blockID)
        {
            return par1ItemStack;
        }
    }

    if (!par2World.isRemote)
    {
        ChunkPosition chunkposition = par2World.findClosestStructure("Stronghold", (int)par3EntityPlayer.posX, (int)par3EntityPlayer.posY, (int)par3EntityPlayer.posZ);

        if (chunkposition != null)
        {
            EntityEnderEye entityendereye = new EntityEnderEye(par2World, par3EntityPlayer.posX, par3EntityPlayer.posY + 1.62D - (double)par3EntityPlayer.yOffset, par3EntityPlayer.posZ);
            entityendereye.moveTowards((double)chunkposition.x, chunkposition.y, (double)chunkposition.z);
            par2World.spawnEntityInWorld(entityendereye);
            par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
            par2World.playAuxSFXAtEntity((EntityPlayer)null, 1002, (int)par3EntityPlayer.posX, (int)par3EntityPlayer.posY, (int)par3EntityPlayer.posZ, 0);

            if (!par3EntityPlayer.capabilities.isCreativeMode)
            {
                --par1ItemStack.stackSize;
            }
        }
    }

    return par1ItemStack;
}
项目:RuneCraftery    文件:RenderGlobal.java   
/**
 * Draws the selection box for the player. Args: entityPlayer, rayTraceHit, i, itemStack, partialTickTime
 */
public void drawSelectionBox(EntityPlayer par1EntityPlayer, MovingObjectPosition par2MovingObjectPosition, int par3, float par4)
{
    if (par3 == 0 && par2MovingObjectPosition.typeOfHit == EnumMovingObjectType.TILE)
    {
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.4F);
        GL11.glLineWidth(2.0F);
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glDepthMask(false);
        float f1 = 0.002F;
        int j = this.theWorld.getBlockId(par2MovingObjectPosition.blockX, par2MovingObjectPosition.blockY, par2MovingObjectPosition.blockZ);

        if (j > 0)
        {
            Block.blocksList[j].setBlockBoundsBasedOnState(this.theWorld, par2MovingObjectPosition.blockX, par2MovingObjectPosition.blockY, par2MovingObjectPosition.blockZ);
            double d0 = par1EntityPlayer.lastTickPosX + (par1EntityPlayer.posX - par1EntityPlayer.lastTickPosX) * (double)par4;
            double d1 = par1EntityPlayer.lastTickPosY + (par1EntityPlayer.posY - par1EntityPlayer.lastTickPosY) * (double)par4;
            double d2 = par1EntityPlayer.lastTickPosZ + (par1EntityPlayer.posZ - par1EntityPlayer.lastTickPosZ) * (double)par4;
            this.drawOutlinedBoundingBox(Block.blocksList[j].getSelectedBoundingBoxFromPool(this.theWorld, par2MovingObjectPosition.blockX, par2MovingObjectPosition.blockY, par2MovingObjectPosition.blockZ).expand((double)f1, (double)f1, (double)f1).getOffsetBoundingBox(-d0, -d1, -d2));
        }

        GL11.glDepthMask(true);
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glDisable(GL11.GL_BLEND);
    }
}
项目:RuneCraftery    文件:Minecraft.java   
private void sendClickBlockToController(int par1, boolean par2)
{
    if (!par2)
    {
        this.leftClickCounter = 0;
    }

    if (par1 != 0 || this.leftClickCounter <= 0)
    {
        if (par2 && this.objectMouseOver != null && this.objectMouseOver.typeOfHit == EnumMovingObjectType.TILE && par1 == 0)
        {
            int j = this.objectMouseOver.blockX;
            int k = this.objectMouseOver.blockY;
            int l = this.objectMouseOver.blockZ;
            this.playerController.onPlayerDamageBlock(j, k, l, this.objectMouseOver.sideHit);

            if (this.thePlayer.isCurrentToolAdventureModeExempt(j, k, l))
            {
                this.effectRenderer.addBlockHitEffects(j, k, l, this.objectMouseOver);
                this.thePlayer.swingItem();
            }
        }
        else
        {
            this.playerController.resetBlockRemoving();
        }
    }
}
项目:RuneCraftery    文件:EnumHelper.java   
public static EnumMovingObjectType addMovingObjectType(String name)
{
    if (!isSetup)
    {
        setup();
    }

    return addEnum(EnumMovingObjectType.class, name);
}
项目:ForestryLegacy    文件:ItemBackpack.java   
private IInventory getInventoryHit(ItemStack itemstack, EntityPlayer player, World world, int x, int y, int z) {

    IInventory inventory = null;

    MovingObjectPosition movingobjectposition = getPlayerTarget(player);

    if (movingobjectposition != null && movingobjectposition.typeOfHit == EnumMovingObjectType.TILE) {
        int i = movingobjectposition.blockX;
        int j = movingobjectposition.blockY;
        int k = movingobjectposition.blockZ;
        TileEntity targeted = world.getBlockTileEntity(i, j, k);

        if (targeted instanceof TileEntityChest) {
            inventory = Utils.getChest((IInventory) targeted);
        } else if (targeted instanceof MachineApiaristChest) {
            if (((ItemBackpack) ForestryItem.apiaristBackpack).isBackpack(itemstack)) {
                inventory = (IInventory) targeted;
            }
        } else if (targeted instanceof IInventory) {
            IInventory test = (IInventory) targeted;
            if (test.getSizeInventory() > 26) {
                inventory = test;
            }
        }
    }

    return inventory;
}
项目:BetterNutritionMod    文件:EnumHelper.java   
public static EnumMovingObjectType addMovingObjectType(String name)
{
    if (!isSetup)
    {
        setup();
    }

    return addEnum(EnumMovingObjectType.class, name);
}
项目:BetterNutritionMod    文件:ItemEnderEye.java   
/**
 * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer
 */
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
{
    MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(par2World, par3EntityPlayer, false);

    if (movingobjectposition != null && movingobjectposition.typeOfHit == EnumMovingObjectType.TILE)
    {
        int i = par2World.getBlockId(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ);

        if (i == Block.endPortalFrame.blockID)
        {
            return par1ItemStack;
        }
    }

    if (!par2World.isRemote)
    {
        ChunkPosition chunkposition = par2World.findClosestStructure("Stronghold", (int)par3EntityPlayer.posX, (int)par3EntityPlayer.posY, (int)par3EntityPlayer.posZ);

        if (chunkposition != null)
        {
            EntityEnderEye entityendereye = new EntityEnderEye(par2World, par3EntityPlayer.posX, par3EntityPlayer.posY + 1.62D - (double)par3EntityPlayer.yOffset, par3EntityPlayer.posZ);
            entityendereye.moveTowards((double)chunkposition.x, chunkposition.y, (double)chunkposition.z);
            par2World.spawnEntityInWorld(entityendereye);
            par2World.playSoundAtEntity(par3EntityPlayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
            par2World.playAuxSFXAtEntity((EntityPlayer)null, 1002, (int)par3EntityPlayer.posX, (int)par3EntityPlayer.posY, (int)par3EntityPlayer.posZ, 0);

            if (!par3EntityPlayer.capabilities.isCreativeMode)
            {
                --par1ItemStack.stackSize;
            }
        }
    }

    return par1ItemStack;
}
项目:BetterNutritionMod    文件:RenderGlobal.java   
/**
 * Draws the selection box for the player. Args: entityPlayer, rayTraceHit, i, itemStack, partialTickTime
 */
public void drawSelectionBox(EntityPlayer par1EntityPlayer, MovingObjectPosition par2MovingObjectPosition, int par3, float par4)
{
    if (par3 == 0 && par2MovingObjectPosition.typeOfHit == EnumMovingObjectType.TILE)
    {
        GL11.glEnable(GL11.GL_BLEND);
        GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
        GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.4F);
        GL11.glLineWidth(2.0F);
        GL11.glDisable(GL11.GL_TEXTURE_2D);
        GL11.glDepthMask(false);
        float f1 = 0.002F;
        int j = this.theWorld.getBlockId(par2MovingObjectPosition.blockX, par2MovingObjectPosition.blockY, par2MovingObjectPosition.blockZ);

        if (j > 0)
        {
            Block.blocksList[j].setBlockBoundsBasedOnState(this.theWorld, par2MovingObjectPosition.blockX, par2MovingObjectPosition.blockY, par2MovingObjectPosition.blockZ);
            double d0 = par1EntityPlayer.lastTickPosX + (par1EntityPlayer.posX - par1EntityPlayer.lastTickPosX) * (double)par4;
            double d1 = par1EntityPlayer.lastTickPosY + (par1EntityPlayer.posY - par1EntityPlayer.lastTickPosY) * (double)par4;
            double d2 = par1EntityPlayer.lastTickPosZ + (par1EntityPlayer.posZ - par1EntityPlayer.lastTickPosZ) * (double)par4;
            this.drawOutlinedBoundingBox(Block.blocksList[j].getSelectedBoundingBoxFromPool(this.theWorld, par2MovingObjectPosition.blockX, par2MovingObjectPosition.blockY, par2MovingObjectPosition.blockZ).expand((double)f1, (double)f1, (double)f1).getOffsetBoundingBox(-d0, -d1, -d2));
        }

        GL11.glDepthMask(true);
        GL11.glEnable(GL11.GL_TEXTURE_2D);
        GL11.glDisable(GL11.GL_BLEND);
    }
}
项目:BetterNutritionMod    文件:Minecraft.java   
private void sendClickBlockToController(int par1, boolean par2)
{
    if (!par2)
    {
        this.leftClickCounter = 0;
    }

    if (par1 != 0 || this.leftClickCounter <= 0)
    {
        if (par2 && this.objectMouseOver != null && this.objectMouseOver.typeOfHit == EnumMovingObjectType.TILE && par1 == 0)
        {
            int j = this.objectMouseOver.blockX;
            int k = this.objectMouseOver.blockY;
            int l = this.objectMouseOver.blockZ;
            this.playerController.onPlayerDamageBlock(j, k, l, this.objectMouseOver.sideHit);

            if (this.thePlayer.isCurrentToolAdventureModeExempt(j, k, l))
            {
                this.effectRenderer.addBlockHitEffects(j, k, l, this.objectMouseOver);
                this.thePlayer.swingItem();
            }
        }
        else
        {
            this.playerController.resetBlockRemoving();
        }
    }
}
项目:Reliquary    文件:EntitySeekerShot.java   
private void onImpact(MovingObjectPosition mop) {
    if (mop.typeOfHit == EnumMovingObjectType.ENTITY && mop.entityHit != null) {
        if (mop.entityHit == shootingEntity) return;
        this.onImpact(mop.entityHit);
    } else if (mop.typeOfHit == EnumMovingObjectType.TILE) {
        this.groundImpact(mop.sideHit);
    }
}
项目:Reliquary    文件:EntitySandShot.java   
private void onImpact(MovingObjectPosition mop) {
    if (mop.typeOfHit == EnumMovingObjectType.ENTITY && mop.entityHit != null) {
        if (mop.entityHit == shootingEntity) return;
        this.onImpact(mop.entityHit);
    } else if (mop.typeOfHit == EnumMovingObjectType.TILE) {
        this.groundImpact(mop.sideHit);
    }
}
项目:Reliquary    文件:EntityConcussiveShot.java   
private void onImpact(MovingObjectPosition mop) {
    if (mop.typeOfHit == EnumMovingObjectType.ENTITY && mop.entityHit != null) {
        if (mop.entityHit == shootingEntity) return;
        this.onImpact(mop.entityHit);
    } else if (mop.typeOfHit == EnumMovingObjectType.TILE) {
        this.groundImpact(mop.sideHit);
    }
}
项目:Reliquary    文件:EntityBusterShot.java   
private void onImpact(MovingObjectPosition mop) {
    if (mop.typeOfHit == EnumMovingObjectType.ENTITY && mop.entityHit != null) {
        if (mop.entityHit == shootingEntity) return;
        this.onImpact(mop.entityHit);
    } else if (mop.typeOfHit == EnumMovingObjectType.TILE) {
        this.groundImpact(mop.sideHit);
    }
}
项目:Reliquary    文件:EntityNeutralShot.java   
private void onImpact(MovingObjectPosition mop) {
    if (mop.typeOfHit == EnumMovingObjectType.ENTITY && mop.entityHit != null) {
        if (mop.entityHit == shootingEntity) return;
        this.onImpact(mop.entityHit);
    } else if (mop.typeOfHit == EnumMovingObjectType.TILE) {
        this.groundImpact(mop.sideHit);
    }
}
项目:Reliquary    文件:EntityExorcismShot.java   
private void onImpact(MovingObjectPosition mop) {
    if (mop.typeOfHit == EnumMovingObjectType.ENTITY && mop.entityHit != null) {
        if (mop.entityHit == shootingEntity) return;
        this.onImpact(mop.entityHit);
    } else if (mop.typeOfHit == EnumMovingObjectType.TILE) {
        this.groundImpact(mop.sideHit);
    }
}
项目:Reliquary    文件:EntityBlazeShot.java   
private void onImpact(MovingObjectPosition mop) {
    if (mop.typeOfHit == EnumMovingObjectType.ENTITY && mop.entityHit != null) {
        if (mop.entityHit == shootingEntity) return;
        this.onImpact(mop.entityHit);
    } else if (mop.typeOfHit == EnumMovingObjectType.TILE) {
        this.groundImpact(mop.sideHit);
    }
}
项目:Reliquary    文件:ItemSojournerStaff.java   
@Override
public ItemStack onItemRightClick(ItemStack ist, World world, EntityPlayer player) {
    if (this.isOnCooldown(ist)) return ist;
    MovingObjectPosition mop = this.getMovingObjectPositionFromPlayer(world, player, true);
    if (mop != null && mop.typeOfHit == EnumMovingObjectType.TILE) {
        float xOff = (float)(mop.blockX - player.posX);
        float yOff = (float)(mop.blockY - player.posY);
        float zOff = (float)(mop.blockZ - player.posZ);
        this.onItemUse(ist, player, world, mop.blockX, mop.blockY, mop.blockZ, mop.sideHit, xOff, yOff, zOff);
    }
    return ist;
}
项目:Reliquary    文件:ItemCondensedPotion.java   
/**
 * Called whenever this item is equipped and the right mouse button is
 * pressed. Args: itemStack, world, entityPlayer
 */
@Override
public ItemStack onItemRightClick(ItemStack ist, World world, EntityPlayer player) {
    if (this.isEmptyVial(ist)) {
        boolean var11 = isEmptyVial(ist);
        MovingObjectPosition mop = this.getMovingObjectPositionFromPlayer(world, player, var11);
        if (mop == null) return ist;
        else {
            if (mop.typeOfHit == EnumMovingObjectType.TILE) {
                int var13 = mop.blockX;
                int var14 = mop.blockY;
                int var15 = mop.blockZ;
                if (world.getBlockMaterial(var13, var14, var15) == Material.water) {
                    if (--ist.stackSize <= 0) return new ItemStack(this, 1, waterVialMeta());
                    if (!player.inventory.addItemStackToInventory(new ItemStack(this, 1, waterVialMeta()))) {
                        player.dropPlayerItem(new ItemStack(this, 1, waterVialMeta()));
                    }
                }
            }
        }
    } else if (!hasEffect(ist)) return ist;
    else if (isPotion(ist)) {
        player.setItemInUse(ist, this.getMaxItemUseDuration(ist));
    } else if (isSplash(ist)) {
        if (world.isRemote) return ist;
        Entity e = getNewPotionEntity(ist, world, player);
        if (e == null) return ist;
        if (!player.capabilities.isCreativeMode) {
            --ist.stackSize;
        }
        world.playSoundAtEntity(player, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
        world.spawnEntityInWorld(e);
    }
    return ist;
}
项目:WeaponsMod    文件:ItemRobotDestoryer.java   
@Override
public ItemStack onItemRightClick(ItemStack item, World world,
        EntityPlayer player)
{
    Entity entity = null;
    player.swingItem();
    MovingObjectPosition mop = player.rayTrace(100, 1F);
    if(mop != null){
        if(mop.typeOfHit == EnumMovingObjectType.ENTITY){
            if(mop.entityHit != null){
                entity = mop.entityHit;
            }
        }
    }
    if(entity instanceof EntityRobot){
        EntityRobot robot = (EntityRobot) entity;
        boolean destroy = false;
        if(robot.getOwner() == null){
            destroy = true;
        }
        else{
            if(robot.getOwner().equals(player.username)){
                destroy = true;
            }
        }
        if(destroy){
            robot.dropItem(robot.getDropItemId(), 1);
            robot.setDead();
            for(int i = 0; i < 250; i ++){
                WorldUtils.spawnPaticleWithOffset(robot.worldObj, "happyVillager", robot.posX, robot.posY + 1, robot.posZ, 0, 1, 0, 0.5, 2, 0.5);   
            }
            for(int i = 0; i < 10; i ++){
                WorldUtils.spawnPaticleWithOffset(robot.worldObj, "largeexplode", robot.posX, robot.posY + 1, robot.posZ, 1, 0, 0, 0.5, 2, 0.5);    
            }
        }
    }
    return item;
}
项目:Electric-Fishing-Pole-2    文件:ItemElectricRod.java   
@Override
    public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player)
    {
        MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, true);

        if (movingobjectposition == null)
        {
            return itemStack;
        }
        else
        {
            if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE)
            {
//                if(tickTimer == 0){
                    if(ElectricItem.manager.canUse(itemStack, 10000)){
                        if(world.getBlockId(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ) == Block.waterStill.blockID || world.getBlockId(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ) == Block.waterMoving.blockID){
                            EntityItem entityItem = new EntityItem(world, movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ, new ItemStack(Item.fishCooked, new Random().nextInt(6)));
                            entityItem.motionX = movingobjectposition.blockX - player.posX*2;
                            entityItem.motionY = movingobjectposition.blockY - player.posY*2;
                            entityItem.motionZ = movingobjectposition.blockZ - player.posZ*2;
                            ElectricItem.manager.use(itemStack, 10000, player);
                            world.spawnEntityInWorld(entityItem);
//                            tickTimer = 10;
                            return itemStack;
                        }
                    }
//                }
            }
            return itemStack;
        }
    }
项目:Electric-Fishing-Pole-2    文件:ItemAdvancedElectricRod.java   
@Override
    public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player)
    {
        MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, true);

        if (movingobjectposition == null)
        {
            return itemStack;
        }
        else
        {
            if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE)
            {
//                if(tickTimer == 0){
                    if(ElectricItem.manager.canUse(itemStack, 10000)){
                        if(world.getBlockId(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ) == Block.waterStill.blockID || world.getBlockId(movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ) == Block.waterMoving.blockID){
                            EntityItem entityItem = new EntityItem(world, movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ, new ItemStack(Item.fishCooked, new Random().nextInt(8)));
                            entityItem.motionX = movingobjectposition.blockX - player.posX*2;
                            entityItem.motionY = movingobjectposition.blockY - player.posY*2;
                            entityItem.motionZ = movingobjectposition.blockZ - player.posZ*2;
                            ElectricItem.manager.use(itemStack, 10000, player);
                            world.spawnEntityInWorld(entityItem);
//                            tickTimer = 20;
                            return itemStack;
                        }
                    }
//                }
            }
            return itemStack;
        }
    }
项目:MysticMods    文件:ItemStaffFire.java   
@Override
public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer entityPlayer) {
    if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
        MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, entityPlayer, true);
        if (movingobjectposition == null) {
            return itemStack;
        } else {
            if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE) {
                int i = movingobjectposition.blockX;
                int j = movingobjectposition.blockY;
                int k = movingobjectposition.blockZ;
                if (!world.canMineBlock(entityPlayer, i, j, k)) {
                    return itemStack;
                }
                if (!entityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, itemStack)) {
                    return itemStack;
                } else {
                    ItemStack result = FurnaceRecipes.smelting().getSmeltingResult(new ItemStack(world.getBlockId(i, j, k), 1, world.getBlockMetadata(i, j, k)));
                    if (!world.isRemote && !(result == null)) {
                        int id = result.itemID;
                        int meta = result.getItemDamage();
                        world.playSoundEffect(i + 0.5D, j + 0.5D, k + 0.5D, "fire.ignite", 1.0F, itemRand.nextFloat() * 0.4F + 0.8F);
                        world.setBlock(i, j, k, 0);
                        world.spawnEntityInWorld(new EntityItem(world, i, j, k, new ItemStack(id, 1, meta)));
                        itemStack.damageItem(1, entityPlayer);
                    }
                }
            }
        }
    } else {
        world.playAuxSFXAtEntity((EntityPlayer) null, 1009, (int) entityPlayer.posX, (int) entityPlayer.posY, (int) entityPlayer.posZ, 0);
        if (!world.isRemote) {
            world.spawnEntityInWorld(new EntityChargeFire(world, entityPlayer));
            itemStack.damageItem(1, entityPlayer);
        }
        return itemStack;
    }
    return itemStack;
}
项目:MysticMods    文件:ItemStaffEarth.java   
@Override
public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer entityPlayer) {
    if (Keyboard.isKeyDown(Keyboard.KEY_RSHIFT) || Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
        MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, entityPlayer, true);
        if (movingobjectposition == null) {
            return itemStack;
        } else {
            if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE) {
                int i = movingobjectposition.blockX;
                int j = movingobjectposition.blockY;
                int k = movingobjectposition.blockZ;
                if (!world.canMineBlock(entityPlayer, i, j, k)) {
                    return itemStack;
                }
                if (!entityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, itemStack)) {
                    return itemStack;
                } else {
                    if (applyBonemeal(itemStack, world, i, j, k, entityPlayer)) {
                        if (!world.isRemote) {
                            world.playAuxSFX(2005, i, j, k, 0);
                        }
                        return itemStack;
                    }
                }
            }
        }
    } else {
        world.playAuxSFXAtEntity((EntityPlayer) null, 1009, (int) entityPlayer.posX, (int) entityPlayer.posY, (int) entityPlayer.posZ, 0);
        if (!world.isRemote) {
            world.spawnEntityInWorld(new EntityChargeEarth(world, entityPlayer));
            itemStack.damageItem(1, entityPlayer);
        }
        return itemStack;
    }
    return itemStack;
}
项目:MineFantasy    文件:ItemMedievalComponent.java   
public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player)
{
    MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, true);

    if (movingobjectposition == null)
    {
        return item;
    }
    else
    {
        if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE)
        {
            int i = movingobjectposition.blockX;
            int j = movingobjectposition.blockY;
            int k = movingobjectposition.blockZ;

            if (!world.canMineBlock(player, i, j, k))
            {
                return item;
            }

            if (!player.canPlayerEdit(i, j, k, movingobjectposition.sideHit, item))
            {
                return item;
            }

            if (isWaterSource(world, i, j, k))
            {
                if(cfg.hardcoreLeather)
                {
                    tryClean(item, world, player, ItemListMF.leatherSalt, 2, new ItemStack(ItemListMF.misc, 1, ItemListMF.leatherRough));
                }
                else
                {
                    tryClean(item, world, player, ItemListMF.leatherSalt, 2, new ItemStack(Item.leather));
                }
                //tryClean(item, world, player, ItemListMF.MoCFurSalt, 5, new ItemStack(ItemListMF.misc, 1, ItemListMF.MoCFurCured));
                //tryClean(item, world, player, ItemListMF.MoCHideSalt, 5, new ItemStack(ItemListMF.misc, 1, ItemListMF.MoCHideCured));
                //tryClean(item, world, player, ItemListMF.MoCReptileSalt, 5, new ItemStack(ItemListMF.misc, 1, ItemListMF.MoCReptileCured));
            }


            if(!world.isRemote && item.isItemEqual(ItemListMF.component(ItemListMF.slag)))
            {
                boolean full = false;
                boolean placed = false;
                if(world.getBlockId(i, j, k) == BlockListMF.slag.blockID)
                {
                int meta = world.getBlockMetadata(i, j, k);
                if(meta < 15)
                {
                    world.setBlockMetadataWithNotify(i, j, k, meta+1, 2);
                    placed = true;
                    if(!player.capabilities.isCreativeMode)
                    {
                        player.getHeldItem().stackSize --;
                    }
                    }
                else
                {
                    full = true;
                }
                }
                if(!placed && (full || !world.isAirBlock(i, j, k)))
                {
                    if(world.isAirBlock(i, j+1, k))
                    {
                        world.setBlock(i, j+1, k, BlockListMF.slag.blockID);

                        if(!player.capabilities.isCreativeMode)
                    {
                        player.getHeldItem().stackSize --;
                    }
                    }
                }
            }
        }

        return item;
    }
}
项目:MineFantasy    文件:ItemHotItem.java   
public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player)
{
    MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, true);

    if (movingobjectposition == null)
    {
        return item;
    }
    else
    {
        if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE)
        {
            int i = movingobjectposition.blockX;
            int j = movingobjectposition.blockY;
            int k = movingobjectposition.blockZ;

            if (!world.canMineBlock(player, i, j, k))
            {
                return item;
            }

            if (!player.canPlayerEdit(i, j, k, movingobjectposition.sideHit, item))
            {
                return item;
            }

            if (isWaterSource(world, i, j, k))
            {
                player.playSound("random.splash", 1.0F, 1.0F);
                player.playSound("random.fizz", 2.0F, 0.5F);

                for(int a = 0; a < 5 ; a ++)
                {
                    world.spawnParticle("largesmoke", i+0.5F, j+1, k+0.5F, 0, 0.065F, 0);
                }

                ItemStack drop = getItem(item).copy();
                drop.stackSize = item.stackSize;
                if(drop != null)
                {
                    item.stackSize = 0;

                    if (item.stackSize <= 0)
                    {
                        return drop.copy();
                    }
                }
            }
        }

        return item;
    }
}
项目:MineFantasy    文件:ItemTongs.java   
public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player)
{
    MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, true);

    if (movingobjectposition == null)
    {
        return item;
    }
    else
    {
        if (movingobjectposition.typeOfHit == EnumMovingObjectType.TILE)
        {
            int i = movingobjectposition.blockX;
            int j = movingobjectposition.blockY;
            int k = movingobjectposition.blockZ;

            if (!world.canMineBlock(player, i, j, k))
            {
                return item;
            }

            if (!player.canPlayerEdit(i, j, k, movingobjectposition.sideHit, item))
            {
                return item;
            }

            if (isWaterSource(world, i, j, k) && TongsHelper.getHeldItem(item) != null)
            {
                ItemStack drop = TongsHelper.getHeldItem(item).copy();
                if(TongsHelper.isCoolableItem(drop))
                {
                    drop = TongsHelper.getHotItem(drop);

                    player.playSound("random.splash", 1.0F, 1.0F);
                    player.playSound("random.fizz", 2.0F, 0.5F);

                    for(int a = 0; a < 5 ; a ++)
                    {
                        world.spawnParticle("largesmoke", i+0.5F, j+1, k+0.5F, 0, 0.065F, 0);
                    }
                }
                drop.stackSize = item.stackSize;
                if(drop != null)
                {
                    player.dropPlayerItem(drop);
                }

                return TongsHelper.clearHeldItem(item, player);
            }
        }

        return item;
    }
}