Skip to content
On this page
NeoForge

ServerPlayerEvent

top.katton.api.eventneoforge/src/main/kotlin/top/katton/api/event/ServerPlayerEvent.kt
Server player events for NeoForge platform.

ServerPlayerEvent ​

ServerPlayerEventNeoForgeObject
kotlin
@Suppress("unused")
@EventBusSubscriber( modid = Katton.MOD_ID, value = [Dist.DEDICATED_SERVER] )
modid

Server player events for NeoForge platform.

This object provides events related to server player lifecycle including join/leave/respawn, XP events, item pickup/toss, crafting, and more.

ServerPlayerEvent.onPlayerJoin ​

ServerPlayerEvent.onPlayerJoinNeoForgeProperty
kotlin
@JvmField
@JvmField val onPlayerJoin

Event triggered when a player joins the server.

ServerPlayerEvent.onPlayerLeave ​

ServerPlayerEvent.onPlayerLeaveNeoForgeProperty
kotlin
@JvmField
@JvmField val onPlayerLeave

Event triggered when a player leaves the server.

ServerPlayerEvent.onAfterPlayerRespawn ​

ServerPlayerEvent.onAfterPlayerRespawnNeoForgeProperty
kotlin
@JvmField
@JvmField val onAfterPlayerRespawn

Event triggered after a player respawns.

ServerPlayerEvent.onPlayerCopy ​

ServerPlayerEvent.onPlayerCopyNeoForgeProperty
kotlin
@JvmField
@JvmField val onPlayerCopy

Event triggered when player data is copied (e.g., on respawn or dimension change).

ServerPlayerEvent.onPlayerXpChange ​

ServerPlayerEvent.onPlayerXpChangeNeoForgeProperty
kotlin
val onPlayerXpChange

Event triggered when a player's XP changes. Can be cancelled to prevent the change.

ServerPlayerEvent.onPlayerXpLevelChange ​

ServerPlayerEvent.onPlayerXpLevelChangeNeoForgeProperty
kotlin
val onPlayerXpLevelChange

Event triggered when a player's XP level changes. Can be cancelled to prevent the change.

ServerPlayerEvent.onPlayerPickupXp ​

ServerPlayerEvent.onPlayerPickupXpNeoForgeProperty
kotlin
val onPlayerPickupXp

Event triggered when a player picks up an XP orb. Can be cancelled to prevent pickup.

ServerPlayerEvent.onStartTracking ​

ServerPlayerEvent.onStartTrackingNeoForgeProperty
kotlin
val onStartTracking

Event triggered when a player starts tracking an entity.

ServerPlayerEvent.onStopTracking ​

ServerPlayerEvent.onStopTrackingNeoForgeProperty
kotlin
val onStopTracking

Event triggered when a player stops tracking an entity.

ServerPlayerEvent.onPlayerLoadFromFile ​

ServerPlayerEvent.onPlayerLoadFromFileNeoForgeProperty
kotlin
val onPlayerLoadFromFile

Event triggered when a player data is loaded from file.

ServerPlayerEvent.onPlayerSaveToFile ​

ServerPlayerEvent.onPlayerSaveToFileNeoForgeProperty
kotlin
val onPlayerSaveToFile

Event triggered when a player data is saved to file.

ServerPlayerEvent.onItemToss ​

ServerPlayerEvent.onItemTossNeoForgeProperty
kotlin
val onItemToss

Event triggered when a player tosses an item.

ServerPlayerEvent.onItemPickupPre ​

ServerPlayerEvent.onItemPickupPreNeoForgeProperty
kotlin
val onItemPickupPre

Event triggered before a player picks up an item. Can modify whether the pickup is allowed.

ServerPlayerEvent.onItemPickupPost ​

ServerPlayerEvent.onItemPickupPostNeoForgeProperty
kotlin
val onItemPickupPost

Event triggered after a player picks up an item.

ServerPlayerEvent.onPlayerItemCrafted ​

ServerPlayerEvent.onPlayerItemCraftedNeoForgeProperty
kotlin
val onPlayerItemCrafted

Event triggered when a player crafts an item.

ServerPlayerEvent.onPlayerItemSmelted ​

ServerPlayerEvent.onPlayerItemSmeltedNeoForgeProperty
kotlin
val onPlayerItemSmelted

