refactor config option

This commit is contained in:
xGinko 2023-10-03 00:30:03 +02:00
parent 1b972bbecc
commit 1af0c9a0c2
6 changed files with 24 additions and 24 deletions

View File

@ -60,6 +60,7 @@ public class Config {
config.addDefault("optimization-methods.nametag-optimization.enable", true); config.addDefault("optimization-methods.nametag-optimization.enable", true);
createTitledSection("Villager Chunk Limit", "villager-chunk-limit"); createTitledSection("Villager Chunk Limit", "villager-chunk-limit");
createTitledSection("Gameplay", "gameplay"); createTitledSection("Gameplay", "gameplay");
config.addDefault("gameplay.rename-optimized-villagers.enable", true);
config.addDefault("gameplay.villagers-spawn-as-adults.enable", false); config.addDefault("gameplay.villagers-spawn-as-adults.enable", false);
config.addDefault("gameplay.prevent-trading-with-unoptimized.enable", false); config.addDefault("gameplay.prevent-trading-with-unoptimized.enable", false);
config.addDefault("gameplay.prevent-damage.enable", true); config.addDefault("gameplay.prevent-damage.enable", true);

View File

@ -1,10 +1,7 @@
package me.xginko.villageroptimizer.modules; package me.xginko.villageroptimizer.modules;
import me.xginko.villageroptimizer.VillagerOptimizer; import me.xginko.villageroptimizer.VillagerOptimizer;
import me.xginko.villageroptimizer.modules.extras.PreventUnoptimizedTrading; import me.xginko.villageroptimizer.modules.extras.*;
import me.xginko.villageroptimizer.modules.extras.PreventVillagerDamage;
import me.xginko.villageroptimizer.modules.extras.PreventVillagerTargetting;
import me.xginko.villageroptimizer.modules.extras.MakeVillagersSpawnAdult;
import me.xginko.villageroptimizer.modules.mechanics.LevelVillagers; import me.xginko.villageroptimizer.modules.mechanics.LevelVillagers;
import me.xginko.villageroptimizer.modules.mechanics.RestockTrades; import me.xginko.villageroptimizer.modules.mechanics.RestockTrades;
import me.xginko.villageroptimizer.modules.optimizations.OptimizeByBlock; import me.xginko.villageroptimizer.modules.optimizations.OptimizeByBlock;
@ -38,9 +35,9 @@ public interface VillagerOptimizerModule {
modules.add(new PreventUnoptimizedTrading()); modules.add(new PreventUnoptimizedTrading());
modules.add(new PreventVillagerDamage()); modules.add(new PreventVillagerDamage());
modules.add(new PreventVillagerTargetting()); modules.add(new PreventVillagerTargetting());
modules.add(new RenameOptimizedVillagers());
modules.add(new VillagerChunkLimit()); modules.add(new VillagerChunkLimit());
modules.add(new RenameOptimized());
modules.forEach(module -> { modules.forEach(module -> {
if (module.shouldEnable()) module.enable(); if (module.shouldEnable()) module.enable();

View File

@ -1,10 +1,11 @@
package me.xginko.villageroptimizer.modules; package me.xginko.villageroptimizer.modules.extras;
import me.xginko.villageroptimizer.VillagerOptimizer; import me.xginko.villageroptimizer.VillagerOptimizer;
import me.xginko.villageroptimizer.WrappedVillager; import me.xginko.villageroptimizer.WrappedVillager;
import me.xginko.villageroptimizer.config.Config; import me.xginko.villageroptimizer.config.Config;
import me.xginko.villageroptimizer.events.VillagerOptimizeEvent; import me.xginko.villageroptimizer.events.VillagerOptimizeEvent;
import me.xginko.villageroptimizer.events.VillagerUnoptimizeEvent; import me.xginko.villageroptimizer.events.VillagerUnoptimizeEvent;
import me.xginko.villageroptimizer.modules.VillagerOptimizerModule;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.entity.Villager; import org.bukkit.entity.Villager;
@ -12,22 +13,23 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
public class RenameOptimized implements VillagerOptimizerModule, Listener { public class RenameOptimizedVillagers implements VillagerOptimizerModule, Listener {
private final VillagerOptimizer plugin; private final VillagerOptimizer plugin;
private final Component optimized_name; private final Component optimized_name;
private final boolean overwrite_previous_name; private final boolean overwrite_previous_name;
protected RenameOptimized() { public RenameOptimizedVillagers() {
shouldEnable();
this.plugin = VillagerOptimizer.getInstance(); this.plugin = VillagerOptimizer.getInstance();
Config config = VillagerOptimizer.getConfiguration(); Config config = VillagerOptimizer.getConfiguration();
config.addComment("general.rename-villagers.enable", """ config.addComment("gameplay.rename-optimized-villagers.enable", """
Will change a villager's name to the name configured below when they are optimized.\s Will change a villager's name to the name configured below when they are optimized.\s
These names will be removed when unoptimized again if they were not changed in the meantime. These names will be removed when unoptimized again if they were not changed in the meantime.
"""); """);
this.optimized_name = MiniMessage.miniMessage().deserialize(config.getString("general.rename-villagers.optimized-name", "<green>Optimized", this.optimized_name = MiniMessage.miniMessage().deserialize(config.getString("gameplay.rename-optimized-villagers.optimized-name", "<green>Optimized",
"The name that will be used to mark optimized villagers. Uses MiniMessage format.")); "The name that will be used to mark optimized villagers. Uses MiniMessage format."));
this.overwrite_previous_name = config.getBoolean("general.rename-villagers.overwrite-existing-name", false, this.overwrite_previous_name = config.getBoolean("gameplay.rename-optimized-villagers.overwrite-existing-name", false,
"If set to true, will rename even if the villager has already been named."); "If set to true, will rename even if the villager has already been named.");
} }
@ -38,7 +40,7 @@ public class RenameOptimized implements VillagerOptimizerModule, Listener {
@Override @Override
public boolean shouldEnable() { public boolean shouldEnable() {
return VillagerOptimizer.getConfiguration().getBoolean("general.rename-villagers.enable", true); return VillagerOptimizer.getConfiguration().getBoolean("gameplay.rename-optimized-villagers.enable", true);
} }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)

View File

@ -60,6 +60,7 @@ public class Config {
config.addDefault("optimization-methods.nametag-optimization.enable", true); config.addDefault("optimization-methods.nametag-optimization.enable", true);
createTitledSection("Villager Chunk Limit", "villager-chunk-limit"); createTitledSection("Villager Chunk Limit", "villager-chunk-limit");
createTitledSection("Gameplay", "gameplay"); createTitledSection("Gameplay", "gameplay");
config.addDefault("gameplay.rename-optimized-villagers.enable", true);
config.addDefault("gameplay.villagers-spawn-as-adults.enable", false); config.addDefault("gameplay.villagers-spawn-as-adults.enable", false);
config.addDefault("gameplay.prevent-trading-with-unoptimized.enable", false); config.addDefault("gameplay.prevent-trading-with-unoptimized.enable", false);
config.addDefault("gameplay.prevent-damage.enable", true); config.addDefault("gameplay.prevent-damage.enable", true);

View File

@ -1,9 +1,6 @@
package me.xginko.villageroptimizer.modules; package me.xginko.villageroptimizer.modules;
import me.xginko.villageroptimizer.modules.extras.PreventUnoptimizedTrading; import me.xginko.villageroptimizer.modules.extras.*;
import me.xginko.villageroptimizer.modules.extras.PreventVillagerDamage;
import me.xginko.villageroptimizer.modules.extras.PreventVillagerTargetting;
import me.xginko.villageroptimizer.modules.extras.MakeVillagersSpawnAdult;
import me.xginko.villageroptimizer.modules.mechanics.LevelVillagers; import me.xginko.villageroptimizer.modules.mechanics.LevelVillagers;
import me.xginko.villageroptimizer.modules.mechanics.RestockTrades; import me.xginko.villageroptimizer.modules.mechanics.RestockTrades;
import me.xginko.villageroptimizer.modules.optimizations.OptimizeByBlock; import me.xginko.villageroptimizer.modules.optimizations.OptimizeByBlock;
@ -37,7 +34,7 @@ public interface VillagerOptimizerModule {
modules.add(new PreventVillagerTargetting()); modules.add(new PreventVillagerTargetting());
modules.add(new VillagerChunkLimit()); modules.add(new VillagerChunkLimit());
modules.add(new RenameOptimized()); modules.add(new RenameOptimizedVillagers());
modules.forEach(module -> { modules.forEach(module -> {
if (module.shouldEnable()) module.enable(); if (module.shouldEnable()) module.enable();

View File

@ -1,10 +1,11 @@
package me.xginko.villageroptimizer.modules; package me.xginko.villageroptimizer.modules.extras;
import me.xginko.villageroptimizer.VillagerOptimizer; import me.xginko.villageroptimizer.VillagerOptimizer;
import me.xginko.villageroptimizer.WrappedVillager; import me.xginko.villageroptimizer.WrappedVillager;
import me.xginko.villageroptimizer.config.Config; import me.xginko.villageroptimizer.config.Config;
import me.xginko.villageroptimizer.events.VillagerOptimizeEvent; import me.xginko.villageroptimizer.events.VillagerOptimizeEvent;
import me.xginko.villageroptimizer.events.VillagerUnoptimizeEvent; import me.xginko.villageroptimizer.events.VillagerUnoptimizeEvent;
import me.xginko.villageroptimizer.modules.VillagerOptimizerModule;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.entity.Villager; import org.bukkit.entity.Villager;
@ -13,22 +14,23 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList; import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
public class RenameOptimized implements VillagerOptimizerModule, Listener { public class RenameOptimizedVillagers implements VillagerOptimizerModule, Listener {
private final VillagerOptimizer plugin; private final VillagerOptimizer plugin;
private final Component optimized_name; private final Component optimized_name;
private final boolean overwrite_previous_name; private final boolean overwrite_previous_name;
protected RenameOptimized() { protected RenameOptimizedVillagers() {
shouldEnable();
this.plugin = VillagerOptimizer.getInstance(); this.plugin = VillagerOptimizer.getInstance();
Config config = VillagerOptimizer.getConfiguration(); Config config = VillagerOptimizer.getConfiguration();
config.addComment("general.rename-villagers.enable", """ config.addComment("gameplay.rename-optimized-villagers.enable", """
Will change a villager's name to the name configured below when they are optimized.\s Will change a villager's name to the name configured below when they are optimized.\s
These names will be removed when unoptimized again if they were not changed in the meantime. These names will be removed when unoptimized again if they were not changed in the meantime.
"""); """);
this.optimized_name = MiniMessage.miniMessage().deserialize(config.getString("general.rename-villagers.optimized-name", "<green>Optimized", this.optimized_name = MiniMessage.miniMessage().deserialize(config.getString("gameplay.rename-optimized-villagers.optimized-name", "<green>Optimized",
"The name that will be used to mark optimized villagers. Uses MiniMessage format.")); "The name that will be used to mark optimized villagers. Uses MiniMessage format."));
this.overwrite_previous_name = config.getBoolean("general.rename-villagers.overwrite-existing-name", false, this.overwrite_previous_name = config.getBoolean("gameplay.rename-optimized-villagers.overwrite-existing-name", false,
"If set to true, will rename even if the villager has already been named."); "If set to true, will rename even if the villager has already been named.");
} }
@ -44,7 +46,7 @@ public class RenameOptimized implements VillagerOptimizerModule, Listener {
@Override @Override
public boolean shouldEnable() { public boolean shouldEnable() {
return VillagerOptimizer.getConfiguration().getBoolean("general.rename-villagers.enable", true); return VillagerOptimizer.getConfiguration().getBoolean("gameplay.rename-optimized-villagers.enable", true);
} }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)