@Override public boolean canInteractWith(@Nonnull EntityPlayer player) { return player.getHeldItemMainhand() == baubleBoxInv.box || player.getHeldItemOffhand() == baubleBoxInv.box; }
@Override public boolean canInteractWith(@Nonnull EntityPlayer player) { return player.getHeldItemMainhand() == flowerBagInv.bag || player.getHeldItemOffhand() == flowerBagInv.bag; }
public void trySpawnBurst(EntityPlayer player) { if (!player.getHeldItemMainhand().isEmpty() && player.getHeldItemMainhand().getItem() == this && player.getCooledAttackStrength(0) == 1) { EntityManaBurst burst = getBurst(player, player.getHeldItemMainhand()); player.world.spawnEntity(burst); ToolCommons.damageItem(player.getHeldItemMainhand(), 1, player, MANA_PER_DAMAGE); player.world.playSound(null, player.posX, player.posY, player.posZ, ModSounds.terraBlade, SoundCategory.PLAYERS, 0.4F, 1.4F); } }
public static boolean hasHeldItemClass(EntityPlayer player, Class<?> template) { return !player.getHeldItemMainhand().isEmpty() && template.isAssignableFrom(player.getHeldItemMainhand().getItem().getClass()) || !player.getHeldItemOffhand().isEmpty() && template.isAssignableFrom(player.getHeldItemOffhand().getItem().getClass()); }
public static ItemStack getFirstHeldItemClass(EntityPlayer player, Class<?> template) { ItemStack main = player.getHeldItemMainhand(); ItemStack offhand = player.getHeldItemOffhand(); if(!main.isEmpty() && template.isAssignableFrom(main.getItem().getClass())) { return main; } else if(!offhand.isEmpty() && template.isAssignableFrom(offhand.getItem().getClass())) { return offhand; } else return ItemStack.EMPTY; }
public static boolean hasHeldItem(EntityPlayer player, Item item) { return !player.getHeldItemMainhand().isEmpty() && player.getHeldItemMainhand().getItem() == item || !player.getHeldItemOffhand().isEmpty() && player.getHeldItemOffhand().getItem() == item; }
public static boolean hasAnyHeldItem(EntityPlayer player) { return !player.getHeldItemMainhand().isEmpty() || !player.getHeldItemOffhand().isEmpty(); }
public static ItemStack getFirstHeldItem(EntityPlayer player, Item item) { ItemStack main = player.getHeldItemMainhand(); ItemStack offhand = player.getHeldItemOffhand(); if(!main.isEmpty() && item == main.getItem()) { return main; } else if(!offhand.isEmpty() && item == offhand.getItem()) { return offhand; } else return ItemStack.EMPTY; }
@SubscribeEvent public void onHarvestDrops(HarvestDropsEvent event) { if(event.getHarvester() != null) { ItemStack stack = event.getHarvester().getHeldItemMainhand(); if(!stack.isEmpty() && (stack.getItem() == this || stack.getItem() == ModItems.terraPick && ItemTerraPick.isTipped(stack))) { event.getDrops().removeIf(s -> !s.isEmpty() && (isDisposable(s) || isSemiDisposable(s) && !event.getHarvester().isSneaking())); } } }
@SubscribeEvent public void onBlockDrops(HarvestDropsEvent event) { if(event.getHarvester() != null && event.getState() != null && event.getDrops() != null && event.getDrops().isEmpty() && !event.getHarvester().getHeldItemMainhand().isEmpty() && event.getHarvester().getHeldItemMainhand().getItem() == this && event.getState().getMaterial() == Material.GLASS && event.getState().getBlock().canSilkHarvest(event.getWorld(), event.getPos(), event.getState(), event.getHarvester())) event.getDrops().add(new ItemStack(event.getState().getBlock(), 1, event.getState().getBlock().getMetaFromState(event.getState()))); }
float check = haste == null ? 0.16666667F : haste.getAmplifier() == 1 ? 0.5F : 0.4F; if(player.getHeldItemMainhand() == par1ItemStack && player.swingProgress == check && !world.isRemote) { RayTraceResult pos = ToolCommons.raytraceFromEntity(world, par3Entity, true, 48); if(pos != null && pos.getBlockPos() != null) {
protected void tickServer(ItemStack stack, EntityPlayer player) { TIntArrayList entPosBuilder = new TIntArrayList(); NBTTagList blockPosBuilder = new NBTTagList(); scanForStack(player.getHeldItemMainhand(), player, entPosBuilder, blockPosBuilder); scanForStack(player.getHeldItemOffhand(), player, entPosBuilder, blockPosBuilder); int[] currentEnts = entPosBuilder.toArray(); boolean entsEqual = Arrays.equals(currentEnts, ItemNBTHelper.getIntArray(stack, TAG_ENTITY_POSITIONS)); boolean blocksEqual = blockPosBuilder.equals(ItemNBTHelper.getList(stack, TAG_BLOCK_POSITIONS, Constants.NBT.TAG_LONG, false)); if(!entsEqual) ItemNBTHelper.setIntArray(stack, TAG_ENTITY_POSITIONS, currentEnts); if(!blocksEqual) ItemNBTHelper.setList(stack, TAG_BLOCK_POSITIONS, blockPosBuilder); if(!entsEqual || !blocksEqual) BotaniaAPI.internalHandler.sendBaubleUpdatePacket(player, 4); }
@SubscribeEvent public static void onWorldRenderLast(RenderWorldLastEvent event) { World world = Minecraft.getMinecraft().world; List<EntityPlayer> playerEntities = world.playerEntities; for (EntityPlayer player : playerEntities) { ItemStack currentStack = player.getHeldItemMainhand(); if(currentStack.isEmpty() || !(currentStack.getItem() instanceof ItemAstrolabe)) currentStack = player.getHeldItemOffhand(); if(!currentStack.isEmpty() && currentStack.getItem() instanceof ItemAstrolabe) { Block block = ItemAstrolabe.getBlock(currentStack); if(block != Blocks.AIR) renderPlayerLook(player, currentStack); } } }
@Override public void onUpdate(ItemStack stack, World world, Entity par3Entity, int slot, boolean held) { if(!(par3Entity instanceof EntityPlayer)) return; int ticksTillExpire = ItemNBTHelper.getInt(stack, TAG_TICKS_TILL_EXPIRE, 0); int ticksCooldown = ItemNBTHelper.getInt(stack, TAG_TICKS_COOLDOWN, 0); if(ticksTillExpire == 0) { ItemNBTHelper.setInt(stack, TAG_TARGET, -1); ItemNBTHelper.setDouble(stack, TAG_DIST, -1); } if(ticksCooldown > 0) ticksCooldown--; ticksTillExpire--; ItemNBTHelper.setInt(stack, TAG_TICKS_TILL_EXPIRE, ticksTillExpire); ItemNBTHelper.setInt(stack, TAG_TICKS_COOLDOWN, ticksCooldown); EntityPlayer player = (EntityPlayer) par3Entity; PotionEffect haste = player.getActivePotionEffect(MobEffects.HASTE); float check = haste == null ? 0.16666667F : haste.getAmplifier() == 1 ? 0.5F : 0.4F; if(player.getHeldItemMainhand() == stack && player.swingProgress == check && !world.isRemote) leftClick(player); }
@Override @SideOnly(Side.CLIENT) public List<BlockPos> getWireframesToDraw(EntityPlayer player, ItemStack stack) { ItemStack holding = player.getHeldItemMainhand(); if(holding != stack || !canExchange(stack)) return ImmutableList.of();
@SubscribeEvent public void onEntityDrops(LivingDropsEvent event) { if(event.isRecentlyHit() && event.getSource().getTrueSource() != null && event.getSource().getTrueSource() instanceof EntityPlayer) { ItemStack weapon = ((EntityPlayer) event.getSource().getTrueSource()).getHeldItemMainhand(); if(!weapon.isEmpty() && weapon.getItem() == this) { Random rand = event.getEntityLiving().world.rand; int looting = EnchantmentHelper.getEnchantmentLevel(Enchantments.FORTUNE, weapon); if(event.getEntityLiving() instanceof AbstractSkeleton && rand.nextInt(26) <= 3 + looting) addDrop(event, new ItemStack(Items.SKULL, 1, event.getEntityLiving() instanceof EntityWitherSkeleton ? 1 : 0)); else if(event.getEntityLiving() instanceof EntityZombie && !(event.getEntityLiving() instanceof EntityPigZombie) && rand.nextInt(26) <= 2 + 2 * looting) addDrop(event, new ItemStack(Items.SKULL, 1, 2)); else if(event.getEntityLiving() instanceof EntityCreeper && rand.nextInt(26) <= 2 + 2 * looting) addDrop(event, new ItemStack(Items.SKULL, 1, 4)); else if(event.getEntityLiving() instanceof EntityPlayer && rand.nextInt(11) <= 1 + looting) { ItemStack stack = new ItemStack(Items.SKULL, 1, 3); ItemNBTHelper.setString(stack, "SkullOwner", event.getEntityLiving().getName()); addDrop(event, stack); } else if(event.getEntityLiving() instanceof EntityDoppleganger && rand.nextInt(13) < 1 + looting) addDrop(event, new ItemStack(ModItems.gaiaHead)); } } }
ItemStack currentStack = player.getHeldItemMainhand(); if(currentStack.isEmpty() || !(currentStack.getItem() instanceof ISortableTool)) return;
int color = Color.HSBtoRGB(ClientTickHandler.ticksInGame % 200 / 200F, 0.6F, 1F); if(!player.getHeldItemMainhand().isEmpty() && player.getHeldItemMainhand().getItem() instanceof ICoordBoundItem) { BlockPos coords = ((ICoordBoundItem) player.getHeldItemMainhand().getItem()).getBinding(player.getHeldItemMainhand()); if(coords != null) renderBlockOutlineAt(coords, color);
public static void leftClick(EntityPlayer player) { ItemStack stack = player.getHeldItemMainhand(); if(!stack.isEmpty() && stack.getItem() == ModItems.gravityRod) { int targetID = ItemNBTHelper.getInt(stack, TAG_TARGET, -1);
@Override public void onBlockClicked(@Nonnull World world, @Nonnull BlockPos pos, @Nonnull EntityPlayer player) { ItemStack equipped = player.getHeldItemMainhand(); if (!world.isRemote || !player.isSneaking() || equipped.isEmpty() || !ToolUtil.isToolEquipped(player, EnumHand.MAIN_HAND)) { return; } ConduitUtil.openConduitGui(world, pos, player); }