mirror of
https://github.com/kiranhart/Auction-House.git
synced 2025-02-13 18:51:19 +01:00
Fixed issue where leaving the server while entering an input would cause item to dupe on rejoin, also clear titles on join
Took 8 minutes
This commit is contained in:
parent
5e875e7081
commit
ff11baf719
@ -32,6 +32,7 @@ import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryOpenEvent;
|
||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
@ -77,9 +78,7 @@ public abstract class Input implements Listener, Runnable {
|
||||
ActionBar.sendActionBar(this.player, actionBar);
|
||||
}
|
||||
|
||||
@EventHandler(
|
||||
priority = EventPriority.LOWEST
|
||||
)
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onChat(AsyncPlayerChatEvent e) {
|
||||
if (e.getPlayer().equals(this.player)) {
|
||||
if (ChatColor.stripColor(e.getMessage()).equals(Settings.TITLE_INPUT_CANCEL_WORD.getString())) {
|
||||
@ -92,6 +91,13 @@ public abstract class Input implements Listener, Runnable {
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOWEST)
|
||||
public void onCommandExecute(PlayerCommandPreprocessEvent event) {
|
||||
if (event.getPlayer().equals(this.player)) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void close(PlayerQuitEvent e) {
|
||||
if (e.getPlayer().equals(this.player)) {
|
||||
|
@ -30,6 +30,7 @@ import ca.tweetzy.core.compatibility.XMaterial;
|
||||
import ca.tweetzy.core.utils.PlayerUtils;
|
||||
import ca.tweetzy.core.utils.TextUtils;
|
||||
import ca.tweetzy.core.utils.nms.NBTEditor;
|
||||
import ca.tweetzy.flight.comp.Titles;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.block.Block;
|
||||
@ -78,6 +79,9 @@ public class PlayerListeners implements Listener {
|
||||
public void onPlayerJoin(PlayerJoinEvent e) {
|
||||
final Player player = e.getPlayer();
|
||||
final AuctionHouse instance = AuctionHouse.getInstance();
|
||||
Titles.sendTitle(player, 1, 1, 1, " ", " ");
|
||||
|
||||
|
||||
instance.getAuctionPlayerManager().addPlayer(player);
|
||||
|
||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(AuctionHouse.getInstance(), () -> {
|
||||
@ -93,9 +97,11 @@ public class PlayerListeners implements Listener {
|
||||
final Player player = e.getPlayer();
|
||||
final AuctionHouse instance = AuctionHouse.getInstance();
|
||||
|
||||
if (instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()) != null)
|
||||
if (instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()).getItemBeingListed() != null)
|
||||
player.getInventory().addItem(instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()).getItemBeingListed());
|
||||
if (instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()) != null) if (instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()).getItemBeingListed() != null) {
|
||||
|
||||
player.getInventory().addItem(instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()).getItemBeingListed());
|
||||
instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()).setItemBeingListed(null);
|
||||
}
|
||||
|
||||
|
||||
instance.getAuctionPlayerManager().getSellHolding().remove(player.getUniqueId());
|
||||
@ -143,8 +149,7 @@ public class PlayerListeners implements Listener {
|
||||
final Player player = e.getPlayer();
|
||||
final ItemStack heldItem = PlayerHelper.getHeldItem(player);
|
||||
|
||||
if (heldItem == null || (e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK))
|
||||
return;
|
||||
if (heldItem == null || (e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK)) return;
|
||||
if (heldItem.getType() == XMaterial.AIR.parseMaterial()) return;
|
||||
if (!BundleUtil.isBundledItem(heldItem)) return;
|
||||
e.setCancelled(true);
|
||||
|
Loading…
Reference in New Issue
Block a user