@SubscribeEvent public static void onPlayerInteract(PlayerInteractEvent.RightClickBlock event) { EntityPlayer player = event.getEntityPlayer(); ItemStack lokiRing = getLokiRing(player); if(lokiRing.isEmpty() || !player.isSneaking())
if(Botania.gardenOfGlassLoaded) { ItemStack equipped = event.getItemStack(); if(equipped.isEmpty() && event.getEntityPlayer().isSneaking()) { Block block = event.getWorld().getBlockState(event.getPos()).getBlock(); if(ImmutableSet.of(Blocks.GRASS, Blocks.GRASS_PATH, Blocks.FARMLAND, Blocks.DIRT, ModBlocks.altGrass).contains(block)) { if(event.getWorld().isRemote) event.getEntityPlayer().swingArm(event.getHand()); else { event.getWorld().playSound(null, event.getPos(), block.getSoundType().getBreakSound(), SoundCategory.BLOCKS, block.getSoundType().getVolume() * 0.4F, block.getSoundType().getPitch() + (float) (Math.random() * 0.2 - 0.1)); event.getEntityPlayer().dropItem(new ItemStack(ModItems.manaResource, 1, 21), false); RayTraceResult rtr = ToolCommons.raytraceFromEntity(event.getWorld(), event.getEntityPlayer(), true, 4.5F); if(rtr != null) { if (rtr.typeOfHit == net.minecraft.util.math.RayTraceResult.Type.BLOCK) { event.getEntityPlayer().setHeldItem(event.getHand(), new ItemStack(ModItems.waterBowl)); else ItemHandlerHelper.giveItemToPlayer(event.getEntityPlayer(), new ItemStack(ModItems.waterBowl));
@SubscribeEvent public void onRightClick(PlayerInteractEvent.RightClickBlock event) { if (!event.getWorld().isRemote) { PhysicsWrapperEntity physObj = ValkyrienWarfareMod.physicsManager.getObjectManagingPos(event.getWorld(), event.getPos()); if (physObj != null) { if (ValkyrienWarfareMod.runAirshipPermissions && !(physObj.wrapping.creator.equals(event.getEntityPlayer().entityUniqueID.toString()) || physObj.wrapping.allowedUsers.contains(event.getEntityPlayer().entityUniqueID.toString()))) { event.getEntityPlayer().sendMessage(new TextComponentString("You need to be added to the airship to do that!" + (physObj.wrapping.creator == null || physObj.wrapping.creator.trim().isEmpty() ? " Try using \"/airshipSettings claim\"!" : ""))); event.setCanceled(true); return; } else { event.setResult(Result.ALLOW); event.setCanceled(false); } } } }
@SubscribeEvent(priority = EventPriority.HIGH) public static void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) { if (FTBUtilitiesConfig.world.isItemRightClickDisabled(event.getItemStack())) { event.setCanceled(true); if (!event.getWorld().isRemote) { event.getEntityPlayer().sendStatusMessage(new TextComponentString("Item disabled!"), true); } return; } if (ClaimedChunks.blockBlockInteractions(event.getEntityPlayer(), event.getPos(), null)) { InvUtils.forceUpdate(event.getEntityPlayer()); event.setCanceled(true); } }
@SubscribeEvent public static void onPlayerInteraction(PlayerInteractEvent.RightClickBlock event) { ItemStack stack = event.getItemStack(); if (!stack.isEmpty() && stack.getItem() == Items.FLINT_AND_STEEL) { if (!event.getWorld().isRemote && !event.getEntityPlayer().capabilities.isCreativeMode && event.getWorld().rand.nextInt(100) >= ConfigHolder.flintChanceToCreateFire) { stack.damageItem(1, event.getEntityPlayer()); if (stack.getItemDamage() >= stack.getMaxDamage()) { stack.shrink(1); } event.setCanceled(true); } } }
@SubscribeEvent public void onBlockRightClick(PlayerInteractEvent.RightClickBlock event){ EntityPlayer player = event.getEntityPlayer(); World world = event.getWorld(); ItemStack stack = event.getItemStack(); BlockPos pos = event.getPos(); if(player != null && world != null && StackUtil.isValid(stack) && pos != null){ IBlockState state = event.getWorld().getBlockState(pos); if(state != null && state.getBlock() instanceof BlockLaserRelay){ if(player.isSneaking()){ event.setUseBlock(Event.Result.ALLOW); } } } }
/** * This event is fired on both sides whenever the player right clicks while targeting a block. This event controls which of {@link net.minecraft.block.Block#onBlockActivated} and/or * {@link net.minecraft.item.Item#onItemUse} will be called after {@link net.minecraft.item.Item#onItemUseFirst} is called. Canceling the event will cause none of the above three to be called. There * are various results to this event, see the getters below. Note that handling things differently on the client vs server may cause desynchronizations! */ @SubscribeEvent public void onRightClickBlock(RightClickBlock event) { //instanceof ItemBlockScaffolding if (event.getItemStack() != null && event.getItemStack().getItem() == this && event.getEntityPlayer().isSneaking()) { EnumFacing opp = event.getFace().getOpposite(); BlockPos dest = UtilWorld.nextReplaceableInDirection(event.getWorld(), event.getPos(), opp, 16, this.getBlock()); this.onItemUse(event.getEntityPlayer(), event.getWorld(), dest, event.getHand(), opp, 0, 0, 0); event.setCanceled(true); } } }
@SubscribeEvent() public void onRightClickBlock(RightClickBlock event) { if (!event.getWorld().isRemote) { ItemStack stack = event.getItemStack(); if (stack != null && stack.getItem() instanceof ItemNameTag) { BlockPos posAt = event.getPos(); EntityPlayer player = event.getEntityPlayer(); World world = event.getWorld(); PhysicsWrapperEntity wrapper = ValkyrienWarfareMod.physicsManager.getObjectManagingPos(world, posAt); if (wrapper != null) { wrapper.setCustomNameTag(stack.getDisplayName()); --stack.stackSize; event.setCanceled(true); } } } }
@SubscribeEvent public void onInteract(PlayerInteractEvent.RightClickBlock event) { if (System.currentTimeMillis() - lastGoddess >= 1000L) { World world = event.getWorld(); BlockPos pos = event.getPos(); ItemStack held = event.getItemStack(); if (held != null && held.getItem() == Items.STICK) { if (world.getBlockState(pos).getBlock() == Blocks.FLOWER_POT) { TileEntityFlowerPot tile = (TileEntityFlowerPot) world.getTileEntity(pos); if (tile != null && tile.getFlowerPotItem() != null) { this.checkFlower(world, pos, event.getEntityPlayer()); } } } } }
@SubscribeEvent public void onInteract(PlayerInteractEvent.RightClickBlock event) { if(event.getUseBlock() == Result.DENY) return; TileEntity tile = event.getWorld().getTileEntity(event.getPos()); if(tile instanceof TileEntitySign && (!emptyHand || event.getEntityPlayer().getHeldItemMainhand().isEmpty()) && event.getEntityPlayer().capabilities.allowEdit && !event.getEntity().isSneaking()) { IBlockState state = event.getWorld().getBlockState(event.getPos()); if(state.getBlock().getRegistryName().toString().contains("tcguideposts")) return; TileEntitySign sign = (TileEntitySign) tile; sign.setPlayer(event.getEntityPlayer()); ReflectionHelper.setPrivateValue(TileEntitySign.class, sign, true, LibObfuscation.IS_EDITABLE); event.getEntityPlayer().openGui(Quark.instance, LibGuiIDs.SIGN, event.getWorld(), event.getPos().getX(), event.getPos().getY(), event.getPos().getZ()); } }
private static void disableItemBlock(PlayerInteractEvent.RightClickBlock event) { if (event.getEntityPlayer().getHeldItem(event.getHand()).getItem() instanceof ItemBlock) event.setUseItem(Event.Result.DENY); } }
@SubscribeEvent public void onRightClickBlock(final PlayerInteractEvent.RightClickBlock event) { // only do tryDrinkWaterInWorld on client-side if the player is sneaking and has an empty main hand if (canWorldDrink(event) && event.getEntityPlayer().isSneaking()) tryDrinkWaterInWorld(event.getEntityPlayer(), true); }
@SubscribeEvent public static void onPlayerInteract(PlayerInteractEvent.RightClickBlock event) { if(hasMultiblock && !isAnchored) { pos = event.getPos(); facingRotation = getRotation(event.getEntityPlayer()); isAnchored = true; } }
@SubscribeEvent public static void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) { if (event.getHand() == EnumHand.OFF_HAND) { ItemStack mainhandStack = event.getEntityPlayer().getHeldItemMainhand(); if (mainhandStack.getItem() instanceof IChiselItem) { event.setCanceled(true); } } }
@SubscribeEvent(priority = EventPriority.HIGH) public void onRightClickGround(PlayerInteractEvent.RightClickBlock event) { List<Quest> quests = HFApi.quests.getCurrentQuests(event.getEntityPlayer()); for (Quest quest : quests) { quest.onRightClickBlock(event.getEntityPlayer(), event.getPos(), event.getFace()); } } }
@SubscribeEvent public void onInteract(PlayerInteractEvent.RightClickBlock event) { if(event.getUseBlock() == Result.DENY) return; TileEntity tile = event.getWorld().getTileEntity(event.getPos()); if(tile instanceof TileEntityNote && (!emptyHand || event.getEntityPlayer().getHeldItemMainhand().isEmpty()) && event.getEntityPlayer().capabilities.allowEdit && !event.getEntity().isSneaking()) { TileEntityNote noteBlock = (TileEntityNote) tile; event.getEntityPlayer().openGui(Quark.instance, LibGuiIDs.NOTE_BLOCK, event.getWorld(), event.getPos().getX(), event.getPos().getY(), event.getPos().getZ()); event.setCanceled(true); } }
@SubscribeEvent public void onInteract(PlayerInteractEvent.RightClickBlock event) { // does the player clicks on an echanting table with moss with 5 levels? if(ItemStack.areItemsEqual(event.getItemStack(), TinkerCommons.matMoss)) { World world = event.getWorld(); BlockPos pos = event.getPos(); if(world.getBlockState(pos).getBlock().getEnchantPowerBonus(world, pos) >= 1.0f) { EntityPlayer player = event.getEntityPlayer(); if(event.getEntityPlayer().experienceLevel >= ModMendingMoss.MENDING_MOSS_LEVELS) { // convert moss to mending moss player.playSound(SoundEvents.ENTITY_EXPERIENCE_ORB_PICKUP, 1f, 1f); if(!event.getWorld().isRemote) { event.getItemStack().shrink(1); player.onEnchant(null, ModMendingMoss.MENDING_MOSS_LEVELS); ItemHandlerHelper.giveItemToPlayer(player, TinkerCommons.matMendingMoss.copy()); event.setUseBlock(Event.Result.DENY); event.setUseItem(Event.Result.DENY); event.setCanceled(true); } } else { player.sendStatusMessage(new TextComponentTranslation("message.mending_moss.not_enough_levels", ModMendingMoss.MENDING_MOSS_LEVELS), true); } } } }
@SubscribeEvent public void onPlayerInteract(PlayerInteractEvent.RightClickBlock event) { ItemStack stack = event.getItemStack(); boolean correctStack = !stack.isEmpty() && stack.getItem() == Items.GLASS_BOTTLE; boolean ender = event.getWorld().provider instanceof WorldProviderEnd; if(correctStack && ender) { if (event.getWorld().isRemote) { event.getEntityPlayer().swingArm(event.getHand()); } else { ItemStack stack1 = new ItemStack(this, 1, 15); ItemHandlerHelper.giveItemToPlayer(event.getEntityPlayer(), stack1); stack.shrink(1); event.getWorld().playSound(null, event.getPos(), SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, 0.5F, 1F); } event.setCanceled(true); event.setCancellationResult(EnumActionResult.SUCCESS); } }
@SubscribeEvent public static void onInteract(PlayerInteractEvent.RightClickBlock event) { TileRedStringInterceptor.onInteract(event.getEntityPlayer(), event.getWorld(), event.getPos(), event.getHand()); }
@SubscribeEvent public static void onPlayerInteract(PlayerInteractEvent.RightClickBlock event) { if(currentMultiblock != null && anchor == null && event.getEntityPlayer() == Minecraft.getMinecraft().player) { anchor = event.getPos(); angle = event.getEntityPlayer().getHorizontalFacing(); event.setCanceled(true); event.setCancellationResult(EnumActionResult.SUCCESS); } }