package com.github.jamesnorris.ablockalypse.event.bukkit; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; 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.BlockPlaceEvent; import com.github.jamesnorris.ablockalypse.Ablockalypse; import com.github.jamesnorris.ablockalypse.DataContainer; import com.github.jamesnorris.ablockalypse.aspect.Claymore; import com.github.jamesnorris.ablockalypse.aspect.ZAPlayer; public class BlockPlace implements Listener { private static DataContainer data = Ablockalypse.getData(); public static boolean shouldBePlaced(Material type) { for (Material m : data.modifiableMaterials) { if (m == type) { return true; } } return false; } /* Called when a player places a block. * Mainly used to create claymores. */ @EventHandler(priority = EventPriority.HIGHEST) public void BPE(BlockPlaceEvent event) { Player p = event.getPlayer(); Block b = event.getBlockPlaced(); if (data.isZAPlayer(p) && (b.getType() == Material.FLOWER_POT || b.getType() == Material.FLOWER_POT_ITEM)) {// See PlayerInteract.java to allow placement ZAPlayer zap = data.getZAPlayer(p); Location loc = b.getLocation(); new Claymore(loc, zap.getGame(), zap); p.sendMessage(ChatColor.GRAY + "You have placed a claymore."); } } }