if(!event.getWorld().isRemote) { if(originCoords.getY() == -1) { setOriginPos(lokiRing, lookPos.getBlockPos());
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)); RayTraceResult rtr = ToolCommons.raytraceFromEntity(event.getWorld(), event.getEntityPlayer(), true, 4.5F); if(rtr != null) { if (rtr.typeOfHit == net.minecraft.util.math.RayTraceResult.Type.BLOCK) { if(event.getWorld().getBlockState(rtr.getBlockPos()).getMaterial() == Material.WATER) { if(!event.getWorld().isRemote) { equipped.shrink(1);
@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 public void onChestClicked(PlayerInteractEvent.RightClickBlock evt) { World world = evt.getWorld(); BlockPos pos = evt.getPos(); EntityPlayer player = evt.getEntityPlayer(); if (!player.capabilities.isCreativeMode && !player.isSneaking() && isChest(world, pos)) { AWGameData.INSTANCE.getData(world, StructureMap.class).getStructureAt(world, pos).ifPresent(structure -> { for (NpcFaction factionNpc : world.getEntitiesWithinAABB(NpcFaction.class, structure.getBB().getAABB())) { if (!factionNpc.isPassive()) { evt.setCanceled(true); evt.setCancellationResult(EnumActionResult.FAIL); player.sendStatusMessage(new TextComponentTranslation("gui.ancientwarfarenpc.no_chest_access", StringUtils.capitalize(factionNpc.getFaction())), true); } } }); } }
@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 void drawingInteractionPrevention( final RightClickBlock pie ) { if ( pie.getWorld() != null && pie.getWorld().isRemote ) { final ChiselToolType tool = getHeldToolType( pie.getHand() ); final IToolMode chMode = ChiselModeManager.getChiselMode( getPlayer(), tool, pie.getHand() ); final BitLocation other = getStartPos(); if ( ( chMode == ChiselMode.DRAWN_REGION || tool == ChiselToolType.TAPEMEASURE ) && other != null ) { // this handles the client side, but the server side will fire // separately. pie.setCanceled( true ); } } }
/** * 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 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); } } } }
@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(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()); } }
@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 onRightClick(PlayerInteractEvent.RightClickBlock event) { // Force allow right clicking with a fluid container passing through to this block if (!event.getItemStack().isEmpty() && event.getItemStack().hasCapability(CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY, null) && event.getWorld().getBlockState(event.getPos()).getBlock() == this) { event.setUseBlock(Event.Result.ALLOW); } }
@SubscribeEvent public void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) { World world = event.getWorld(); if(!event.getItemStack().isEmpty() && event.getItemStack().getItem() == Items.PAPER) { if(world.getBlockState(event.getPos()).getBlock() == DeviceBlocks.PRINTER) { event.setUseBlock(Event.Result.ALLOW); } } }
@SubscribeEvent public void onRightClickBlock(PlayerInteractEvent.RightClickBlock event) { if (CROPS.contains(event.getWorld().getBlockState(event.getPos()).getBlock())) { event.setUseItem(Result.DENY); } } }
@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 onRightClick(PlayerInteractEvent.RightClickBlock event) { // Force allow shift-right clicking with a fluid container passing through to this block if (!event.getItemStack().isEmpty() && event.getItemStack().hasCapability(CapabilityFluidHandler.FLUID_HANDLER_ITEM_CAPABILITY, null) && event.getWorld().getBlockState(event.getPos()).getBlock() instanceof IBlockTank) { event.setUseBlock(Event.Result.ALLOW); } }
@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()); }