refactor into packages

This commit is contained in:
xGinko 2023-09-26 22:13:24 +02:00
parent 3888275dea
commit bd884e307e
10 changed files with 42 additions and 28 deletions

View File

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

View File

@ -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() {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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<String> 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();

View File

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