Interaqqt/src/main/java/ee/lunasqu/interaqqt/events/listeners/RightClickAdder.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);
}
}
}