From 56dd26200382b01ced5e6769ec259e45c50be2ca Mon Sep 17 00:00:00 2001 From: minecrafter197 Date: Wed, 14 Aug 2024 13:15:22 +0300 Subject: [PATCH] fix towny events --- .../townyadvanced/TownyListener.java | 34 ++++++------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/src/main/java/xyz/geik/farmer/integrations/townyadvanced/TownyListener.java b/src/main/java/xyz/geik/farmer/integrations/townyadvanced/TownyListener.java index 56b0f848..6e1a50c0 100644 --- a/src/main/java/xyz/geik/farmer/integrations/townyadvanced/TownyListener.java +++ b/src/main/java/xyz/geik/farmer/integrations/townyadvanced/TownyListener.java @@ -2,6 +2,8 @@ import com.palmergames.bukkit.towny.event.DeleteTownEvent; import com.palmergames.bukkit.towny.event.NewTownEvent; +import com.palmergames.bukkit.towny.event.TownAddResidentEvent; +import com.palmergames.bukkit.towny.event.TownRemoveResidentEvent; import com.palmergames.bukkit.towny.event.player.PlayerEntersIntoTownBorderEvent; import com.palmergames.bukkit.towny.event.town.TownKickEvent; import com.palmergames.bukkit.towny.event.town.TownLeaveEvent; @@ -71,45 +73,31 @@ public void transferTown(@NotNull TownMayorChangeEvent e) { * @param e of event */ @EventHandler - public void townJoinEvent(@NotNull PlayerEntersIntoTownBorderEvent e) { - String townID = e.getEnteredTown().getUUID().toString(); + public void townResidentAddEvent(@NotNull TownAddResidentEvent e) { + String townID = e.getTown().getUUID().toString(); if (!FarmerManager.getFarmers().containsKey(townID)) return; - UUID member = e.getPlayer().getUniqueId(); + UUID member = e.getResident().getPlayer().getUniqueId(); Farmer farmer = FarmerManager.getFarmers().get(townID); if (farmer.getUsers().stream().noneMatch(user -> user.getUuid().equals(member))) farmer.addUser(member, Bukkit.getOfflinePlayer(member).getName(), FarmerPerm.COOP); } - /** - * Removes user from farmer if added when leave - * @param e of event - */ - @EventHandler - public void townLeaveEvent(@NotNull TownLeaveEvent e) { - kickAndLeaveEvent(e.getTown().getUUID().toString(), e.getResident().getUUID()); - } /** - * Removes user from farmer if added when kick + * Removes user from farmer * @param e of event */ @EventHandler - public void townKickEvent(@NotNull TownKickEvent e) { - kickAndLeaveEvent(e.getTown().getUUID().toString(), e.getKickedResident().getUUID()); - } - - /** - * Remove function of kick and leave event - * - * @param townID id of town - * @param member member of town - */ - private void kickAndLeaveEvent(String townID, UUID member) { + public void townResidentRemoveEvent(@NotNull TownRemoveResidentEvent e) { + String townID = e.getTown().getUUID().toString(); if (!FarmerManager.getFarmers().containsKey(townID)) return; + UUID member = e.getResident().getUUID(); Farmer farmer = FarmerManager.getFarmers().get(townID); if (farmer.getUsers().stream().anyMatch(user -> user.getUuid().equals(member))) farmer.removeUser(farmer.getUsers().stream().filter(user -> user.getUuid().equals(member)).findFirst().get()); + } + }