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_; }
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); } }
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(); } } }
@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); } } } } }
/** * 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; } }
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; }
@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; }
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; }
@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); } } } } } } } }
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_; } }
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_; } } }
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_; } }
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); }
public static EnumMovingObjectType addMovingObjectType(String name) { if (!isSetup) { setup(); } return addEnum(EnumMovingObjectType.class, name); }
/** * 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; }
/** * 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); } }
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(); } } }
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; }
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); } }
@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; }
/** * 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; }
@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; }
@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; } }
@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; } }
@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; }
@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; }
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; } }
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; } }
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; } }