mirror of
https://github.com/CarmJos/UltraDepository.git
synced 2024-09-19 19:55:45 +00:00
[v1.2.4] 简化配置文件类代码
This commit is contained in:
parent
c2eeddedcb
commit
19a26cb9b8
2
pom.xml
2
pom.xml
@ -9,7 +9,7 @@
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
|
||||
<easyplugin.version>1.3.0</easyplugin.version>
|
||||
<easyplugin.version>1.3.4</easyplugin.version>
|
||||
</properties>
|
||||
|
||||
<groupId>cc.carm.plugin</groupId>
|
||||
|
@ -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<Material> 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<Integer> 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<Material> TYPE = new ConfigStringCast<>(
|
||||
"general.sell-gui.items.remove.type",
|
||||
Material::matchMaterial, Material.STONE
|
||||
);
|
||||
|
||||
|
||||
public static final ConfigValue<Integer> 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<Material> TYPE = new ConfigStringCast<>(
|
||||
"general.sell-gui.items.confirm.type",
|
||||
Material::matchMaterial, Material.EMERALD
|
||||
);
|
||||
|
||||
|
||||
public static final ConfigValue<Integer> 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<Material> TYPE = new ConfigStringCast<>(
|
||||
"general.sell-gui.items.cancel.type",
|
||||
Material::matchMaterial, Material.REDSTONE
|
||||
);
|
||||
|
||||
|
||||
public static final ConfigValue<Integer> 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取消售出")
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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:
|
||||
- " "
|
||||
|
Loading…
Reference in New Issue
Block a user