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>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<properties>
|
||||
|
||||
@@ -22,29 +22,4 @@ public class ColorParseTest {
|
||||
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>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<properties>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<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) {
|
||||
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 void run(ClickType type, Player player);
|
||||
}
|
||||
|
||||
@@ -77,7 +77,14 @@ public class AutoPagedGUI extends CommonPagedGUI {
|
||||
public void openGUI(Player user) {
|
||||
if (previousPageSlot >= 0) {
|
||||
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
|
||||
public void onClick(Player clicker, ClickType type) {
|
||||
if (type == ClickType.RIGHT) {
|
||||
@@ -95,7 +102,14 @@ public class AutoPagedGUI extends CommonPagedGUI {
|
||||
|
||||
if (nextPageSlot >= 0) {
|
||||
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
|
||||
public void onClick(Player clicker, ClickType type) {
|
||||
if (type == ClickType.RIGHT) {
|
||||
|
||||
@@ -80,8 +80,9 @@ public class CommonPagedGUI extends PagedGUI {
|
||||
*
|
||||
* @return 最后一页的页码
|
||||
*/
|
||||
@Override
|
||||
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);
|
||||
return;
|
||||
}
|
||||
if(page > getLastPageNumber())
|
||||
page = getLastPageNumber();
|
||||
List<GUIItem> list = new ArrayList<>();
|
||||
int start = (page - 1) * range.length;
|
||||
for (int i = start; i < start + range.length; i++) {
|
||||
|
||||
@@ -19,6 +19,29 @@ public abstract class PagedGUI extends GUI {
|
||||
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) {
|
||||
container.add(i);
|
||||
return container.size() - 1;
|
||||
@@ -66,7 +89,7 @@ public abstract class PagedGUI extends GUI {
|
||||
*/
|
||||
public void goPreviousPage() {
|
||||
if (hasPreviousPage()) {
|
||||
page--;
|
||||
this.page--;
|
||||
this.onPageChange(this.page);
|
||||
} else throw new IndexOutOfBoundsException();
|
||||
}
|
||||
@@ -77,7 +100,7 @@ public abstract class PagedGUI extends GUI {
|
||||
*/
|
||||
public void goNextPage() {
|
||||
if (hasNextPage()) {
|
||||
page++;
|
||||
this.page++;
|
||||
this.onPageChange(this.page);
|
||||
} else throw new IndexOutOfBoundsException();
|
||||
}
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<properties>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<properties>
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<parent>
|
||||
<artifactId>easyplugin-parent</artifactId>
|
||||
<groupId>cc.carm.lib</groupId>
|
||||
<version>1.5.10</version>
|
||||
<version>1.5.12</version>
|
||||
<relativePath>../../pom.xml</relativePath>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
Reference in New Issue
Block a user