diff --git a/src/main/java/eu/mhsl/craftattack/spawn/Main.java b/src/main/java/eu/mhsl/craftattack/spawn/Main.java index 1e26727..5145ba3 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/Main.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/Main.java @@ -39,6 +39,7 @@ import org.bukkit.plugin.java.JavaPlugin; import java.lang.reflect.ParameterizedType; import java.util.List; import java.util.logging.Logger; +import java.util.stream.Stream; public final class Main extends JavaPlugin { private static Main instance; @@ -54,7 +55,8 @@ public final class Main extends JavaPlugin { saveDefaultConfig(); Configuration.readConfig(); - appliances = List.of( + List disabledAppliances = Configuration.pluginConfig.getStringList("disabledAppliances"); + this.appliances = Stream.of( new AdminMarker(), new WorldMuseum(), new TitleClear(), @@ -84,7 +86,10 @@ public final class Main extends JavaPlugin { new KnockDoor(), new PackSelect(), new GlowingBerries() - ); + ) + .filter(appliance -> disabledAppliances.stream() + .noneMatch(s -> s.equalsIgnoreCase(appliance.getClass().getSimpleName()))) + .toList(); Main.logger.info("Loading appliances..."); appliances.forEach(appliance -> { diff --git a/src/main/java/eu/mhsl/craftattack/spawn/config/Configuration.java b/src/main/java/eu/mhsl/craftattack/spawn/config/Configuration.java index 68e033a..d7ee8e2 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/config/Configuration.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/config/Configuration.java @@ -1,6 +1,7 @@ package eu.mhsl.craftattack.spawn.config; import eu.mhsl.craftattack.spawn.Main; +import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; @@ -10,9 +11,11 @@ public class Configuration { private static final String configName = "config.yml"; private static final File configFile = new File(Main.instance().getDataFolder().getAbsolutePath() + "/" + configName); public static FileConfiguration cfg; + public static ConfigurationSection pluginConfig; public static void readConfig() { cfg = YamlConfiguration.loadConfiguration(configFile); + pluginConfig = cfg.getConfigurationSection("plugin"); } public static void saveChanges() { diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index f0217b4..11d8e20 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,3 +1,7 @@ +plugin: + disabledAppliances: + - NameOfApplianceClass + worldMuseum: uuid: connect-server-name: worldmuseum