Documentation ¶
Index ¶
- Variables
- type BlockActorDataHandler
- type BlockPickRequestHandler
- type BookEditHandler
- type ClientCacheBlobStatusHandler
- type CommandRequestHandler
- type Config
- type Conn
- type ContainerCloseHandler
- type Controllable
- type Diagnostics
- type EmoteHandler
- type InteractHandler
- type InventoryTransactionHandler
- type ItemStackRequestHandler
- type LecternUpdateHandler
- type MobEquipmentHandler
- type ModalFormResponseHandler
- type NPCRequestHandler
- type NetworkEncodeableEntity
- type OffsetEntity
- type PlayerActionHandler
- type PlayerAuthInputHandler
- type PlayerSkinHandler
- type RequestAbilityHandler
- type RequestChunkRadiusHandler
- type RespawnHandler
- type ServerBoundDiagnosticsHandler
- type ServerBoundLoadingScreenHandler
- type Session
- func (s *Session) Addr() net.Addr
- func (s *Session) ChangingDimension() bool
- func (s *Session) ClientData() login.ClientData
- func (s *Session) Close(tx *world.Tx, c Controllable)
- func (s *Session) CloseConnection()
- func (s *Session) CloseDialogue()
- func (s *Session) CloseForm()
- func (s *Session) Disconnect(message string)
- func (s *Session) EnableCoordinates(enable bool)
- func (s *Session) EnableInstantRespawn(enable bool)
- func (s *Session) HandleInventories(tx *world.Tx, c Controllable, ...)
- func (s *Session) HideEntity(e world.Entity)
- func (s *Session) Latency() time.Duration
- func (s *Session) OpenBlockContainer(pos cube.Pos, tx *world.Tx)
- func (s *Session) OpenSign(pos cube.Pos, frontSide bool)
- func (s *Session) PlaySound(t world.Sound, pos mgl64.Vec3)
- func (s *Session) RemoveBossBar()
- func (s *Session) RemoveScoreboard()
- func (s *Session) SendAbilities(c Controllable)
- func (s *Session) SendActionBarMessage(text string)
- func (s *Session) SendAnnouncement(message string)
- func (s *Session) SendBossBar(text string, colour uint8, healthPercentage float64)
- func (s *Session) SendChargeItemComplete()
- func (s *Session) SendCommandOutput(output *cmd.Output, l language.Tag)
- func (s *Session) SendDialogue(d dialogue.Dialogue, e world.Entity)
- func (s *Session) SendEffect(e effect.Effect)
- func (s *Session) SendEffectRemoval(e effect.Type)
- func (s *Session) SendExperience(level int, progress float64)
- func (s *Session) SendFood(food int, saturation, exhaustion float64)
- func (s *Session) SendForm(f form.Form)
- func (s *Session) SendGameMode(c Controllable)
- func (s *Session) SendHealth(health, max, absorption float64)
- func (s *Session) SendHeldSlot(slot int, c Controllable, force bool)
- func (s *Session) SendJukeboxPopup(message string)
- func (s *Session) SendMessage(message string)
- func (s *Session) SendPopup(message string)
- func (s *Session) SendRespawn(pos mgl64.Vec3, c Controllable)
- func (s *Session) SendScoreboard(sb *scoreboard.Scoreboard)
- func (s *Session) SendSpeed(speed float64)
- func (s *Session) SendSubtitle(text string)
- func (s *Session) SendTip(message string)
- func (s *Session) SendTitle(text string)
- func (s *Session) SendToast(title, message string)
- func (s *Session) SendTranslation(t chat.Translation, l language.Tag, a []any)
- func (s *Session) SetHandle(handle *world.EntityHandle, skin skin.Skin)
- func (s *Session) SetTitleDurations(fadeInDuration, remainDuration, fadeOutDuration time.Duration)
- func (s *Session) Spawn(c Controllable, tx *world.Tx)
- func (s *Session) StartShowingEntity(e world.Entity)
- func (s *Session) StopShowingEntity(e world.Entity)
- func (s *Session) Transfer(ip net.IP, port int)
- func (s *Session) VerifyAndSetHeldSlot(slot int, expected item.Stack, c Controllable) error
- func (s *Session) VerifySlot(slot int, expected item.Stack) error
- func (s *Session) ViewBlockAction(pos cube.Pos, a world.BlockAction)
- func (s *Session) ViewBlockUpdate(pos cube.Pos, b world.Block, layer int)
- func (s *Session) ViewBrewingUpdate(prevBrewTime, brewTime time.Duration, ...)
- func (s *Session) ViewChunk(pos world.ChunkPos, dim world.Dimension, ...)
- func (s *Session) ViewEmote(player world.Entity, emote uuid.UUID)
- func (s *Session) ViewEntity(e world.Entity)
- func (s *Session) ViewEntityAction(e world.Entity, a world.EntityAction)
- func (s *Session) ViewEntityAnimation(e world.Entity, a world.EntityAnimation)
- func (s *Session) ViewEntityArmour(e world.Entity)
- func (s *Session) ViewEntityGameMode(e world.Entity)
- func (s *Session) ViewEntityItems(e world.Entity)
- func (s *Session) ViewEntityMovement(e world.Entity, pos mgl64.Vec3, rot cube.Rotation, onGround bool)
- func (s *Session) ViewEntityState(e world.Entity)
- func (s *Session) ViewEntityTeleport(e world.Entity, position mgl64.Vec3)
- func (s *Session) ViewEntityVelocity(e world.Entity, velocity mgl64.Vec3)
- func (s *Session) ViewFurnaceUpdate(...)
- func (s *Session) ViewItemCooldown(item world.Item, duration time.Duration)
- func (s *Session) ViewParticle(pos mgl64.Vec3, p world.Particle)
- func (s *Session) ViewSkin(e world.Entity)
- func (s *Session) ViewSlotChange(slot int, newItem item.Stack)
- func (s *Session) ViewSound(pos mgl64.Vec3, soundType world.Sound)
- func (s *Session) ViewSubChunks(center world.SubChunkPos, offsets []protocol.SubChunkOffset, tx *world.Tx)
- func (s *Session) ViewTime(time int)
- func (s *Session) ViewWeather(raining, thunder bool)
- func (s *Session) ViewWorldSpawn(pos cube.Pos)
- type SubChunkRequestHandler
- type TextHandler
Constants ¶
This section is empty.
Variables ¶
var Nop = &Session{}
Nop represents a no-operation session. It does not do anything when sending a packet to it.
Functions ¶
This section is empty.
Types ¶
type BlockActorDataHandler ¶ added in v0.2.0
type BlockActorDataHandler struct{}
BlockActorDataHandler handles an incoming BlockActorData packet from the client, sent for some block entities like signs when they are edited.
func (BlockActorDataHandler) Handle ¶ added in v0.2.0
func (b BlockActorDataHandler) Handle(p packet.Packet, s *Session, tx *world.Tx, c Controllable) error
Handle ...
type BlockPickRequestHandler ¶
type BlockPickRequestHandler struct{}
BlockPickRequestHandler handles the BlockPickRequest packet.
func (BlockPickRequestHandler) Handle ¶
func (b BlockPickRequestHandler) Handle(p packet.Packet, _ *Session, _ *world.Tx, c Controllable) error
Handle ...
type BookEditHandler ¶ added in v0.8.3
type BookEditHandler struct{}
BookEditHandler handles the BookEdit packet.
func (BookEditHandler) Handle ¶ added in v0.8.3
func (b BookEditHandler) Handle(p packet.Packet, s *Session, _ *world.Tx, _ Controllable) error
Handle ...
type ClientCacheBlobStatusHandler ¶
type ClientCacheBlobStatusHandler struct { }
ClientCacheBlobStatusHandler handles the ClientCacheBlobStatus packet.
func (*ClientCacheBlobStatusHandler) Handle ¶
func (c *ClientCacheBlobStatusHandler) Handle(p packet.Packet, s *Session, _ *world.Tx, _ Controllable) error
Handle ...
type CommandRequestHandler ¶
type CommandRequestHandler struct {
// contains filtered or unexported fields
}
CommandRequestHandler handles the CommandRequest packet.
func (*CommandRequestHandler) Handle ¶
func (h *CommandRequestHandler) Handle(p packet.Packet, _ *Session, _ *world.Tx, c Controllable) error
Handle ...
type Config ¶ added in v0.10.0
type Config struct { Log *slog.Logger MaxChunkRadius int JoinMessage, QuitMessage chat.Translation HandleStop func(*world.Tx, Controllable) }
type Conn ¶ added in v0.3.0
type Conn interface { io.Closer // IdentityData returns the login.IdentityData of a Conn. It contains the UUID, XUID and username of the connection. IdentityData() login.IdentityData // ClientData returns the login.ClientData of a Conn. This includes less sensitive data of the player like its skin, // language code and other non-essential information. ClientData() login.ClientData // ClientCacheEnabled specifies if the Conn has the client cache, used for caching chunks client-side, enabled or // not. Some platforms, like the Nintendo Switch, have this disabled at all times. ClientCacheEnabled() bool // ChunkRadius returns the chunk radius as requested by the client at the other end of the Conn. ChunkRadius() int // Latency returns the current latency measured over the Conn. Latency() time.Duration // Flush flushes the packets buffered by the Conn, sending all of them out immediately. Flush() error // RemoteAddr returns the remote network address. RemoteAddr() net.Addr // ReadPacket reads a packet.Packet from the Conn. An error is returned if a deadline was set that was // exceeded or if the Conn was closed while awaiting a packet. ReadPacket() (pk packet.Packet, err error) // WritePacket writes a packet.Packet to the Conn. An error is returned if the Conn was closed before sending the // packet. WritePacket(pk packet.Packet) error // StartGameContext starts the game for the Conn with a context to cancel it. StartGameContext(ctx context.Context, data minecraft.GameData) error }
Conn represents a connection that packets are read from and written to by a Session. In addition, it holds some information on the identity of the Session.
type ContainerCloseHandler ¶
type ContainerCloseHandler struct{}
ContainerCloseHandler handles the ContainerClose packet.
func (*ContainerCloseHandler) Handle ¶
func (h *ContainerCloseHandler) Handle(p packet.Packet, s *Session, tx *world.Tx, c Controllable) error
Handle ...
type Controllable ¶
type Controllable interface { Name() string world.Entity item.User dialogue.Submitter form.Submitter cmd.Source chat.Subscriber Locale() language.Tag SetHeldItems(right, left item.Stack) SetHeldSlot(slot int) error Move(deltaPos mgl64.Vec3, deltaYaw, deltaPitch float64) Speed() float64 FlightSpeed() float64 Chat(msg ...any) ExecuteCommand(commandLine string) GameMode() world.GameMode SetGameMode(mode world.GameMode) Effects() []effect.Effect UseItem() ReleaseItem() UseItemOnBlock(pos cube.Pos, face cube.Face, clickPos mgl64.Vec3) UseItemOnEntity(e world.Entity) bool BreakBlock(pos cube.Pos) PickBlock(pos cube.Pos) AttackEntity(e world.Entity) bool Drop(s item.Stack) (n int) SwingArm() PunchAir() Health() float64 MaxHealth() float64 Absorption() float64 Food() int ExperienceLevel() int ExperienceProgress() float64 SetExperienceLevel(level int) EnchantmentSeed() int64 ResetEnchantmentSeed() Respawn() *world.EntityHandle Dead() bool StartSneaking() Sneaking() bool StopSneaking() StartSprinting() Sprinting() bool StopSprinting() StartSwimming() Swimming() bool StopSwimming() StartCrawling() Crawling() bool StopCrawling() StartFlying() Flying() bool StopFlying() StartGliding() Gliding() bool StopGliding() Jump() StartBreaking(pos cube.Pos, face cube.Face) ContinueBreaking(face cube.Face) FinishBreaking() AbortBreaking() Exhaust(points float64) OpenSign(pos cube.Pos, frontSide bool) EditSign(pos cube.Pos, frontText, backText string) error TurnLecternPage(pos cube.Pos, page int) error EnderChestInventory() *inventory.Inventory MoveItemsToInventory() // UUID returns the UUID of the controllable. It must be unique for all controllable entities present in // the server. UUID() uuid.UUID // XUID returns the XBOX Live User ID of the controllable. Every controllable must have one of these if // they are authenticated via XBOX Live, as they must be connected to an XBOX Live account. XUID() string // Skin returns the skin of the controllable. Each controllable must have a skin, as it defines how the // entity looks in the world. Skin() skin.Skin SetSkin(skin.Skin) UpdateDiagnostics(Diagnostics) }
Controllable represents an entity that may be controlled by a Session. Generally, Controllable is implemented in the form of a Player. Methods in Controllable will be added as Session needs them in order to handle packets.
type Diagnostics ¶ added in v0.10.0
type Diagnostics struct { // AverageFramesPerSecond is the average amount of frames per second that the client has been // running at. AverageFramesPerSecond float64 // AverageServerSimTickTime is the average time that the server spends simulating a single tick // in milliseconds. AverageServerSimTickTime float64 // AverageClientSimTickTime is the average time that the client spends simulating a single tick // in milliseconds. AverageClientSimTickTime float64 // AverageBeginFrameTime is the average time that the client spends beginning a frame in // milliseconds. AverageBeginFrameTime float64 // AverageInputTime is the average time that the client spends processing input in milliseconds. AverageInputTime float64 // AverageRenderTime is the average time that the client spends rendering in milliseconds. AverageRenderTime float64 // AverageEndFrameTime is the average time that the client spends ending a frame in milliseconds. AverageEndFrameTime float64 // AverageRemainderTimePercent is the average percentage of time that the client spends on // tasks that are not accounted for. AverageRemainderTimePercent float64 // AverageUnaccountedTimePercent is the average percentage of time that the client spends on // unaccounted tasks. AverageUnaccountedTimePercent float64 }
Diagnostics represents the latest diagnostics data of the client.
type EmoteHandler ¶
EmoteHandler handles the Emote packet.
func (*EmoteHandler) Handle ¶
func (h *EmoteHandler) Handle(p packet.Packet, _ *Session, tx *world.Tx, c Controllable) error
Handle ...
type InteractHandler ¶
type InteractHandler struct{}
InteractHandler handles the packet.Interact.
func (*InteractHandler) Handle ¶
func (h *InteractHandler) Handle(p packet.Packet, s *Session, _ *world.Tx, c Controllable) error
Handle ...
type InventoryTransactionHandler ¶
type InventoryTransactionHandler struct{}
InventoryTransactionHandler handles the InventoryTransaction packet.
func (*InventoryTransactionHandler) Handle ¶
func (h *InventoryTransactionHandler) Handle(p packet.Packet, s *Session, tx *world.Tx, c Controllable) error
Handle ...
type ItemStackRequestHandler ¶
type ItemStackRequestHandler struct {
// contains filtered or unexported fields
}
ItemStackRequestHandler handles the ItemStackRequest packet. It handles the actions done within the inventory.
func (*ItemStackRequestHandler) Handle ¶
func (h *ItemStackRequestHandler) Handle(p packet.Packet, s *Session, tx *world.Tx, c Controllable) error
Handle ...
type LecternUpdateHandler ¶ added in v0.9.8
type LecternUpdateHandler struct{}
LecternUpdateHandler handles the LecternUpdate packet, sent when a player interacts with a lectern.
func (LecternUpdateHandler) Handle ¶ added in v0.9.8
func (LecternUpdateHandler) Handle(p packet.Packet, _ *Session, tx *world.Tx, c Controllable) error
Handle ...
type MobEquipmentHandler ¶
type MobEquipmentHandler struct{}
MobEquipmentHandler handles the MobEquipment packet.
func (*MobEquipmentHandler) Handle ¶
func (*MobEquipmentHandler) Handle(p packet.Packet, s *Session, tx *world.Tx, c Controllable) error
Handle ...
type ModalFormResponseHandler ¶
type ModalFormResponseHandler struct {
// contains filtered or unexported fields
}
ModalFormResponseHandler handles the ModalFormResponse packet.
func (*ModalFormResponseHandler) Handle ¶
func (h *ModalFormResponseHandler) Handle(p packet.Packet, _ *Session, tx *world.Tx, c Controllable) error
Handle ...
type NPCRequestHandler ¶ added in v0.10.0
type NPCRequestHandler struct {
// contains filtered or unexported fields
}
NPCRequestHandler handles the NPCRequest packet.
func (*NPCRequestHandler) Handle ¶ added in v0.10.0
func (h *NPCRequestHandler) Handle(p packet.Packet, s *Session, tx *world.Tx, c Controllable) error
Handle ...
type NetworkEncodeableEntity ¶ added in v0.8.2
type NetworkEncodeableEntity interface { // NetworkEncodeEntity returns the network type ID of the entity. This is // NOT the save ID. NetworkEncodeEntity() string }
NetworkEncodeableEntity is a world.EntityType where the save ID and network ID are not the same.
type OffsetEntity ¶ added in v0.9.0
type OffsetEntity interface {
NetworkOffset() float64
}
OffsetEntity is a world.EntityType that has an additional offset when sent over network. This is mostly the case for older entities such as players and TNT.
type PlayerActionHandler ¶
type PlayerActionHandler struct{}
PlayerActionHandler handles the PlayerAction packet.
func (*PlayerActionHandler) Handle ¶
func (*PlayerActionHandler) Handle(p packet.Packet, s *Session, _ *world.Tx, c Controllable) error
Handle ...
type PlayerAuthInputHandler ¶
type PlayerAuthInputHandler struct{}
PlayerAuthInputHandler handles the PlayerAuthInput packet.
func (PlayerAuthInputHandler) Handle ¶
func (h PlayerAuthInputHandler) Handle(p packet.Packet, s *Session, tx *world.Tx, c Controllable) error
Handle ...
type PlayerSkinHandler ¶ added in v0.1.0
type PlayerSkinHandler struct{}
PlayerSkinHandler handles the PlayerSkin packet.
func (PlayerSkinHandler) Handle ¶ added in v0.1.0
func (PlayerSkinHandler) Handle(p packet.Packet, _ *Session, _ *world.Tx, c Controllable) error
Handle ...
type RequestAbilityHandler ¶ added in v0.7.2
type RequestAbilityHandler struct{}
RequestAbilityHandler handles the RequestAbility packet.
func (RequestAbilityHandler) Handle ¶ added in v0.7.2
func (a RequestAbilityHandler) Handle(p packet.Packet, s *Session, _ *world.Tx, c Controllable) error
Handle ...
type RequestChunkRadiusHandler ¶
type RequestChunkRadiusHandler struct{}
RequestChunkRadiusHandler handles the RequestChunkRadius packet.
func (*RequestChunkRadiusHandler) Handle ¶
func (*RequestChunkRadiusHandler) Handle(p packet.Packet, s *Session, tx *world.Tx, _ Controllable) error
Handle ...
type RespawnHandler ¶
type RespawnHandler struct{}
RespawnHandler handles the Respawn packet.
func (*RespawnHandler) Handle ¶
func (*RespawnHandler) Handle(p packet.Packet, _ *Session, _ *world.Tx, c Controllable) error
Handle ...
type ServerBoundDiagnosticsHandler ¶ added in v0.9.18
type ServerBoundDiagnosticsHandler struct{}
ServerBoundDiagnosticsHandler handles diagnostic updates from the client.
func (*ServerBoundDiagnosticsHandler) Handle ¶ added in v0.9.18
func (h *ServerBoundDiagnosticsHandler) Handle(p packet.Packet, _ *Session, _ *world.Tx, c Controllable) error
Handle ...
type ServerBoundLoadingScreenHandler ¶ added in v0.9.18
type ServerBoundLoadingScreenHandler struct {
// contains filtered or unexported fields
}
ServerBoundLoadingScreenHandler handles loading screen updates from the clients. It is used to ensure that the server knows when the client is loading a screen, and when it is done loading it.
func (*ServerBoundLoadingScreenHandler) Handle ¶ added in v0.9.18
func (h *ServerBoundLoadingScreenHandler) Handle(p packet.Packet, s *Session, _ *world.Tx, _ Controllable) error
Handle ...
type Session ¶
type Session struct {
// contains filtered or unexported fields
}
Session handles incoming packets from connections and sends outgoing packets by providing a thin layer of abstraction over direct packets. A Session basically 'controls' an entity.
func (*Session) ChangingDimension ¶ added in v0.9.18
ChangingDimension returns whether the session is currently changing dimension or not.
func (*Session) ClientData ¶
func (s *Session) ClientData() login.ClientData
ClientData returns the login.ClientData of the underlying *minecraft.Conn.
func (*Session) Close ¶
func (s *Session) Close(tx *world.Tx, c Controllable)
Close closes the session, which in turn closes the controllable and the connection that the session manages. Close ensures the method only runs code on the first call.
func (*Session) CloseConnection ¶
func (s *Session) CloseConnection()
CloseConnection closes the underlying connection of the session so that the session ends up being closed eventually.
func (*Session) CloseDialogue ¶ added in v0.10.0
func (s *Session) CloseDialogue()
func (*Session) CloseForm ¶ added in v0.9.17
func (s *Session) CloseForm()
CloseForm closes any forms that the player currently has open. If the player has no forms open, nothing happens.
func (*Session) Disconnect ¶
Disconnect disconnects the client and ultimately closes the session. If the message passed is non-empty, it will be shown to the client.
func (*Session) EnableCoordinates ¶
EnableCoordinates will either enable or disable coordinates for the player depending on the value given.
func (*Session) EnableInstantRespawn ¶ added in v0.3.0
EnableInstantRespawn will either enable or disable instant respawn for the player depending on the value given.
func (*Session) HandleInventories ¶
func (s *Session) HandleInventories(tx *world.Tx, c Controllable, inv, offHand, enderChest, ui *inventory.Inventory, armour *inventory.Armour, heldSlot *uint32)
HandleInventories starts handling the inventories of the Controllable entity of the session. It sends packets when slots in the inventory are changed.
func (*Session) OpenBlockContainer ¶
OpenBlockContainer ...
func (*Session) PlaySound ¶ added in v0.7.0
PlaySound plays a world.Sound to the client. The volume is not dependent on the distance to the source if it is a sound of the LevelSoundEvent packet.
func (*Session) RemoveBossBar ¶
func (s *Session) RemoveBossBar()
RemoveBossBar removes any boss bar currently active on the player's screen.
func (*Session) SendAbilities ¶ added in v0.9.19
func (s *Session) SendAbilities(c Controllable)
SendAbilities sends the abilities of the Controllable entity of the session to the client.
func (*Session) SendActionBarMessage ¶
SendActionBarMessage ...
func (*Session) SendAnnouncement ¶
SendAnnouncement ...
func (*Session) SendBossBar ¶
SendBossBar sends a boss bar to the player with the text passed and the health percentage of the bar. SendBossBar removes any boss bar that might be active before sending the new one.
func (*Session) SendChargeItemComplete ¶ added in v0.10.0
func (s *Session) SendChargeItemComplete()
SendChargeItemComplete sends a packet to indicate that the item charging process has been completed.
func (*Session) SendCommandOutput ¶
SendCommandOutput sends the output of a command to the player. It will be shown to the caller of the command, which might be the player or a websocket server.
func (*Session) SendDialogue ¶ added in v0.10.0
SendDialogue sends an NPC dialogue to the client of the connection. The Submit method of the dialogue is called when the client interacts with a button in the dialogue.
func (*Session) SendEffect ¶
SendEffect sends an effects passed to the player.
func (*Session) SendEffectRemoval ¶
SendEffectRemoval sends the removal of an effect passed.
func (*Session) SendExperience ¶ added in v0.7.0
SendExperience sends the experience level and progress from the given experience manager to the player.
func (*Session) SendForm ¶
SendForm sends a form to the client of the connection. The Submit method of the form is called when the client submits the form.
func (*Session) SendGameMode ¶
func (s *Session) SendGameMode(c Controllable)
SendGameMode sends the game mode of the Controllable entity of the session to the client. It makes sure the right flags are set to create the full game mode.
func (*Session) SendHealth ¶
SendHealth sends the health and max health to the player.
func (*Session) SendHeldSlot ¶ added in v0.10.0
func (s *Session) SendHeldSlot(slot int, c Controllable, force bool)
SendHeldSlot sends the currently held hotbar slot.
func (*Session) SendJukeboxPopup ¶
SendJukeboxPopup ...
func (*Session) SendRespawn ¶
func (s *Session) SendRespawn(pos mgl64.Vec3, c Controllable)
SendRespawn spawns the Controllable entity of the session client-side in the world, provided it has died.
func (*Session) SendScoreboard ¶
func (s *Session) SendScoreboard(sb *scoreboard.Scoreboard)
SendScoreboard ...
func (*Session) SendSpeed ¶
SendSpeed sends the speed of the player in an UpdateAttributes packet, so that it is updated client-side.
func (*Session) SendTranslation ¶ added in v0.10.0
SendTranslation sends a translation localised for a specific language.Tag.
func (*Session) SetHandle ¶ added in v0.10.0
func (s *Session) SetHandle(handle *world.EntityHandle, skin skin.Skin)
SetHandle sets the world.EntityHandle of the Session and attaches a skin to other players on join.
func (*Session) SetTitleDurations ¶
SetTitleDurations ...
func (*Session) Spawn ¶ added in v0.7.0
func (s *Session) Spawn(c Controllable, tx *world.Tx)
Spawn makes the Controllable passed spawn in the world.World. The function passed will be called when the session stops running.
func (*Session) StartShowingEntity ¶ added in v0.4.0
StartShowingEntity starts showing a world.Entity to the Session that was previously hidden using StopShowingEntity.
func (*Session) StopShowingEntity ¶ added in v0.4.0
StopShowingEntity stops showing a world.Entity to the Session. It will be completely invisible until a call to StartShowingEntity is made.
func (*Session) VerifyAndSetHeldSlot ¶ added in v0.10.0
VerifyAndSetHeldSlot verifies if the slot passed is a valid hotbar slot and if the expected item.Stack is in it. Afterwards, it changes the held slot of the player.
func (*Session) VerifySlot ¶ added in v0.10.0
VerifySlot verifies if the slot passed is a valid hotbar slot and if the expected item.Stack is in it.
func (*Session) ViewBlockAction ¶
func (s *Session) ViewBlockAction(pos cube.Pos, a world.BlockAction)
ViewBlockAction ...
func (*Session) ViewBlockUpdate ¶
ViewBlockUpdate ...
func (*Session) ViewBrewingUpdate ¶ added in v0.9.19
func (s *Session) ViewBrewingUpdate(prevBrewTime, brewTime time.Duration, prevFuelAmount, fuelAmount, prevFuelTotal, fuelTotal int32)
ViewBrewingUpdate updates a brewing stand for the associated session based on previous times.
func (*Session) ViewChunk ¶
func (s *Session) ViewChunk(pos world.ChunkPos, dim world.Dimension, blockEntities map[cube.Pos]world.Block, c *chunk.Chunk)
ViewChunk ...
func (*Session) ViewEntityAction ¶
func (s *Session) ViewEntityAction(e world.Entity, a world.EntityAction)
ViewEntityAction ...
func (*Session) ViewEntityAnimation ¶ added in v0.9.8
func (s *Session) ViewEntityAnimation(e world.Entity, a world.EntityAnimation)
ViewEntityAnimation ...
func (*Session) ViewEntityArmour ¶
ViewEntityArmour ...
func (*Session) ViewEntityGameMode ¶ added in v0.9.0
ViewEntityGameMode ...
func (*Session) ViewEntityItems ¶
ViewEntityItems ...
func (*Session) ViewEntityMovement ¶
func (s *Session) ViewEntityMovement(e world.Entity, pos mgl64.Vec3, rot cube.Rotation, onGround bool)
ViewEntityMovement ...
func (*Session) ViewEntityState ¶
ViewEntityState ...
func (*Session) ViewEntityTeleport ¶
ViewEntityTeleport ...
func (*Session) ViewEntityVelocity ¶
ViewEntityVelocity ...
func (*Session) ViewFurnaceUpdate ¶ added in v0.8.0
func (s *Session) ViewFurnaceUpdate(prevCookTime, cookTime, prevRemainingFuelTime, remainingFuelTime, prevMaxFuelTime, maxFuelTime time.Duration)
ViewFurnaceUpdate updates a furnace for the associated session based on previous times.
func (*Session) ViewItemCooldown ¶ added in v0.8.0
ViewItemCooldown ...
func (*Session) ViewParticle ¶
ViewParticle ...
func (*Session) ViewSlotChange ¶
ViewSlotChange ...
func (*Session) ViewSubChunks ¶ added in v0.7.0
func (s *Session) ViewSubChunks(center world.SubChunkPos, offsets []protocol.SubChunkOffset, tx *world.Tx)
ViewSubChunks ...
func (*Session) ViewWeather ¶ added in v0.4.0
ViewWeather ...
func (*Session) ViewWorldSpawn ¶ added in v0.1.0
ViewWorldSpawn ...
type SubChunkRequestHandler ¶ added in v0.7.0
type SubChunkRequestHandler struct{}
SubChunkRequestHandler handles sub-chunk requests from the client. The server will respond with a packet containing the requested sub-chunks.
func (*SubChunkRequestHandler) Handle ¶ added in v0.7.0
func (*SubChunkRequestHandler) Handle(p packet.Packet, s *Session, tx *world.Tx, _ Controllable) error
Handle ...
type TextHandler ¶
type TextHandler struct{}
TextHandler handles the Text packet.
func (TextHandler) Handle ¶
func (TextHandler) Handle(p packet.Packet, s *Session, _ *world.Tx, c Controllable) error
Handle ...
Source Files ¶
- chunk.go
- command.go
- controllable.go
- diagnostics.go
- enchantment_texts.go
- entity_metadata.go
- handler.go
- handler_anvil.go
- handler_beacon.go
- handler_block_actor_data.go
- handler_block_pick_request.go
- handler_book_edit.go
- handler_client_cache_blob_status.go
- handler_command_request.go
- handler_container_close.go
- handler_crafting.go
- handler_emote.go
- handler_enchanting.go
- handler_grindstone.go
- handler_interact.go
- handler_inventory_transaction.go
- handler_item_stack_request.go
- handler_lectern_update.go
- handler_loom.go
- handler_mob_equipment.go
- handler_modal_form_response.go
- handler_npc_request.go
- handler_player_action.go
- handler_player_auth_input.go
- handler_player_skin.go
- handler_request_ability.go
- handler_request_chunk_radius.go
- handler_respawn.go
- handler_server_bound_diagnostics.go
- handler_server_bound_loading_screen.go
- handler_smithing.go
- handler_stonecutter.go
- handler_sub_chunk_request.go
- handler_text.go
- player.go
- session.go
- session_list.go
- text.go
- world.go