mirror of
https://github.com/HibiscusMC/HMCCosmetics.git
synced 2025-12-19 15:09:19 +00:00
Merge pull request #181 from DebitCardz/fix-add-user
add user to pre unload
This commit is contained in:
@@ -1,11 +1,10 @@
|
|||||||
package com.hibiscusmc.hmccosmetics.api.events;
|
package com.hibiscusmc.hmccosmetics.api.events;
|
||||||
|
|
||||||
|
import com.hibiscusmc.hmccosmetics.user.CosmeticUser;
|
||||||
import org.bukkit.event.Cancellable;
|
import org.bukkit.event.Cancellable;
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called before a player's data is un-loaded from the plugin.
|
* Called before a player's data is un-loaded from the plugin.
|
||||||
*
|
*
|
||||||
@@ -14,13 +13,13 @@ import java.util.UUID;
|
|||||||
* and will be kept in memory.
|
* and will be kept in memory.
|
||||||
* </p>
|
* </p>
|
||||||
*/
|
*/
|
||||||
public class PlayerPreUnloadEvent extends PlayerEvent implements Cancellable {
|
public class PlayerPreUnloadEvent extends PlayerCosmeticEvent implements Cancellable {
|
||||||
private static final HandlerList HANDLER_LIST = new HandlerList();
|
private static final HandlerList HANDLER_LIST = new HandlerList();
|
||||||
|
|
||||||
private boolean cancelled = false;
|
private boolean cancelled = false;
|
||||||
|
|
||||||
public PlayerPreUnloadEvent(@NotNull UUID id) {
|
public PlayerPreUnloadEvent(@NotNull CosmeticUser who) {
|
||||||
super(id);
|
super(who);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -72,19 +72,21 @@ public class PlayerConnectionListener implements Listener {
|
|||||||
|
|
||||||
@EventHandler(priority = EventPriority.MONITOR)
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onPlayerQuit(@NotNull PlayerQuitEvent event) {
|
public void onPlayerQuit(@NotNull PlayerQuitEvent event) {
|
||||||
PlayerPreUnloadEvent preUnloadEvent = new PlayerPreUnloadEvent(event.getPlayer().getUniqueId());
|
|
||||||
Bukkit.getPluginManager().callEvent(preUnloadEvent);
|
|
||||||
if (preUnloadEvent.isCancelled()) return;
|
|
||||||
|
|
||||||
CosmeticUser user = CosmeticUsers.getUser(event.getPlayer());
|
CosmeticUser user = CosmeticUsers.getUser(event.getPlayer());
|
||||||
if (user == null) return; // Player never initialized, don't do anything
|
if (user == null) return; // Player never initialized, don't do anything
|
||||||
|
|
||||||
|
PlayerPreUnloadEvent preUnloadEvent = new PlayerPreUnloadEvent(user);
|
||||||
|
Bukkit.getPluginManager().callEvent(preUnloadEvent);
|
||||||
|
if (preUnloadEvent.isCancelled()) return;
|
||||||
|
|
||||||
PlayerUnloadEvent playerUnloadEvent = new PlayerUnloadEvent(user);
|
PlayerUnloadEvent playerUnloadEvent = new PlayerUnloadEvent(user);
|
||||||
Bukkit.getPluginManager().callEvent(playerUnloadEvent);
|
Bukkit.getPluginManager().callEvent(playerUnloadEvent);
|
||||||
|
|
||||||
if (user.isInWardrobe()) {
|
if (user.isInWardrobe()) {
|
||||||
user.leaveWardrobe(true);
|
user.leaveWardrobe(true);
|
||||||
user.getPlayer().setInvisible(false);
|
|
||||||
|
final Player player = user.getPlayer();
|
||||||
|
if(player != null) player.setInvisible(false);
|
||||||
}
|
}
|
||||||
Menus.removeCooldown(event.getPlayer().getUniqueId()); // Removes any menu cooldowns a player might have
|
Menus.removeCooldown(event.getPlayer().getUniqueId()); // Removes any menu cooldowns a player might have
|
||||||
Database.save(user);
|
Database.save(user);
|
||||||
|
|||||||
Reference in New Issue
Block a user