mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Fix for players getting stuck in elevator books/teleporter guis
This commit is contained in:
parent
19f4666235
commit
f595cb06a8
@ -24,5 +24,6 @@ public class Variables {
|
|||||||
public static List<UUID> cancelPlace = new ArrayList<UUID>();
|
public static List<UUID> cancelPlace = new ArrayList<UUID>();
|
||||||
public static Map<UUID, ItemStack> arrows = new HashMap<UUID, ItemStack>();
|
public static Map<UUID, ItemStack> arrows = new HashMap<UUID, ItemStack>();
|
||||||
public static List<UUID> usingGuide = new ArrayList<UUID>();
|
public static List<UUID> usingGuide = new ArrayList<UUID>();
|
||||||
|
public static Map<UUID, String> dialogueCooldown = new HashMap<UUID, String>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package me.mrCookieSlime.Slimefun.listeners;
|
package me.mrCookieSlime.Slimefun.listeners;
|
||||||
|
|
||||||
import me.mrCookieSlime.Slimefun.SlimefunStartup;
|
import me.mrCookieSlime.Slimefun.SlimefunStartup;
|
||||||
|
import me.mrCookieSlime.Slimefun.Variables;
|
||||||
import me.mrCookieSlime.Slimefun.GPS.Elevator;
|
import me.mrCookieSlime.Slimefun.GPS.Elevator;
|
||||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.Teleporter;
|
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.Teleporter;
|
||||||
@ -12,6 +13,7 @@ import org.bukkit.event.EventPriority;
|
|||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.block.Action;
|
import org.bukkit.event.block.Action;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
|
|
||||||
public class TeleporterListener implements Listener {
|
public class TeleporterListener implements Listener {
|
||||||
|
|
||||||
@ -38,6 +40,8 @@ public class TeleporterListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
if(Variables.dialogueCooldown.containsKey(e.getPlayer().getUniqueId())) return;
|
||||||
|
else Variables.dialogueCooldown.put(e.getPlayer().getUniqueId(), e.getClickedBlock().getLocation().toString());
|
||||||
((Teleporter) teleporter).onInteract(e.getPlayer(), e.getClickedBlock().getRelative(BlockFace.DOWN));
|
((Teleporter) teleporter).onInteract(e.getPlayer(), e.getClickedBlock().getRelative(BlockFace.DOWN));
|
||||||
} catch (Exception x) {
|
} catch (Exception x) {
|
||||||
x.printStackTrace();
|
x.printStackTrace();
|
||||||
@ -54,6 +58,8 @@ public class TeleporterListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
if(Variables.dialogueCooldown.containsKey(e.getPlayer().getUniqueId())) return;
|
||||||
|
else Variables.dialogueCooldown.put(e.getPlayer().getUniqueId(), e.getClickedBlock().getLocation().toString());
|
||||||
((Teleporter) teleporter).onInteract(e.getPlayer(), e.getClickedBlock().getRelative(BlockFace.DOWN));
|
((Teleporter) teleporter).onInteract(e.getPlayer(), e.getClickedBlock().getRelative(BlockFace.DOWN));
|
||||||
} catch (Exception x) {
|
} catch (Exception x) {
|
||||||
x.printStackTrace();
|
x.printStackTrace();
|
||||||
@ -63,8 +69,18 @@ public class TeleporterListener implements Listener {
|
|||||||
else e.setCancelled(true);
|
else e.setCancelled(true);
|
||||||
}
|
}
|
||||||
else if (item.getID().equals("ELEVATOR_PLATE")) {
|
else if (item.getID().equals("ELEVATOR_PLATE")) {
|
||||||
|
if(Variables.dialogueCooldown.containsKey(e.getPlayer().getUniqueId())) return;
|
||||||
|
else Variables.dialogueCooldown.put(e.getPlayer().getUniqueId(), e.getClickedBlock().getLocation().toString());
|
||||||
Elevator.openDialogue(e.getPlayer(), e.getClickedBlock());
|
Elevator.openDialogue(e.getPlayer(), e.getClickedBlock());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerMove(PlayerMoveEvent e) {
|
||||||
|
if(Variables.dialogueCooldown.containsKey(e.getPlayer().getUniqueId())) {
|
||||||
|
if(!e.getPlayer().getLocation().toString().equals(Variables.dialogueCooldown.get(e.getPlayer().getUniqueId()))) {
|
||||||
|
Variables.dialogueCooldown.remove(e.getPlayer().getUniqueId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user