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

NeoForgeObject
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

NeoForgeProperty
kotlin
@JvmField
@JvmField val onPlayerJoin

Event triggered when a player joins the server.

ServerPlayerEvent.onPlayerLeave

NeoForgeProperty
kotlin
@JvmField
@JvmField val onPlayerLeave

Event triggered when a player leaves the server.

ServerPlayerEvent.onAfterPlayerRespawn

NeoForgeProperty
kotlin
@JvmField
@JvmField val onAfterPlayerRespawn

Event triggered after a player respawns.

ServerPlayerEvent.onPlayerCopy

NeoForgeProperty
kotlin
@JvmField
@JvmField val onPlayerCopy

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

ServerPlayerEvent.onPlayerXpChange

NeoForgeProperty
kotlin
val onPlayerXpChange

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

ServerPlayerEvent.onPlayerXpLevelChange

NeoForgeProperty
kotlin
val onPlayerXpLevelChange

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

ServerPlayerEvent.onPlayerPickupXp

NeoForgeProperty
kotlin
val onPlayerPickupXp

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

ServerPlayerEvent.onStartTracking

NeoForgeProperty
kotlin
val onStartTracking

Event triggered when a player starts tracking an entity.

ServerPlayerEvent.onStopTracking

NeoForgeProperty
kotlin
val onStopTracking

Event triggered when a player stops tracking an entity.

ServerPlayerEvent.onPlayerLoadFromFile

NeoForgeProperty
kotlin
val onPlayerLoadFromFile

Event triggered when a player data is loaded from file.

ServerPlayerEvent.onPlayerSaveToFile

NeoForgeProperty
kotlin
val onPlayerSaveToFile

Event triggered when a player data is saved to file.

ServerPlayerEvent.onItemToss

NeoForgeProperty
kotlin
val onItemToss

Event triggered when a player tosses an item.

ServerPlayerEvent.onItemPickupPre

NeoForgeProperty
kotlin
val onItemPickupPre

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

ServerPlayerEvent.onItemPickupPost

NeoForgeProperty
kotlin
val onItemPickupPost

Event triggered after a player picks up an item.

ServerPlayerEvent.onPlayerItemCrafted

NeoForgeProperty
kotlin
val onPlayerItemCrafted

Event triggered when a player crafts an item.

ServerPlayerEvent.onPlayerItemSmelted

NeoForgeProperty
kotlin
val onPlayerItemSmelted

Event triggered when a player smelts an item.

ServerPlayerEvent.onPlayerSpawnPhantoms

NeoForgeProperty
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

NeoForgeProperty
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

NeoForgeProperty
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

NeoForgeData 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

NeoForgeData 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

NeoForgeData 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

NeoForgeData 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

NeoForgeData 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

NeoForgeData 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

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