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

The 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

The 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)