source-code/BlockListener.java

package nl.rpsonline.remcodemah.alarmmessage;

import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.block.Sign;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockIgniteEvent;
import org.bukkit.event.block.BlockRedstoneEvent;
import org.bukkit.event.block.SignChangeEvent;

public class BlockListener implements Listener {
	public static AlarmMessage plugin;

	@EventHandler
	public void onSignChange(SignChangeEvent event) {
		String line1 = event.getLine(0);
		String line2 = event.getLine(1);
		String line3 = event.getLine(2);
		String line4 = event.getLine(3);
		String line234 = "An Emergency Has Occured " + line2 + line3 + line4;
		Location location = event.getBlock().getLocation();
		if (!line1.equals("[Alarm]")) {
			return;
		}
		try {
			AlarmMessage.hm.put(location, line234);
			event.setLine(0, "[!Alarm!]");
		} catch (Exception e) {
			event.setLine(0, "");
			event.setLine(1, "");
			event.setLine(2, "");
			event.setLine(3, "");
			AlarmMessage alarmmessage = new AlarmMessage();
                        alarmmessage.logger.warning("Error Adding Alarm Sign Please Make A Ticket");
                        alarmmessage.logger.warning("" + e);
                }
	}
	
	@EventHandler
	public void onSignIgnite(BlockIgniteEvent event){
		if(AlarmMessage.hm.containsKey(event.getBlock().getLocation())){
			event.setCancelled(true);
		}
	}
	
	@EventHandler
	public void onSignRemove(BlockBreakEvent event){
		if(AlarmMessage.hm.containsKey(event.getBlock().getLocation())){
			AlarmMessage.hm.remove(event.getBlock().getLocation());
		}
	}
	
	@EventHandler
	public void onBlockPower(BlockRedstoneEvent event) {

		if (!(event.getBlock().getState() instanceof Sign)) {
			return;
		}

		Location location = event.getBlock().getLocation();
		if(AlarmMessage.hm.containsKey(location)){
		    if (event.getBlock().isBlockPowered() || event.getBlock().isBlockIndirectlyPowered()) {
				List<Player> onlineplayers = Arrays.asList(Bukkit.getServer().getOnlinePlayers());
				Iterator<Player> iterator = onlineplayers.iterator();
				String string = AlarmMessage.hm.get(event.getBlock().getLocation());
		    while (iterator.hasNext()) {
				Player onlineplayer = iterator.next();
				onlineplayer.sendMessage(ChatColor.RED + string);
			}
                     }
		}
	}
}

Comments

Posts Quoted:
Reply
Clear All Quotes