package com.github.jamesnorris.ablockalypse.event.bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.block.SignChangeEvent; import com.github.jamesnorris.ablockalypse.Ablockalypse; import com.github.jamesnorris.ablockalypse.DataContainer; import com.github.jamesnorris.ablockalypse.PermissionManager; import com.github.jamesnorris.ablockalypse.enumerated.Local; import com.github.jamesnorris.ablockalypse.enumerated.ZAEffect; public class SignChange implements Listener { private DataContainer data = Ablockalypse.getData(); /* Called when a player places a block. * Used mainly for avoiding unwanted players from placing ZASigns. * Also used to add map data storage signs to the arraylist in GlobalData to be loaded on disable. */ @EventHandler(priority = EventPriority.HIGHEST) public void SCE(SignChangeEvent event) { Player player = event.getPlayer(); // Sign sign = (Sign) event.getBlock().getState(); String[] lines = event.getLines(); if (lines[0].equalsIgnoreCase(Local.BASE_STRING.getSetting())) { if (data.isZAPlayer(player) || !player.hasPermission(PermissionManager.PLACE_SIGNS)) { event.setCancelled(true); ZAEffect.FLAMES.play(player.getLocation()); player.sendMessage(ChatColor.RED + "You do not have permissions to place ZA signs!"); return; } else if (player.hasPermission(PermissionManager.PLACE_SIGNS)) { player.sendMessage(ChatColor.GRAY + "You have created a ZA sign."); return; } } } }