package ee.lunasqu.interaqqt.events.listeners; import ee.lunasqu.interaqqt.Main; import ee.lunasqu.interaqqt.triggers.BlockTrigger; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerQuitEvent; import java.util.HashMap; import java.util.UUID; public class RightClickAdder implements Listener { HashMap triggerHashMap = new HashMap(); @EventHandler public void onRightClick(PlayerInteractEvent event) { Player p = event.getPlayer(); UUID id = p.getUniqueId(); if (triggerHashMap.containsKey(id)) { if (p.isSneaking()) { p.sendRawMessage(ChatColor.RED + "Adding of trigger cancelled!"); triggerHashMap.remove(id); return; } BlockTrigger trigger = triggerHashMap.get(id); trigger.setBlock(event.getClickedBlock().getLocation()); p.sendRawMessage(ChatColor.GREEN + "Trigger added to block!"); Main.plugin.getTriggers().addBlock(trigger); triggerHashMap.remove(id); } } @EventHandler public void onPlayerLeave(PlayerQuitEvent event) { if (triggerHashMap.containsKey(event.getPlayer().getUniqueId())) { triggerHashMap.remove(event.getPlayer().getUniqueId()); } } public void addTriggerRequest (UUID playerId, BlockTrigger trigger) { triggerHashMap.put(playerId, trigger); } public void removeTriggerRequest (UUID playerId) { if (triggerHashMap.containsKey(playerId)) { triggerHashMap.remove(playerId); } } }