public class GermGuiScreen extends java.lang.Object implements IGuiPartContainer, java.lang.Cloneable
Modifier and Type | Class and Description |
---|---|
static class |
GermGuiScreen.ClickType
点击类型
|
static class |
GermGuiScreen.ScreenLevel |
static class |
GermGuiScreen.ScreenType |
Modifier | Constructor and Description |
---|---|
|
GermGuiScreen(java.lang.String guiName)
新建一个界面
|
protected |
GermGuiScreen(java.lang.String guiName,
boolean addOptions) |
protected |
GermGuiScreen(java.lang.String guiName,
org.bukkit.configuration.ConfigurationSection srcSection) |
Modifier and Type | Method and Description |
---|---|
void |
addChildGuiScreen(GermGuiScreen germGuiScreen) |
void |
addGuiPart(GermGuiPart<? extends DynamicBase> germGuiPart)
添加部件
在任何时候都有效 |
void |
addReceivePost(java.lang.String path,
IGuiScreenPostHandler guiScreenPostHandler) |
void |
clearGuiPart() |
GermGuiScreen |
clone() |
void |
close() |
void |
closeGui()
Deprecated.
使用
close() |
void |
closeGuiChild()
Deprecated.
使用
close() |
void |
closeHud()
Deprecated.
使用
close() |
boolean |
equals(java.lang.Object o) |
<T extends GermGuiPart<? extends DynamicBase>> |
getAllGuiParts(java.lang.Class<T> primitivePartClass) |
java.util.List<GermGuiScreen> |
getChildGuiScreens() |
IGuiScreenHandler |
getClosedHandler() |
static GermGuiScreen |
getGermGuiScreen(java.lang.String guiName)
新建一个空界面
|
static GermGuiScreen |
getGermGuiScreen(java.lang.String guiName,
org.bukkit.configuration.ConfigurationSection configurationSection)
直接将yml内的配置文件转化为界面
|
static GermGuiScreen |
getGermGuiScreen(java.lang.String guiName,
java.lang.String indexName,
org.bukkit.configuration.file.YamlConfiguration yamlConfiguration) |
static GermGuiScreen |
getGermGuiScreen(java.lang.String indexName,
org.bukkit.configuration.file.YamlConfiguration yamlConfiguration) |
java.lang.String |
getGuiName()
界面的名字
|
GermGuiPart<? extends DynamicBase> |
getGuiPart(java.lang.String indexName)
根据索引名获取部件
如果要获取组件内部的某个组件,例如滚动框A内的组件B 那么要写 getGuiPart("A$B") 如果组件B又是一个可以包含其他组件的组件,例如包含了C 那么就是 getGuiPart("A$B$C") |
<T extends GermGuiPart<? extends DynamicBase>> |
getGuiPart(java.lang.String indexName,
java.lang.Class<T> primitivePartClass)
根据索引名获取部件
如果要获取组件内部的某个组件,例如滚动框A内的组件B 那么要写 getGuiPart("A$B") 如果组件B又是一个可以包含其他组件的组件,例如包含了C 那么就是 getGuiPart("A$B$C") |
java.util.List<GermGuiPart<? extends DynamicBase>> |
getGuiParts()
获得界面的GUI部件列表
|
<T extends GermGuiPart<? extends DynamicBase>> |
getGuiParts(java.lang.Class<T> primitivePartClass)
根据类型获取部件
|
GermGuiSlot |
getGuiSlotFromIdentity(java.lang.String slotIdentity) |
IGuiScreenHandler |
getKeyDownHandler(int key)
Deprecated.
|
IGuiScreenHandler |
getKeyDownHandler(KeyType keyType) |
MappingType |
getMappingType() |
GermGuiScreen |
getNextGuiScreen() |
IGuiScreenHandler |
getOpenedHandler() |
@NotNull GermGuiOptions |
getOptions() |
GermGuiScreen |
getParentGuiScreen() |
org.bukkit.entity.Player |
getPlayer() |
GermGuiScreen |
getPreGuiScreen() |
org.bukkit.configuration.ConfigurationSection |
getPrivateConfig() |
org.bukkit.entity.Player |
getReadyPlayer() |
GermGuiScreen.ScreenLevel |
getScreenLevel() |
GermGuiScreen.ScreenType |
getScreenType() |
SimpleMap |
getSimpleMap() |
org.bukkit.configuration.file.YamlConfiguration |
getSrc()
获得 GUI界面的源码
|
int |
hashCode() |
boolean |
isInvalid() |
boolean |
isOpened()
界面是否是被打开的
在刚调用open方法时,服务端会告诉客户端打开界面 当客户端打开界面后,此方法才会返回opened=true |
boolean |
isReadyOpen()
在刚调用open时如果要检测是否正在打开界面的途中
调用该方法 |
void |
loadSrc(org.bukkit.configuration.ConfigurationSection configurationSection) |
void |
loadSrc(java.lang.String frontIndexName,
org.bukkit.configuration.ConfigurationSection configurationSection) |
void |
onClosed() |
void |
onOpened() |
void |
onReceivePost(java.lang.String path,
java.util.Map<java.lang.String,java.lang.Object> contentMap,
java.util.Map<java.lang.String,java.lang.Object> responseMap) |
void |
openChildGui(org.bukkit.entity.Player player)
以子窗口的形式为玩家打开界面
前提是玩家已经有父界面了 |
void |
openGui(org.bukkit.entity.Player player)
以GUI的形式为玩家打开界面
|
void |
openHud(org.bukkit.entity.Player player)
用HUD的形式为玩家打开界面
|
void |
openToEntity(@NotNull org.bukkit.entity.Player player,
@NotNull org.bukkit.entity.Entity entity,
@NotNull GermEffectGui germEffectGui)
让一个GUI界面跟着这个实体
|
void |
openToLocation(org.bukkit.entity.Player player,
org.bukkit.Location location,
GermEffectGui germEffectGui)
让一个GUI界面打开在世界某处
|
void |
post(java.lang.String path,
java.util.Map responseMap)
主动向客户端发送 会触发客户端的responseScript
|
void |
registerKeyDownHandler(int key,
IGuiScreenHandler guiScreenHandler)
Deprecated.
|
void |
registerKeyDownHandler(KeyType keyType,
IGuiScreenHandler guiScreenHandler) |
static void |
registerMappingType(java.lang.String guiName,
MappingType mappingType) |
void |
removeChildGuiScreen(GermGuiScreen germGuiScreen) |
void |
removeGuiPart(GermGuiPart<? extends DynamicBase> germGuiPart)
删除一个组件
|
void |
removeGuiPart(java.lang.String indexName)
根据名字删除部件
在任何时候都有效 |
void |
removeReceivePost(java.lang.String path) |
void |
sendDos(java.util.List<java.lang.String> dos)
在界面处于readyOpen 或者opened的情况下调用才有效
|
void |
sendDos(java.lang.String... dos)
在界面处于readyOpen 或者opened的情况下调用才有效
|
void |
sendRunDos(java.lang.String dosName,
java.lang.String... dos)
在界面处于readyOpen 或者opened的情况下调用才有效
用法详情请搜索GermPlugin/gui/default.yml中的run dos
|
void |
setChildGuiScreens(java.util.List<GermGuiScreen> childGuiScreens) |
void |
setClosedHandler(IGuiScreenHandler closedHandler) |
GermGuiScreen |
setGuiName(java.lang.String guiName) |
void |
setInvalid(boolean flag)
将界面内所有可以
IGuiPartInteractive 的组件有效/无效化
包括子组件 |
void |
setMappingType(MappingType mappingType) |
void |
setNextGuiScreen(GermGuiScreen nextGuiScreen) |
void |
setOpened(org.bukkit.entity.Player player)
Deprecated.
|
void |
setOpenedHandler(IGuiScreenHandler openedHandler) |
void |
setParentGuiScreen(GermGuiScreen parentGuiScreen) |
void |
setPreGuiScreen(GermGuiScreen preGuiScreen) |
protected void |
setPrivateConfig(org.bukkit.configuration.ConfigurationSection privateConfig) |
void |
setReadyPlayer(org.bukkit.entity.Player readyPlayer) |
void |
setScreenLevel(GermGuiScreen.ScreenLevel screenLevel) |
void |
setScreenType(GermGuiScreen.ScreenType screenType) |
void |
sortGuiPart(java.util.Comparator<GermGuiPart<? extends DynamicBase>> comparator) |
java.lang.String |
toString() |
static void |
unregisterMappingType(java.lang.String guiName) |
public GermGuiScreen(java.lang.String guiName)
guiName
- 界面名字protected GermGuiScreen(java.lang.String guiName, boolean addOptions)
protected GermGuiScreen(java.lang.String guiName, org.bukkit.configuration.ConfigurationSection srcSection)
public GermGuiScreen clone()
clone
in class java.lang.Object
public void setMappingType(MappingType mappingType)
setMappingType
in interface IGuiPartContainer
public MappingType getMappingType()
getMappingType
in interface IGuiPartContainer
public static void registerMappingType(java.lang.String guiName, MappingType mappingType)
public static void unregisterMappingType(java.lang.String guiName)
public GermGuiScreen setGuiName(java.lang.String guiName)
public SimpleMap getSimpleMap()
public void setInvalid(boolean flag)
IGuiPartInteractive
的组件有效/无效化
包括子组件flag
- public void sendRunDos(java.lang.String dosName, java.lang.String... dos)
用法详情请搜索GermPlugin/gui/default.yml中的run dos
dos
- public void sendDos(java.lang.String... dos)
dos
- public void sendDos(java.util.List<java.lang.String> dos)
dos
- public void addGuiPart(GermGuiPart<? extends DynamicBase> germGuiPart)
addGuiPart
in interface IGuiPartContainer
germGuiPart
- 部件public void removeGuiPart(GermGuiPart<? extends DynamicBase> germGuiPart)
removeGuiPart
in interface IGuiPartContainer
germGuiPart
- public void removeGuiPart(java.lang.String indexName)
removeGuiPart
in interface IGuiPartContainer
indexName
- 部件的索引名public void clearGuiPart()
clearGuiPart
in interface IGuiPartContainer
public GermGuiPart<? extends DynamicBase> getGuiPart(java.lang.String indexName)
getGuiPart
in interface IGuiPartContainer
indexName
- 部件索引名public <T extends GermGuiPart<? extends DynamicBase>> T getGuiPart(java.lang.String indexName, java.lang.Class<T> primitivePartClass)
getGuiPart
in interface IGuiPartContainer
T
- 组件indexName
- 索引名primitivePartClass
- 要获取组件的类 这样就不用强转了public void sortGuiPart(java.util.Comparator<GermGuiPart<? extends DynamicBase>> comparator)
sortGuiPart
in interface IGuiPartContainer
public java.util.List<GermGuiPart<? extends DynamicBase>> getGuiParts()
getGuiParts
in interface IGuiPartContainer
@Deprecated public void registerKeyDownHandler(int key, IGuiScreenHandler guiScreenHandler)
key
- 按键数字IDguiScreenHandler
- 当在该界面按下Key时调用public void registerKeyDownHandler(KeyType keyType, IGuiScreenHandler guiScreenHandler)
keyType
- KeyType
guiScreenHandler
- 当在该界面按下Key时调用@Deprecated public IGuiScreenHandler getKeyDownHandler(int key)
public IGuiScreenHandler getKeyDownHandler(KeyType keyType)
@NotNull public <T extends GermGuiPart<? extends DynamicBase>> @NotNull java.util.List<T> getGuiParts(java.lang.Class<T> primitivePartClass)
getGuiParts
in interface IGuiPartContainer
@Nullable public GermGuiSlot getGuiSlotFromIdentity(java.lang.String slotIdentity)
getGuiSlotFromIdentity
in interface IGuiPartContainer
public <T extends GermGuiPart<? extends DynamicBase>> java.util.List<T> getAllGuiParts(java.lang.Class<T> primitivePartClass)
getAllGuiParts
in interface IGuiPartContainer
@NotNull public @NotNull GermGuiOptions getOptions()
public boolean isOpened()
public boolean isReadyOpen()
@Deprecated public void setOpened(org.bukkit.entity.Player player)
public void addChildGuiScreen(GermGuiScreen germGuiScreen)
public void removeChildGuiScreen(GermGuiScreen germGuiScreen)
public void openGui(org.bukkit.entity.Player player)
player
- 玩家public void openChildGui(org.bukkit.entity.Player player)
player
- 玩家public void openHud(org.bukkit.entity.Player player)
player
- public void openToEntity(@NotNull @NotNull org.bukkit.entity.Player player, @NotNull @NotNull org.bukkit.entity.Entity entity, @NotNull @NotNull GermEffectGui germEffectGui)
player
- 玩家entity
- 实体必须与player相同世界germEffectGui
- 包含特殊信息的实例 GermEffectGui
public void openToLocation(org.bukkit.entity.Player player, org.bukkit.Location location, GermEffectGui germEffectGui)
player
- 玩家location
- 必须与玩家相同世界germEffectGui
- 包含特殊信息的实例 GermEffectGui
public void close()
@Deprecated public void closeGuiChild()
close()
@Deprecated public void closeGui()
close()
@Deprecated public void closeHud()
close()
public void addReceivePost(java.lang.String path, IGuiScreenPostHandler guiScreenPostHandler)
public void removeReceivePost(java.lang.String path)
public void onReceivePost(java.lang.String path, java.util.Map<java.lang.String,java.lang.Object> contentMap, java.util.Map<java.lang.String,java.lang.Object> responseMap)
public void post(java.lang.String path, java.util.Map responseMap)
public void onClosed()
public void onOpened()
public org.bukkit.configuration.file.YamlConfiguration getSrc()
public void loadSrc(java.lang.String frontIndexName, org.bukkit.configuration.ConfigurationSection configurationSection)
public void loadSrc(org.bukkit.configuration.ConfigurationSection configurationSection)
public static GermGuiScreen getGermGuiScreen(java.lang.String guiName)
guiName
- public static GermGuiScreen getGermGuiScreen(java.lang.String indexName, org.bukkit.configuration.file.YamlConfiguration yamlConfiguration)
indexName
- 界面配置在 yamlConfiguration 中的索引节点名 并且作为构建出来的界面名字yamlConfiguration
- Yaml实例public static GermGuiScreen getGermGuiScreen(java.lang.String guiName, java.lang.String indexName, org.bukkit.configuration.file.YamlConfiguration yamlConfiguration)
guiName
- 界面名字indexName
- 界面在 yamlConfiguration 中的索引位置yamlConfiguration
- Yaml实例public static GermGuiScreen getGermGuiScreen(java.lang.String guiName, org.bukkit.configuration.ConfigurationSection configurationSection)
guiName
- GUI的名字configurationSection
- 界面的配置public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String getGuiName()
public boolean isInvalid()
public void setParentGuiScreen(GermGuiScreen parentGuiScreen)
public GermGuiScreen getParentGuiScreen()
public void setNextGuiScreen(GermGuiScreen nextGuiScreen)
public GermGuiScreen getNextGuiScreen()
public void setPreGuiScreen(GermGuiScreen preGuiScreen)
public GermGuiScreen getPreGuiScreen()
public org.bukkit.configuration.ConfigurationSection getPrivateConfig()
protected void setPrivateConfig(org.bukkit.configuration.ConfigurationSection privateConfig)
public void setScreenType(GermGuiScreen.ScreenType screenType)
public GermGuiScreen.ScreenType getScreenType()
public IGuiScreenHandler getClosedHandler()
public void setClosedHandler(IGuiScreenHandler closedHandler)
public IGuiScreenHandler getOpenedHandler()
public void setOpenedHandler(IGuiScreenHandler openedHandler)
public void setReadyPlayer(org.bukkit.entity.Player readyPlayer)
public org.bukkit.entity.Player getReadyPlayer()
public org.bukkit.entity.Player getPlayer()
public java.util.List<GermGuiScreen> getChildGuiScreens()
public void setChildGuiScreens(java.util.List<GermGuiScreen> childGuiScreens)
public GermGuiScreen.ScreenLevel getScreenLevel()
public void setScreenLevel(GermGuiScreen.ScreenLevel screenLevel)