From b2bb11f84b91a59a045cebe6ae69597196d05b6d Mon Sep 17 00:00:00 2001 From: Mcayear Date: Fri, 16 Aug 2024 16:32:06 +0800 Subject: [PATCH] fix: correct stone inlay index misalignment (#6) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * misc: 更新依赖,重命名路径 * fix: 宝石镶嵌错位 --- .github/workflows/maven.yml | 2 +- lib/MagicItem-1.1.0.jar | Bin 32368 -> 0 bytes lib/MagicItem-1.1.2.jar | Bin 0 -> 41272 bytes pom.xml | 4 +- src/main/java/RcRPG/RPG/Armour.java | 5 +- src/main/java/RcRPG/RPG/Suit.java | 1 + src/main/java/RcRPG/RPG/Weapon.java | 8 +- .../{Forging => forging}/ForgingPaper.java | 2 +- .../{Forging => forging}/ForgingStone.java | 2 +- src/main/java/RcRPG/RcRPGMain.java | 19 +++-- src/main/java/RcRPG/command/Commands.java | 6 +- .../panel/container/forging/ForgingPanel.java | 2 +- .../container/forging/ForgingSubPanel.java | 4 +- src/main/java/RcRPG/panel/form/inlayForm.java | 74 ++++++++++-------- .../RcRPG/{Task => task}/BoxTimeTask.java | 2 +- .../{Task => task}/PlayerAttrUpdateTask.java | 2 +- .../Tip.java => task/PlayerTipTask.java} | 6 +- src/main/resources/language/en_US.lang | 6 ++ src/main/resources/language/zh_CN.lang | 6 ++ src/main/resources/plugin.yml | 2 +- 20 files changed, 96 insertions(+), 57 deletions(-) delete mode 100644 lib/MagicItem-1.1.0.jar create mode 100644 lib/MagicItem-1.1.2.jar rename src/main/java/RcRPG/RPG/{Forging => forging}/ForgingPaper.java (99%) rename src/main/java/RcRPG/RPG/{Forging => forging}/ForgingStone.java (99%) rename src/main/java/RcRPG/{Task => task}/BoxTimeTask.java (98%) rename src/main/java/RcRPG/{Task => task}/PlayerAttrUpdateTask.java (99%) rename src/main/java/RcRPG/{Task/Tip.java => task/PlayerTipTask.java} (96%) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 8a02f67..79b34f7 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -45,7 +45,7 @@ jobs: # uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 - name: Upload build artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: nukkit-plugins path: ${{ github.workspace }}/nukkit-plugins/*.jar diff --git a/lib/MagicItem-1.1.0.jar b/lib/MagicItem-1.1.0.jar deleted file mode 100644 index 5f90f00e0a7c0d2cba6d251b2987d3e89c6e5f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32368 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

MDqD{l8Hf1O|&N~oYdhjk?X_46|Qo@u+hD9?f3 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.RcRPGMain RcRPG - 1.1.2-MOT + 1.1.3-MOT UTF-8 @@ -156,7 +156,7 @@ MagicItem 1.0.0 system - ${pom.basedir}/lib/MagicItem-1.1.0.jar + ${pom.basedir}/lib/MagicItem-1.1.2.jar diff --git a/src/main/java/RcRPG/RPG/Armour.java b/src/main/java/RcRPG/RPG/Armour.java index 3ba764e..b797b09 100644 --- a/src/main/java/RcRPG/RPG/Armour.java +++ b/src/main/java/RcRPG/RPG/Armour.java @@ -280,7 +280,10 @@ public static boolean canInlay(Item item){ public static void setStone(Player player,Item item,LinkedList list){ ListTag stoneList = new ListTag<>("stone"); for(Stone stone : list){ - if(stone == null) continue; + if (stone == null) { + stoneList.add(new StringTag("", "")); + continue; + } stoneList.add(new StringTag(stone.getLabel(),stone.getLabel())); } CompoundTag tag = item.getNamedTag(); diff --git a/src/main/java/RcRPG/RPG/Suit.java b/src/main/java/RcRPG/RPG/Suit.java index c91f03b..1f9fb8b 100644 --- a/src/main/java/RcRPG/RPG/Suit.java +++ b/src/main/java/RcRPG/RPG/Suit.java @@ -15,6 +15,7 @@ public class Suit { public static Map suitInfo = new HashMap<>(); public static void init() { + suitInfo.clear(); Config cfg = new Config(RcRPGMain.getInstance().getDataFolder() + "/SuitPlan.yml"); cfg.getAll().keySet().forEach(suitName -> { RcRPGMain.getInstance().getLogger().info("suitName: "+suitName); diff --git a/src/main/java/RcRPG/RPG/Weapon.java b/src/main/java/RcRPG/RPG/Weapon.java index 309f31d..4c9c826 100644 --- a/src/main/java/RcRPG/RPG/Weapon.java +++ b/src/main/java/RcRPG/RPG/Weapon.java @@ -77,6 +77,9 @@ public class Weapon extends ItemAttr { private String message; + /** + * 宝石槽列表 + */ private ArrayList stoneList = new ArrayList<>(); private ArrayList loreList = new ArrayList<>(); @@ -276,7 +279,10 @@ public static boolean canInlay(Item item) { public static void setStone(Player player, Item item, LinkedList list) { ListTag stoneList = new ListTag<>("stone"); for (Stone stone : list) { - if (stone == null) continue; + if (stone == null) { + stoneList.add(new StringTag("", "")); + continue; + } stoneList.add(new StringTag(stone.getName(), stone.getName())); } CompoundTag tag = item.getNamedTag(); diff --git a/src/main/java/RcRPG/RPG/Forging/ForgingPaper.java b/src/main/java/RcRPG/RPG/forging/ForgingPaper.java similarity index 99% rename from src/main/java/RcRPG/RPG/Forging/ForgingPaper.java rename to src/main/java/RcRPG/RPG/forging/ForgingPaper.java index 5059a44..86b166f 100644 --- a/src/main/java/RcRPG/RPG/Forging/ForgingPaper.java +++ b/src/main/java/RcRPG/RPG/forging/ForgingPaper.java @@ -1,4 +1,4 @@ -package RcRPG.RPG.Forging; +package RcRPG.RPG.forging; import RcRPG.RcRPGMain; import cn.ankele.plugin.MagicItem; diff --git a/src/main/java/RcRPG/RPG/Forging/ForgingStone.java b/src/main/java/RcRPG/RPG/forging/ForgingStone.java similarity index 99% rename from src/main/java/RcRPG/RPG/Forging/ForgingStone.java rename to src/main/java/RcRPG/RPG/forging/ForgingStone.java index 27d9818..7239ae8 100644 --- a/src/main/java/RcRPG/RPG/Forging/ForgingStone.java +++ b/src/main/java/RcRPG/RPG/forging/ForgingStone.java @@ -1,4 +1,4 @@ -package RcRPG.RPG.Forging; +package RcRPG.RPG.forging; import RcRPG.RcRPGMain; import cn.nukkit.Player; diff --git a/src/main/java/RcRPG/RcRPGMain.java b/src/main/java/RcRPG/RcRPGMain.java index cd7cf81..657d73f 100644 --- a/src/main/java/RcRPG/RcRPGMain.java +++ b/src/main/java/RcRPG/RcRPGMain.java @@ -1,11 +1,11 @@ package RcRPG; import RcRPG.RPG.*; -import RcRPG.RPG.Forging.ForgingPaper; -import RcRPG.RPG.Forging.ForgingStone; -import RcRPG.Task.BoxTimeTask; -import RcRPG.Task.PlayerAttrUpdateTask; -import RcRPG.Task.Tip; +import RcRPG.RPG.forging.ForgingPaper; +import RcRPG.RPG.forging.ForgingStone; +import RcRPG.task.BoxTimeTask; +import RcRPG.task.PlayerAttrUpdateTask; +import RcRPG.task.PlayerTipTask; import RcRPG.command.Commands; import RcRPG.config.MainConfig; import RcRPG.floatingtext.TextEntity; @@ -83,7 +83,7 @@ public void onEnable() { // 底部显示不为空时 if (!MainConfig.getBottomFormat().isEmpty()) { - this.getServer().getScheduler().scheduleRepeatingTask(new Tip(this), 20); + this.getServer().getScheduler().scheduleRepeatingTask(new PlayerTipTask(this), 20); } this.getServer().getScheduler().scheduleRepeatingTask(new BoxTimeTask(this), 20); //this.getServer().getScheduler().scheduleRepeatingTask(new loadHealth(this), 10); @@ -118,6 +118,7 @@ public void init() { Suit.init(); this.getLogger().info("开始读取武器信息"); + loadWeapon.clear(); for (String name : Handle.getDefaultFiles("Weapon")) { Weapon weapon = null; try { @@ -133,6 +134,7 @@ public void init() { } } this.getLogger().info("开始读取盔甲信息"); + loadArmour.clear(); for (String name : Handle.getDefaultFiles("Armour")) { Armour armour = null; try { @@ -148,6 +150,7 @@ public void init() { } } this.getLogger().info("开始读取宝石信息"); + loadStone.clear(); for (String name : Handle.getDefaultFiles("Stone")) { Stone stone = null; try { @@ -163,6 +166,7 @@ public void init() { } } this.getLogger().info("开始读取箱子信息"); + loadBox.clear(); for (String name : Handle.getDefaultFiles("Box")) { Box box = null; try { @@ -178,6 +182,7 @@ public void init() { } } this.getLogger().info("开始读取饰品信息"); + loadOrnament.clear(); for (String name : Handle.getDefaultFiles("Ornament")) { Ornament ornament = null; try { @@ -193,6 +198,7 @@ public void init() { } } this.getLogger().info("开始读取锻造图信息"); + loadForgingPaper.clear(); for (String name : Handle.getDefaultFiles("Forging" + File.separator + "Paper")) { ForgingPaper forgingPaper; try { @@ -208,6 +214,7 @@ public void init() { } } this.getLogger().info("开始读取锻造石信息"); + loadForgingStone.clear(); for (String name : Handle.getDefaultFiles("Forging" + File.separator + "Stone")) { ForgingStone forgingStone; try { diff --git a/src/main/java/RcRPG/command/Commands.java b/src/main/java/RcRPG/command/Commands.java index 71c7607..7b9ad50 100644 --- a/src/main/java/RcRPG/command/Commands.java +++ b/src/main/java/RcRPG/command/Commands.java @@ -2,8 +2,8 @@ import RcRPG.AttrManager.PlayerAttr; import RcRPG.RPG.*; -import RcRPG.RPG.Forging.ForgingPaper; -import RcRPG.RPG.Forging.ForgingStone; +import RcRPG.RPG.forging.ForgingPaper; +import RcRPG.RPG.forging.ForgingStone; import RcRPG.RcRPGMain; import RcRPG.Society.Money; import RcRPG.Society.Points; @@ -314,7 +314,7 @@ public boolean execute(CommandSender sender, String label, String[] args) { sender.sendMessage(TextFormat.RED + "请手持有效装备"); return false; } - new inlayForm().makeInlayForm((Player) sender, item); + new inlayForm((Player) sender).makeInlayForm(item); return true; } case "check": diff --git a/src/main/java/RcRPG/panel/container/forging/ForgingPanel.java b/src/main/java/RcRPG/panel/container/forging/ForgingPanel.java index ee2e21d..4c77b86 100644 --- a/src/main/java/RcRPG/panel/container/forging/ForgingPanel.java +++ b/src/main/java/RcRPG/panel/container/forging/ForgingPanel.java @@ -1,6 +1,6 @@ package RcRPG.panel.container.forging; -import RcRPG.RPG.Forging.ForgingPaper; +import RcRPG.RPG.forging.ForgingPaper; import RcRPG.RcRPGMain; import cn.nukkit.Player; import cn.nukkit.Server; diff --git a/src/main/java/RcRPG/panel/container/forging/ForgingSubPanel.java b/src/main/java/RcRPG/panel/container/forging/ForgingSubPanel.java index 48effba..d8ff854 100644 --- a/src/main/java/RcRPG/panel/container/forging/ForgingSubPanel.java +++ b/src/main/java/RcRPG/panel/container/forging/ForgingSubPanel.java @@ -1,7 +1,7 @@ package RcRPG.panel.container.forging; -import RcRPG.RPG.Forging.ForgingPaper; -import RcRPG.RPG.Forging.ForgingStone; +import RcRPG.RPG.forging.ForgingPaper; +import RcRPG.RPG.forging.ForgingStone; import RcRPG.RcRPGMain; import cn.nukkit.Player; import cn.nukkit.inventory.Inventory; diff --git a/src/main/java/RcRPG/panel/form/inlayForm.java b/src/main/java/RcRPG/panel/form/inlayForm.java index fd72eb9..f7033e0 100644 --- a/src/main/java/RcRPG/panel/form/inlayForm.java +++ b/src/main/java/RcRPG/panel/form/inlayForm.java @@ -1,16 +1,14 @@ package RcRPG.panel.form; import RcRPG.Handle; -import RcRPG.RcRPGMain; import RcRPG.RPG.Armour; import RcRPG.RPG.Stone; import RcRPG.RPG.Weapon; +import RcRPG.RcRPGMain; import cn.nukkit.Player; import cn.nukkit.form.element.ElementButton; import cn.nukkit.form.element.ElementDropdown; import cn.nukkit.form.handler.FormResponseHandler; -import cn.nukkit.form.response.FormResponseCustom; -import cn.nukkit.form.response.FormResponseData; import cn.nukkit.form.response.FormResponseSimple; import cn.nukkit.form.window.FormWindowCustom; import cn.nukkit.form.window.FormWindowSimple; @@ -21,9 +19,12 @@ import java.util.LinkedList; import java.util.stream.Collectors; +import static RcRPG.RcRPGMain.i18n; + public class inlayForm { - private static final String NO_STONE = "无"; - private static final String SUCCESS_MESSAGE = "宝石操作成功!"; + private final Player player; + private final String NO_STONE; + private final String SUCCESS_MESSAGE; private Stone beforeStone; private int beforeClick; private Item handItem = null; @@ -31,15 +32,18 @@ public class inlayForm { private Armour armourItem = null; private LinkedList originStones = new LinkedList<>(); - public void makeInlayForm(Player player, Item item) { + public inlayForm(Player player) { + this.player = player; + this.NO_STONE = i18n.tr(player.getLanguageCode(), "rcrpg.window.inlay.no_stone"); + this.SUCCESS_MESSAGE = i18n.tr(player.getLanguageCode(), "rcrpg.window.inlay.success_message"); + } + + public void makeInlayForm(Item item) { handItem = item; - //Object state; if (Weapon.isWeapon(item)) { weaponItem = RcRPGMain.loadWeapon.get(item.getNamedTag().getString("name")); - //state = weaponItem; } else if (Armour.isArmour(item)) { armourItem = RcRPGMain.loadArmour.get(item.getNamedTag().getString("name")); - //state = armourItem; } else { return; } @@ -52,7 +56,9 @@ public void makeInlayForm(Player player, Item item) { private FormWindowSimple getStateWindow() { String label = ""; + // 镶嵌在装备上的宝石列表 LinkedList stones = new LinkedList<>(); + // 装备可镶嵌的宝石类型列表 ArrayList stoneSlots = new ArrayList<>(); if (weaponItem != null) { stones = Weapon.getStones(handItem); @@ -76,8 +82,8 @@ private FormWindowSimple getStateWindow() { } this.originStones = stones; return new FormWindowSimple( - "§f"+label + "宝石列表", - stoneCount > 0 ? "装备拥有 " + stoneCount + " 个宝石槽:\n"+slotShow : "本装备没有宝石槽", + i18n.tr(player.getLanguageCode(), "rcrpg.window.inlay.title", label), + stoneCount > 0 ? i18n.tr(player.getLanguageCode(), "rcrpg.window.inlay.title.hasSlot", stoneCount, slotShow).replace("\\n", "\n") : i18n.tr(player.getLanguageCode(), "rcrpg.window.inlay.title.notSlot"), stones.stream() .map(stone -> new ElementButton(stone == null ? NO_STONE : stone.getShowName())) .collect(Collectors.toList())); @@ -111,7 +117,11 @@ private void handleStateWindowResponse(FormWindowSimple form, Player player) { FormWindowCustom form_ = getStoneWindow(yamlName, playerStones); form_.addHandler(FormResponseHandler.withoutPlayer(ignored -> { - if (form_.wasClosed()) return; + if (form_.wasClosed()) { + // 若玩家点了 X 则返回上一级表单 + makeInlayForm(player.getInventory().getItemInHand()); + return; + } handleStoneWindowResponse(form_, player); })); player.showFormWindow(form_); @@ -124,6 +134,7 @@ private FormWindowCustom getStoneWindow(String yamlName, LinkedList ston } private void handleStoneWindowResponse(FormWindowCustom form, Player player) { + // 装备 yamlName 名字 String itemName = ""; LinkedList stones = new LinkedList<>(); if (weaponItem != null) { @@ -134,34 +145,33 @@ private void handleStoneWindowResponse(FormWindowCustom form, Player player) { itemName = armourItem.getName(); } - FormResponseCustom response = form.getResponse(); - FormResponseData responseData = response.getDropdownResponse(0); - // 选择的是 yamlName 还是 NO_STONE - String responseContent = responseData.getElementContent(); + // 选择的宝石是 yamlName 还是 NO_STONE + String selectedStoneName = form.getResponse().getDropdownResponse(0).getElementContent(); + // 检查手持装备是否变动 Item item = player.getInventory().getItemInHand(); if (item.getNamedTag() == null) return; if (!itemName.equals(item.getNamedTag().getString("name"))) return; - player.sendMessage(SUCCESS_MESSAGE); - - int clickedButtonId = beforeClick; - Stone newStone = NO_STONE.equals(responseContent) ? null : Handle.getStoneViaName(responseContent); - - for (int i = 0; i < stones.size(); i++) { - if (i == clickedButtonId) { - if (newStone != null) { - stones.set(i, newStone); - } else { - stones.remove(i); - } - break; - } + + // 先发送成功提示 + if (NO_STONE.equals(selectedStoneName) && stones.get(beforeClick) == null) { + // ignored + } else { + player.sendMessage(SUCCESS_MESSAGE); } + Stone newStone = NO_STONE.equals(selectedStoneName) ? null : Handle.getStoneViaName(selectedStoneName); + + // 扣除新宝石 if (newStone != null) { - Handle.removeStoneViaName(player, responseContent); + stones.set(beforeClick, newStone); + Handle.removeStoneViaName(player, selectedStoneName); + } else { + stones.set(beforeClick, null); } - if (beforeStone != null) {// 过去的宝石 + + // 返还原有的宝石 + if (beforeStone != null) { Stone.giveStone(player, beforeStone.getName(), 1); } diff --git a/src/main/java/RcRPG/Task/BoxTimeTask.java b/src/main/java/RcRPG/task/BoxTimeTask.java similarity index 98% rename from src/main/java/RcRPG/Task/BoxTimeTask.java rename to src/main/java/RcRPG/task/BoxTimeTask.java index a67a3ff..75e2c64 100644 --- a/src/main/java/RcRPG/Task/BoxTimeTask.java +++ b/src/main/java/RcRPG/task/BoxTimeTask.java @@ -1,4 +1,4 @@ -package RcRPG.Task; +package RcRPG.task; import RcRPG.RcRPGMain; import RcRPG.PlayerStatus; diff --git a/src/main/java/RcRPG/Task/PlayerAttrUpdateTask.java b/src/main/java/RcRPG/task/PlayerAttrUpdateTask.java similarity index 99% rename from src/main/java/RcRPG/Task/PlayerAttrUpdateTask.java rename to src/main/java/RcRPG/task/PlayerAttrUpdateTask.java index 846f291..25de3e0 100644 --- a/src/main/java/RcRPG/Task/PlayerAttrUpdateTask.java +++ b/src/main/java/RcRPG/task/PlayerAttrUpdateTask.java @@ -1,4 +1,4 @@ -package RcRPG.Task; +package RcRPG.task; import RcRPG.AttrManager.PlayerAttr; import RcRPG.Events; diff --git a/src/main/java/RcRPG/Task/Tip.java b/src/main/java/RcRPG/task/PlayerTipTask.java similarity index 96% rename from src/main/java/RcRPG/Task/Tip.java rename to src/main/java/RcRPG/task/PlayerTipTask.java index 9058413..c3b9ca0 100644 --- a/src/main/java/RcRPG/Task/Tip.java +++ b/src/main/java/RcRPG/task/PlayerTipTask.java @@ -1,4 +1,4 @@ -package RcRPG.Task; +package RcRPG.task; import RcRPG.Handle; import RcRPG.RcRPGMain; @@ -11,9 +11,9 @@ import cn.nukkit.nbt.tag.CompoundTag; import cn.nukkit.scheduler.PluginTask; -public class Tip extends PluginTask { +public class PlayerTipTask extends PluginTask { - public Tip(RcRPGMain rcRPGMain){ + public PlayerTipTask(RcRPGMain rcRPGMain){ super(rcRPGMain); } diff --git a/src/main/resources/language/en_US.lang b/src/main/resources/language/en_US.lang index 253e7e9..f5b12a9 100644 --- a/src/main/resources/language/en_US.lang +++ b/src/main/resources/language/en_US.lang @@ -46,3 +46,9 @@ rcrpg.manage.window.armour.title=§fRcRPG Management - Armor List rcrpg.manage.window.ornament.title=§fRcRPG Management - Ornament List rcrpg.manage.window.stone.title=§fRcRPG Management - Gem List rcrpg.manage.window.weapon.title=§fRcRPG Management - Weapon List + +rcrpg.window.inlay.no_stone=Null +rcrpg.window.inlay.success_message=Gem operation successful! +rcrpg.window.inlay.title=§f{%0} Gem List +rcrpg.window.inlay.title.hasSlot=Equipment has {%0} gem slots:\n{%1} +rcrpg.window.inlay.title.notSlot=This equipment has no gem slots \ No newline at end of file diff --git a/src/main/resources/language/zh_CN.lang b/src/main/resources/language/zh_CN.lang index fb02d69..9a344e0 100644 --- a/src/main/resources/language/zh_CN.lang +++ b/src/main/resources/language/zh_CN.lang @@ -46,3 +46,9 @@ rcrpg.manage.window.armour.title=§fRcRPG管理 - 护甲列表 rcrpg.manage.window.ornament.title=§fRcRPG管理 - 饰品列表 rcrpg.manage.window.stone.title=§fRcRPG管理 - 宝石列表 rcrpg.manage.window.weapon.title=§fRcRPG管理 - 武器列表 + +rcrpg.window.inlay.no_stone=无 +rcrpg.window.inlay.success_message=宝石操作成功! +rcrpg.window.inlay.title=§f{%0}宝石列表 +rcrpg.window.inlay.title.hasSlot=装备拥有 {%0} 个宝石槽:\n{%1} +rcrpg.window.inlay.title.notSlot=本装备没有宝石槽 \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 9810b6d..aa181a4 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: RcRPG main: RcRPG.RcRPGMain -version: 1.1.2 +version: 1.1.3 author: 若尘 authors: ["若尘", "Mcayear"] api: 1.0.8