From bd884e307ec3da385bab5e881b1daf9b81b571e2 Mon Sep 17 00:00:00 2001 From: xGinko Date: Tue, 26 Sep 2023 22:13:24 +0200 Subject: [PATCH] refactor into packages --- .../modules/VillagerOptimizerModule.java | 26 ++++++++++++------- .../MakeVillagersSpawnAdult.java} | 7 ++--- .../PreventUnoptimizedTrading.java | 5 ++-- .../{ => extras}/PreventVillagerDamage.java | 5 ++-- .../PreventVillagerTargetting.java | 5 ++-- .../LevelVillagers.java | 3 ++- .../RestockTrades.java | 5 ++-- ...Optimization.java => OptimizeByBlock.java} | 6 ++--- ...timization.java => OptimizeByNametag.java} | 4 +-- ...zation.java => OptimizeByWorkstation.java} | 4 +-- 10 files changed, 42 insertions(+), 28 deletions(-) rename src/main/java/me/xginko/villageroptimizer/modules/{VillagersSpawnAdult.java => extras/MakeVillagersSpawnAdult.java} (85%) rename src/main/java/me/xginko/villageroptimizer/modules/{ => extras}/PreventUnoptimizedTrading.java (95%) rename src/main/java/me/xginko/villageroptimizer/modules/{ => extras}/PreventVillagerDamage.java (96%) rename src/main/java/me/xginko/villageroptimizer/modules/{ => extras}/PreventVillagerTargetting.java (94%) rename src/main/java/me/xginko/villageroptimizer/modules/{ => fallback_mechanics}/LevelVillagers.java (96%) rename src/main/java/me/xginko/villageroptimizer/modules/{ => fallback_mechanics}/RestockTrades.java (95%) rename src/main/java/me/xginko/villageroptimizer/modules/optimizations/{BlockOptimization.java => OptimizeByBlock.java} (98%) rename src/main/java/me/xginko/villageroptimizer/modules/optimizations/{NametagOptimization.java => OptimizeByNametag.java} (98%) rename src/main/java/me/xginko/villageroptimizer/modules/optimizations/{WorkstationOptimization.java => OptimizeByWorkstation.java} (98%) diff --git a/src/main/java/me/xginko/villageroptimizer/modules/VillagerOptimizerModule.java b/src/main/java/me/xginko/villageroptimizer/modules/VillagerOptimizerModule.java index 1edc9cb..165e1aa 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/VillagerOptimizerModule.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/VillagerOptimizerModule.java @@ -1,8 +1,14 @@ package me.xginko.villageroptimizer.modules; -import me.xginko.villageroptimizer.modules.optimizations.BlockOptimization; -import me.xginko.villageroptimizer.modules.optimizations.NametagOptimization; -import me.xginko.villageroptimizer.modules.optimizations.WorkstationOptimization; +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.fallback_mechanics.LevelVillagers; +import me.xginko.villageroptimizer.modules.fallback_mechanics.RestockTrades; +import me.xginko.villageroptimizer.modules.optimizations.OptimizeByBlock; +import me.xginko.villageroptimizer.modules.optimizations.OptimizeByNametag; +import me.xginko.villageroptimizer.modules.optimizations.OptimizeByWorkstation; import java.util.HashSet; @@ -18,17 +24,19 @@ public interface VillagerOptimizerModule { modules.forEach(VillagerOptimizerModule::disable); modules.clear(); - modules.add(new NametagOptimization()); - modules.add(new BlockOptimization()); - modules.add(new WorkstationOptimization()); + modules.add(new VillagerChunkLimit()); + modules.add(new OptimizeByNametag()); + modules.add(new OptimizeByBlock()); + modules.add(new OptimizeByWorkstation()); + + modules.add(new RestockTrades()); modules.add(new LevelVillagers()); + + modules.add(new MakeVillagersSpawnAdult()); modules.add(new PreventUnoptimizedTrading()); modules.add(new PreventVillagerDamage()); modules.add(new PreventVillagerTargetting()); - modules.add(new RestockTrades()); - modules.add(new VillagerChunkLimit()); - modules.add(new VillagersSpawnAdult()); modules.forEach(module -> { if (module.shouldEnable()) module.enable(); diff --git a/src/main/java/me/xginko/villageroptimizer/modules/VillagersSpawnAdult.java b/src/main/java/me/xginko/villageroptimizer/modules/extras/MakeVillagersSpawnAdult.java similarity index 85% rename from src/main/java/me/xginko/villageroptimizer/modules/VillagersSpawnAdult.java rename to src/main/java/me/xginko/villageroptimizer/modules/extras/MakeVillagersSpawnAdult.java index 8539c06..a536642 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/VillagersSpawnAdult.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/extras/MakeVillagersSpawnAdult.java @@ -1,6 +1,7 @@ -package me.xginko.villageroptimizer.modules; +package me.xginko.villageroptimizer.modules.extras; import me.xginko.villageroptimizer.VillagerOptimizer; +import me.xginko.villageroptimizer.modules.VillagerOptimizerModule; import org.bukkit.entity.EntityType; import org.bukkit.entity.Villager; import org.bukkit.event.EventHandler; @@ -9,9 +10,9 @@ import org.bukkit.event.HandlerList; import org.bukkit.event.Listener; import org.bukkit.event.entity.CreatureSpawnEvent; -public class VillagersSpawnAdult implements VillagerOptimizerModule, Listener { +public class MakeVillagersSpawnAdult implements VillagerOptimizerModule, Listener { - protected VillagersSpawnAdult() {} + public MakeVillagersSpawnAdult() {} @Override public void enable() { diff --git a/src/main/java/me/xginko/villageroptimizer/modules/PreventUnoptimizedTrading.java b/src/main/java/me/xginko/villageroptimizer/modules/extras/PreventUnoptimizedTrading.java similarity index 95% rename from src/main/java/me/xginko/villageroptimizer/modules/PreventUnoptimizedTrading.java rename to src/main/java/me/xginko/villageroptimizer/modules/extras/PreventUnoptimizedTrading.java index 0bc4611..54fb7ac 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/PreventUnoptimizedTrading.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/extras/PreventUnoptimizedTrading.java @@ -1,9 +1,10 @@ -package me.xginko.villageroptimizer.modules; +package me.xginko.villageroptimizer.modules.extras; import me.xginko.villageroptimizer.VillagerOptimizer; import me.xginko.villageroptimizer.VillagerCache; import me.xginko.villageroptimizer.config.Config; import me.xginko.villageroptimizer.enums.Permissions; +import me.xginko.villageroptimizer.modules.VillagerOptimizerModule; import org.bukkit.entity.Player; import org.bukkit.entity.Villager; import org.bukkit.event.EventHandler; @@ -19,7 +20,7 @@ public class PreventUnoptimizedTrading implements VillagerOptimizerModule, Liste private final VillagerCache villagerCache; private final boolean notifyPlayer; - protected PreventUnoptimizedTrading() { + public PreventUnoptimizedTrading() { shouldEnable(); this.villagerCache = VillagerOptimizer.getCache(); Config config = VillagerOptimizer.getConfiguration(); diff --git a/src/main/java/me/xginko/villageroptimizer/modules/PreventVillagerDamage.java b/src/main/java/me/xginko/villageroptimizer/modules/extras/PreventVillagerDamage.java similarity index 96% rename from src/main/java/me/xginko/villageroptimizer/modules/PreventVillagerDamage.java rename to src/main/java/me/xginko/villageroptimizer/modules/extras/PreventVillagerDamage.java index a60fb60..6fada4b 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/PreventVillagerDamage.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/extras/PreventVillagerDamage.java @@ -1,9 +1,10 @@ -package me.xginko.villageroptimizer.modules; +package me.xginko.villageroptimizer.modules.extras; import io.papermc.paper.event.entity.EntityPushedByEntityAttackEvent; import me.xginko.villageroptimizer.VillagerOptimizer; import me.xginko.villageroptimizer.VillagerCache; import me.xginko.villageroptimizer.config.Config; +import me.xginko.villageroptimizer.modules.VillagerOptimizerModule; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.Mob; @@ -20,7 +21,7 @@ public class PreventVillagerDamage implements VillagerOptimizerModule, Listener private final VillagerCache villagerCache; private final boolean block, player, mob, other, push; - protected PreventVillagerDamage() { + public PreventVillagerDamage() { shouldEnable(); this.villagerCache = VillagerOptimizer.getCache(); Config config = VillagerOptimizer.getConfiguration(); diff --git a/src/main/java/me/xginko/villageroptimizer/modules/PreventVillagerTargetting.java b/src/main/java/me/xginko/villageroptimizer/modules/extras/PreventVillagerTargetting.java similarity index 94% rename from src/main/java/me/xginko/villageroptimizer/modules/PreventVillagerTargetting.java rename to src/main/java/me/xginko/villageroptimizer/modules/extras/PreventVillagerTargetting.java index 554c03e..dc4e0f2 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/PreventVillagerTargetting.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/extras/PreventVillagerTargetting.java @@ -1,8 +1,9 @@ -package me.xginko.villageroptimizer.modules; +package me.xginko.villageroptimizer.modules.extras; import com.destroystokyo.paper.event.entity.EntityPathfindEvent; import me.xginko.villageroptimizer.VillagerOptimizer; import me.xginko.villageroptimizer.VillagerCache; +import me.xginko.villageroptimizer.modules.VillagerOptimizerModule; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.Mob; @@ -18,7 +19,7 @@ public class PreventVillagerTargetting implements VillagerOptimizerModule, Liste private final VillagerCache villagerCache; - protected PreventVillagerTargetting() { + public PreventVillagerTargetting() { this.villagerCache = VillagerOptimizer.getCache(); } diff --git a/src/main/java/me/xginko/villageroptimizer/modules/LevelVillagers.java b/src/main/java/me/xginko/villageroptimizer/modules/fallback_mechanics/LevelVillagers.java similarity index 96% rename from src/main/java/me/xginko/villageroptimizer/modules/LevelVillagers.java rename to src/main/java/me/xginko/villageroptimizer/modules/fallback_mechanics/LevelVillagers.java index 9ab7cb2..4c440a4 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/LevelVillagers.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/fallback_mechanics/LevelVillagers.java @@ -1,9 +1,10 @@ -package me.xginko.villageroptimizer.modules; +package me.xginko.villageroptimizer.modules.fallback_mechanics; import me.xginko.villageroptimizer.VillagerOptimizer; import me.xginko.villageroptimizer.VillagerCache; import me.xginko.villageroptimizer.config.Config; import me.xginko.villageroptimizer.WrappedVillager; +import me.xginko.villageroptimizer.modules.VillagerOptimizerModule; import me.xginko.villageroptimizer.utils.CommonUtils; import net.kyori.adventure.text.TextReplacementConfig; import org.bukkit.entity.Player; diff --git a/src/main/java/me/xginko/villageroptimizer/modules/RestockTrades.java b/src/main/java/me/xginko/villageroptimizer/modules/fallback_mechanics/RestockTrades.java similarity index 95% rename from src/main/java/me/xginko/villageroptimizer/modules/RestockTrades.java rename to src/main/java/me/xginko/villageroptimizer/modules/fallback_mechanics/RestockTrades.java index f54c222..8529e3c 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/RestockTrades.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/fallback_mechanics/RestockTrades.java @@ -1,10 +1,11 @@ -package me.xginko.villageroptimizer.modules; +package me.xginko.villageroptimizer.modules.fallback_mechanics; import me.xginko.villageroptimizer.VillagerOptimizer; import me.xginko.villageroptimizer.VillagerCache; import me.xginko.villageroptimizer.config.Config; import me.xginko.villageroptimizer.enums.Permissions; import me.xginko.villageroptimizer.WrappedVillager; +import me.xginko.villageroptimizer.modules.VillagerOptimizerModule; import me.xginko.villageroptimizer.utils.CommonUtils; import net.kyori.adventure.text.TextReplacementConfig; import org.bukkit.entity.EntityType; @@ -26,7 +27,7 @@ public class RestockTrades implements VillagerOptimizerModule, Listener { private final long restock_delay_millis; private final boolean shouldLog, notifyPlayer; - protected RestockTrades() { + public RestockTrades() { shouldEnable(); this.villagerCache = VillagerOptimizer.getCache(); Config config = VillagerOptimizer.getConfiguration(); diff --git a/src/main/java/me/xginko/villageroptimizer/modules/optimizations/BlockOptimization.java b/src/main/java/me/xginko/villageroptimizer/modules/optimizations/OptimizeByBlock.java similarity index 98% rename from src/main/java/me/xginko/villageroptimizer/modules/optimizations/BlockOptimization.java rename to src/main/java/me/xginko/villageroptimizer/modules/optimizations/OptimizeByBlock.java index 6139795..82069b2 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/optimizations/BlockOptimization.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/optimizations/OptimizeByBlock.java @@ -27,7 +27,7 @@ import org.bukkit.event.block.BlockPlaceEvent; import java.util.HashSet; import java.util.List; -public class BlockOptimization implements VillagerOptimizerModule, Listener { +public class OptimizeByBlock implements VillagerOptimizerModule, Listener { private final VillagerCache villagerCache; private final HashSet blocks_that_disable = new HashSet<>(4); @@ -35,7 +35,7 @@ public class BlockOptimization implements VillagerOptimizerModule, Listener { private final long cooldown; private final double search_radius; - public BlockOptimization() { + public OptimizeByBlock() { shouldEnable(); this.villagerCache = VillagerOptimizer.getCache(); Config config = VillagerOptimizer.getConfiguration(); @@ -61,7 +61,7 @@ public class BlockOptimization implements VillagerOptimizerModule, Listener { The radius in blocks a villager can be away from the player when he places an optimize block.\s The closest unoptimized villager to the player will be optimized.""") / 2; this.shouldNotifyPlayer = config.getBoolean("optimization-methods.block-optimization.notify-player", true, - "Sends players a message when they successfully optimized a villager."); + "Sends players a message when they successfully optimized or unoptimized a villager."); this.shouldLog = config.getBoolean("optimization-methods.block-optimization.log", false); } diff --git a/src/main/java/me/xginko/villageroptimizer/modules/optimizations/NametagOptimization.java b/src/main/java/me/xginko/villageroptimizer/modules/optimizations/OptimizeByNametag.java similarity index 98% rename from src/main/java/me/xginko/villageroptimizer/modules/optimizations/NametagOptimization.java rename to src/main/java/me/xginko/villageroptimizer/modules/optimizations/OptimizeByNametag.java index cb40e36..6d3c129 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/optimizations/NametagOptimization.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/optimizations/OptimizeByNametag.java @@ -25,14 +25,14 @@ import org.bukkit.inventory.ItemStack; import java.util.HashSet; import java.util.List; -public class NametagOptimization implements VillagerOptimizerModule, Listener { +public class OptimizeByNametag implements VillagerOptimizerModule, Listener { private final VillagerCache villagerCache; private final HashSet nametags = new HashSet<>(4); private final boolean shouldLog, shouldNotifyPlayer, consumeNametag; private final long cooldown; - public NametagOptimization() { + public OptimizeByNametag() { shouldEnable(); this.villagerCache = VillagerOptimizer.getCache(); Config config = VillagerOptimizer.getConfiguration(); diff --git a/src/main/java/me/xginko/villageroptimizer/modules/optimizations/WorkstationOptimization.java b/src/main/java/me/xginko/villageroptimizer/modules/optimizations/OptimizeByWorkstation.java similarity index 98% rename from src/main/java/me/xginko/villageroptimizer/modules/optimizations/WorkstationOptimization.java rename to src/main/java/me/xginko/villageroptimizer/modules/optimizations/OptimizeByWorkstation.java index ee093a3..743885b 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/optimizations/WorkstationOptimization.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/optimizations/OptimizeByWorkstation.java @@ -27,7 +27,7 @@ import org.bukkit.event.block.BlockPlaceEvent; import java.util.HashSet; import java.util.List; -public class WorkstationOptimization implements VillagerOptimizerModule, Listener { +public class OptimizeByWorkstation implements VillagerOptimizerModule, Listener { /* * TODO: Make placed workstation villager profession related. * */ @@ -38,7 +38,7 @@ public class WorkstationOptimization implements VillagerOptimizerModule, Listene private final long cooldown; private final double search_radius; - public WorkstationOptimization() { + public OptimizeByWorkstation() { shouldEnable(); this.villagerCache = VillagerOptimizer.getCache(); Config config = VillagerOptimizer.getConfiguration();