diff --git a/pom.xml b/pom.xml index fd809f3..b09503e 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 11 UTF-8 UTF-8 - 1.3.0 + 1.3.4 cc.carm.plugin diff --git a/src/main/java/cc/carm/plugin/ultradepository/configuration/PluginConfig.java b/src/main/java/cc/carm/plugin/ultradepository/configuration/PluginConfig.java index c1bdb4d..02e9456 100644 --- a/src/main/java/cc/carm/plugin/ultradepository/configuration/PluginConfig.java +++ b/src/main/java/cc/carm/plugin/ultradepository/configuration/PluginConfig.java @@ -1,6 +1,7 @@ package cc.carm.plugin.ultradepository.configuration; import cc.carm.lib.easyplugin.configuration.cast.ConfigStringCast; +import cc.carm.lib.easyplugin.configuration.impl.ConfigItem; import cc.carm.lib.easyplugin.configuration.impl.ConfigSound; import cc.carm.lib.easyplugin.configuration.message.ConfigMessage; import cc.carm.lib.easyplugin.configuration.message.ConfigMessageList; @@ -60,7 +61,7 @@ public class PluginConfig { * 将添加到背包界面内的物品上,避免重复配置 */ public static final ConfigMessageList ADDITIONAL_LORE = new ConfigMessageList( - ConfigManager.getPluginConfig(), "general.additional-lore", new String[]{}, + ConfigManager::getPluginConfig, "general.additional-lore", new String[]{}, new String[]{ "%(item_name)", "%(amount)", "%(price)", "%(sold)", "%(remain)", "%(limit)" }); @@ -70,7 +71,9 @@ public class PluginConfig { * 将添加到背包界面内的物品上,避免重复配置 */ public static final ConfigMessageList CLICK_LORE = new ConfigMessageList( - ConfigManager.getPluginConfig(), "general.click-lore", new String[]{}, new String[]{ + ConfigManager::getPluginConfig, + "general.click-lore", + new String[]{}, new String[]{ "%(item_name)", "%(amount)", "%(price)" }); @@ -81,7 +84,8 @@ public class PluginConfig { public static final ConfigMessage TITLE = new ConfigMessage( - ConfigManager.getPluginConfig(), "general.sell-gui.title", + ConfigManager::getPluginConfig, + "general.sell-gui.title", "&a&l出售", new String[]{ "%(item_name)", "%(backpack_name)" } @@ -89,124 +93,32 @@ public class PluginConfig { public static class Items { - public static class Add { + public static final ConfigItem ADD = new ConfigItem( + "general.sell-gui.items.add", + new String[]{"%(item_name)", "%(amount)"}, + ConfigItem.create(Material.GREEN_STAINED_GLASS_PANE, "&a添加物品 %(amount) 个") + ); - public static final ConfigStringCast TYPE = new ConfigStringCast<>( - "general.sell-gui.items.add.type", - Material::matchMaterial, Material.STONE - ); + public static final ConfigItem REMOVE = new ConfigItem( + "general.sell-gui.items.remove", + new String[]{"%(item_name)", "%(amount)"}, + ConfigItem.create(Material.RED_STAINED_GLASS_PANE, "&c減少物品 %(amount) 个") + ); + public static final ConfigItem CONFIRM = new ConfigItem( + "general.sell-gui.items.confirm", + new String[]{"%(item_name)", "%(amount)", "%(money)"}, + ConfigItem.create(Material.EMERALD, "&2确认售出") + ); - public static final ConfigValue DATA = new ConfigValue<>( - "general.sell-gui.items.add.data", Integer.class, 0 - ); - - - public static final ConfigMessage NAME = new ConfigMessage( - ConfigManager.getPluginConfig(), "general.sell-gui.items.add.name", - "&a添加物品 %(amount) 个", new String[]{ - "%(item_name)", "%(amount)" - } - ); - - - public static final ConfigMessageList LORE = new ConfigMessageList( - ConfigManager.getPluginConfig(), "general.sell-gui.items.add.lore", - new String[]{}, new String[]{ - "%(item_name)", "%(amount)" - } - ); - - } - - public static class Remove { - - public static final ConfigStringCast TYPE = new ConfigStringCast<>( - "general.sell-gui.items.remove.type", - Material::matchMaterial, Material.STONE - ); - - - public static final ConfigValue DATA = new ConfigValue<>( - "general.sell-gui.items.remove.data", Integer.class, 0 - ); - - - public static final ConfigMessage NAME = new ConfigMessage( - ConfigManager.getPluginConfig(), "general.sell-gui.items.remove.name", - "&c減少物品 %(amount) 个", new String[]{ - "%(item_name)", "%(amount)" - } - ); - - - public static final ConfigMessageList LORE = new ConfigMessageList( - ConfigManager.getPluginConfig(), "general.sell-gui.items.remove.lore", - new String[]{}, new String[]{ - "%(item_name)", "%(amount)" - } - ); - - } - - public static class Confirm { - - public static final ConfigStringCast TYPE = new ConfigStringCast<>( - "general.sell-gui.items.confirm.type", - Material::matchMaterial, Material.EMERALD - ); - - - public static final ConfigValue DATA = new ConfigValue<>( - "general.sell-gui.items.confirm.data", Integer.class, 0 - ); - - - public static final ConfigMessage NAME = new ConfigMessage( - ConfigManager.getPluginConfig(), "general.sell-gui.items.confirm.name", - "&2确认售出", new String[]{ - "%(item_name)", "%(amount)", "%(money)" - } - ); - - - public static final ConfigMessageList LORE = new ConfigMessageList( - ConfigManager.getPluginConfig(), "general.sell-gui.items.confirm.lore", - new String[]{}, new String[]{ - "%(item_name)", "%(amount)", "%(money)" - } - ); - - } - - public static class Cancel { - - public static final ConfigStringCast TYPE = new ConfigStringCast<>( - "general.sell-gui.items.cancel.type", - Material::matchMaterial, Material.REDSTONE - ); - - - public static final ConfigValue DATA = new ConfigValue<>( - "general.sell-gui.items.cancel.data", Integer.class, 0 - ); - - - public static final ConfigMessage NAME = new ConfigMessage( - ConfigManager.getPluginConfig(), "general.sell-gui.items.cancel.name", - "&4取消售出", null - ); - - public static final ConfigMessageList LORE = new ConfigMessageList( - ConfigManager.getPluginConfig(), "general.sell-gui.items.cancel.lore", new String[0], new String[0] - ); - - } + public static final ConfigItem CANCEL = new ConfigItem( + "general.sell-gui.items.cancel", + ConfigItem.create(Material.REDSTONE, "&4取消售出") + ); } } } - } diff --git a/src/main/java/cc/carm/plugin/ultradepository/ui/SellItemGUI.java b/src/main/java/cc/carm/plugin/ultradepository/ui/SellItemGUI.java index 2e38048..4ef8c86 100644 --- a/src/main/java/cc/carm/plugin/ultradepository/ui/SellItemGUI.java +++ b/src/main/java/cc/carm/plugin/ultradepository/ui/SellItemGUI.java @@ -11,7 +11,6 @@ import cc.carm.plugin.ultradepository.configuration.depository.Depository; import cc.carm.plugin.ultradepository.configuration.depository.DepositoryItem; import cc.carm.plugin.ultradepository.data.DepositoryItemData; import cc.carm.plugin.ultradepository.data.UserData; -import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.bukkit.inventory.ItemStack; @@ -74,16 +73,9 @@ public class SellItemGUI extends GUI { } private GUIItem getAddItem(int amount) { - ItemStackFactory factory = new ItemStackFactory(Add.TYPE.getOptional().orElse(Material.STONE)); - factory.setDurability(Add.DATA.get()); - factory.setDisplayName(Add.NAME.get(player, new Object[]{ + return new GUIItem(ADD.getItem(player, new Object[]{ getItemName(), amount - })); - factory.setLore(Add.LORE.get(player, new Object[]{ - getItemName(), amount - })); - - return new GUIItem(factory.toItemStack()) { + })) { @Override public void onClick(ClickType type) { PluginConfig.Sounds.GUI_CLICK.play(player); @@ -94,15 +86,9 @@ public class SellItemGUI extends GUI { } private GUIItem getRemoveItem(int amount) { - ItemStackFactory factory = new ItemStackFactory(Remove.TYPE.getOptional().orElse(Material.STONE)); - factory.setDurability(Remove.DATA.get()); - factory.setDisplayName(Remove.NAME.get(player, new Object[]{ + return new GUIItem(REMOVE.getItem(player, new Object[]{ getItemName(), amount - })); - factory.setLore(Remove.LORE.get(player, new Object[]{ - getItemName(), amount - })); - return new GUIItem(factory.toItemStack()) { + })) { @Override public void onClick(ClickType type) { PluginConfig.Sounds.GUI_CLICK.play(player); @@ -113,15 +99,9 @@ public class SellItemGUI extends GUI { } private GUIItem getConfirmItem() { - ItemStackFactory factory = new ItemStackFactory(Confirm.TYPE.getOptional().orElse(Material.STONE)); - factory.setDurability(Confirm.DATA.get()); - factory.setDisplayName(Confirm.NAME.get(player, new Object[]{ + return new GUIItem(CONFIRM.getItem(player, new Object[]{ getItemName(), getCurrentAmount(), getTotalMoney() - })); - factory.setLore(Confirm.LORE.get(player, new Object[]{ - getItemName(), getCurrentAmount(), getTotalMoney() - })); - return new GUIItem(factory.toItemStack()) { + })) { @Override public void onClick(ClickType type) { int amount = Math.min(getCurrentAmount(), Math.min(getReUltraDepositoryAmount(), getSellLimit() - getSoldAmount())); @@ -132,11 +112,7 @@ public class SellItemGUI extends GUI { } private GUIItem getCancelItem() { - ItemStackFactory factory = new ItemStackFactory(Cancel.TYPE.getOptional().orElse(Material.STONE)); - factory.setDurability(Cancel.DATA.get()); - factory.setDisplayName(Cancel.NAME.get()); - factory.setLore(Cancel.LORE.get()); - return new GUIItem(factory.toItemStack()) { + return new GUIItem(CANCEL.getItem(player)) { @Override public void onClick(ClickType type) { PluginConfig.Sounds.SELL_FAIL.play(player); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 477ce3d..2da410f 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -78,7 +78,6 @@ general: name: "&c减少 %(amount) 个" confirm: type: EMERALD - data: 0 name: "&a确认售出" lore: - " " @@ -88,7 +87,6 @@ general: - "&a&l点击确认售出" cancel: type: REDSTONE - data: 0 name: "&c取消售出" lore: - " "