1
mirror of https://github.com/CarmJos/EasyPlugin.git synced 2026-06-04 16:48:16 +08:00

[v1.1.0] 版本更新

- [U] 不再允许重写onLoad、onEnable与onDisable方法。
- [F] 修复GUI打开时的空指针异常。
- [A] 添加outputInfo方法,方便插件输出相关信息。
- [A] 添加 EasyPluginMessageProvider 用于实现多语言支持。
This commit is contained in:
2022-01-05 03:45:24 +08:00
parent f216aba5e3
commit 1713fb1324
16 changed files with 352 additions and 41 deletions
+2 -2
View File
@@ -5,7 +5,7 @@
<parent>
<artifactId>easyplugin-parent</artifactId>
<groupId>cc.carm.lib</groupId>
<version>1.0.0-SNAPSHOT</version>
<version>1.1.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
@@ -20,7 +20,7 @@
<packaging>jar</packaging>
<name>EasyPlugin-GUI</name>
<description>轻松插件界面相关接口,方便快捷的创建箱子GUI界面。</description>
<description>轻松插件GUI接口模块,方便快捷的创建箱子GUI界面。</description>
<url>https://github.com/CarmJos/EasyPlugin</url>
<developers>
@@ -159,7 +159,7 @@ public class GUI {
if (this.type == GUIType.CANCEL) throw new NullPointerException("被取消或不存在的GUI");
Inventory inv = Bukkit.createInventory(null, this.type.getSize(), this.name);
IntStream.range(0, this.inv.getSize()).forEach(index -> inv.setItem(index, new ItemStack(Material.AIR)));
IntStream.range(0, inv.getSize()).forEach(index -> inv.setItem(index, new ItemStack(Material.AIR)));
getItems().forEach((index, item) -> inv.setItem(index, item.getDisplay()));
setOpenedGUI(player, this);
@@ -0,0 +1,52 @@
import cc.carm.lib.easyplugin.gui.configuration.GUIActionType;
import cc.carm.lib.easyplugin.gui.configuration.GUIConfiguration;
import org.bukkit.event.inventory.ClickType;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
public class ActionReadTest {
@Test
public void test() {
List<String> actions = Arrays.asList(
"[CHAT] 123123",
"[SHIFT_LEFT:CHAT] /test qwq",
"[CONSOLE] say hello",
"[CLOSE]"
);
for (String actionString : actions) {
int prefixStart = actionString.indexOf("[");
int prefixEnd = actionString.indexOf("]");
if (prefixStart < 0 || prefixEnd < 0) continue;
String prefix = actionString.substring(prefixStart + 1, prefixEnd);
ClickType clickType = null;
GUIActionType actionType;
if (prefix.contains(":")) {
String[] args = prefix.split(":");
clickType = GUIConfiguration.readClickType(args[0]);
actionType = GUIActionType.readActionType(args[1]);
} else {
actionType = GUIActionType.readActionType(prefix);
}
if (actionType == null) {
System.out.println("# " + actionString);
System.out.println("- actionType is Null");
continue;
}
System.out.println("# " + actionType.name() + " " + (clickType == null ? "" : clickType.name()));
System.out.println("- " + actionString.substring(prefixEnd + 1).trim());
}
}
}