Class BuildContext
java.lang.Object
com.ultikits.ultitools.abstracts.gui.declarative.core.BuildContext
BuildContext 是构建 Widget 树时的上下文信息。
它包含构建过程中需要访问的信息,如:
- 当前玩家
- GUI 配置(行数、标题等)
- 父 Widget 的继承属性
- 自定义的上下文数据
使用示例:
@Override
public Widget build(BuildContext context) {
Player player = context.getPlayer();
int rows = context.getRows();
return Container.builder()
.title("Welcome, " + player.getName())
.rows(rows)
.child(buildContent(context))
.build();
}
- Since:
- 6.2.0
- Version:
- 1.0.0
- Author:
- UltiTools Team
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription@NotNull BuildContext为此 Context 创建一个子 Context。 用于传递父 Widget 的属性给子 Widget。@NotNull StringgetGuiId()获取 GUI ID。@Nullable ObjectgetInheritedProperty(@NotNull String key) 获取继承的属性值。@Nullable Element获取父 Element。@NotNull org.bukkit.entity.Player获取当前玩家。intgetRows()获取 GUI 行数。intgetSize()获取 GUI 槽位总数。booleanhasInheritedProperty(@NotNull String key) 检查是否有指定的继承属性。static @NotNull BuildContext创建根 BuildContext。@NotNull BuildContext.Builder创建一个新的 Builder,复制当前 Context 的配置。
-
Field Details
-
player
@NotNull private final @NotNull org.bukkit.entity.Player player -
guiId
-
rows
private final int rows -
parentElement
-
inheritedProperties
-
-
Constructor Details
-
BuildContext
-
-
Method Details
-
root
@NotNull public static @NotNull BuildContext root(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull String guiId, int rows) 创建根 BuildContext。- Parameters:
player- 玩家guiId- GUI IDrows- 行数- Returns:
- 新的 BuildContext
-
child
为此 Context 创建一个子 Context。 用于传递父 Widget 的属性给子 Widget。- Returns:
- 子 BuildContext
-
getPlayer
@NotNull public @NotNull org.bukkit.entity.Player getPlayer()获取当前玩家。- Returns:
- 玩家
-
getGuiId
获取 GUI ID。- Returns:
- GUI ID
-
getRows
public int getRows()获取 GUI 行数。- Returns:
- 行数
-
getSize
public int getSize()获取 GUI 槽位总数。- Returns:
- 槽位总数
-
getParentElement
获取父 Element。- Returns:
- 父 Element,如果是根则返回 null
-
getInheritedProperty
获取继承的属性值。- Parameters:
key- 属性名- Returns:
- 属性值,不存在则返回 null
-
hasInheritedProperty
检查是否有指定的继承属性。- Parameters:
key- 属性名- Returns:
- 如果存在则返回 true
-
toBuilder
创建一个新的 Builder,复制当前 Context 的配置。
-