mirror of
https://github.com/CarmJos/EasyPlugin.git
synced 2026-06-05 00:58:17 +08:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1d279a16a8 | |||
| 17b7c23c54 | |||
| 1b7f60fe43 |
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@@ -22,29 +22,4 @@ public class ColorParseTest {
|
|||||||
System.out.println(clear("&f测试&<#AAAAAA>清理颜色代码&<#111111> &&这样应该&(#666666)不被影响 &f。"));
|
System.out.println(clear("&f测试&<#AAAAAA>清理颜色代码&<#111111> &&这样应该&(#666666)不被影响 &f。"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void formatReadTest() {
|
|
||||||
LinkedHashMap<Integer, String> formats = new LinkedHashMap<>();
|
|
||||||
String text = "&k&l &m&1我&k爱你爱你爱你&o吗?";
|
|
||||||
Matcher matcher = ColorParser.FORMAT_PATTERN.matcher(text);
|
|
||||||
while (matcher.find()) {
|
|
||||||
String code = matcher.group();
|
|
||||||
formats.put(matcher.start(), code);
|
|
||||||
text = matcher.replaceFirst("");
|
|
||||||
matcher.reset(text);
|
|
||||||
}
|
|
||||||
|
|
||||||
formats.forEach((index, code) -> System.out.println(index + " -> " + code));
|
|
||||||
|
|
||||||
String[] parts = text.split("");
|
|
||||||
StringBuilder builder = new StringBuilder();
|
|
||||||
for (int i = 0; i < parts.length; i++) {
|
|
||||||
String format = formats.get(i);
|
|
||||||
if (format != null) builder.append(ColorParser.parseBaseColor(format));
|
|
||||||
builder.append(parts[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
System.out.println(builder);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@@ -81,6 +81,19 @@ public class GUI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置GUI上方(箱子部分)
|
||||||
|
* @param row 行数,1为第1行
|
||||||
|
* @param column 列数,1为第1列
|
||||||
|
* @param item GUIItem
|
||||||
|
*/
|
||||||
|
public void setItem(int row, int column, @NotNull GUIItem item){
|
||||||
|
if(row <= 0 || column <= 0) throw new IllegalArgumentException("行数和列数都不能小于等于零");
|
||||||
|
if(row > type.getLines()) throw new IllegalArgumentException("行数("+row+")大于GUI大小限制("+type.getLines()+")");
|
||||||
|
if(column > 9) throw new IllegalArgumentException("列数("+column+")不能大于9");
|
||||||
|
setItem(9*(row-1)+column-1, item);
|
||||||
|
}
|
||||||
|
|
||||||
public GUIItem getItem(int index) {
|
public GUIItem getItem(int index) {
|
||||||
return this.items.get(index);
|
return this.items.get(index);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -78,6 +78,14 @@ public class GUIItem {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Set<GUIClickAction> getActions() {
|
||||||
|
return actions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<GUIClickAction> getActionsIgnoreActive() {
|
||||||
|
return actionsIgnoreActive;
|
||||||
|
}
|
||||||
|
|
||||||
public abstract static class GUIClickAction {
|
public abstract static class GUIClickAction {
|
||||||
public abstract void run(ClickType type, Player player);
|
public abstract void run(ClickType type, Player player);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,14 @@ public class AutoPagedGUI extends CommonPagedGUI {
|
|||||||
public void openGUI(Player user) {
|
public void openGUI(Player user) {
|
||||||
if (previousPageSlot >= 0) {
|
if (previousPageSlot >= 0) {
|
||||||
if (hasPreviousPage()) {
|
if (hasPreviousPage()) {
|
||||||
setItem(previousPageSlot, new GUIItem(Optional.ofNullable(defaultPreviousPage).map(d -> d.apply(user)).orElse(previousPageUI)) {
|
ItemStack finalPreviousPageUI;
|
||||||
|
if(previousPageUI != null)
|
||||||
|
finalPreviousPageUI = previousPageUI;
|
||||||
|
else if (defaultPreviousPage != null)
|
||||||
|
finalPreviousPageUI = defaultPreviousPage.apply(user);
|
||||||
|
else
|
||||||
|
finalPreviousPageUI = null;
|
||||||
|
setItem(previousPageSlot, new GUIItem(finalPreviousPageUI) {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(Player clicker, ClickType type) {
|
public void onClick(Player clicker, ClickType type) {
|
||||||
if (type == ClickType.RIGHT) {
|
if (type == ClickType.RIGHT) {
|
||||||
@@ -95,7 +102,14 @@ public class AutoPagedGUI extends CommonPagedGUI {
|
|||||||
|
|
||||||
if (nextPageSlot >= 0) {
|
if (nextPageSlot >= 0) {
|
||||||
if (hasNextPage()) {
|
if (hasNextPage()) {
|
||||||
setItem(nextPageSlot, new GUIItem(Optional.ofNullable(defaultNextPage).map(d -> d.apply(user)).orElse(nextPageUI)) {
|
ItemStack finalNextPageUI;
|
||||||
|
if(previousPageUI != null)
|
||||||
|
finalNextPageUI = nextPageUI;
|
||||||
|
else if (defaultNextPage != null)
|
||||||
|
finalNextPageUI = defaultNextPage.apply(user);
|
||||||
|
else
|
||||||
|
finalNextPageUI = null;
|
||||||
|
setItem(nextPageSlot, new GUIItem(finalNextPageUI) {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(Player clicker, ClickType type) {
|
public void onClick(Player clicker, ClickType type) {
|
||||||
if (type == ClickType.RIGHT) {
|
if (type == ClickType.RIGHT) {
|
||||||
|
|||||||
@@ -80,8 +80,9 @@ public class CommonPagedGUI extends PagedGUI {
|
|||||||
*
|
*
|
||||||
* @return 最后一页的页码
|
* @return 最后一页的页码
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public int getLastPageNumber() {
|
public int getLastPageNumber() {
|
||||||
return (this.container.size() / range.length) + ((this.container.size() % range.length) == 0 ? 0 : 1);
|
return getLastPageNumber(range.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -100,6 +101,8 @@ public class CommonPagedGUI extends PagedGUI {
|
|||||||
super.openGUI(player);
|
super.openGUI(player);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if(page > getLastPageNumber())
|
||||||
|
page = getLastPageNumber();
|
||||||
List<GUIItem> list = new ArrayList<>();
|
List<GUIItem> list = new ArrayList<>();
|
||||||
int start = (page - 1) * range.length;
|
int start = (page - 1) * range.length;
|
||||||
for (int i = start; i < start + range.length; i++) {
|
for (int i = start; i < start + range.length; i++) {
|
||||||
|
|||||||
@@ -19,6 +19,29 @@ public abstract class PagedGUI extends GUI {
|
|||||||
super(type, title);
|
super(type, title);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int setCurrentPage(int page) {
|
||||||
|
this.page = Math.max(1, page);
|
||||||
|
return this.page;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCurrentPage() {
|
||||||
|
return page;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int getLastPageNumber() {
|
||||||
|
return getLastPageNumber(getGUIType().getSize());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 得到最后一页的页码
|
||||||
|
*
|
||||||
|
* @return 最后一页的页码
|
||||||
|
*/
|
||||||
|
public int getLastPageNumber(int size) {
|
||||||
|
return (this.container.size() / size) + ((this.container.size() % size) == 0 ? 0 : 1);
|
||||||
|
}
|
||||||
|
|
||||||
public int addItem(@NotNull GUIItem i) {
|
public int addItem(@NotNull GUIItem i) {
|
||||||
container.add(i);
|
container.add(i);
|
||||||
return container.size() - 1;
|
return container.size() - 1;
|
||||||
@@ -66,7 +89,7 @@ public abstract class PagedGUI extends GUI {
|
|||||||
*/
|
*/
|
||||||
public void goPreviousPage() {
|
public void goPreviousPage() {
|
||||||
if (hasPreviousPage()) {
|
if (hasPreviousPage()) {
|
||||||
page--;
|
this.page--;
|
||||||
this.onPageChange(this.page);
|
this.onPageChange(this.page);
|
||||||
} else throw new IndexOutOfBoundsException();
|
} else throw new IndexOutOfBoundsException();
|
||||||
}
|
}
|
||||||
@@ -77,7 +100,7 @@ public abstract class PagedGUI extends GUI {
|
|||||||
*/
|
*/
|
||||||
public void goNextPage() {
|
public void goNextPage() {
|
||||||
if (hasNextPage()) {
|
if (hasNextPage()) {
|
||||||
page++;
|
this.page++;
|
||||||
this.onPageChange(this.page);
|
this.onPageChange(this.page);
|
||||||
} else throw new IndexOutOfBoundsException();
|
} else throw new IndexOutOfBoundsException();
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
+1
-1
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<properties>
|
<properties>
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<groupId>cc.carm.lib</groupId>
|
<groupId>cc.carm.lib</groupId>
|
||||||
<artifactId>easyplugin-parent</artifactId>
|
<artifactId>easyplugin-parent</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>1.5.10</version>
|
<version>1.5.12</version>
|
||||||
<modules>
|
<modules>
|
||||||
<module>base/color</module>
|
<module>base/color</module>
|
||||||
<module>base/utils</module>
|
<module>base/utils</module>
|
||||||
|
|||||||
Reference in New Issue
Block a user