构建器¶
GUI构建器可以完成GUI界面的构建工作,是容器GUI绘制和判别的基础。关于具体用法请见教程页。
| 名称 | GUI构建器 |
|---|---|
| 包路径 | util2.develop.gui.builder |
| 开发者 | kunjinkao_xs |
class AutoFillList¶
- 基类:list
- 自填充列表,可以对任意索引进行赋值,自动扩大列表元素数,未赋值部分自动设为None
构造函数¶
AutoFillList()
方法¶
__setitem__(index, value)¶
- 参数:
- index: int - 索引
- value: Any - 值
- 对List内置方法重写,通过索引设置列表元素
setSize(size)¶
- 参数:
- size: int - 自填充列表尺寸
- 设置自填充列表的元素数,多增少删
class GUIHolder¶
- 基类:InventoryHolder
- 脚本控制GUI的InventoryHolder
构造函数¶
GUIHolder(name)
- 参数:
- name: str - GUI名称,建议为形如
script.a.b
- name: str - GUI名称,建议为形如
方法¶
getName()¶
- 获取GIU名称
- 返回:str - GUI名称
def isGUI(invHolder, name=None)¶
- 参数:
- invHolder:
- InventoryHolder - 获取到的InventoryHolder
- Inventory - 获取到的Inventory
- name:
- None - 默认,只判断是否为本脚本的GUI
- str - 判断GUI不仅是本脚本控制的,而且名称:
- 输入以“.”结尾时,判断是否以name开头;
- 其他情况下,判断是否为name。
- 判断是否为脚本控制的GUI(处于同一Interpreter下)
- 返回:bool - 是否为脚本控制的GUI
- invHolder:
def initializeItemStack(material, name=None, *lores, **kwargs)¶
- 参数:
- material: Material | ItemStack - 物品的材料
- name: str - 物品的显示名称
- *lores: tuple[str] - 物品的Lore
- **kwargs:
- amount: int - 物品堆叠数量,默认为1
- enchantment:
- None - 默认,无附魔
- bool - 是否有保护附魔
- Enchantment - 指定附魔
- data:
- 默认不设置
- str - 设置NamespacedKey('util2', 'guivalue')的字符串类型内容为传入值
- 根据输入初始化ItemStack
- 返回:ItemStack - 按要求设置的ItemStack
def getGUIValue(stack)¶
- 参数:
- stack: ItemStack - 输入的ItemStack
- 获取ItemStack存储的NamespacedKey('util2', 'guivalue')的字符串类型量
- 返回:
- str - 存储的字符串
- None - 未存储时
class GUIConstructor¶
- 基类: object
- GUI构建器
构造函数¶
GUIConstructor(lst=None)
- 参数:
- lst: list - 初始列表,默认为空
- GUI构建器
getContents()¶
- 获取内容列表
- 返回:AutoFillList - 内容列表
getSize()¶
- 获取内容列表尺寸
- 返回:int - 内容列表尺寸
isEmpty()¶
- 判断内容列表是否为空
- 返回:bool - 是否为空
clear()¶
- 清空已设置内容。常用于无覆盖设计的GUI重新渲染
setItemStack(index, itemStack)¶
- 参数:
- index: int - 位置索引
- itemStack: ItemStack - 拟设置的物品
- 在指定的位置设置物品
set(index, material, name, *lores, **kwargs)¶
- 参数:
- index: int - 位置索引
- material: Material | ItemStack - 物品的材料
- name: str - 物品的显示名称
- *lores: tuple[str] - 物品的Lore
- **kwargs:
- amount: int - 物品堆叠数量,默认为1
- enchantment:
- None - 默认,无附魔
- bool - 是否有保护附魔
- Enchantment - 指定附魔
- data:
- 默认不设置
- str - 设置NamespacedKey('util2', 'guivalue')的字符串类型内容为传入值
- 根据输入初始化ItemStack,并设置在指定位置上
addItemStack(interval, itemStack)¶
- 参数:
- interval: int - 位置间隔
- itemStack: ItemStack - 拟设置的物品
- 在最后一个元素之后隔inverval格加入指定物品
add(interval, material, name, *lores, **kwargs)¶
- 参数:
- interval: int - 位置间隔
- material: Material | ItemStack - 物品的材料
- name: str - 物品的显示名称
- *lores: tuple[str] - 物品的Lore
- **kwargs:
- amount: int - 物品堆叠数量,默认为1
- enchantment:
- None - 默认,无附魔
- bool - 是否有保护附魔
- Enchantment - 指定附魔
- data:
- 默认不设置
- str - 设置NamespacedKey('util2', 'guivalue')的字符串类型内容为传入值
- 根据输入初始化ItemStack,并加入到最后一个元素之后隔inverval格后
remove(index)¶
- 参数:
- index: int - 位置索引
- 移除指定位置的内容
pop(index)¶
- 参数:
- index: int - 位置索引
- 移除并返回指定位置的内容
- 返回:ItemStack | None - 被移除的内容
get(index)¶
- 参数:
- index: int - 位置索引
- 获取指定位置的内容
- 返回:ItemStack | None - 指定位置的内容
extend(constructor)¶
- 参数:
- constructor: GUIConstructor - 被合并在既有内容后的GUIConstructor
- 将constructor的内容合并至当前对象后,用于菜单中不同区块的拼接
replace(constructor, fromInt, toInt=None)¶
- 参数:
- constructor: GUIConstructor - 拟进行替换内容的GUIConstructor
- fromInt: int - 替换开始索引位置
- toInt: int | None - 替换终止索引位置,默认以传入constructor长度确定终止位置
- 将当前对象内容的fromInt至toInt替换为constructor
setDuplicateItemStack(fromIndex, toIndex, step, itemStack)¶
- 参数:
- fromIndex: int - 重复内容设置开始位置
- toIndex: int - 重复内容设置终止位置
- step: int - 步进,即每隔step格设置一次
- itemStack: ItemStack - 拟设置的物品
- 重复设置物品
setDuplicate(fromIndex, toIndex, step, material, name=None, *lores, **kwargs)¶
- 参数:
- fromIndex: int - 重复内容设置开始位置
- toIndex: int - 重复内容设置终止位置
- step: int - 步进,即每隔step格设置一次
- material: Material | ItemStack - 物品的材料
- name: str - 物品的显示名称,默认不设置
- *lores: tuple[str] - 物品的Lore
- **kwargs:
- amount: int - 物品堆叠数量,默认为1
- enchantment:
- None - 默认,无附魔
- bool - 是否有保护附魔
- Enchantment - 指定附魔
- data:
- 默认不设置
- str - 设置NamespacedKey('util2', 'guivalue')的字符串类型内容为传入值
- 根据输入初始化ItemStack,并重复设置
spawnSeparators(fromIndex, toIndex, vertical=False, **kwargs)¶
- 参数:
- 生成隔板