mirror of
https://github.com/CarmJos/ScriptItems
synced 2024-09-19 21:35:50 +00:00
修改类名
This commit is contained in:
parent
8dcef9431c
commit
e19e6b0627
@ -2,7 +2,7 @@ package cc.carm.plugin.scriptitems.command;
|
|||||||
|
|
||||||
import cc.carm.plugin.scriptitems.ScriptItemsAPI;
|
import cc.carm.plugin.scriptitems.ScriptItemsAPI;
|
||||||
import cc.carm.plugin.scriptitems.configuration.PluginMessages;
|
import cc.carm.plugin.scriptitems.configuration.PluginMessages;
|
||||||
import cc.carm.plugin.scriptitems.item.ItemSettings;
|
import cc.carm.plugin.scriptitems.item.ScriptConfiguration;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@ -50,7 +50,7 @@ public class ScriptItemsCommand implements CommandExecutor, TabCompleter {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemSettings settings = ScriptItemsAPI.getItemsManager().getItemSettings(args[1]);
|
ScriptConfiguration settings = ScriptItemsAPI.getItemsManager().getItemSettings(args[1]);
|
||||||
if (settings == null) {
|
if (settings == null) {
|
||||||
PluginMessages.NOT_EXISTS.send(sender, args[1]);
|
PluginMessages.NOT_EXISTS.send(sender, args[1]);
|
||||||
return true;
|
return true;
|
||||||
@ -81,7 +81,7 @@ public class ScriptItemsCommand implements CommandExecutor, TabCompleter {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemSettings settings = ScriptItemsAPI.getItemsManager().getItemSettings(args[2]);
|
ScriptConfiguration settings = ScriptItemsAPI.getItemsManager().getItemSettings(args[2]);
|
||||||
if (settings == null) {
|
if (settings == null) {
|
||||||
PluginMessages.NOT_EXISTS.send(sender, args[2]);
|
PluginMessages.NOT_EXISTS.send(sender, args[2]);
|
||||||
return true;
|
return true;
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
package cc.carm.plugin.scriptitems.item;
|
|
||||||
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
public class ItemActionGroup {
|
|
||||||
|
|
||||||
|
|
||||||
List<ItemAction> actions;
|
|
||||||
|
|
||||||
public ItemActionGroup(List<ItemAction> actions) {
|
|
||||||
this.actions = actions;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void execute(Player player) {
|
|
||||||
actions.forEach(action -> action.execute(player));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static @NotNull ItemActionGroup read(@NotNull List<String> actionsString) {
|
|
||||||
List<ItemAction> actions = actionsString.stream()
|
|
||||||
.map(ItemAction::read).filter(Objects::nonNull).collect(Collectors.toList());
|
|
||||||
return new ItemActionGroup(actions);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
package cc.carm.plugin.scriptitems.item;
|
|
||||||
|
|
||||||
public enum ItemExecuteResult {
|
|
||||||
|
|
||||||
SUCCESS(0),
|
|
||||||
FAILED(1),
|
|
||||||
|
|
||||||
;
|
|
||||||
|
|
||||||
int id;
|
|
||||||
|
|
||||||
ItemExecuteResult(int id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -4,17 +4,17 @@ import org.bukkit.entity.Player;
|
|||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class ItemAction {
|
public class ScriptAction {
|
||||||
|
|
||||||
@NotNull ItemActionType type;
|
@NotNull ScriptActionType type;
|
||||||
@Nullable String actionContent;
|
@Nullable String actionContent;
|
||||||
|
|
||||||
public ItemAction(@NotNull ItemActionType type, @Nullable String actionContent) {
|
public ScriptAction(@NotNull ScriptActionType type, @Nullable String actionContent) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.actionContent = actionContent;
|
this.actionContent = actionContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public @NotNull ItemActionType getType() {
|
public @NotNull ScriptActionType getType() {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,17 +26,17 @@ public class ItemAction {
|
|||||||
return getType().execute(player, getActionContent());
|
return getType().execute(player, getActionContent());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static @Nullable ItemAction read(@Nullable String actionString) {
|
public static @Nullable ScriptAction read(@Nullable String actionString) {
|
||||||
if (actionString == null) return null;
|
if (actionString == null) return null;
|
||||||
int prefixStart = actionString.indexOf("[");
|
int prefixStart = actionString.indexOf("[");
|
||||||
int prefixEnd = actionString.indexOf("]");
|
int prefixEnd = actionString.indexOf("]");
|
||||||
if (prefixStart < 0 || prefixEnd < 0) return null;
|
if (prefixStart < 0 || prefixEnd < 0) return null;
|
||||||
|
|
||||||
String prefix = actionString.substring(prefixStart + 1, prefixEnd);
|
String prefix = actionString.substring(prefixStart + 1, prefixEnd);
|
||||||
ItemActionType actionType = ItemActionType.read(prefix);
|
ScriptActionType actionType = ScriptActionType.read(prefix);
|
||||||
if (actionType == null) return null;
|
if (actionType == null) return null;
|
||||||
|
|
||||||
return new ItemAction(actionType, actionString.substring(prefixEnd + 1).trim());
|
return new ScriptAction(actionType, actionString.substring(prefixEnd + 1).trim());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
package cc.carm.plugin.scriptitems.item;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
public class ScriptActionGroup {
|
||||||
|
|
||||||
|
|
||||||
|
List<ScriptAction> actions;
|
||||||
|
|
||||||
|
public ScriptActionGroup(List<ScriptAction> actions) {
|
||||||
|
this.actions = actions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void execute(Player player) {
|
||||||
|
actions.forEach(action -> action.execute(player));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static @NotNull ScriptActionGroup read(@NotNull List<String> actionsString) {
|
||||||
|
List<ScriptAction> actions = actionsString.stream()
|
||||||
|
.map(ScriptAction::read).filter(Objects::nonNull).collect(Collectors.toList());
|
||||||
|
return new ScriptActionGroup(actions);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -13,7 +13,7 @@ import java.util.Collections;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.BiFunction;
|
import java.util.function.BiFunction;
|
||||||
|
|
||||||
public enum ItemActionType {
|
public enum ScriptActionType {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 以玩家聊天的形式执行
|
* 以玩家聊天的形式执行
|
||||||
@ -100,7 +100,7 @@ public enum ItemActionType {
|
|||||||
|
|
||||||
BiFunction<@NotNull Player, @Nullable String, @NotNull Boolean> executor;
|
BiFunction<@NotNull Player, @Nullable String, @NotNull Boolean> executor;
|
||||||
|
|
||||||
ItemActionType(BiFunction<@NotNull Player, @Nullable String, @NotNull Boolean> executor) {
|
ScriptActionType(BiFunction<@NotNull Player, @Nullable String, @NotNull Boolean> executor) {
|
||||||
this.executor = executor;
|
this.executor = executor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -112,8 +112,8 @@ public enum ItemActionType {
|
|||||||
return getExecutor().apply(player, content);
|
return getExecutor().apply(player, content);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemActionType read(String string) {
|
public static ScriptActionType read(String string) {
|
||||||
return Arrays.stream(ItemActionType.values())
|
return Arrays.stream(ScriptActionType.values())
|
||||||
.filter(action -> action.name().equalsIgnoreCase(string))
|
.filter(action -> action.name().equalsIgnoreCase(string))
|
||||||
.findFirst().orElse(null);
|
.findFirst().orElse(null);
|
||||||
}
|
}
|
@ -13,21 +13,21 @@ import java.io.File;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class ItemSettings {
|
public class ScriptConfiguration {
|
||||||
|
|
||||||
protected final @NotNull String identifier;
|
protected final @NotNull String identifier;
|
||||||
@Nullable String name;
|
@Nullable String name;
|
||||||
|
|
||||||
@Nullable ItemStackConfig item;
|
@Nullable ItemStackConfig item;
|
||||||
@NotNull ItemRestrictions restrictions;
|
@NotNull ScriptRestrictions restrictions;
|
||||||
|
|
||||||
@NotNull Map<String, String> permissions;
|
@NotNull Map<String, String> permissions;
|
||||||
@NotNull Map<String, ItemActionGroup> actions;
|
@NotNull Map<String, ScriptActionGroup> actions;
|
||||||
|
|
||||||
public ItemSettings(@NotNull String identifier, @Nullable String name,
|
public ScriptConfiguration(@NotNull String identifier, @Nullable String name,
|
||||||
@Nullable ItemStackConfig item, @NotNull ItemRestrictions restrictions,
|
@Nullable ItemStackConfig item, @NotNull ScriptRestrictions restrictions,
|
||||||
@NotNull Map<String, String> permissions,
|
@NotNull Map<String, String> permissions,
|
||||||
@NotNull Map<String, ItemActionGroup> actions) {
|
@NotNull Map<String, ScriptActionGroup> actions) {
|
||||||
this.identifier = identifier;
|
this.identifier = identifier;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.item = item;
|
this.item = item;
|
||||||
@ -64,23 +64,23 @@ public class ItemSettings {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public @NotNull ItemRestrictions getRestrictions() {
|
public @NotNull ScriptRestrictions getRestrictions() {
|
||||||
return restrictions;
|
return restrictions;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemRestrictions.CheckResult checkRestrictions() {
|
public ScriptRestrictions.CheckResult checkRestrictions() {
|
||||||
return getRestrictions().check();
|
return getRestrictions().check();
|
||||||
}
|
}
|
||||||
|
|
||||||
public @NotNull Map<String, ItemActionGroup> getActions() {
|
public @NotNull Map<String, ScriptActionGroup> getActions() {
|
||||||
return this.actions;
|
return this.actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
public @Nullable ItemActionGroup getDefaultActions() {
|
public @Nullable ScriptActionGroup getDefaultActions() {
|
||||||
return getActions().get("default");
|
return getActions().get("default");
|
||||||
}
|
}
|
||||||
|
|
||||||
public @Nullable ItemActionGroup getPlayerActions(@NotNull Player player) {
|
public @Nullable ScriptActionGroup getPlayerActions(@NotNull Player player) {
|
||||||
@NotNull String actionGroup = getPermissions().entrySet().stream()
|
@NotNull String actionGroup = getPermissions().entrySet().stream()
|
||||||
.filter(entry -> player.hasPermission(entry.getValue()))
|
.filter(entry -> player.hasPermission(entry.getValue()))
|
||||||
.map(Map.Entry::getKey).findFirst().orElse("default");
|
.map(Map.Entry::getKey).findFirst().orElse("default");
|
||||||
@ -92,21 +92,21 @@ public class ItemSettings {
|
|||||||
return ScriptItemsAPI.getItemsManager().applyTag(originalItem, identifier, UUID.randomUUID());
|
return ScriptItemsAPI.getItemsManager().applyTag(originalItem, identifier, UUID.randomUUID());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static @NotNull ItemSettings load(@NotNull File file) throws Exception {
|
public static @NotNull ScriptConfiguration load(@NotNull File file) throws Exception {
|
||||||
return load(YamlConfiguration.loadConfiguration(file));
|
return load(YamlConfiguration.loadConfiguration(file));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static @NotNull ItemSettings load(@NotNull FileConfiguration config) throws Exception {
|
public static @NotNull ScriptConfiguration load(@NotNull FileConfiguration config) throws Exception {
|
||||||
String identifier = config.getString("identifier");
|
String identifier = config.getString("identifier");
|
||||||
if (identifier == null) throw new Exception("identifier not provided.");
|
if (identifier == null) throw new Exception("identifier not provided.");
|
||||||
return new ItemSettings(
|
return new ScriptConfiguration(
|
||||||
identifier, config.getString("name"),
|
identifier, config.getString("name"),
|
||||||
config.isItemStack("item") ?
|
config.isItemStack("item") ?
|
||||||
ItemStackConfig.create(config.getItemStack("item")) :
|
ItemStackConfig.create(config.getItemStack("item")) :
|
||||||
ItemStackConfig.read(config.getConfigurationSection("item")),
|
ItemStackConfig.read(config.getConfigurationSection("item")),
|
||||||
ItemRestrictions.read(config.getConfigurationSection("restrictions")),
|
ScriptRestrictions.read(config.getConfigurationSection("restrictions")),
|
||||||
ConfigManager.readStringMap(config.getConfigurationSection("permissions"), (s -> s)),
|
ConfigManager.readStringMap(config.getConfigurationSection("permissions"), (s -> s)),
|
||||||
ConfigManager.readListMap(config.getConfigurationSection("actions"), ItemActionGroup::read)
|
ConfigManager.readListMap(config.getConfigurationSection("actions"), ScriptActionGroup::read)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,10 +9,10 @@ public class ScriptItem {
|
|||||||
|
|
||||||
@NotNull UUID uuid;
|
@NotNull UUID uuid;
|
||||||
|
|
||||||
@NotNull ItemSettings settings;
|
@NotNull ScriptConfiguration settings;
|
||||||
@NotNull ItemStack itemStack;
|
@NotNull ItemStack itemStack;
|
||||||
|
|
||||||
public ScriptItem(@NotNull UUID uuid, @NotNull ItemSettings settings, @NotNull ItemStack itemStack) {
|
public ScriptItem(@NotNull UUID uuid, @NotNull ScriptConfiguration settings, @NotNull ItemStack itemStack) {
|
||||||
this.uuid = uuid;
|
this.uuid = uuid;
|
||||||
this.settings = settings;
|
this.settings = settings;
|
||||||
this.itemStack = itemStack;
|
this.itemStack = itemStack;
|
||||||
@ -22,7 +22,7 @@ public class ScriptItem {
|
|||||||
return uuid;
|
return uuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public @NotNull ItemSettings getSettings() {
|
public @NotNull ScriptConfiguration getSettings() {
|
||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,16 +11,16 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class ItemRestrictions {
|
public class ScriptRestrictions {
|
||||||
|
|
||||||
long startTime;
|
long startTime;
|
||||||
long endTime;
|
long endTime;
|
||||||
|
|
||||||
public ItemRestrictions() {
|
public ScriptRestrictions() {
|
||||||
this(-1, -1);
|
this(-1, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemRestrictions(long startTime, long endTime) {
|
public ScriptRestrictions(long startTime, long endTime) {
|
||||||
this.startTime = startTime;
|
this.startTime = startTime;
|
||||||
this.endTime = endTime;
|
this.endTime = endTime;
|
||||||
}
|
}
|
||||||
@ -64,10 +64,10 @@ public class ItemRestrictions {
|
|||||||
);
|
);
|
||||||
|
|
||||||
Supplier<@Nullable EasyMessageList> message;
|
Supplier<@Nullable EasyMessageList> message;
|
||||||
Function<@NotNull ItemRestrictions, Object[]> params;
|
Function<@NotNull ScriptRestrictions, Object[]> params;
|
||||||
|
|
||||||
CheckResult(@NotNull Supplier<@Nullable EasyMessageList> message,
|
CheckResult(@NotNull Supplier<@Nullable EasyMessageList> message,
|
||||||
@NotNull Function<@NotNull ItemRestrictions, @Nullable Object[]> params) {
|
@NotNull Function<@NotNull ScriptRestrictions, @Nullable Object[]> params) {
|
||||||
this.message = message;
|
this.message = message;
|
||||||
this.params = params;
|
this.params = params;
|
||||||
}
|
}
|
||||||
@ -76,7 +76,7 @@ public class ItemRestrictions {
|
|||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void send(Player player, ItemRestrictions restrictions) {
|
public void send(Player player, ScriptRestrictions restrictions) {
|
||||||
Object[] params = this.params.apply(restrictions);
|
Object[] params = this.params.apply(restrictions);
|
||||||
if (params == null) {
|
if (params == null) {
|
||||||
getMessage().get().send(player);
|
getMessage().get().send(player);
|
||||||
@ -87,9 +87,9 @@ public class ItemRestrictions {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static @NotNull ItemRestrictions read(@Nullable ConfigurationSection section) {
|
public static @NotNull ScriptRestrictions read(@Nullable ConfigurationSection section) {
|
||||||
if (section == null) return new ItemRestrictions();
|
if (section == null) return new ScriptRestrictions();
|
||||||
return new ItemRestrictions(
|
return new ScriptRestrictions(
|
||||||
TimeDateUtils.parseTimeMillis(section.getString("time.start")),
|
TimeDateUtils.parseTimeMillis(section.getString("time.start")),
|
||||||
TimeDateUtils.parseTimeMillis(section.getString("time.end"))
|
TimeDateUtils.parseTimeMillis(section.getString("time.end"))
|
||||||
);
|
);
|
@ -4,9 +4,9 @@ import cc.carm.plugin.scriptitems.ScriptItemsAPI;
|
|||||||
import cc.carm.plugin.scriptitems.configuration.PluginConfig;
|
import cc.carm.plugin.scriptitems.configuration.PluginConfig;
|
||||||
import cc.carm.plugin.scriptitems.configuration.PluginMessages;
|
import cc.carm.plugin.scriptitems.configuration.PluginMessages;
|
||||||
import cc.carm.plugin.scriptitems.item.ScriptItem;
|
import cc.carm.plugin.scriptitems.item.ScriptItem;
|
||||||
import cc.carm.plugin.scriptitems.item.ItemActionGroup;
|
import cc.carm.plugin.scriptitems.item.ScriptActionGroup;
|
||||||
import cc.carm.plugin.scriptitems.item.ItemRestrictions;
|
import cc.carm.plugin.scriptitems.item.ScriptRestrictions;
|
||||||
import cc.carm.plugin.scriptitems.item.ItemSettings;
|
import cc.carm.plugin.scriptitems.item.ScriptConfiguration;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Item;
|
import org.bukkit.entity.Item;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
@ -49,17 +49,17 @@ public class ItemListener implements Listener {
|
|||||||
}
|
}
|
||||||
updateTime(player.getUniqueId());
|
updateTime(player.getUniqueId());
|
||||||
|
|
||||||
ItemSettings settings = scriptItem.getSettings();
|
ScriptConfiguration settings = scriptItem.getSettings();
|
||||||
|
|
||||||
// 检查物品的相关使用限制是否满足要求
|
// 检查物品的相关使用限制是否满足要求
|
||||||
ItemRestrictions.CheckResult result = settings.getRestrictions().check();
|
ScriptRestrictions.CheckResult result = settings.getRestrictions().check();
|
||||||
if (result != ItemRestrictions.CheckResult.AVAILABLE) {
|
if (result != ScriptRestrictions.CheckResult.AVAILABLE) {
|
||||||
result.send(player, settings.getRestrictions()); // 发送提示
|
result.send(player, settings.getRestrictions()); // 发送提示
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取玩家的对应操作组
|
// 获取玩家的对应操作组
|
||||||
ItemActionGroup actions = settings.getPlayerActions(player);
|
ScriptActionGroup actions = settings.getPlayerActions(player);
|
||||||
if (actions == null) return;
|
if (actions == null) return;
|
||||||
|
|
||||||
actions.execute(player);
|
actions.execute(player);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package cc.carm.plugin.scriptitems.manager;
|
package cc.carm.plugin.scriptitems.manager;
|
||||||
|
|
||||||
import cc.carm.plugin.scriptitems.Main;
|
import cc.carm.plugin.scriptitems.Main;
|
||||||
import cc.carm.plugin.scriptitems.item.ItemSettings;
|
import cc.carm.plugin.scriptitems.item.ScriptConfiguration;
|
||||||
import cc.carm.plugin.scriptitems.item.ScriptItem;
|
import cc.carm.plugin.scriptitems.item.ScriptItem;
|
||||||
import cc.carm.plugin.scriptitems.util.JarResourceUtils;
|
import cc.carm.plugin.scriptitems.util.JarResourceUtils;
|
||||||
import com.google.common.collect.ImmutableMap;
|
import com.google.common.collect.ImmutableMap;
|
||||||
@ -23,7 +23,7 @@ public class ItemsManager {
|
|||||||
|
|
||||||
private static final String FOLDER_NAME = "items";
|
private static final String FOLDER_NAME = "items";
|
||||||
|
|
||||||
public HashMap<String, ItemSettings> items = new HashMap<>();
|
public HashMap<String, ScriptConfiguration> items = new HashMap<>();
|
||||||
|
|
||||||
protected NamespacedKey idKey;
|
protected NamespacedKey idKey;
|
||||||
protected NamespacedKey uuidKey;
|
protected NamespacedKey uuidKey;
|
||||||
@ -60,18 +60,18 @@ public class ItemsManager {
|
|||||||
.filter(File::isFile)
|
.filter(File::isFile)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
HashMap<String, ItemSettings> dataItems = new HashMap<>();
|
HashMap<String, ScriptConfiguration> dataItems = new HashMap<>();
|
||||||
|
|
||||||
if (files.size() > 0) {
|
if (files.size() > 0) {
|
||||||
for (File file : files) {
|
for (File file : files) {
|
||||||
String fileName = file.getName();
|
String fileName = file.getName();
|
||||||
if (fileName.startsWith(".")) continue;
|
if (fileName.startsWith(".")) continue;
|
||||||
try {
|
try {
|
||||||
ItemSettings item = ItemSettings.load(file);
|
ScriptConfiguration item = ScriptConfiguration.load(file);
|
||||||
Main.info(" 完成物品加载 [#" + item.getIdentifier() + "] " + item.getName() + " (" + fileName + ")");
|
Main.info(" 完成脚本物品加载 [#" + item.getIdentifier() + "] " + item.getName() + " (" + fileName + ")");
|
||||||
dataItems.put(item.getIdentifier(), item);
|
dataItems.put(item.getIdentifier(), item);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
Main.severe("在加载物品 " + file.getAbsolutePath() + " 时出错,请检查配置!");
|
Main.severe("在加载脚本物品 " + file.getAbsolutePath() + " 时出错,请检查配置!");
|
||||||
Main.severe("Error occurred when loading item #" + file.getAbsolutePath() + " !");
|
Main.severe("Error occurred when loading item #" + file.getAbsolutePath() + " !");
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -86,11 +86,11 @@ public class ItemsManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Unmodifiable
|
@Unmodifiable
|
||||||
public Map<String, ItemSettings> listItemSettings() {
|
public Map<String, ScriptConfiguration> listItemSettings() {
|
||||||
return ImmutableMap.copyOf(items);
|
return ImmutableMap.copyOf(items);
|
||||||
}
|
}
|
||||||
|
|
||||||
public @Nullable ItemSettings getItemSettings(@NotNull String identifier) {
|
public @Nullable ScriptConfiguration getItemSettings(@NotNull String identifier) {
|
||||||
return items.get(identifier);
|
return items.get(identifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,7 +114,7 @@ public class ItemsManager {
|
|||||||
String settingsID = container.getCustomTag(this.idKey, ItemTagType.STRING);
|
String settingsID = container.getCustomTag(this.idKey, ItemTagType.STRING);
|
||||||
String itemUUID = container.getCustomTag(this.uuidKey, ItemTagType.STRING);
|
String itemUUID = container.getCustomTag(this.uuidKey, ItemTagType.STRING);
|
||||||
if (settingsID == null || itemUUID == null) return null;
|
if (settingsID == null || itemUUID == null) return null;
|
||||||
ItemSettings settings = getItemSettings(settingsID);
|
ScriptConfiguration settings = getItemSettings(settingsID);
|
||||||
if (settings == null) return null;
|
if (settings == null) return null;
|
||||||
return new ScriptItem(UUID.fromString(itemUUID), settings, item);
|
return new ScriptItem(UUID.fromString(itemUUID), settings, item);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user