diff --git a/common/pom.xml b/common/pom.xml index 12bac81..15ff34d 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -5,7 +5,7 @@ mineconfiguration-parent cc.carm.lib - 2.8.3 + 2.8.4 4.0.0 diff --git a/platform/bukkit/pom.xml b/platform/bukkit/pom.xml index 381395b..6aaa319 100644 --- a/platform/bukkit/pom.xml +++ b/platform/bukkit/pom.xml @@ -5,7 +5,7 @@ mineconfiguration-parent cc.carm.lib - 2.8.3 + 2.8.4 ../../pom.xml 4.0.0 diff --git a/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/value/ConfiguredItem.java b/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/value/ConfiguredItem.java index 58c557d..d8037c8 100644 --- a/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/value/ConfiguredItem.java +++ b/platform/bukkit/src/main/java/cc/carm/lib/mineconfiguration/bukkit/value/ConfiguredItem.java @@ -27,7 +27,7 @@ import java.util.regex.Pattern; public class ConfiguredItem extends ConfiguredSection { - public static final @NotNull Pattern LORE_INSERT_PATTERN = Pattern.compile("^#(.*)#(\\{\\w+})?$"); + public static final @NotNull Pattern LORE_INSERT_PATTERN = Pattern.compile("^#(.*)#(\\{.*})?$"); public static final @NotNull Pattern LORE_OFFSET_PATTERN = Pattern.compile("\\{(-?\\d+)(?:,(-?\\d+))?}"); public static ItemConfigBuilder create() { diff --git a/platform/bukkit/src/test/java/LoreInsertTest.java b/platform/bukkit/src/test/java/LoreInsertTest.java new file mode 100644 index 0000000..3220389 --- /dev/null +++ b/platform/bukkit/src/test/java/LoreInsertTest.java @@ -0,0 +1,63 @@ +import cc.carm.lib.mineconfiguration.bukkit.value.ConfiguredItem; +import org.junit.Test; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.regex.Matcher; + +public class LoreInsertTest { + + + @Test + public void insert() { + List original = Arrays.asList( + "测试lore的第一行", + "测试lore的第二行", + "#click-lore#{1,2}", + "测试lore的倒数第二行", + "测试lore的倒数第一行" + ); + + List replace = Arrays.asList("> 插入的点击行1", "> 插入的点击行2"); + Map> inserted = new HashMap<>(); + inserted.put("click-lore", replace); + + System.out.println(ConfiguredItem.insertLore(original, inserted)); + } + + + @Test + public void parse() { + System.out.println(parse("#click-lore#{1,0}")); + System.out.println(parse("#click-lore#{1,2}")); + System.out.println(parse("#click-lore#{1}")); + System.out.println(parse("#click-lore#{我}")); + } + + public static String parse(String line) { + Matcher matcher = ConfiguredItem.LORE_INSERT_PATTERN.matcher(line); + if (!matcher.matches()) { + return line; + } else { + String path = matcher.group(1); + String offset = matcher.group(2); + return "Path -> " + path + " Offset-> " + offset; + } + } + + @Test + public void offset() { + + System.out.println(ConfiguredItem.addLoreOffset(Arrays.asList("测试lore", "第二行"), "{1,-5}")); + System.out.println(ConfiguredItem.addLoreOffset(Arrays.asList("测试lore", "第二行"), "{1,2}")); + System.out.println(ConfiguredItem.addLoreOffset(Arrays.asList("测试lore", "第二行"), "{1,0}")); + System.out.println(ConfiguredItem.addLoreOffset(Arrays.asList("测试lore", "第二行"), "{2}")); + System.out.println(ConfiguredItem.addLoreOffset(Arrays.asList("测试lore", "第二行"), "{我}")); + System.out.println(ConfiguredItem.addLoreOffset(Arrays.asList("测试lore", "第二行"), "{我,爱你}")); + + } + + +} diff --git a/platform/bukkit/src/test/java/LoreOffsetTest.java b/platform/bukkit/src/test/java/LoreOffsetTest.java deleted file mode 100644 index 85ba4f2..0000000 --- a/platform/bukkit/src/test/java/LoreOffsetTest.java +++ /dev/null @@ -1,20 +0,0 @@ -import cc.carm.lib.mineconfiguration.bukkit.value.ConfiguredItem; -import org.junit.Test; - -import java.util.Arrays; - -public class LoreOffsetTest { - - - @Test - public void lore() { - - System.out.println(ConfiguredItem.addLoreOffset(Arrays.asList("测试lore", "第二行"), "{1,-5}")); - System.out.println(ConfiguredItem.addLoreOffset(Arrays.asList("测试lore", "第二行"), "{1,2}")); - System.out.println(ConfiguredItem.addLoreOffset(Arrays.asList("测试lore", "第二行"), "{1,0}")); - System.out.println(ConfiguredItem.addLoreOffset(Arrays.asList("测试lore", "第二行"), "{2}")); - - } - - -} diff --git a/platform/bungee/pom.xml b/platform/bungee/pom.xml index 9fb3490..3679815 100644 --- a/platform/bungee/pom.xml +++ b/platform/bungee/pom.xml @@ -5,7 +5,7 @@ mineconfiguration-parent cc.carm.lib - 2.8.3 + 2.8.4 ../../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index a133f5f..3af6027 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ cc.carm.lib mineconfiguration-parent - 2.8.3 + 2.8.4 pom common