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.Listener;
|
||||||
import org.bukkit.event.inventory.InventoryOpenEvent;
|
import org.bukkit.event.inventory.InventoryOpenEvent;
|
||||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||||
|
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
|
||||||
@ -77,9 +78,7 @@ public abstract class Input implements Listener, Runnable {
|
|||||||
ActionBar.sendActionBar(this.player, actionBar);
|
ActionBar.sendActionBar(this.player, actionBar);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(
|
@EventHandler(priority = EventPriority.LOWEST)
|
||||||
priority = EventPriority.LOWEST
|
|
||||||
)
|
|
||||||
public void onChat(AsyncPlayerChatEvent e) {
|
public void onChat(AsyncPlayerChatEvent e) {
|
||||||
if (e.getPlayer().equals(this.player)) {
|
if (e.getPlayer().equals(this.player)) {
|
||||||
if (ChatColor.stripColor(e.getMessage()).equals(Settings.TITLE_INPUT_CANCEL_WORD.getString())) {
|
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
|
@EventHandler
|
||||||
public void close(PlayerQuitEvent e) {
|
public void close(PlayerQuitEvent e) {
|
||||||
if (e.getPlayer().equals(this.player)) {
|
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.PlayerUtils;
|
||||||
import ca.tweetzy.core.utils.TextUtils;
|
import ca.tweetzy.core.utils.TextUtils;
|
||||||
import ca.tweetzy.core.utils.nms.NBTEditor;
|
import ca.tweetzy.core.utils.nms.NBTEditor;
|
||||||
|
import ca.tweetzy.flight.comp.Titles;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.NamespacedKey;
|
import org.bukkit.NamespacedKey;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
@ -78,6 +79,9 @@ public class PlayerListeners implements Listener {
|
|||||||
public void onPlayerJoin(PlayerJoinEvent e) {
|
public void onPlayerJoin(PlayerJoinEvent e) {
|
||||||
final Player player = e.getPlayer();
|
final Player player = e.getPlayer();
|
||||||
final AuctionHouse instance = AuctionHouse.getInstance();
|
final AuctionHouse instance = AuctionHouse.getInstance();
|
||||||
|
Titles.sendTitle(player, 1, 1, 1, " ", " ");
|
||||||
|
|
||||||
|
|
||||||
instance.getAuctionPlayerManager().addPlayer(player);
|
instance.getAuctionPlayerManager().addPlayer(player);
|
||||||
|
|
||||||
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(AuctionHouse.getInstance(), () -> {
|
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(AuctionHouse.getInstance(), () -> {
|
||||||
@ -93,9 +97,11 @@ public class PlayerListeners implements Listener {
|
|||||||
final Player player = e.getPlayer();
|
final Player player = e.getPlayer();
|
||||||
final AuctionHouse instance = AuctionHouse.getInstance();
|
final AuctionHouse instance = AuctionHouse.getInstance();
|
||||||
|
|
||||||
if (instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()) != null)
|
if (instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()) != null) if (instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()).getItemBeingListed() != null) {
|
||||||
if (instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()).getItemBeingListed() != null)
|
|
||||||
player.getInventory().addItem(instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()).getItemBeingListed());
|
player.getInventory().addItem(instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()).getItemBeingListed());
|
||||||
|
instance.getAuctionPlayerManager().getPlayer(player.getUniqueId()).setItemBeingListed(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
instance.getAuctionPlayerManager().getSellHolding().remove(player.getUniqueId());
|
instance.getAuctionPlayerManager().getSellHolding().remove(player.getUniqueId());
|
||||||
@ -143,8 +149,7 @@ public class PlayerListeners implements Listener {
|
|||||||
final Player player = e.getPlayer();
|
final Player player = e.getPlayer();
|
||||||
final ItemStack heldItem = PlayerHelper.getHeldItem(player);
|
final ItemStack heldItem = PlayerHelper.getHeldItem(player);
|
||||||
|
|
||||||
if (heldItem == null || (e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK))
|
if (heldItem == null || (e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK)) return;
|
||||||
return;
|
|
||||||
if (heldItem.getType() == XMaterial.AIR.parseMaterial()) return;
|
if (heldItem.getType() == XMaterial.AIR.parseMaterial()) return;
|
||||||
if (!BundleUtil.isBundledItem(heldItem)) return;
|
if (!BundleUtil.isBundledItem(heldItem)) return;
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
|
Loading…
Reference in New Issue
Block a user