Upload folder via GUI - src

This commit is contained in:
Git Manager GUI
2026-04-08 02:42:04 +02:00
parent 4e18de17fc
commit 87f80d30c5
16 changed files with 1160 additions and 22 deletions

View File

@@ -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);
}
}