54 lines
1.8 KiB
Java
54 lines
1.8 KiB
Java
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<UUID, BlockTrigger> triggerHashMap = new HashMap<UUID, BlockTrigger>();
|
|
|
|
@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);
|
|
}
|
|
}
|
|
}
|