ResourcesControl

package
v6.1.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2023 License: Apache-2.0, MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeepCopy

func DeepCopy(
	source interface{},
	destination interface{},
	register func(),
) error

将 source 深拷贝到 destination 。

register 是一个用于注册接口型变量的回调函数, 它将由 DeepCopy 自身执行。以下是一个例子。

func() {
	gob.Register(map[string]any{})
}

Types

type ContainerID

type ContainerID uint8

描述一个容器 ID

type Resources

type Resources struct {
	// 管理命令请求队列及命令返回值
	Command commandRequestWithResponse
	// 管理本地库存数据,如背包物品
	Inventory inventoryContents
	// 管理物品操作请求及结果
	ItemStackOperation itemStackRequestWithResponse
	// 管理容器资源的占用状态,同时存储容器操作的结果
	Container container
	// 管理结构资源并保存结构请求的回应
	Structure mcstructure
	// 管理和保存其他小型的资源,
	// 例如例如游戏刻相关
	Others others
}

管理和保存 PhoenixBuilder 的各类公用资源

func (*Resources) Init

func (r *Resources) Init() func(pk *packet.Packet)

初始化 Resources 结构体并返回一个函数用于更新资源。

!!! 重要 !!! 请务必保证在单个服务器连接下,此函数至多被调用一次, 否则会发生无法解决的冲突性问题

type StackRequestContainerInfo

type StackRequestContainerInfo struct {
	// 其容器对应库存的窗口 ID
	WindowID uint32
	// 描述此容器中每个槽位的变动结果,键代表槽位编号,而值代表物品的新值。
	// 特别地,您无需设置物品数量和 NBT 中的物品名称以及物品的 StackNetworkID 信息,因为
	// 这些数据会在租赁服发回 ItemStackResponce 后被重新设置
	ChangeResult map[uint8]protocol.ItemInstance
}

描述单个库存(容器)中物品的变动结果

Jump to

Keyboard shortcuts

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