vhandler

package module
v0.0.0-...-3a0e70e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 31, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

README

vhandler

A dragonfly library to add multiple player and world handler

Install

go get github.com/venitynetwork/vhandler

Usage

func acceptPlayer(p *player.Player) {
    handler := vhandler.NewPlayer() // create player handler
	
    moveHandler := func(ctx *event.Context, newPos mgl64.Vec3, newYaw, newPitch float64) {
        p.SendTip(fmt.Sprintf("X: %.2f Y: %.2f Z: %.2f\nYaw: %.0f Pitch: %.0f", newPos.X(), newPos.Y(), newPos.Z(), newYaw, newPitch))
    }
	
    // add move handler
    handler.OnMove(priority.Normal, moveHandler)
	
    // add existing handler interface
    handler.Attach(priority.Normal, p.Handler())
	
    // remove handler interface
    handler.Detach(p.Handler())
    
    // set player handler
    handler.Set(p)

    // remove move handler
    handler.Remove(moveHandler)
}

Examples

movement_debug.go:

func main() {
	log := logrus.New()
	log.Formatter = &logrus.TextFormatter{ForceColors: true}
	log.Level = logrus.DebugLevel

	cfg := server.DefaultConfig()
	srvCfg, err := cfg.Config(log)
	if err != nil {
		log.Fatal(err)
	}
	srv := srvCfg.New()
	srv.Listen()
	for {
		srv.Accept(func(p *player.Player) {
			setupHandler(p).Set(p)
		})
	}
}

func setupHandler(p *player.Player) *vhandler.Player {
	v := vhandler.NewPlayer()

	v.OnMove(priority.Normal, func(ctx *event.Context, newPos mgl64.Vec3, newYaw, newPitch float64) {
		p.SendTip(fmt.Sprintf("X: %.2f Y: %.2f Z: %.2f\nYaw: %.0f Pitch: %.0f", newPos.X(), newPos.Y(), newPos.Z(), newYaw, newPitch))
	})

	return v
}

Documentation

Index

Constants

