FalconFalcon
Docs menuEvents

Plugins

Events

Subscribing

uint64_t id = events().on<falcon::BlockBreakEvent>([](falcon::BlockBreakEvent &event) {
    if (event.blockName() == "minecraft:diamond_ore")
        event.cancel();
}, falcon::EventPriority::High, true);

events().off(id);

on<T>(handler, priority, ignoreCancelled) returns a subscription ID. Priority defaults to Normal and ignoreCancelled to false. With true, the handler skips events that are already cancelled.

Priorities are Lowest, Low, Normal, High, Highest and Monitor.

Every event inherits isCancelled(), setCancelled(bool) and cancel(). The effect of cancelling depends on the event. The tables below list each event's own accessors. Methods named set... change the outcome.

ConnectionOpenEvent fires before the client sends any game packet, and cancelling it closes the connection.

Core

EventAccessors
PlayerJoinEventplayer
PlayerQuitEventplayer
PlayerChatEventplayer, message, setMessage

Player

EventAccessors
PlayerDeathEventplayer, message, setMessage
PlayerRespawnEventplayer, position, setPosition
PlayerMoveEventplayer, from, to, setTo
PlayerDropItemEventplayer, item
PlayerCommandEventplayer, command, setCommand
PlayerGameModeChangeEventplayer, gameMode, previousGameMode
PlayerChangeWorldEventplayer, world, previousWorld, level, from, to, setTo
PlayerChangeDimensionEventplayer, dimension, previousDimension, from, to, setTo
PlayerPickupItemEventplayer, item
PlayerPreLoginEventplayer, kickMessage, setKickMessage, clientData, clientDataField, serverAddress, gameVersion, deviceModel, deviceOS, thirdPartyName
ConnectionOpenEventaddress, transport, clientGuid, mtuSize
PlayerFormResponseEventplayer, formId, response, closed
PlayerToggleSneakEventplayer, isSneaking
PlayerToggleSprintEventplayer, isSprinting
PlayerToggleFlightEventplayer, isFlying
PlayerItemHeldEventplayer, previousSlot, newSlot, item
PlayerItemConsumeEventplayer, item
PlayerBedEnterEventplayer, bed
PlayerBedLeaveEventplayer, bed
PlayerJumpEventplayer
PlayerFoodChangeEventplayer, food, setFood, previousFood
PlayerExperienceChangeEventplayer, amount, setAmount

Blocks

EventAccessors
BlockBreakEventplayer, position, blockName
BlockPlaceEventplayer, position, blockName
PlayerInteractBlockEventplayer, position, face
SignChangeEventplayer, position, isFrontSide, text, setText

Entities

EventAccessors
PlayerInteractEntityEventplayer, entity
EntityDamageEvententity, attacker, amount, setAmount, cause
EntityDeathEvententity
EntitySpawnEvententity, level, position
EntityTransformEvententity, result
EntityTargetEvententity, target

Inventory and crafting

EventAccessors
InventoryOpenEventplayer, level, position, blockName
InventoryCloseEventplayer, level, position, blockName
InventoryTransactionEventplayer, action, item, count, sourceContainer, sourceSlot, destinationContainer, destinationSlot
CraftItemEventplayer, result, times
FurnaceSmeltEventlevel, position, source, result, setResult
FurnaceBurnEventlevel, position, fuel, burnTime, setBurnTime
ItemEnchantEventplayer, item, levelCost
ItemDamageEventplayer, item, damage, setDamage
ItemBreakEventplayer, item

World

EventAccessors
ProjectileHitEventprojectile, shooter, target, hitBlock, blockPosition, blockName, position, level
ExplosionEventsource, level, position, power, setPower, blocks, setBlocks
FireSpreadEventlevel, position, source
BlockBurnEventlevel, position, blockName, source
ProjectileLaunchEventprojectile, shooter
BlockGrowEventlevel, position, blockName, previousBlockName
BlockSpreadEventsource, level, position, blockName, previousBlockName
BlockFormEventlevel, position, blockName, previousBlockName
BlockFadeEventlevel, position, blockName, previousBlockName
LeavesDecayEventlevel, position, blockName, previousBlockName
LiquidFlowEventlevel, position, source, liquid
PistonExtendEventlevel, position, face, blocks
PistonRetractEventlevel, position, face, blocks
RedstoneChangeEventlevel, position, power, setPower, previousPower
WeatherChangeEventlevel, isRaining
ThunderChangeEventlevel, isThundering
ChunkLoadEventlevel, chunkX, chunkZ, isNewChunk
ChunkUnloadEventlevel, chunkX, chunkZ
WorldLoadEventworld
WorldUnloadEventworld

Server

EventAccessors
ServerTickEventtick
ServerCommandEventcommand, setCommand

Packets

EventAccessors
DataPacketReceiveEventplayer, packetId, dataView, data, setData
DataPacketSendEventplayer, packetId, dataView, data, setData