Event triggered when a player smelts an item.

ServerPlayerEvent.onPlayerSpawnPhantoms ​

ServerPlayerEvent.onPlayerSpawnPhantomsNeoForgeProperty
kotlin
val onPlayerSpawnPhantoms

Event triggered when phantoms are about to spawn for a player. Can modify the number of phantoms and the spawn result.

ServerPlayerEvent.onPickFromBlock ​

ServerPlayerEvent.onPickFromBlockNeoForgeProperty
kotlin
@JvmField
@JvmField val onPickFromBlock

Event triggered when a player picks an item from a block (middle-click).

Returns ​

ItemStack to be picked, or null for default behavior.

Note: This is a placeholder for NeoForge compatibility.

ServerPlayerEvent.onPickFromEntity ​

ServerPlayerEvent.onPickFromEntityNeoForgeProperty
kotlin
@JvmField
@JvmField val onPickFromEntity

Event triggered when a player picks an item from an entity (middle-click).

Returns ​

ItemStack to be picked, or null for default behavior.

Note: This is a placeholder for NeoForge compatibility.

ServerPlayerEvent.PlayerTrackingArg ​

ServerPlayerEvent.PlayerTrackingArgNeoForgeData Class
kotlin
data class PlayerTrackingArg( val player: ServerPlayer, val target: Entity )

Argument class for player tracking events.

Properties ​

PropertyDescription
playerThe player tracking the target
targetThe entity being tracked

ServerPlayerEvent.PlayerFileArg ​

ServerPlayerEvent.PlayerFileArgNeoForgeData Class
kotlin
data class PlayerFileArg( val player: ServerPlayer, val playerDirectory: File, val playerUUID: String )

Argument class for player file operations.

Properties ​

PropertyDescription
playerThe player being loaded/saved
playerDirectoryThe directory containing player data
playerUUIDThe UUID of the player

ServerPlayerEvent.PlayerItemPickupPreArg ​

ServerPlayerEvent.PlayerItemPickupPreArgNeoForgeData Class
kotlin
data class PlayerItemPickupPreArg( val player: ServerPlayer, val item: ItemEntity, var canPickup: TriState )

Argument class for item pickup pre events.

Properties ​

PropertyDescription
playerThe player picking up the item
itemThe item entity being picked up
canPickupWhether the pickup is allowed (modifiable)

ServerPlayerEvent.PlayerItemPickupPostArg ​

ServerPlayerEvent.PlayerItemPickupPostArgNeoForgeData Class
kotlin
data class PlayerItemPickupPostArg( val player: ServerPlayer, val item: ItemEntity, val originalStack: ItemStack, val currentStack: ItemStack )

Argument class for item pickup post events.

Properties ​

PropertyDescription
playerThe player who picked up the item
itemThe item entity that was picked up
originalStackThe original item stack
currentStackThe current item stack after pickup

ServerPlayerEvent.PlayerCraftedItemArg ​

ServerPlayerEvent.PlayerCraftedItemArgNeoForgeData Class
kotlin
data class PlayerCraftedItemArg( val player: ServerPlayer, val item: ItemStack, val inventory: Container )

Argument class for player crafted item events.

Properties ​

PropertyDescription
playerThe player who crafted the item
itemThe crafted item stack
inventoryThe inventory where the item was crafted

ServerPlayerEvent.PlayerSmeltedItemArg ​

ServerPlayerEvent.PlayerSmeltedItemArgNeoForgeData Class
kotlin
data class PlayerSmeltedItemArg( val player: ServerPlayer, val item: ItemStack, val amountRemoved: Int )

Argument class for player smelted item events.

Properties ​

PropertyDescription
playerThe player who smelted the item
itemThe smelted item stack
amountRemovedThe amount removed from the input

ServerPlayerEvent.PlayerSpawnPhantomsArg ​

ServerPlayerEvent.PlayerSpawnPhantomsArgNeoForgeData Class
kotlin
data class PlayerSpawnPhantomsArg( val player: ServerPlayer, var phantomsToSpawn: Int, var result: PlayerSpawnPhantomsEvent.Result )

Argument class for phantom spawn events.

Properties ​

PropertyDescription
playerThe player for whom phantoms are spawning
phantomsToSpawnThe number of phantoms to spawn (modifiable)
resultThe spawn result (modifiable)