diff --git a/src/main/java/me/xginko/villageroptimizer/config/LanguageCache.java b/src/main/java/me/xginko/villageroptimizer/config/LanguageCache.java index 7a117ed..1193727 100644 --- a/src/main/java/me/xginko/villageroptimizer/config/LanguageCache.java +++ b/src/main/java/me/xginko/villageroptimizer/config/LanguageCache.java @@ -24,7 +24,7 @@ public class LanguageCache { this.miniMessage = MiniMessage.miniMessage(); this.no_permission = getTranslation("messages.no-permission", "You don't have permission to use this command."); - this.trades_restocked = getListTranslation("messages.restock-success", List.of("All trades restocked!")); + this.trades_restocked = getListTranslation("messages.trade-restock.success", List.of("All trades restocked!")); this.nametag_optimize_success = getListTranslation("messages.nametag.optimize-success", List.of("Successfully optimized villager by using a nametag.")); this.nametag_on_optimize_cooldown = getListTranslation("messages.nametag.optimize-on-cooldown", List.of("You need to wait %time% until you can optimize this villager again.")); this.nametag_unoptimize_success = getListTranslation("messages.nametag.unoptimize-success", List.of("Successfully unoptimized villager by using a nametag.")); diff --git a/src/main/java/me/xginko/villageroptimizer/modules/LevelVillagers.java b/src/main/java/me/xginko/villageroptimizer/modules/LevelVillagers.java new file mode 100644 index 0000000..db293eb --- /dev/null +++ b/src/main/java/me/xginko/villageroptimizer/modules/LevelVillagers.java @@ -0,0 +1,41 @@ +package me.xginko.villageroptimizer.modules; + +import me.xginko.villageroptimizer.VillagerOptimizer; +import me.xginko.villageroptimizer.cache.VillagerManager; +import org.bukkit.event.EventHandler; +import org.bukkit.event.EventPriority; +import org.bukkit.event.HandlerList; +import org.bukkit.event.Listener; + +public class LevelVillagers implements VillagerOptimizerModule, Listener { + + private final VillagerOptimizer plugin; + private final VillagerManager villagerManager; + + public LevelVillagers() { + this.plugin = VillagerOptimizer.getInstance(); + this.villagerManager = VillagerOptimizer.getVillagerManager(); + + } + + @Override + public void enable() { + VillagerOptimizer plugin = VillagerOptimizer.getInstance(); + plugin.getServer().getPluginManager().registerEvents(this, plugin); + } + + @Override + public void disable() { + HandlerList.unregisterAll(this); + } + + @Override + public boolean shouldEnable() { + return false; + } + + @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) + private void onSomething() { + + } +} diff --git a/src/main/java/me/xginko/villageroptimizer/modules/RestockTrades.java b/src/main/java/me/xginko/villageroptimizer/modules/RestockTrades.java index 23e52ed..4fa775c 100644 --- a/src/main/java/me/xginko/villageroptimizer/modules/RestockTrades.java +++ b/src/main/java/me/xginko/villageroptimizer/modules/RestockTrades.java @@ -53,10 +53,10 @@ public class RestockTrades implements VillagerOptimizerModule, Listener { @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) private void onInteract(PlayerInteractEntityEvent event) { if (!event.getRightClicked().getType().equals(EntityType.VILLAGER)) return; - WrappedVillager wVillager = villagerManager.getOrAdd((Villager) event.getRightClicked()); + if (!wVillager.isOptimized()) return; - if (wVillager.isOptimized() && wVillager.canRestock(restock_delay)) { + if (wVillager.canRestock(restock_delay)) { wVillager.restock(); if (notifyPlayer) { Player player = event.getPlayer(); diff --git a/src/main/resources/lang/en_us.yml b/src/main/resources/lang/en_us.yml index aabc4f5..34827e3 100644 --- a/src/main/resources/lang/en_us.yml +++ b/src/main/resources/lang/en_us.yml @@ -1,7 +1,8 @@ messages: no-permission: "You don't have permission to use this command." - restock-success: - - "All trades restocked! Next restock in %time%" + trade-restock: + success: + - "All trades restocked! Next restock in %time%" nametag: optimize-success: - "Successfully optimized villager by using a nametag." @@ -22,4 +23,11 @@ messages: optimize-on-cooldown: - "You need to wait %time% until you can optimize this villager again." unoptimize-success: - - "Successfully unoptimized villager by removing workstation block %blocktype%." \ No newline at end of file + - "Successfully unoptimized villager by removing workstation block %blocktype%." + command: + optimize-success: + - "Successfully optimized %amount% villager(s) in a radius of %radius% blocks." + command-on-cooldown: + - "You need to wait %time% until you can use this command again." + unoptimize-success: + - "Successfully unoptimized %amount% villager(s) in a radius of %radius% blocks." \ No newline at end of file