Upload folder via GUI - src
This commit is contained in:
@@ -4,6 +4,7 @@ import dev.viper.eventengine.EventEngine;
|
||||
import dev.viper.eventengine.model.EventDefinition;
|
||||
import dev.viper.eventengine.model.ScheduleEntry;
|
||||
import dev.viper.eventengine.util.ColorUtil;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
@@ -18,6 +19,18 @@ import java.util.logging.Logger;
|
||||
|
||||
public class ConfigManager {
|
||||
|
||||
private static final List<Material> DEFAULT_ITEM_RAIN_ITEMS = List.of(
|
||||
Material.DIAMOND,
|
||||
Material.GOLD_INGOT,
|
||||
Material.IRON_INGOT,
|
||||
Material.EMERALD,
|
||||
Material.COAL,
|
||||
Material.BREAD,
|
||||
Material.ARROW,
|
||||
Material.GOLDEN_APPLE,
|
||||
Material.EXPERIENCE_BOTTLE
|
||||
);
|
||||
|
||||
private final EventEngine plugin;
|
||||
private final Logger log;
|
||||
|
||||
@@ -44,6 +57,7 @@ public class ConfigManager {
|
||||
private boolean enforceRegionBoundary;
|
||||
private boolean noExplosionBlockDamage;
|
||||
private boolean restrictBlockInteraction;
|
||||
private List<Material> itemRainItems;
|
||||
|
||||
public ConfigManager(EventEngine plugin) {
|
||||
this.plugin = plugin;
|
||||
@@ -73,6 +87,16 @@ public class ConfigManager {
|
||||
noExplosionBlockDamage = mainConfig.getBoolean("protection.no-explosion-block-damage", true);
|
||||
restrictBlockInteraction = mainConfig.getBoolean("protection.restrict-block-interaction", true);
|
||||
prefix = ColorUtil.color(mainConfig.getString("settings.prefix", "&8[&6EventEngine&8]&r "));
|
||||
|
||||
List<String> rawItems = mainConfig.getStringList("item-rain.items");
|
||||
itemRainItems = new ArrayList<>();
|
||||
for (String name : rawItems) {
|
||||
try {
|
||||
Material mat = Material.valueOf(name.toUpperCase());
|
||||
if (mat.isItem()) itemRainItems.add(mat);
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
if (itemRainItems.isEmpty()) itemRainItems.addAll(DEFAULT_ITEM_RAIN_ITEMS);
|
||||
}
|
||||
|
||||
private void loadSchedule() {
|
||||
@@ -166,4 +190,17 @@ public class ConfigManager {
|
||||
public boolean isNoExplosionBlockDamage() { return noExplosionBlockDamage; }
|
||||
public boolean isRestrictBlockInteraction() { return restrictBlockInteraction; }
|
||||
public FileConfiguration getMainConfig() { return mainConfig; }
|
||||
public List<Material> getItemRainItems() { return Collections.unmodifiableList(itemRainItems); }
|
||||
|
||||
public void setItemRainItems(List<Material> items) {
|
||||
itemRainItems = new ArrayList<>(items);
|
||||
if (itemRainItems.isEmpty()) itemRainItems.addAll(DEFAULT_ITEM_RAIN_ITEMS);
|
||||
List<String> raw = itemRainItems.stream().map(Material::name).toList();
|
||||
mainConfig.set("item-rain.items", raw);
|
||||
plugin.saveConfig();
|
||||
}
|
||||
|
||||
public void resetItemRainItems() {
|
||||
setItemRainItems(DEFAULT_ITEM_RAIN_ITEMS);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user