NetworkHandler.instance().sendToServer( new PacketClick( event.getPos(), event.getFace(), 0, 0, 0, event.getHand() ) ); if( place( held, event.getPos(), event.getFace(), event.getEntityPlayer(), event.getHand(), event.getEntityPlayer().world, PlaceType.INTERACT_FIRST_PASS, 0 ) == EnumActionResult.SUCCESS )
playerInteracted.setCanceled(true); } else if(playerInteracted instanceof PlayerInteractEvent.RightClickBlock){ result = BlockInteract.invoke(null, playerInteracted.getEntityPlayer(), BLOCK, playerInteracted.getPos().getX(), playerInteracted.getPos().getY(), playerInteracted.getPos().getZ(), playerInteracted.getFace().getIndex(), stack);
@SubscribeEvent(priority = EventPriority.HIGHEST) public void onPlayerInteractEvent(PlayerInteractEvent event) { BlockPos pos = event.getPos(); PhysicsWrapperEntity wrapper = ValkyrienWarfareMod.physicsManager.getObjectManagingPos(event.getWorld(), pos); if (wrapper != null) { event.setResult(Result.ALLOW); } }
/** * Handles the cancellation of a certain event. * * @param event the event. * @param player the player causing it. */ private static void handleEventCancellation(@NotNull final PlayerInteractEvent event, @NotNull final EntityPlayer player) { final Block heldBlock = Block.getBlockFromItem(player.getHeldItemMainhand().getItem()); if (heldBlock instanceof AbstractBlockHut || heldBlock instanceof BlockHutField) { event.setCanceled(!onBlockHutPlaced(event.getWorld(), player, heldBlock, event.getPos().offset(event.getFace()))); } }
@Override public QuestLogicState onEvent(QuestStack questStack, Event event, EntityPlayer entityPlayer) { if (event instanceof PlayerInteractEvent.RightClickBlock) { PlayerInteractEvent interactEvent = (PlayerInteractEvent) event; if (!hasInteracted(questStack)) { BlockPos pos = MOQuestHelper.getPosition(questStack); if (pos != null) { if (!pos.equals(((PlayerInteractEvent) event).getPos())) { return null; } } if (mustBeInteractable) { TileEntity tileEntity = interactEvent.getWorld().getTileEntity(interactEvent.getPos()); if (!(tileEntity instanceof IInteractionObject)) { return null; } if (regex != null && ((!((IInteractionObject) tileEntity).hasCustomName()) || !((IInteractionObject) tileEntity).getName().matches(regex))) { return null; } } if (destoryBlock && pos != null) { ((PlayerInteractEvent) event).getWorld().setBlockToAir(pos); } setInteracted(questStack, true); markComplete(questStack, entityPlayer); return new QuestLogicState(QuestState.Type.COMPLETE, true); } } return null; }
public void on(final PlayerInteractEvent event) if (colony.isCoordInColony(event.getWorld(), event.getPos()) && !(event instanceof PlayerInteractEvent.EntityInteract || event instanceof PlayerInteractEvent.EntityInteractSpecific)) final Block block = event.getWorld().getBlockState(event.getPos()).getBlock(); cancelEvent(event, event.getEntityPlayer(), colony, Action.ACCESS_HUTS, event.getPos()); return; if (isFreeToInteractWith(block, event.getPos()) && perms.hasPermission(event.getEntityPlayer(), Action.ACCESS_FREE_BLOCKS)) checkEventCancelation(Action.RIGHTCLICK_BLOCK, event.getEntityPlayer(), event.getWorld(), event, event.getPos()); return; cancelEvent(event, event.getEntityPlayer(), colony, Action.OPEN_CONTAINER, event.getPos()); return; if (event.getWorld().getTileEntity(event.getPos()) != null && !perms.hasPermission(event.getEntityPlayer(), Action.RIGHTCLICK_ENTITY)) checkEventCancelation(Action.RIGHTCLICK_ENTITY, event.getEntityPlayer(), event.getWorld(), event, event.getPos()); return; checkEventCancelation(Action.THROW_POTION, event.getEntityPlayer(), event.getWorld(), event, event.getPos()); return; cancelEvent(event, event.getEntityPlayer(), colony, Action.USE_SCAN_TOOL, event.getPos());
if (signSkullName) { EntityPlayer entityPlayer = event.getEntityPlayer(); BlockPos pos = event.getPos(); World worldObj = event.getWorld(); if (pos == null) {
TileEntity tile = event.getEntityPlayer().world.getTileEntity(event.getPos()); if(tile instanceof IFlagHolder) { ItemStack mainHandItem = event.getItemStack(); ItemStack flag = flags.remove(flags.size() - 1); event.getEntityPlayer().setHeldItem(event.getHand(), flag); event.getEntityPlayer().world.scheduleUpdate(event.getPos(), event.getEntityPlayer().world.getBlockState(event.getPos()).getBlock(), 1); mainHandItem.shrink(1); event.getEntityPlayer().world.scheduleUpdate(event.getPos(), event.getEntityPlayer().world.getBlockState(event.getPos()).getBlock(), 1); event.setCanceled(true);
/** * Make a complete copy of the argument. * @param event to copy over * @return the copy */ private static PlayerInteractEvent copy(PlayerInteractEvent event){ PlayerInteractEvent copy = null; if(event instanceof PlayerInteractEvent.RightClickEmpty) copy = new PlayerInteractEvent.RightClickEmpty(event.getEntityPlayer(), event.getHand()); else if(event instanceof PlayerInteractEvent.LeftClickBlock) { copy = new PlayerInteractEvent.LeftClickBlock(event.getEntityPlayer(), event.getPos(), event.getFace(), ((PlayerInteractEvent.LeftClickBlock) event).getHitVec()); ((PlayerInteractEvent.LeftClickBlock)copy).setUseItem(((PlayerInteractEvent.LeftClickBlock) event).getUseItem()); ((PlayerInteractEvent.LeftClickBlock)copy).setUseBlock(((PlayerInteractEvent.LeftClickBlock) event).getUseBlock()); } else if(event instanceof PlayerInteractEvent.EntityInteractSpecific) copy = new PlayerInteractEvent.EntityInteractSpecific(event.getEntityPlayer(), event.getHand(), ((PlayerInteractEvent.EntityInteractSpecific) event).getTarget(), ((PlayerInteractEvent.EntityInteractSpecific) event).getLocalPos()); else if(event instanceof PlayerInteractEvent.EntityInteract) copy = new PlayerInteractEvent.EntityInteract(event.getEntityPlayer(), event.getHand(), ((PlayerInteractEvent.EntityInteract) event).getTarget()); else if(event instanceof PlayerInteractEvent.RightClickBlock) { copy = new PlayerInteractEvent.RightClickBlock(event.getEntityPlayer(), event.getHand(), event.getPos(), event.getFace(), ((PlayerInteractEvent.RightClickBlock) event).getHitVec()); ((PlayerInteractEvent.RightClickBlock)copy).setUseItem(((PlayerInteractEvent.RightClickBlock) event).getUseItem()); ((PlayerInteractEvent.RightClickBlock)copy).setUseBlock(((PlayerInteractEvent.RightClickBlock) event).getUseBlock()); } else if(event instanceof PlayerInteractEvent.RightClickItem) copy = new PlayerInteractEvent.RightClickItem(event.getEntityPlayer(),event.getHand()); if(event.isCanceled()){ copy.setCanceled(true); } return copy; }
BlockPos pos = evt.getPos(); World world = evt.getWorld(); IBlockState state = world.getBlockState(pos);