From 98aa1a9be98a57587f185e06d223b6c2675be210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=BA=E9=96=93=E5=B7=A5=E4=BD=9C?= Date: Sat, 17 Aug 2024 19:49:03 +0800 Subject: [PATCH] add success commands --- src/main/java/think/rpgitems/Events.java | 1 + src/main/java/think/rpgitems/item/RPGStone.java | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/think/rpgitems/Events.java b/src/main/java/think/rpgitems/Events.java index 7f159ea7..03ae6472 100644 --- a/src/main/java/think/rpgitems/Events.java +++ b/src/main/java/think/rpgitems/Events.java @@ -1198,6 +1198,7 @@ public void onStoneApply(InventoryClickEvent e) { Utils.runCommands(player, stone.getFailCommands()); return; } + Utils.runCommands(player, stone.getSuccessCommands()); player.sendMessage(I18n.getFormatted(player, "message.stone.rate.success")); map.put(stone, trigger); ItemManager.fromRPGStoneList(item, map); diff --git a/src/main/java/think/rpgitems/item/RPGStone.java b/src/main/java/think/rpgitems/item/RPGStone.java index 323e8939..fcdf62dc 100644 --- a/src/main/java/think/rpgitems/item/RPGStone.java +++ b/src/main/java/think/rpgitems/item/RPGStone.java @@ -60,6 +60,7 @@ public class RPGStone implements RPGBaseHolder { @Getter @Setter private List allowTriggersArmour = new ArrayList<>(); @Getter @Setter private double successRate = 1; + @Getter @Setter private List successCommands = new ArrayList<>(); @Getter @Setter private List failCommands = new ArrayList<>(); // TODO: Allow users to edit them in StoneCommands @Getter @Setter private String author = plugin.cfg.defaultAuthor; @@ -131,6 +132,7 @@ private void restore(ConfigurationSection s) throws UnknownPowerException { String display = s.getString("display"); setDisplayName(display); + setCustomItemModel(s.getBoolean("customItemModel", false)); setCustomModelData(s.getInt("customModelData", -1)); String materialName = s.getString("item"); setItem(MaterialUtils.getMaterial(materialName, Bukkit.getConsoleSender())); @@ -147,6 +149,7 @@ private void restore(ConfigurationSection s) throws UnknownPowerException { setAllowTriggersArmour(s.getStringList("allowTriggersArmour")); setSuccessRate(s.getDouble("successRate")); + setSuccessCommands(s.getStringList("successCommands")); setFailCommands(s.getStringList("failCommands")); // Powers @@ -194,12 +197,14 @@ public void save(ConfigurationSection s) { s.set("extraDescription", descriptionConv); s.set("item", getItem().toString()); + s.set("customItemModel", isCustomItemModel()); s.set("customModelData", getCustomModelData()); s.set("allowTriggers", getAllowTriggers()); s.set("allowTriggersArmour", getAllowTriggersArmour()); s.set("successRate", getSuccessRate()); + s.set("successCommands", getSuccessCommands()); s.set("failCommands", getFailCommands()); ConfigurationSection powerConfigs = s.createSection("powers"); @@ -343,7 +348,9 @@ public void updateItem(ItemStack item, boolean loreOnly) { return; } - meta.setCustomModelData(getCustomModelData()); + if (isCustomItemModel()) { + meta.setCustomModelData(getCustomModelData()); + } rpgitemsTagContainer.commit(); item.setItemMeta(meta);