Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.unionmc.uTools.plots;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.UUID;
- import net.unionmc.uTools.Main;
- import org.bukkit.Bukkit;
- 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.Listener;
- import org.bukkit.event.block.BlockBreakEvent;
- import org.bukkit.event.block.BlockPlaceEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.metadata.FixedMetadataValue;
- public class SpawnerControl implements Listener{
- private Main plugin;
- public SpawnerControl(Main plugin) {
- this.plugin = plugin;
- }
- List<String> locList = new ArrayList<String>();
- @EventHandler
- public void onBlockPlace(BlockPlaceEvent e){
- Player p = e.getPlayer();
- UUID u = e.getPlayer().getUniqueId();
- Block b = e.getBlock();
- if(b.getType().equals(Material.MOB_SPAWNER)){
- if(p.getWorld().getName().equals("world")){
- if(plugin.getConfig().contains("players."+u)){
- int newCount = plugin.getConfig().getInt("players."+u) +1;
- if(newCount < 16){
- plugin.getConfig().set("players."+u, newCount);
- String loc = b.getLocation().toString();
- loc = b.getLocation().getWorld().getName()+";"+ b.getLocation().getX() + ";" + b.getLocation().getY() + ";" + b.getLocation().getZ();
- locList.add(loc);
- Bukkit.broadcastMessage(""+loc);
- plugin.getConfig().set("spawners."+u, locList);
- //locList.clear();
- //b.setMetadata("owner", new FixedMetadataValue(plugin,u));
- //Bukkit.broadcastMessage(""+b.getMetadata("owner"));
- }else{
- p.sendMessage("§8[§4§lUnion §c§lMC§8]§4 » §cYou can only place up to 15 spawners in the plot world.");
- e.setCancelled(true);
- newCount--;
- }
- }else{
- plugin.getConfig().set("players." + u, 1);
- //b.setMetadata("owner", new FixedMetadataValue(plugin,u));
- }
- plugin.saveConfig();
- }
- }
- }
- @EventHandler
- public void onBlockBreak(BlockBreakEvent e){
- Player p = e.getPlayer();
- UUID u = e.getPlayer().getUniqueId();
- Block b = e.getBlock();
- if(isBlockOwner(e.getBlock(), e.getPlayer())){
- int newMinusCount = plugin.getConfig().getInt("players"+u)-1;
- Bukkit.broadcastMessage("Hello there");
- p.sendMessage(""+newMinusCount);
- }else{
- p.sendMessage("§8[§4§lUnion §c§lMC§8]§4 » §cThis is not your spawner and you cannot mine it.");
- e.setCancelled(true);
- }
- }
- public boolean isBlockOwner(Block b, Player p){
- Location l = b.getLocation();
- UUID u = p.getUniqueId();
- double x = b.getLocation().getX();
- double y = b.getLocation().getY();
- double z = b.getLocation().getZ();
- int counter = 0;
- for(String loc : plugin.getConfig().getStringList("spawners."+u)){
- String split = loc;
- String[] parts = split.split(";");
- String sW = parts[0];
- String sX = parts[1];
- String sY = parts[2];
- String sZ = parts[3];
- Bukkit.broadcastMessage(""+ sW + "-"+sX+"-"+sY+"-"+sZ);
- if(sW.equals(l.getWorld().getName()) && sX.equals(String.valueOf(b.getX())) && sY.equals(String.valueOf(b.getY())) && sZ.equals(String.valueOf(b.getZ()))){
- Bukkit.broadcastMessage("true");
- return true;
- }
- counter++;
- }
- if(counter >15){
- return false;
- }else{
- return true;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement