From 762b0e2a300231a65cc7454f9779935efc07fcbf Mon Sep 17 00:00:00 2001 From: Teriuihi Date: Wed, 22 Dec 2021 21:02:29 +0100 Subject: [PATCH] Added login/out events to add/remove users from the tracked user list --- src/main/java/com/alttd/VillagerUI.java | 4 ++++ .../java/com/alttd/events/LoginEvent.java | 20 +++++++++++++++++++ .../java/com/alttd/events/LogoutEvent.java | 14 +++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 src/main/java/com/alttd/events/LoginEvent.java create mode 100644 src/main/java/com/alttd/events/LogoutEvent.java diff --git a/src/main/java/com/alttd/VillagerUI.java b/src/main/java/com/alttd/VillagerUI.java index 17b1d3e..170ea60 100644 --- a/src/main/java/com/alttd/VillagerUI.java +++ b/src/main/java/com/alttd/VillagerUI.java @@ -6,6 +6,8 @@ import com.alttd.database.Database; import com.alttd.config.Config; import com.alttd.config.VillagerConfig; import com.alttd.config.WorthConfig; +import com.alttd.events.LoginEvent; +import com.alttd.events.LogoutEvent; import com.alttd.events.VillagerInteract; import com.alttd.util.Logger; import net.milkbowl.vault.economy.Economy; @@ -45,6 +47,8 @@ public class VillagerUI extends JavaPlugin { private void registerEvents() { getServer().getPluginManager().registerEvents(new GUIListener(), this); getServer().getPluginManager().registerEvents(new VillagerInteract(), this); + getServer().getPluginManager().registerEvents(new LogoutEvent(), this); + getServer().getPluginManager().registerEvents(new LoginEvent(), this); } public Economy getEconomy() { diff --git a/src/main/java/com/alttd/events/LoginEvent.java b/src/main/java/com/alttd/events/LoginEvent.java new file mode 100644 index 0000000..948f804 --- /dev/null +++ b/src/main/java/com/alttd/events/LoginEvent.java @@ -0,0 +1,20 @@ +package com.alttd.events; + +import com.alttd.database.Queries; +import com.alttd.objects.EconUser; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerJoinEvent; + +import java.util.UUID; + +public class LoginEvent implements Listener { + @EventHandler + public void onPlayerJoin(PlayerJoinEvent event) { + UUID uuid = event.getPlayer().getUniqueId(); + EconUser user = EconUser.getUser(uuid); + int minutes = Queries.getMinutesSinceUpdated(uuid); + + user.removePoints(minutes * 2); + } +} diff --git a/src/main/java/com/alttd/events/LogoutEvent.java b/src/main/java/com/alttd/events/LogoutEvent.java new file mode 100644 index 0000000..3ac88a5 --- /dev/null +++ b/src/main/java/com/alttd/events/LogoutEvent.java @@ -0,0 +1,14 @@ +package com.alttd.events; + +import com.alttd.objects.EconUser; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerQuitEvent; + +public class LogoutEvent implements Listener { + @EventHandler + public void onPlayerQuit(PlayerQuitEvent event) { + EconUser.getUser(event.getPlayer().getUniqueId()).syncPoints(); + EconUser.removeUser(event.getPlayer().getUniqueId()); + } +}