public static void onPlayerInteract(PlayerInteractEvent event) { if (EtFuturum.enableGrassPath) if (event.entityPlayer != null) { World world = event.entityPlayer.worldObj; if (event.action == Action.RIGHT_CLICK_BLOCK) if (world.getBlock(event.x, event.y, event.z) == Blocks.grass) { ItemStack stack = event.entityPlayer.getCurrentEquippedItem(); if (stack != null && (stack.getItem() instanceof ItemSpade || isTinkersShovel(stack))) { world.setBlock(event.x, event.y, event.z, ModBlocks.grass_path); event.entityPlayer.swingItem(); stack.damageItem(1, event.entityPlayer); world.playSoundEffect(event.x + 0.5F, event.y + 0.5F, event.z + 0.5F, Block.soundTypeGravel.getStepResourcePath(), 1.0F, 0.8F); } } } }
@SubscribeEvent public void handleCropRightClick(PlayerInteractEvent event) { int x = event.x, y = event.y, z = event.z; Block block = event.world.getBlock(x, y, z); int meta = event.world.getBlockMetadata(x, y, z); if (ConfigHandler.allowCropRC && event.action == Action.RIGHT_CLICK_BLOCK && (event.entityPlayer.getHeldItem() == null || !event.entityPlayer.isSneaking())) { for (PlantInfo info : plants) { if (info.blockInst == block && meta == info.meta) { if (event.world.isRemote) { event.entityPlayer.swingItem(); } else { currentPlant = info; block.dropBlockAsItem(event.world, x, y, z, meta, 0); currentPlant = null; event.world.setBlockMetadataWithNotify(x, y, z, info.resetMeta, 3); event.setCanceled(true); } break; } } } }
@SubscribeEvent public void onPlayerInteract(PlayerInteractEvent event) { if (event.entityPlayer.worldObj.isRemote) return; ItemStack itemInHand = event.entityPlayer.getCurrentEquippedItem(); if (itemInHand == null) { return; } //Disable interaction between Mek and OpenBlock tanks and TFC Barrels or Vessels **Dupe bug*** boolean validAction = event.action == Action.RIGHT_CLICK_BLOCK; if(validAction) { Block target = event.world.getBlock(event.x, event.y, event.z); if (target == TFCBlocks.barrel || target == TFCBlocks.vessel) { String name = itemInHand.getUnlocalizedName(); if (name.contains("tile.openblocks.tank") || name.contains("tile.MachineBlock2.PortableTank") || name.contains("ImmersiveEngineering.drill") || name.contains("ImmersiveEngineering.chemthrower") || name.contains("ImmersiveEngineering.jerrycan") || name.contains("MachineBlock2")){ event.setCanceled(true); return; } } } }
/** * Called when the player left-clicks */ @Override public boolean onEntitySwing( final EntityLivingBase entity, final ItemStack wandStack ) { // Is the entity a player? if( entity instanceof EntityPlayer ) { // Cast to player EntityPlayer player = (EntityPlayer)entity; // Ray trace MovingObjectPosition position = this.getMovingObjectPositionFromPlayer( player.worldObj, player, true ); // Was a block hit? if( ( position != null ) && ( position.typeOfHit == MovingObjectType.BLOCK ) ) { // Use the focus return this.onUse( player.worldObj, player, position, wandStack, Action.LEFT_CLICK_BLOCK ); } } return false; }
@SubscribeEvent public void onEntityInteract(EntityInteractEvent ev) { if(ev.entity.worldObj.isRemote || ev.isCanceled()) { return; } int x = (int) Math.floor(ev.target.posX); int y = (int) Math.floor(ev.target.posY); int z = (int) Math.floor(ev.target.posZ); Resident res = MyTownUniverse.instance.getOrMakeResident(ev.entityPlayer); ProtectionManager.checkInteraction(ev.target, res, ev); if(!ev.isCanceled() && ev.entityPlayer.getHeldItem() != null) { BlockPos bp = new BlockPos(x, y, z, ev.target.dimension); ProtectionManager.checkUsage(ev.entityPlayer.getHeldItem(), res, PlayerInteractEvent.Action.RIGHT_CLICK_AIR, bp, -1, ev); } }
@SubscribeEvent public void onInteract(PlayerInteractEvent pie){ if(pie.action==Action.RIGHT_CLICK_BLOCK) { ItemStack i=pie.entityPlayer.getCurrentEquippedItem(); if(i!=null && i.getItem().equals(Items.flint_and_steel)){ PortalHandler.establishPortal(pie.world, pie.x, pie.y, pie.z, pie.face); } if(Properties.enableSimpleSetSpawn && pie.world instanceof WorldServer && pie.world.getBlock(pie.x, pie.y, pie.z)==Blocks.bed) { ChunkCoordinates bedPosition=new ChunkCoordinates(pie.x, pie.y, pie.z); pie.entityPlayer.setSpawnChunk(bedPosition, false); pie.entityPlayer.addChatComponentMessage(new ChatComponentText("Spawn reset to ("+pie.x+", "+pie.y+", "+pie.z+")")); } } }
@SubscribeEvent public void onPlayerInteractEvent(PlayerInteractEvent event) { if (Util.isClientSide()) { if (event.action != Action.RIGHT_CLICK_BLOCK) { return; } EntityPlayer player = event.entityPlayer; if (player == null) { return; } if (player.getHeldItem() == null || !(player.getHeldItem().getItem() instanceof ItemBlockManipulator) || player.getHeldItem().stackTagCompound == null || !(player.getHeldItem().getItem() instanceof OEItemInterface)) { return; } NBTTagCompound nbt = new NBTTagCompound(); nbt.setInteger("x", event.x); nbt.setInteger("y", event.y); nbt.setInteger("z", event.z); nbt.setInteger("face", event.face);// Bottom = 0, Top = 1, Sides = 2-5 NetworkUtil.sendToServer(Channel.BlockManipulater, nbt); event.setCanceled(true); } }
@SubscribeEvent public boolean onPlayerInteract(PlayerInteractEvent event){ if(event.action == Action.RIGHT_CLICK_BLOCK && isListeningToCoordTrackerSetting) { isListeningToCoordTrackerSetting = false; ForgeDirection dir = ForgeDirection.getOrientation(event.face); reset(); ItemStack stack = event.entityPlayer.getCurrentArmor(3); if(stack != null) { NBTTagCompound tag = NBTUtil.getCompoundTag(stack, "CoordTracker"); tag.setInteger("dimID", event.entity.worldObj.provider.dimensionId); tag.setInteger("x", event.x + dir.offsetX); tag.setInteger("y", event.y + dir.offsetY); tag.setInteger("z", event.z + dir.offsetZ); } NetworkHandler.sendToServer(new PacketCoordTrackUpdate(event.entity.worldObj, event.x + dir.offsetX, event.y + dir.offsetY, event.z + dir.offsetZ)); } return false; }
@SubscribeEvent public void eventPlayerInteractEvent(PlayerInteractEvent event) { World world = event.world; int x = event.x; int y = event.y; int z = event.z; EntityPlayer player = event.entityPlayer; if (player != null && player.getHeldItem() != null && player.getHeldItem().getItem() == Items.stick) { if (TOConfig.debugEnable && TOConfig.debugScanner && !world.isRemote && event.action.equals(Action.RIGHT_CLICK_BLOCK) && player.capabilities.isCreativeMode) { int radius = TOConfig.debugRemoverScannerRadius; int[] counter = new int[] { 0, 0, 0, 0, 0, 0 }; for (int xx = x - radius; xx < x + radius; xx++) for (int zz = z - radius; zz < z + radius; zz++) for (int yy = 0; yy < 257; yy++) if ((world.getBlock(xx, yy, zz) instanceof BlockInfusedBlockOre) && world.getBlockMetadata(xx, yy, zz) < 6) counter[world.getBlockMetadata(xx, yy, zz)]++; String text = "[DEBUG " + ThaumOresMod.NAME + "] Scanned blocks at " + x + ";" + z + " with radius " + radius; for (int meta = 0; meta < 6; meta++) text += "\n Count ores with meta " + meta + " = " + counter[meta]; for (String string : text.split("\n")) { ThaumOresMod.log.info(string); player.addChatMessage(new ChatComponentText(string)); } } } }
public static InteractionType getInteractionType(final PlayerInteractEvent event) { if (event.action != Action.RIGHT_CLICK_BLOCK) return Nothing; if(event.entityPlayer.capabilities.isCreativeMode) { final ItemStack held = event.entityPlayer.getHeldItem(); if(held != null && held.getItem() == CONFIGURE_ITEM) { return Configure; } } return Use; }
@SubscribeEvent public void playerInteractEventHandler(PlayerInteractEvent event) { // if(event.world.isRemote) // { //generate the json file // generateJson(); // get players held item ItemStack heldItem = event.entityPlayer.inventory.getCurrentItem(); //Toggle mode on key press if(event.world.isRemote) { if (event.action == Action.RIGHT_CLICK_AIR && key.config.isPressed()) { //Load the json file // load(); if(clientSetting != 3) clientSetting++; if(clientSetting >= 3) clientSetting = 0; event.entityPlayer.addChatMessage(new ChatComponentText(StatCollector.translateToLocal("torchieeeeness_key" + clientSetting))); // Save the json file // save(); PacketHandler.INSTANCE.sendToServer(new MessageSettings(clientSetting)); } // } } if(serverSetting != 0 && !(event.world.getTileEntity(event.x, event.y, event.z) instanceof TileEntity)) { if(serverSetting == 1) placeAnything(event); if(serverSetting == 2) placeOnlyTorchs(event); } }
@SubscribeEvent public void onWrenchBlock(PlayerInteractEvent event) { if (!event.world.isRemote && event.action == Action.RIGHT_CLICK_BLOCK) { EntityPlayer player = event.entityPlayer; ItemStack itemInHand = player.getCurrentEquippedItem(); if (player.isSneaking() && itemInHand != null && itemInHand.getItem() == InitItems.wrench) { wrenchBlock(new Location(event.world, event.x, event.y, event.z), player); } } }
@SubscribeEvent public void placeBlockEvent(PlayerInteractEvent event) { EntityPlayer p = event.entityPlayer; if(event.action == Action.RIGHT_CLICK_BLOCK) { Block clickedBlock = HelperActions.getBlock(event.x, event.y, event.z); if (HelperActions.blockIsOneOf(clickedBlock, HelperActions.unbreakableBlocks) && event.y < p.posY) { List<HelperPos> blockPoss = new ArrayList<HelperPos>(); blockPoss.add(new HelperPos(event.x, event.y + 1, event.z)); blockPoss.add(new HelperPos(event.x, event.y, event.z + 1)); blockPoss.add(new HelperPos(event.x, event.y, event.z - 1)); blockPoss.add(new HelperPos(event.x + 1, event.y, event.z)); blockPoss.add(new HelperPos(event.x - 1, event.y, event.z)); for (HelperPos pos : blockPoss) { String key = pos.x + "," + pos.y + "," + pos.z; if (HelperActions.blockIsOneOf(HelperActions.getBlock(pos), HelperActions.mineableBlocks) && !MinecraftStateGeneratorHelper.blockNameMap.containsKey(key)) { int blockID = HelperActions.getBlockId(pos.x, pos.y, pos.z); ArrayList<String> blockNames = MinecraftStateGeneratorHelper.invBlockNameMap.get(blockID); if (blockNames != null && blockNames.size() == 1) { MinecraftStateGeneratorHelper.blockNameMap.put(key, blockNames.get(0)); MinecraftStateGeneratorHelper.invBlockNameMap.remove(blockID); } else { if(blockNames != null) { MinecraftStateGeneratorHelper.blockNameMap.put(key, blockNames.get(0)); blockNames.remove(0); } } break; } } } } }
@SubscribeEvent public void blockPlaceEvent(PlayerInteractEvent event) { ForgeDirection direction = ForgeDirection.getOrientation(event.face); if(!event.world.isRemote && Action.RIGHT_CLICK_BLOCK == event.action && event.entityPlayer != null && AtmosphereHandler.getOxygenHandler(event.world.provider.dimensionId) != null && !AtmosphereHandler.getOxygenHandler(event.world.provider.dimensionId).getAtmosphereType(event.x + direction.offsetX, event.y + direction.offsetY, event.z + direction.offsetZ).allowsCombustion()) { if(event.entityPlayer.getCurrentEquippedItem() != null) { if(event.entityPlayer.getCurrentEquippedItem().getItem() == Item.getItemFromBlock(Blocks.torch) && event.world.getBlock(event.x, event.y, event.z).isSideSolid(event.world, event.x, event.y, event.z, direction)) { event.setCanceled(true); event.world.setBlock(event.x + direction.offsetX, event.y + direction.offsetY, event.z + direction.offsetZ, AdvancedRocketryBlocks.blockUnlitTorch); } else if(zmaster587.advancedRocketry.api.Configuration.torchBlocks.contains(Block.getBlockFromItem(event.entityPlayer.getCurrentEquippedItem().getItem())) ) event.setCanceled(true); else if(event.entityPlayer.getCurrentEquippedItem().getItem() == Items.flint_and_steel || event.entityPlayer.getCurrentEquippedItem().getItem() == Items.fire_charge || event.entityPlayer.getCurrentEquippedItem().getItem() == Items.blaze_powder || event.entityPlayer.getCurrentEquippedItem().getItem() == Items.blaze_rod || event.entityPlayer.getCurrentEquippedItem().getItem() == Items.lava_bucket) event.setCanceled(true); } } if(!event.world.isRemote && event.entityPlayer != null && event.action == PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK && event.entityPlayer.getCurrentEquippedItem() != null && event.entityPlayer.getCurrentEquippedItem().getItem() == Items.bed && event.world.provider instanceof WorldProviderPlanet) { AdvancedRocketryItems.itemAstroBed.onItemUse( event.entityPlayer.getCurrentEquippedItem(), event.entityPlayer, event.entityPlayer.worldObj, event.x, event.y, event.z, event.face, 0, 0, 0); event.setCanceled(true); } if(!event.world.isRemote && event.entityPlayer != null && event.entityPlayer.getCurrentEquippedItem() != null && event.entityPlayer.getCurrentEquippedItem().getItem() == Item.getItemFromBlock(AdvancedRocketryBlocks.blockGenericSeat) && event.world.getBlock(event.x, event.y, event.z) == Blocks.tnt) { event.entityPlayer.triggerAchievement(ARAchivements.beerOnTheSun); } }
@SubscribeEvent public void PlayerRightClickEvent(PlayerInteractEvent event) { if(ConfigHandler.allowCropFeature) { EntityPlayer player = event.entityPlayer; World world = event.world; Block crop = world.getBlock(event.x, event.y, event.z); int cropMeta = world.getBlockMetadata(event.x, event.y, event.z); int dropRate = event.world.rand.nextInt(3) + 1; ItemStack drops = new ItemStack(crop.getItemDropped(cropMeta, event.world.rand, Short.MAX_VALUE), dropRate); if(player.getCurrentEquippedItem() == null && event.action == Action.RIGHT_CLICK_BLOCK && crop != null) { if(crop instanceof BlockCrops && cropMeta >= 7) { event.entityPlayer.swingItem(); if(!world.isRemote) { EntityItem droppedItem = new EntityItem(world, event.x, event.y, event.z, drops); world.setBlockMetadataWithNotify(event.x, event.y, event.z, 0, 3); world.spawnEntityInWorld(droppedItem); } } } } }
@SubscribeEvent public void onPlayerRightClickBlock(PlayerInteractEvent event) { if (!event.entity.worldObj.isRemote && event.action == Action.RIGHT_CLICK_BLOCK) { AtlasAPI.getTileAPI().putCustomGlobalTile(event.entity.worldObj, customTileName, event.x >> 4, event.z >> 4); } }
@SubscribeEvent(priority=EventPriority.LOW) public void onPlayerInteract(PlayerInteractEvent event) { BlockDoor door = (BlockDoor)Blocks.wooden_door; BlockLocation loc = BlockLocation.get(event.world, event.x, event.y, event.z); if ((event.action != Action.RIGHT_CLICK_BLOCK) || event.entityPlayer.isSneaking() || !(loc.getBlock() == door)) return; int direction = getDoorOrientation(door, loc); boolean isOpen = isDoorOpen(door, loc); boolean isMirrored = isDoorMirrored(door, loc); int i = (isMirrored ? -1 : 1); switch (direction) { case 0: loc = loc.relative(0, 0, i); break; case 1: loc = loc.relative(-i, 0, 0); break; case 2: loc = loc.relative(0, 0, -i); break; case 3: loc = loc.relative( i, 0, 0); break; } if ((loc.getBlock() == door) && (getDoorOrientation(door, loc) == direction) && (isDoorOpen(door, loc) == isOpen) && (isDoorMirrored(door, loc) != isMirrored)) door.onBlockActivated(loc.world, loc.x, loc.y, loc.z, event.entityPlayer, event.face, 0, 0, 0); }
@SubscribeEvent public void playerInteract(PlayerInteractEvent event) { if (event.action == Action.RIGHT_CLICK_BLOCK && event.entityPlayer.worldObj.isRemote) { if (placing.get() != null) return;//for mods that do dumb stuff and call this event like MFR placing.set(event); if (place(event.entityPlayer, event.entityPlayer.worldObj)) event.setCanceled(true); placing.set(null); } }
/** * Called when the player right-clicks */ @Override public ItemStack onFocusRightClick( final ItemStack wandStack, final World world, final EntityPlayer player, final MovingObjectPosition position ) { // Was a block hit? if( ( position != null ) && ( position.typeOfHit == MovingObjectType.BLOCK ) ) { // Use the focus this.onUse( world, player, position, wandStack, Action.RIGHT_CLICK_BLOCK ); } return wandStack; }
@SubscribeEvent(priority = EventPriority.HIGHEST) public void onAE2PartPlace(AE2PartPlaceEvent ev) { if (ev.world.isRemote || ev.isCanceled()) { return; } Resident res = MyTownUniverse.instance.getOrMakeResident(ev.player); if(ev.player.getHeldItem() != null) { ProtectionManager.checkUsage(ev.player.getHeldItem(), res, Action.RIGHT_CLICK_BLOCK, new BlockPos(ev.x, ev.y, ev.z, ev.world.provider.dimensionId), ev.face, ev); } }
private BlockPos createBlockPos(PlayerInteractEvent ev) { int x, y, z; if (ev.action == PlayerInteractEvent.Action.RIGHT_CLICK_AIR) { x = (int) Math.floor(ev.entityPlayer.posX); y = (int) Math.floor(ev.entityPlayer.posY); z = (int) Math.floor(ev.entityPlayer.posZ); } else { x = ev.x; y = ev.y; z = ev.z; } return new BlockPos(x, y, z, ev.world.provider.dimensionId); }
public void processUseEntity(C02PacketUseEntity p_147340_1_) { WorldServer worldserver = this.serverController.worldServerForDimension(this.playerEntity.dimension); Entity entity = p_147340_1_.func_149564_a(worldserver); this.playerEntity.func_143004_u(); if (entity != null) { boolean flag = this.playerEntity.canEntityBeSeen(entity); double d0 = 36.0D; if (!flag) { d0 = 9.0D; } if (this.playerEntity.getDistanceSqToEntity(entity) < d0) { if (p_147340_1_.func_149565_c() == C02PacketUseEntity.Action.INTERACT) { this.playerEntity.interactWith(entity); } else if (p_147340_1_.func_149565_c() == C02PacketUseEntity.Action.ATTACK) { if (entity instanceof EntityItem || entity instanceof EntityXPOrb || entity instanceof EntityArrow || entity == this.playerEntity) { this.kickPlayerFromServer("Attempting to attack an invalid entity"); this.serverController.logWarning("Player " + this.playerEntity.getCommandSenderName() + " tried to attack an invalid entity"); return; } this.playerEntity.attackTargetEntityWithCurrentItem(entity); } } } }
@SubscribeEvent public void onPlayerTriesToStartFires(PlayerInteractEvent e) { if (e.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) return; if (e.entityPlayer.dimension == IaSFlags.dim_nyx_id && !e.entityPlayer.capabilities.isCreativeMode) { boolean flaque = false; if (e.entityPlayer.getEquipmentInSlot(0) == null) return; Object id = e.entityPlayer.getEquipmentInSlot(0).getItem(); if (id == Items.flint_and_steel) { flaque = true; } else if (id == Items.fire_charge) { flaque = true; } else if (id instanceof ItemBlock) { id = ((ItemBlock) id).field_150939_a; if (id == Blocks.fire) { flaque = true; } else if (id == Blocks.torch) { flaque = true; } } // DO NOT SIMPLIFY! if (flaque && !e.isCanceled()) { e.setCanceled(true); if (id == Blocks.torch) { IaSPlayerHelper.messagePlayer(e.entityPlayer, "It's far too cold to light a torch in Nyx."); } else { IaSPlayerHelper.messagePlayer(e.entityPlayer, "It's far too cold to start a fire that way in Nyx."); } } } }
@SubscribeEvent public void onPlayerTriesToUseFurnace(PlayerInteractEvent e) { if (e.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) return; if (e.entityPlayer.dimension == IaSFlags.dim_nyx_id && !e.entityPlayer.capabilities.isCreativeMode) { final Block bl = e.world.getBlock(e.x, e.y, e.z); if (bl instanceof BlockFurnace || e.world.getTileEntity(e.x, e.y, e.x) instanceof TileEntityFurnace) { e.setCanceled(true); IaSPlayerHelper.messagePlayer(e.entityPlayer, "It's too cold to light that furnace here. Find another way to smelt."); } } }
@SubscribeEvent public void onTryToPlant(PlayerInteractEvent e) { if (e.action != PlayerInteractEvent.Action.RIGHT_CLICK_BLOCK) return; if (e.entity.dimension == IaSFlags.dim_nyx_id && !e.entityPlayer.capabilities.isCreativeMode) { boolean isplant = false; final ItemStack ite = e.entityPlayer.getEquipmentInSlot(0); if (ite == null) return; if (ite.getItem() instanceof IPlantable) { isplant = true; } else if (ite.getItem() instanceof ItemBlock) if (((ItemBlock) ite.getItem()).field_150939_a instanceof IPlantable) { isplant = true; } // DO NOT SIMPLIFY! if (isplant && !e.isCanceled()) { final boolean dirt = e.world.getBlock(e.x, e.y, e.z) == NyxBlocks.dirt; ForgeDirection.getOrientation(e.face); e.setCanceled(!dirt); if (!dirt) { IaSPlayerHelper.messagePlayer(e.entityPlayer, "There's no way that this will grow in this realm."); } } } }
@ForgeSubscribe public void playerInteract(PlayerInteractEvent event) { if (event.action == Action.RIGHT_CLICK_BLOCK) { int id = event.entityPlayer.worldObj.getBlockId(event.x, event.y, event.z); if (id == TeamConfig.teamSelectionId) { int meta = event.entityPlayer.worldObj.getBlockMetadata(event.x, event.y, event.z); if (listener != null) { listener.interact(event.entityPlayer, meta, event.x, event.y, event.z); } } } }
/** * Used to open a Minesweeper block in creative, when the player is holding a (vanilla) sword. * @param event */ @SubscribeEvent public void onPlayerClick(PlayerInteractEvent event){ EntityPlayer player = event.entityPlayer; if (player.capabilities.isCreativeMode) { if (isSword(player.getCurrentEquippedItem())) { Block block = player.worldObj.getBlock(event.x, event.y, event.z); if(event.action == Action.LEFT_CLICK_BLOCK && block == MinesweeperMod.blockMinesweeper) { block.onBlockClicked(player.worldObj, event.x, event.y, event.z, player); event.setCanceled(true); } } } }
@SubscribeEvent(priority = EventPriority.LOW) public void playerInteract(PlayerInteractEvent event){ if(!Config.convertMultipartsToBlocks && event.action == Action.RIGHT_CLICK_BLOCK && event.entityPlayer.worldObj.isRemote) { if(placing.get() != null) return;//for mods that do dumb stuff and call this event like MFR placing.set(event); if(place(event.entityPlayer, event.entityPlayer.worldObj)) event.setCanceled(true); placing.set(null); } }
@SubscribeEvent public void containerWand(PlayerInteractEvent event) { EntityPlayer player = event.entityPlayer; if (!event.action.equals(Action.RIGHT_CLICK_BLOCK) && !event.action.equals(Action.LEFT_CLICK_BLOCK)) { return; } if (player.getHeldItem() == null || player.getHeldItem().getItem() != Mobycraft.container_wand) { return; } sender = player; World world = event.world; BlockPos pos = event.pos; if (world.getBlockState(pos).getBlock() != Blocks.wall_sign && world.getBlockState(pos).getBlock() != Blocks.standing_sign) { return; } TileEntitySign sign = (TileEntitySign) world.getTileEntity(pos); if (!sign.signText[0].getUnformattedText().contains("Name:")) { return; } String name = sign.signText[1].getUnformattedText().concat( sign.signText[2].getUnformattedText().concat( sign.signText[3].getUnformattedText())); Container container = listCommands.getWithName(name); if (container == null) { return; } lifecycleCommands.removeContainer(container.getId()); sendConfirmMessage("Removed container with name \"" + name + "\""); buildCommands.updateContainers(false); }
@Deprecated public static PlayerInteractEvent onPlayerInteract(EntityPlayer player, Action action, int x, int y, int z, int face) { return onPlayerInteract(player, action, x, y, z, face, null); }
public static PlayerInteractEvent onPlayerInteract(EntityPlayer player, Action action, int x, int y, int z, int face, World world) { PlayerInteractEvent event = new PlayerInteractEvent(player, action, x, y, z, face, world); MinecraftForge.EVENT_BUS.post(event); return event; }
@SubscribeEvent public void onPlayerInteract(PlayerInteractEvent event) { if (!event.world.isRemote && event.action == Action.RIGHT_CLICK_BLOCK) { TileEntity tileEntity = event.world.getTileEntity(event.x, event.y, event.z); if (tileEntity instanceof ISecurity) { ISecurity security = (ISecurity) tileEntity; security.getSecurityProfile().cleanTeam(event.world); if (!security.getSecurityProfile().isSameTeam(event.entityPlayer) && !event.entityPlayer.capabilities.isCreativeMode) { ChatUtil.printFWMessage(EnumChatFormatting.RED, "This unit doesn't belong to you!", event.entityPlayer); event.setCanceled(true); } } } }
@SubscribeEvent public void onBlockPlaced(PlayerInteractEvent event) { if (event.entityPlayer.worldObj.isRemote) return; ItemStack itemInHand = event.entityPlayer.getCurrentEquippedItem(); if(itemInHand == null) return; if(event.action == Action.RIGHT_CLICK_BLOCK && event.getResult() != Result.DENY) { if(Loader.isModLoaded("Steamcraft")) { if(event.entityPlayer.getCurrentEquippedItem().getItem() == Item.getItemFromBlock(SteamcraftBlocks.boiler) && ConfigSettings.FSPBoilerWaterFix) { event.setCanceled(true); handleBlockPlacement(event.entityPlayer, event.entityLiving, event.world, TFPBlocks.tweakedboiler, event.x, event.y, event.z, event.face); } else if(event.entityPlayer.getCurrentEquippedItem().getItem() == Item.getItemFromBlock(SteamcraftBlocks.flashBoiler) && ConfigSettings.FSPFlashBoilerWaterFix) { event.setCanceled(true); switch(event.face) { case 0: PlaceBlock(event.entityLiving, event.world, event.x, event.y - 1, event.z, TFPBlocks.tweakedFlashBoiler, 0); break; case 1: PlaceBlock(event.entityLiving, event.world, event.x, event.y + 1, event.z, TFPBlocks.tweakedFlashBoiler, 0); break; case 2: PlaceBlock(event.entityLiving, event.world, event.x, event.y, event.z - 1, TFPBlocks.tweakedFlashBoiler, 0); break; case 3: PlaceBlock(event.entityLiving, event.world, event.x, event.y, event.z + 1, TFPBlocks.tweakedFlashBoiler, 0); break; case 4: PlaceBlock(event.entityLiving, event.world, event.x - 1, event.y, event.z, TFPBlocks.tweakedFlashBoiler, 0); break; case 5: PlaceBlock(event.entityLiving, event.world, event.x + 1, event.y, event.z, TFPBlocks.tweakedFlashBoiler, 0); break; default: break; } if(event.entityPlayer.getCurrentEquippedItem().stackSize == 1) event.entityPlayer.setCurrentItemOrArmor(0, null); else event.entityPlayer.getCurrentEquippedItem().stackSize--; } } if(event.entityPlayer.getCurrentEquippedItem().getItem() == Item.getItemFromBlock(Blocks.chest)) { event.setCanceled(true); if(event.entityPlayer.getCurrentEquippedItem().stackSize == 1) event.entityPlayer.setCurrentItemOrArmor(0, null); else event.entityPlayer.getCurrentEquippedItem().stackSize--; } } }
@SubscribeEvent public void blockRightClicked(PlayerInteractEvent event) { if (event.action != Action.RIGHT_CLICK_BLOCK) return; CraftUtils.addPlayerToChunk(event.world, event.pos, event.entityPlayer); }
@SubscribeEvent public void onPlayerInteract(PlayerInteractEvent event) { if (!event.world.isRemote && event.action == Action.RIGHT_CLICK_BLOCK) { TileEntity tileEntity = event.world.getTileEntity(event.x, event.y, event.z); if (tileEntity instanceof ISecurity) { ISecurity security = (ISecurity) tileEntity; if (event.world.getTileEntity(event.x, event.y - 1, event.z) instanceof TileEntityReinforcedDoor) { onPlayerInteract(new PlayerInteractEvent(event.entityPlayer, event.action, event.x, event.y - 1, event.z, event.face, event.world)); } if (!security.isSameTeam(event.entityPlayer.getTeam())) { event.entityPlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "This unit doesn't belong to you!")); event.setCanceled(true); } } } }
@SubscribeEvent(priority = EventPriority.HIGH) @SideOnly(Side.SERVER) public void chunksterInteract(PlayerInteractEvent event) { if (event.action == Action.RIGHT_CLICK_BLOCK) { if (ChunkProtector.isChunkOwned(event.world.getChunkFromBlockCoords(event.pos).xPosition, event.world.getChunkFromBlockCoords(event.pos).zPosition)) { if (!ChunkProtector .canEditChunk(event.entityPlayer, event.world.getChunkFromBlockCoords(event.pos).xPosition, event.world.getChunkFromBlockCoords(event.pos).zPosition)) { if (ChunkProtector.getProtectionData(event.world.getChunkFromBlockCoords(event.pos).xPosition, event.world.getChunkFromBlockCoords( event.pos).zPosition).redstoneUseable) { Block block = event.world.getBlockState(event.pos).getBlock(); if (block == Blocks.lever || block instanceof BlockDoor || block instanceof BlockButton) { } else { event.setCanceled(true); event.entityPlayer.addChatMessage( new ChatComponentText("�cThis chunk is owned by " + ChunkProtector.getProtectionData( event.world.getChunkFromBlockCoords(event.pos).xPosition, event.world.getChunkFromBlockCoords(event.pos).zPosition).owner)); } } else { event.setCanceled(true); event.entityPlayer.addChatMessage( new ChatComponentText("�cThis chunk is owned by " + ChunkProtector.getProtectionData( event.world.getChunkFromBlockCoords(event.pos).xPosition, event.world.getChunkFromBlockCoords(event.pos).zPosition).owner)); } } } } }
private boolean actionWasRightClick(Action action) { return (action == Action.RIGHT_CLICK_AIR) || (action == Action.RIGHT_CLICK_BLOCK); }