refactor into packages
This commit is contained in:
parent
3888275dea
commit
bd884e307e
@ -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();
|
||||
|
@ -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() {
|
@ -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();
|
@ -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();
|
@ -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();
|
||||
}
|
||||
|
@ -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;
|
@ -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();
|
@ -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);
|
||||
}
|
||||
|
@ -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();
|
@ -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();
|
Loading…
x
Reference in New Issue
Block a user