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);
createTitledSection("Villager Chunk Limit", "villager-chunk-limit");
createTitledSection("Gameplay", "gameplay");
config.addDefault("gameplay.rename-optimized-villagers.enable", true);
config.addDefault("gameplay.villagers-spawn-as-adults.enable", false);
config.addDefault("gameplay.prevent-trading-with-unoptimized.enable", false);
config.addDefault("gameplay.prevent-damage.enable", true);

View File

@ -1,10 +1,7 @@
package me.xginko.villageroptimizer.modules;
import me.xginko.villageroptimizer.VillagerOptimizer;
import me.xginko.villageroptimizer.modules.extras.PreventUnoptimizedTrading;
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.extras.*;
import me.xginko.villageroptimizer.modules.mechanics.LevelVillagers;
import me.xginko.villageroptimizer.modules.mechanics.RestockTrades;
import me.xginko.villageroptimizer.modules.optimizations.OptimizeByBlock;
@ -38,9 +35,9 @@ public interface VillagerOptimizerModule {
modules.add(new PreventUnoptimizedTrading());
modules.add(new PreventVillagerDamage());
modules.add(new PreventVillagerTargetting());
modules.add(new RenameOptimizedVillagers());
modules.add(new VillagerChunkLimit());
modules.add(new RenameOptimized());
modules.forEach(module -> {
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.WrappedVillager;
import me.xginko.villageroptimizer.config.Config;
import me.xginko.villageroptimizer.events.VillagerOptimizeEvent;
import me.xginko.villageroptimizer.events.VillagerUnoptimizeEvent;
import me.xginko.villageroptimizer.modules.VillagerOptimizerModule;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.entity.Villager;
@ -12,22 +13,23 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
public class RenameOptimized implements VillagerOptimizerModule, Listener {
public class RenameOptimizedVillagers implements VillagerOptimizerModule, Listener {
private final VillagerOptimizer plugin;
private final Component optimized_name;
private final boolean overwrite_previous_name;
protected RenameOptimized() {
public RenameOptimizedVillagers() {
shouldEnable();
this.plugin = VillagerOptimizer.getInstance();
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
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."));
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.");
}
@ -38,7 +40,7 @@ public class RenameOptimized implements VillagerOptimizerModule, Listener {
@Override
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)

View File

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

View File

@ -1,9 +1,6 @@
package me.xginko.villageroptimizer.modules;
import me.xginko.villageroptimizer.modules.extras.PreventUnoptimizedTrading;
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.extras.*;
import me.xginko.villageroptimizer.modules.mechanics.LevelVillagers;
import me.xginko.villageroptimizer.modules.mechanics.RestockTrades;
import me.xginko.villageroptimizer.modules.optimizations.OptimizeByBlock;
@ -37,7 +34,7 @@ public interface VillagerOptimizerModule {
modules.add(new PreventVillagerTargetting());
modules.add(new VillagerChunkLimit());
modules.add(new RenameOptimized());
modules.add(new RenameOptimizedVillagers());
modules.forEach(module -> {
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.WrappedVillager;
import me.xginko.villageroptimizer.config.Config;
import me.xginko.villageroptimizer.events.VillagerOptimizeEvent;
import me.xginko.villageroptimizer.events.VillagerUnoptimizeEvent;
import me.xginko.villageroptimizer.modules.VillagerOptimizerModule;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.entity.Villager;
@ -13,22 +14,23 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.HandlerList;
import org.bukkit.event.Listener;
public class RenameOptimized implements VillagerOptimizerModule, Listener {
public class RenameOptimizedVillagers implements VillagerOptimizerModule, Listener {
private final VillagerOptimizer plugin;
private final Component optimized_name;
private final boolean overwrite_previous_name;
protected RenameOptimized() {
protected RenameOptimizedVillagers() {
shouldEnable();
this.plugin = VillagerOptimizer.getInstance();
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
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."));
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.");
}
@ -44,7 +46,7 @@ public class RenameOptimized implements VillagerOptimizerModule, Listener {
@Override
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)