View Source
const (
	PlayerItemDropId handlerId = iota
	PlayerMoveId
	PlayerJumpId
	PlayerTeleportId
	PlayerChangeWorldId
	PlayerToggleSprintId
	PlayerToggleSneakId
	PlayerCommandExecutionId
	PlayerTransferId
	PlayerChatId
	PlayerSkinChangeId
	PlayerStartBreakId
	PlayerBlockBreakId
	PlayerBlockPlaceId
	PlayerBlockPickId
	PlayerSignEditId
	PlayerItemPickupId
	PlayerItemUseId
	PlayerItemUseOnBlockId
	PlayerItemUseOnEntityId
	PlayerItemConsumeId
	PlayerItemDamageId
	PlayerAttackEntityId
	PlayerExperienceGainId
	PlayerPunchAirId
	PlayerHurtId
	PlayerHealId
	PlayerFoodLossId
	PlayerDeathId
	PlayerRespawnId
	PlayerQuitId
)
View Source
const (
	WorldLiquidFlowId handlerId = iota
	WorldLiquidDecayId
	WorldLiquidHardenId
	WorldSoundId
	WorldFireSpreadId
	WorldBlockBurnId
	WorldEntitySpawnId
	WorldEntityDespawnId
	WorldCloseId
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Handler

type Handler interface {
}

type Player

type Player struct {
	// contains filtered or unexported fields
}

func NewPlayer

func NewPlayer() *Player

func (*Player) Attach

func (v *Player) Attach(p priority.Priority, h player.Handler)

func (*Player) Detach

func (v *Player) Detach(h player.Handler) error

func (*Player) OnAttackEntity

func (v *Player) OnAttackEntity(p priority.Priority, h PlayerAttackEntityHandler)

func (*Player) OnBlockBreak

func (v *Player) OnBlockBreak(p priority.Priority, h PlayerBlockBreakHandler)

func (*Player) OnBlockPick

func (v *Player) OnBlockPick(p priority.Priority, h PlayerBlockPickHandler)

func (*Player) OnBlockPlace

func (v *Player) OnBlockPlace(p priority.Priority, h PlayerBlockPlaceHandler)

func (*Player) OnChangeWorld

func (v *Player) OnChangeWorld(p priority.Priority, h PlayerChangeWorldHandler)

func (*Player) OnChat

func (v *Player) OnChat(p priority.Priority, h PlayerChatHandler)

func (*Player) OnCommandExecution

func (v *Player) OnCommandExecution(p priority.Priority, h PlayerCommandExecutionHandler)

func (*Player) OnDeath

func (v *Player) OnDeath(p priority.Priority, h PlayerDeathHandler)

func (*Player) OnExperienceGain

func (v *Player) OnExperienceGain(p priority.Priority, h PlayerExperienceGainHandler)

func (*Player) OnFoodLoss

func (v *Player) OnFoodLoss(p priority.Priority, h PlayerFoodLossHandler)

func (*Player) OnHeal

func (v *Player) OnHeal(p priority.Priority, h PlayerHealHandler)

func (*Player) OnHurt

func (v *Player) OnHurt(p priority.Priority, h PlayerHurtHandler)

func (*Player) OnItemConsume

func (v *Player) OnItemConsume(p priority.Priority, h PlayerItemConsumeHandler)

func (*Player) OnItemDamage

func (v *Player) OnItemDamage(p priority.Priority, h PlayerItemDamageHandler)

func (*Player) OnItemDrop

func (v *Player) OnItemDrop(p priority.Priority, h PlayerItemDropHandler)

func (*Player) OnItemPickup

func (v *Player) OnItemPickup(p priority.Priority, h PlayerItemPickupHandler)

func (*Player) OnItemUse

func (v *Player) OnItemUse(p priority.Priority, h PlayerItemUseHandler)

func (*Player) OnItemUseOnBlock

func (v *Player) OnItemUseOnBlock(p priority.Priority, h PlayerItemUseOnBlockHandler)

func (*Player) OnItemUseOnEntity

func (v *Player) OnItemUseOnEntity(p priority.Priority, h PlayerItemUseOnEntityHandler)

func (*Player) OnJump

func (v *Player) OnJump(p priority.Priority, h PlayerJumpHandler)

func (*Player) OnMove

func (v *Player) OnMove(p priority.Priority, h PlayerMoveHandler)

func (*Player) OnPunchAir

func (v *Player) OnPunchAir(p priority.Priority, h PlayerPunchAirHandler)

func (*Player) OnQuit

func (v *Player) OnQuit(p priority.Priority, h PlayerQuitHandler)

func (*Player) OnRespawn

func (v *Player) OnRespawn(p priority.Priority, h PlayerRespawnHandler)

func (*Player) OnSignEdit

func (v *Player) OnSignEdit(p priority.Priority, h PlayerSignEditHandler)

func (*Player) OnSkinChange

func (v *Player) OnSkinChange(p priority.Priority, h PlayerSkinChangeHandler)

func (*Player) OnStartBreak

func (v *Player) OnStartBreak(p priority.Priority, h PlayerStartBreakHandler)

func (*Player) OnTeleport

func (v *Player) OnTeleport(p priority.Priority, h PlayerTeleportHandler)

func (*Player) OnToggleSneak

func (v *Player) OnToggleSneak(p priority.Priority, h PlayerToggleSneakHandler)

func (*Player) OnToggleSprint

func (v *Player) OnToggleSprint(p priority.Priority, h PlayerToggleSprintHandler)

func (*Player) OnTransfer

func (v *Player) OnTransfer(p priority.Priority, h PlayerTransferHandler)

func (*Player) Remove

func (v *Player) Remove(h Handler) error

func (*Player) Set

func (v *Player) Set(p *player.Player)

type PlayerAttackEntityHandler

type PlayerAttackEntityHandler func(ctx *event.Context, e world.Entity, force, height *float64, critical *bool)

type PlayerBlockBreakHandler

type PlayerBlockBreakHandler func(ctx *event.Context, pos cube.Pos, drops *[]item.Stack, xp *int)

type PlayerBlockPickHandler

type PlayerBlockPickHandler func(ctx *event.Context, pos cube.Pos, b world.Block)

type PlayerBlockPlaceHandler

type PlayerBlockPlaceHandler func(ctx *event.Context, pos cube.Pos, b world.Block)

type PlayerChangeWorldHandler

type PlayerChangeWorldHandler func(before, after *world.World)

type PlayerChatHandler

type PlayerChatHandler func(ctx *event.Context, message *string)

type PlayerCommandExecutionHandler

type PlayerCommandExecutionHandler func(ctx *event.Context, command cmd.Command, args []string)

type PlayerDeathHandler

type PlayerDeathHandler func(src world.DamageSource, keepInv *bool)

type PlayerExperienceGainHandler

type PlayerExperienceGainHandler func(ctx *event.Context, amount *int)

type PlayerFoodLossHandler

type PlayerFoodLossHandler func(ctx *event.Context, from int, to *int)

type PlayerHandler

type PlayerHandler struct {
	player.Handler
	// contains filtered or unexported fields
}

func (*PlayerHandler) HandleAttackEntity

func (p *PlayerHandler) HandleAttackEntity(ctx *event.Context, e world.Entity, force, height *float64, critical *bool)

func (*PlayerHandler) HandleBlockBreak

func (p *PlayerHandler) HandleBlockBreak(ctx *event.Context, pos cube.Pos, drops *[]item.Stack, xp *int)

func (*PlayerHandler) HandleBlockPick

func (p *PlayerHandler) HandleBlockPick(ctx *event.Context, pos cube.Pos, b world.Block)

func (*PlayerHandler) HandleBlockPlace

func (p *PlayerHandler) HandleBlockPlace(ctx *event.Context, pos cube.Pos, b world.Block)

func (*PlayerHandler) HandleChangeWorld

func (p *PlayerHandler) HandleChangeWorld(before, after *world.World)

func (*PlayerHandler) HandleChat

func (p *PlayerHandler) HandleChat(ctx *event.Context, message *string)

func (*PlayerHandler) HandleCommandExecution

func (p *PlayerHandler) HandleCommandExecution(ctx *event.Context, command cmd.Command, args []string)

func (*PlayerHandler) HandleDeath

func (p *PlayerHandler) HandleDeath(src world.DamageSource, keepInv *bool)

func (*PlayerHandler) HandleExperienceGain

func (p *PlayerHandler) HandleExperienceGain(ctx *event.Context, amount *int)

func (*PlayerHandler) HandleFoodLoss

func (p *PlayerHandler) HandleFoodLoss(ctx *event.Context, from int, to *int)

func (*PlayerHandler) HandleHeal

func (p *PlayerHandler) HandleHeal(ctx *event.Context, health *float64, src world.HealingSource)

func (*PlayerHandler) HandleHurt

func (p *PlayerHandler) HandleHurt(ctx *event.Context, damage *float64, attackImmunity *time.Duration, src world.DamageSource)

func (*PlayerHandler) HandleItemConsume

func (p *PlayerHandler) HandleItemConsume(ctx *event.Context, item item.Stack)

func (*PlayerHandler) HandleItemDamage

func (p *PlayerHandler) HandleItemDamage(ctx *event.Context, i item.Stack, damage int)

func (*PlayerHandler) HandleItemDrop

func (p *PlayerHandler) HandleItemDrop(ctx *event.Context, e *entity.Item)

func (*PlayerHandler) HandleItemPickup

func (p *PlayerHandler) HandleItemPickup(ctx *event.Context, i item.Stack)

func (*PlayerHandler) HandleItemUse

func (p *PlayerHandler) HandleItemUse(ctx *event.Context)

func (*PlayerHandler) HandleItemUseOnBlock

func (p *PlayerHandler) HandleItemUseOnBlock(ctx *event.Context, pos cube.Pos, face cube.Face, clickPos mgl64.Vec3)

func (*PlayerHandler) HandleItemUseOnEntity

func (p *PlayerHandler) HandleItemUseOnEntity(ctx *event.Context, e world.Entity)

func (*PlayerHandler) HandleJump

func (p *PlayerHandler) HandleJump()

func (*PlayerHandler) HandleMove

func (p *PlayerHandler) HandleMove(ctx *event.Context, newPos mgl64.Vec3, newYaw, newPitch float64)

func (*PlayerHandler) HandlePunchAir

func (p *PlayerHandler) HandlePunchAir(ctx *event.Context)

func (*PlayerHandler) HandleQuit

func (p *PlayerHandler) HandleQuit()

func (*PlayerHandler) HandleRespawn

func (p *PlayerHandler) HandleRespawn(pos *mgl64.Vec3, w **world.World)

func (*PlayerHandler) HandleSignEdit

func (p *PlayerHandler) HandleSignEdit(ctx *event.Context, oldText, newText string)

func (*PlayerHandler) HandleSkinChange

func (p *PlayerHandler) HandleSkinChange(ctx *event.Context, skin *skin.Skin)

func (*PlayerHandler) HandleStartBreak

func (p *PlayerHandler) HandleStartBreak(ctx *event.Context, pos cube.Pos)

func (*PlayerHandler) HandleTeleport

func (p *PlayerHandler) HandleTeleport(ctx *event.Context, pos mgl64.Vec3)

func (*PlayerHandler) HandleToggleSneak

func (p *PlayerHandler) HandleToggleSneak(ctx *event.Context, after bool)

func (*PlayerHandler) HandleToggleSprint

func (p *PlayerHandler) HandleToggleSprint(ctx *event.Context, after bool)

func (*PlayerHandler) HandleTransfer

func (p *PlayerHandler) HandleTransfer(ctx *event.Context, addr *net.UDPAddr)

type PlayerHealHandler

type PlayerHealHandler func(ctx *event.Context, health *float64, src world.HealingSource)

type PlayerHurtHandler

type PlayerHurtHandler func(ctx *event.Context, damage *float64, attackImmunity *time.Duration, src world.DamageSource)

type PlayerItemConsumeHandler

type PlayerItemConsumeHandler func(ctx *event.Context, item item.Stack)

type PlayerItemDamageHandler

type PlayerItemDamageHandler func(ctx *event.Context, i item.Stack, damage int)

type PlayerItemDropHandler

type PlayerItemDropHandler func(ctx *event.Context, e *entity.Item)

type PlayerItemPickupHandler

type PlayerItemPickupHandler func(ctx *event.Context, i item.Stack)

type PlayerItemUseHandler

type PlayerItemUseHandler func(ctx *event.Context)

type PlayerItemUseOnBlockHandler

type PlayerItemUseOnBlockHandler func(ctx *event.Context, pos cube.Pos, face cube.Face, clickPos mgl64.Vec3)

type PlayerItemUseOnEntityHandler

type PlayerItemUseOnEntityHandler func(ctx *event.Context, e world.Entity)

type PlayerJumpHandler

type PlayerJumpHandler func()

type PlayerMoveHandler

type PlayerMoveHandler func(ctx *event.Context, newPos mgl64.Vec3, newYaw, newPitch float64)

type PlayerPunchAirHandler

type PlayerPunchAirHandler func(ctx *event.Context)

type PlayerQuitHandler

type PlayerQuitHandler func()

type PlayerRespawnHandler

type PlayerRespawnHandler func(pos *mgl64.Vec3, w **world.World)

type PlayerSignEditHandler

type PlayerSignEditHandler func(ctx *event.Context, oldText, newText string)

type PlayerSkinChangeHandler

type PlayerSkinChangeHandler func(ctx *event.Context, skin *skin.Skin)

type PlayerStartBreakHandler

type PlayerStartBreakHandler func(ctx *event.Context, pos cube.Pos)

type PlayerTeleportHandler

type PlayerTeleportHandler func(ctx *event.Context, pos mgl64.Vec3)

type PlayerToggleSneakHandler

type PlayerToggleSneakHandler func(ctx *event.Context, after bool)

type PlayerToggleSprintHandler

type PlayerToggleSprintHandler func(ctx *event.Context, after bool)

type PlayerTransferHandler

type PlayerTransferHandler func(ctx *event.Context, addr *net.UDPAddr)

type World

type World struct {
	// contains filtered or unexported fields
}

func NewWorld

func NewWorld() *World

func (*World) Attach

func (v *World) Attach(p priority.Priority, wh world.Handler)

func (*World) Detach

func (v *World) Detach(wh world.Handler) error

func (*World) OnBlockBurn

func (v *World) OnBlockBurn(p priority.Priority, h WorldBlockBurnHandler)

func (*World) OnClose

func (v *World) OnClose(p priority.Priority, h WorldCloseHandler)

func (*World) OnEntityDespawn

func (v *World) OnEntityDespawn(p priority.Priority, h WorldEntityDespawnHandler)

func (*World) OnEntitySpawn

func (v *World) OnEntitySpawn(p priority.Priority, h WorldEntitySpawnHandler)

func (*World) OnFireSpread

func (v *World) OnFireSpread(p priority.Priority, h WorldFireSpreadHandler)

func (*World) OnLiquidDecay

func (v *World) OnLiquidDecay(p priority.Priority, h WorldLiquidDecayHandler)

func (*World) OnLiquidFlow

func (v *World) OnLiquidFlow(p priority.Priority, h WorldLiquidFlowHandler)

func (*World) OnLiquidHarden

func (v *World) OnLiquidHarden(p priority.Priority, h WorldLiquidHardenHandler)

func (*World) OnSound

func (v *World) OnSound(p priority.Priority, h WorldSoundHandler)

func (*World) Remove

func (v *World) Remove(h Handler) error

func (*World) Set

func (v *World) Set(wo *world.World)

type WorldBlockBurnHandler

type WorldBlockBurnHandler func(ctx *event.Context, pos cube.Pos)

type WorldCloseHandler

type WorldCloseHandler func()

type WorldEntityDespawnHandler

type WorldEntityDespawnHandler func(e world.Entity)

type WorldEntitySpawnHandler

type WorldEntitySpawnHandler func(e world.Entity)

type WorldFireSpreadHandler

type WorldFireSpreadHandler func(ctx *event.Context, from, to cube.Pos)

type WorldHandler

type WorldHandler struct {
	world.Handler
	// contains filtered or unexported fields
}

func (*WorldHandler) HandleBlockBurn

func (w *WorldHandler) HandleBlockBurn(ctx *event.Context, pos cube.Pos)

func (*WorldHandler) HandleClose

func (w *WorldHandler) HandleClose()

func (*WorldHandler) HandleEntityDespawn

func (w *WorldHandler) HandleEntityDespawn(e world.Entity)

func (*WorldHandler) HandleEntitySpawn

func (w *WorldHandler) HandleEntitySpawn(e world.Entity)

func (*WorldHandler) HandleFireSpread

func (w *WorldHandler) HandleFireSpread(ctx *event.Context, from, to cube.Pos)

func (*WorldHandler) HandleLiquidDecay

func (w *WorldHandler) HandleLiquidDecay(ctx *event.Context, pos cube.Pos, before, after world.Liquid)

func (*WorldHandler) HandleLiquidFlow

func (w *WorldHandler) HandleLiquidFlow(ctx *event.Context, from, into cube.Pos, liquid world.Liquid, replaced world.Block)

func (*WorldHandler) HandleLiquidHarden

func (w *WorldHandler) HandleLiquidHarden(ctx *event.Context, hardenedPos cube.Pos, liquidHardened, otherLiquid, newBlock world.Block)

func (*WorldHandler) HandleSound

func (w *WorldHandler) HandleSound(ctx *event.Context, s world.Sound, pos mgl64.Vec3)

type WorldLiquidDecayHandler

type WorldLiquidDecayHandler func(ctx *event.Context, pos cube.Pos, before, after world.Liquid)

type WorldLiquidFlowHandler

type WorldLiquidFlowHandler func(ctx *event.Context, from, into cube.Pos, liquid world.Liquid, replaced world.Block)

type WorldLiquidHardenHandler

type WorldLiquidHardenHandler func(ctx *event.Context, hardenedPos cube.Pos, liquidHardened, otherLiquid, newBlock world.Block)

type WorldSoundHandler

type WorldSoundHandler func(ctx *event.Context, s world.Sound, pos mgl64.Vec3)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL