Guest BrCraft Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 (editado) Bom Eu Qr Saber Cm Faço O Comando /terreno comprar bm Eu Tendei De Duas Maneiras Assim: if (cmd.getName().equalsIgnoreCase("Terreno_Comprar")) e assim; if (cmd.getName().equalsIgnoreCase("Terreno Comprar")) Maiz nenhum Deu Certo '-' Bm Esse E O Codigo Inteiro package Terrenos; import com.sk89q.worldedit.BlockVector; import com.sk89q.worldedit.bukkit.WorldEditPlugin; import com.sk89q.worldguard.LocalPlayer; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; import com.sk89q.worldguard.domains.DefaultDomain; import com.sk89q.worldguard.protection.ApplicableRegionSet; import com.sk89q.worldguard.protection.GlobalRegionManager; import com.sk89q.worldguard.protection.databases.ProtectionDatabaseException; import com.sk89q.worldguard.protection.flags.DefaultFlag; import com.sk89q.worldguard.protection.flags.InvalidFlagFormat; import com.sk89q.worldguard.protection.flags.StateFlag; import com.sk89q.worldguard.protection.flags.StringFlag; import com.sk89q.worldguard.protection.managers.RegionManager; import com.sk89q.worldguard.protection.regions.ProtectedCuboidRegion; import com.sk89q.worldguard.protection.regions.ProtectedRegion; import java.io.File; import java.io.PrintStream; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.logging.Logger; import net.milkbowl.vault.chat.Chat; import net.milkbowl.vault.economy.Economy; import net.milkbowl.vault.permission.Permission; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.Server; import org.bukkit.World; import org.bukkit.block.Block; import org.bukkit.block.BlockState; import org.bukkit.block.Sign; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.SignChangeEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.ServicesManager; import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin { public static Economy econ = null; public static Permission perms = null; public static Chat chat = null; public File configFile; public FileConfiguration config; public void onEnable() { this.configFile = new File(getDataFolder(), "config.yml"); try { carregarConfig(); } catch (Exception e) { System.out.println("[HkTerrrenos] Config.yml ou Players.yml carregado com sucesso!"); } this.config = new YamlConfiguration(); getLogger().info(ChatColor.DARK_GREEN + "HkrTerrenos Por HardcoreKiller Ativo."); if (!setupEconomy()) { System.out.println("[HkTerrenos] Plugin Vault nao encontrado!"); getServer().getPluginManager().disablePlugin(this); return; } setupPermissions(); getServer().getPluginManager().registerEvents(new InteractListener(), this); getServer().getPluginManager().registerEvents(new SignListener(), this); getServer().getPluginManager().registerEvents(new BlockListener(), this); if (getConfig().getBoolean("AntHome")) { getServer().getPluginManager().registerEvents(new CommandListener(), this); } } public void onDisable() { getLogger().info(ChatColor.DARK_RED + "HkTerrenos Desativado!"); } private void carregarConfig() throws Exception { if (!this.configFile.exists()) { saveDefaultConfig(); this.configFile.getParentFile().mkdirs(); System.out.println(" Config.yml criado com sucesso!"); } } private boolean setupEconomy() { RegisteredServiceProvider economyProvider = getServer().getServicesManager().getRegistration(Economy.class); if (economyProvider != null) { econ = (Economy)economyProvider.getProvider(); } return econ != null; } private boolean setupPermissions() { RegisteredServiceProvider permissionProvider = getServer().getServicesManager().getRegistration(Permission.class); if (permissionProvider != null) { perms = (Permission)permissionProvider.getProvider(); } return perms != null; } public WorldGuardPlugin getWorldGuard() { Plugin plugin = getServer().getPluginManager().getPlugin("WorldGuard"); if ((plugin == null) || (!(plugin instanceof WorldGuardPlugin))) { return null; } return (WorldGuardPlugin)plugin; } public WorldEditPlugin getWorldEdit() { Plugin plugin = getServer().getPluginManager().getPlugin("WorldEdit"); if ((plugin == null) || (!(plugin instanceof WorldEditPlugin))) { return null; } return (WorldEditPlugin)plugin; } public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (!(sender instanceof Player)) { sender.sendMessage("Este comando so pode ser usado por um player."); return true; } Player player = (Player)sender; if (!player.hasPermission("hkterrenos.use")) { player.sendMessage(ChatColor.DARK_RED + "Voce nao pode usar a proteçao neste mundo!"); return true; } if (cmd.getName().equalsIgnoreCase("Terreno_Comprar")) { if ((!player.isOp()) && (getTamanho(player.getName(), player.getWorld().getName()) >= getConfig().getInt("MaxDeAreas"))) { boolean tem = false; for (int i = 1; i < 50; i++) { if (player.hasPermission("hkterrenos." + i)) { if (getTamanho(player.getName(), player.getWorld().getName()) >= i) { player.sendMessage(ChatColor.DARK_RED + "Voce so pode ter no maximo " + i + " terrenos"); return true; } tem = true; break; } } if (!tem) { player.sendMessage(ChatColor.DARK_RED + "Voce so pode ter no maximo " + getConfig().getInt("MaxDeAreas") + " terrenos"); return true; } } if (args.length != 2) { player.sendMessage(ChatColor.DARK_RED + "Use /terreno comprar [tamanho] [area]"); return true; } try { x = Integer.parseInt(args[0]); } catch (NumberFormatException e) { int x; player.sendMessage(ChatColor.DARK_RED + "Use /terreno comprar [tamanho] [area]"); return true; } int x; if ((x < 10) || (x > getConfig().getInt("TamanhoMax"))) { player.sendMessage(ChatColor.DARK_RED + "O tamanho tem de ser no minimo 10 e no maximo " + getConfig().getInt("TamanhoMax")); return true; } if (args[1].length() > 8) { player.sendMessage(ChatColor.DARK_RED + "A area deve ter no maximo 8 digitos"); return true; } comprar(player, Integer.parseInt(args[0]), Integer.parseInt(args[0]), args[1]); return true; } if (cmd.getName().equalsIgnoreCase("terreno_pvparea")) { RegionManager mgr = getWorldGuard().getRegionManager(player.getWorld()); if (args.length != 2) { player.sendMessage(ChatColor.DARK_RED + "Use /terreno pvparea [Area] [ON|OFF]"); return true; } if (mgr.getRegion(player.getName() + "_" + args[0]) == null) { player.sendMessage(ChatColor.DARK_RED + "A area " + args[0] + " nao foi encontrada"); return true; } if (econ.getBalance(player.getName()) < getConfig().getDouble("PrecoDoPVP")) { player.sendMessage(ChatColor.DARK_RED + "Voce precisa de " + getConfig().getString("NomeDaMoeda") + getConfig().getDouble("PrecoDoPVP") + " para desativar ou ativar o PvP."); return true; } ProtectedRegion region = mgr.getRegion(player.getName() + "_" + args[0]); if (args[1].equalsIgnoreCase("on")) { try { region.setFlag(DefaultFlag.PVP, DefaultFlag.PVP.parseInput(getWorldGuard(), sender, "allow")); player.sendMessage(ChatColor.YELLOW + ChatColor.AQUA + "PvP ativado na area " + args[0] + ". " + ChatColor.AQUA + "[" + getConfig().getString("NomeDaMoeda") + getConfig().getDouble("PrecoDoPVP") + "]"); econ.withdrawPlayer(player.getName(), getConfig().getDouble("PrecoDoPVP")); } catch (InvalidFlagFormat e) { player.sendMessage(ChatColor.DARK_RED + "Erro ao tentar ativar o PvP da area"); } } else if (args[1].equalsIgnoreCase("off")) { try { region.setFlag(DefaultFlag.PVP, DefaultFlag.PVP.parseInput(getWorldGuard(), sender, "deny")); player.sendMessage(ChatColor.YELLOW + ChatColor.AQUA + "PvP desativado na area " + args[0] + ". " + ChatColor.AQUA + "[" + getConfig().getString("NomeDaMoeda") + getConfig().getDouble("PrecoDoPVP") + "]"); econ.withdrawPlayer(player.getName(), getConfig().getDouble("PrecoDoPVP")); } catch (InvalidFlagFormat e) { player.sendMessage(ChatColor.DARK_RED + "Erro ao tentar desativar o PvP da area"); } } else { player.sendMessage(ChatColor.DARK_RED + "Use /terreno pvparea [Area] [ON|OFF] "); return true; } try { mgr.save(); } catch (ProtectionDatabaseException e) { player.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } return true; } if (cmd.getName().equalsIgnoreCase("terreno_areamsg")) { RegionManager mgr = getWorldGuard().getRegionManager(player.getWorld()); if (args.length < 1) { player.sendMessage(ChatColor.DARK_RED + "Use /terreno areamsg [area] [menssagem]"); return true; } if (mgr.getRegion(player.getName() + "_" + args[0]) == null) { player.sendMessage(ChatColor.DARK_RED + "A area " + args[0] + " nao foi encontrada"); return true; } StringBuilder message = new StringBuilder(); message.append(args[1]); for (int i = 2; i < args.length; i++) { message.append(" "); message.append(args[i]); } ProtectedRegion region = mgr.getRegion(player.getName() + "_" + args[0]); try { region.setFlag(DefaultFlag.GREET_MESSAGE, DefaultFlag.GREET_MESSAGE.parseInput(getWorldGuard(), player, ChatColor.AQUA + message)); } catch (InvalidFlagFormat e1) { player.sendMessage(ChatColor.DARK_RED + "Erro ao tentar editar flags da area."); } try { mgr.save(); } catch (ProtectionDatabaseException e) { player.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } return true; } if (cmd.getName().equalsIgnoreCase("terreno_delete")) { RegionManager mgr = getWorldGuard().getRegionManager(player.getWorld()); if (args.length != 1) { player.sendMessage(ChatColor.DARK_RED + "Use /terreno delete [Area]"); return true; } if (args[0].length() > 8) { player.sendMessage(ChatColor.DARK_RED + "A area deve ter no maximo 8 digitos"); return true; } if (mgr.getRegion(player.getName() + "_" + args[0]) == null) { player.sendMessage(ChatColor.DARK_RED + "A area " + args[0] + " nao foi encontrada"); return true; } ProtectedRegion pr = mgr.getRegion(player.getName().toLowerCase() + "_" + args[0]); DelParede(player, pr.getMinimumPoint().getBlockX(), pr.getMaximumPoint().getBlockX(), pr.getMinimumPoint().getBlockZ(), pr.getMaximumPoint().getBlockZ()); player.sendMessage(ChatColor.AQUA + "area " + ChatColor.YELLOW + args[0] + ChatColor.AQUA + " removida com sucesso!"); mgr.removeRegion(player.getName().toLowerCase() + "_" + args[0]); try { mgr.save(); } catch (ProtectionDatabaseException e) { player.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } return true; } if (cmd.getName().equalsIgnoreCase("terreno_expandir")) { RegionManager mgr = getWorldGuard().getRegionManager(player.getWorld()); if (args.length != 2) { player.sendMessage(ChatColor.DARK_RED + "Use /terreno expandir [area] [tamanho]"); return true; } if (args[0].length() > 8) { player.sendMessage(ChatColor.DARK_RED + "A area deve ter no maximo 8 digitos"); return true; } if (mgr.getRegion(player.getName() + "_" + args[0]) == null) { player.sendMessage(ChatColor.DARK_RED + "A area " + args[0] + " nao foi encontrada"); return true; } try { Integer.parseInt(args[1]); } catch (NumberFormatException e) { player.sendMessage(ChatColor.DARK_RED + "Tamanho ínvalido, use apenas números inteiros."); return true; } if (econ.getBalance(player.getName()) < Integer.parseInt(args[1]) * getConfig().getDouble("PrecoDaExpancao")) { player.sendMessage(ChatColor.DARK_RED + "Voce nao tem dinheiro o suficiente para este terreno. [" + getConfig().getString("NomeDaMoeda") + Double.parseDouble(args[1]) * getConfig().getDouble("PrecoDaExpancao") + "]"); return true; } ProtectedRegion pr = mgr.getRegion(player.getName().toLowerCase() + "_" + args[0]); int xmin = pr.getMinimumPoint().getBlockX(); int zmin = pr.getMinimumPoint().getBlockZ(); int xmax = pr.getMaximumPoint().getBlockX(); int zmax = pr.getMaximumPoint().getBlockZ(); mgr.removeRegion(player.getName().toLowerCase() + "_" + args[0]); try { mgr.save(); } catch (ProtectionDatabaseException e) { player.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } Expandir(player, xmin, xmax, zmin, zmax, args[0], args[1]); return true; } if (cmd.getName().equalsIgnoreCase("terreno_vender")) { RegionManager mgr = getWorldGuard().getRegionManager(player.getWorld()); if (args.length != 1) { player.sendMessage(ChatColor.DARK_RED + "Use /terreno vender [Preco]"); return true; } try { Double.parseDouble(args[0]); } catch (Exception e) { player.sendMessage(ChatColor.DARK_RED + "Use /terreno vender [Preco]"); return true; } ApplicableRegionSet set = mgr.getApplicableRegions(player.getLocation()); if (set.size() == 0) { player.sendMessage(ChatColor.DARK_RED + "Nao existe uma area neste local!"); return true; } set.toString().toLowerCase(); String id = ((ProtectedRegion)set.iterator().next()).getId(); if (!id.startsWith(player.getName().toLowerCase())) { player.sendMessage(ChatColor.DARK_RED + "Essa area nao e sua!"); return true; } if (TaVenda(player, id)) { player.sendMessage(ChatColor.DARK_RED + "Essa area ja esta a venda, quebre a placa primeiro."); return true; } player.sendMessage(ChatColor.YELLOW + ChatColor.AQUA + "area colocada a venda com sucesso!"); Block b = player.getLocation().getBlock(); b.setType(Material.SIGN_POST); Sign s = (Sign)player.getLocation().getBlock().getState(); s.setLine(0, "[" + getConfig().getString("NomeDoServer") + "]"); s.setLine(1, "Terreno a venda"); s.setLine(2, player.getName()); s.setLine(3, Double.parseDouble(args[0])); s.update(); try { mgr.save(); } catch (ProtectionDatabaseException e) { player.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } return true; } if (cmd.getName().equalsIgnoreCase("Terrenos")) { if (args.length != 1) { player.sendMessage(ChatColor.GREEN + "****************************" + ChatColor.DARK_RED + "HkTerrenos" + ChatColor.GREEN + "*********************"); player.sendMessage(ChatColor.YELLOW + "/terreno comprar " + ChatColor.AQUA + "- Compra um terreno"); player.sendMessage(ChatColor.YELLOW + "/terreno vender " + ChatColor.AQUA + "- Coloque seu terreno a venda"); player.sendMessage(ChatColor.YELLOW + "/terreno delete " + ChatColor.AQUA + "- Delete a area"); player.sendMessage(ChatColor.YELLOW + "/terreno addamigo " + ChatColor.AQUA + "- Adiciona um membro ao terreno"); player.sendMessage(ChatColor.YELLOW + "/terreno delamigo " + ChatColor.AQUA + "- Remove um membro do terreno"); player.sendMessage(ChatColor.YELLOW + "/terreno pvparea " + ChatColor.AQUA + "- Adiociona ou remove PvP do seu Terreno"); player.sendMessage(ChatColor.YELLOW + "/terreno areamsg " + ChatColor.AQUA + "- Adiciona Menssagem de boas vindas para sua area"); player.sendMessage(ChatColor.YELLOW + "/terreno areas " + ChatColor.AQUA + "- veja todas as suas areas"); player.sendMessage(ChatColor.YELLOW + "/terreno infoarea " + ChatColor.AQUA + "- veja as informações da area abaixo"); player.sendMessage(ChatColor.YELLOW + "/terreno expandir " + ChatColor.AQUA + "- expanda sua area "); player.sendMessage(ChatColor.GREEN + "****************************************************************"); return true; } if (args[0].equalsIgnoreCase("cDARK_REDitos")) { player.sendMessage(ChatColor.GREEN + "================================="); player.sendMessage(ChatColor.GREEN + "=" + ChatColor.YELLOW + " Programador e criador: HardCoreKiller " + ChatColor.GREEN + "="); player.sendMessage(ChatColor.GREEN + "================================="); return true; } player.sendMessage(ChatColor.GREEN + "****************************" + ChatColor.DARK_RED + "SpotProtection" + ChatColor.GREEN + "*********************"); player.sendMessage(ChatColor.YELLOW + "/terreno comprar " + ChatColor.AQUA + "- Compra um terreno"); player.sendMessage(ChatColor.YELLOW + "/terreno vender " + ChatColor.AQUA + "- Coloque seu terreno a venda"); player.sendMessage(ChatColor.YELLOW + "/terreno delarea " + ChatColor.AQUA + "- Delete a area"); player.sendMessage(ChatColor.YELLOW + "/terreno addamigo " + ChatColor.AQUA + "- Adiciona um membro ao terreno"); player.sendMessage(ChatColor.YELLOW + "/terreno delete " + ChatColor.AQUA + "- Remove um membro do terreno"); player.sendMessage(ChatColor.YELLOW + "/terreno pvparea " + ChatColor.AQUA + "- Adiociona ou remove PvP do seu Terreno"); player.sendMessage(ChatColor.YELLOW + "/terreno areamsg " + ChatColor.AQUA + "- Adiciona Menssagem de boas vindas para sua area"); player.sendMessage(ChatColor.YELLOW + "/terreno infoarea " + ChatColor.AQUA + "- veja as informações da area abaixo"); player.sendMessage(ChatColor.YELLOW + "/terreno expandir " + ChatColor.AQUA + "- expanda sua area "); player.sendMessage(ChatColor.GREEN + "****************************************************************"); return true; } if (cmd.getName().equalsIgnoreCase("terreno_delamigo")) { if (args.length != 2) { player.sendMessage(ChatColor.DARK_RED + "Use /terreno delamigo [player] [area]"); return true; } RegionManager mgr = getWorldGuard().getRegionManager(player.getWorld()); if (mgr.getRegion(player.getName() + "_" + args[1]) == null) { player.sendMessage(ChatColor.DARK_RED + "A area " + args[1] + " nao foi encontrada"); return true; } delAmigo(player, args[0], player.getName() + "_" + args[1]); return true; } if (cmd.getName().equalsIgnoreCase("terreno_addamigo")) { if (args.length != 2) { player.sendMessage(ChatColor.DARK_RED + "Use /terreno addamigo [player] [area]"); return true; } Player gPlayer = Bukkit.getServer().getPlayer(args[0]); if (gPlayer == null) { sender.sendMessage(ChatColor.DARK_RED + "O player " + args[0] + " nao esta online"); return true; } RegionManager mgr = getWorldGuard().getRegionManager(player.getWorld()); if (mgr.getRegion(player.getName() + "_" + args[1]) == null) { player.sendMessage(ChatColor.DARK_RED + "A area " + args[1] + " nao foi encontrada"); return true; } addAmigo(player, gPlayer.getName(), player.getName() + "_" + args[1]); return true; } if (cmd.getName().equalsIgnoreCase("terreno_infoarea")) { RegionManager rm = getWorldGuard().getRegionManager(player.getWorld()); ApplicableRegionSet set = rm.getApplicableRegions(player.getLocation()); if (set.size() == 0) { player.sendMessage(ChatColor.DARK_RED + "Nao existe uma area neste local!"); return true; } set.toString().toLowerCase(); String id = ((ProtectedRegion)set.iterator().next()).getId(); if ((player.getName().equalsIgnoreCase(rm.getRegion(id).getOwners().toUserFriendlyString())) || (player.isOp())) { if (!player.isOp()) { player.sendMessage(ChatColor.AQUA + "Esta area pertence a voce"); } if (rm.getRegion(id).getMembers().size() != 0) { player.sendMessage(ChatColor.AQUA + "area: " + ChatColor.DARK_RED + id.split("_")[(id.split("_").length - 1)]); player.sendMessage(ChatColor.AQUA + "Membros: " + ChatColor.YELLOW + rm.getRegion(id).getMembers().toUserFriendlyString()); } else { player.sendMessage(ChatColor.AQUA + "area: " + ChatColor.DARK_RED + id.split("_")[(id.split("_").length - 1)]); player.sendMessage(ChatColor.AQUA + "Membros: " + ChatColor.DARK_RED + "(Nenhum)"); } return true; } player.sendMessage(ChatColor.AQUA + "Essa area pertence ao player " + ChatColor.DARK_RED + rm.getRegion(id).getOwners().toUserFriendlyString()); return true; } if (cmd.getName().equalsIgnoreCase("terreno_areas")) { RegionManager mgr = getWorldGuard().getGlobalRegionManager().get(player.getWorld()); Map regions = mgr.getRegions(); StringBuilder string = new StringBuilder(); int parea = 0; for (String id : regions.keySet()) { if (!id.startsWith(player.getName().toLowerCase())) continue; String areas = id; string.append(areas.split("_")[(areas.split("_").length - 1)]); string.append(" "); parea++; } if (parea != 0) { player.sendMessage(ChatColor.AQUA + "Suas areas compradas: " + ChatColor.YELLOW + string); } else { player.sendMessage(ChatColor.AQUA + "Suas areas compradas: " + ChatColor.DARK_RED + "(Nenhuma)"); } return true; } return false; } public void addAmigo(Player ply, String p, String id) { RegionManager mgr = getWorldGuard().getRegionManager(ply.getWorld()); ProtectedRegion region = mgr.getRegion(id); region.getMembers().addPlayer(p); ply.sendMessage(ChatColor.YELLOW + ChatColor.AQUA + "Voce adicionou o player " + p + " ao terreno"); try { mgr.save(); } catch (ProtectionDatabaseException e) { ply.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } } private int getTamanho(String area, String mundo) { RegionManager mgr = getWorldGuard().getGlobalRegionManager().get(getServer().getWorld(mundo)); Map regions = mgr.getRegions(); List tamanho = new ArrayList(); for (String id : regions.keySet()) { if (!id.startsWith(area.toLowerCase())) continue; tamanho.add(id); } return tamanho.size(); } private boolean ExisteArea(String area, String mundo) { RegionManager mgr = getWorldGuard().getGlobalRegionManager().get(getServer().getWorld(mundo)); Map regions = mgr.getRegions(); for (String id : regions.keySet(args(0))) { if (id.equalsIgnoreCase(area.toLowerCase())) { return true; } } return false; } private Object args(int i) { // TODO Auto-generated method stub return null; } public void delAmigo(Player ply, String p, String id) { RegionManager mgr = getWorldGuard().getRegionManager(ply.getWorld()); ProtectedRegion region = mgr.getRegion(id); region.getMembers().removePlayer(p); ply.sendMessage(ChatColor.YELLOW + ChatColor.AQUA + "Voce removeu o player " + p + " do terreno"); try { mgr.save(); } catch (ProtectionDatabaseException e) { ply.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } } public void Parede(Player p, int tamanho) { Location loc = p.getLocation(); World w = loc.getWorld(); if (getConfig().getBoolean("RemoverArvores")) { for (int y = 20; y < 90; y++) { for (int x = loc.getBlockX() - tamanho / 2; x < loc.getBlockX() - tamanho / 2 + tamanho; x++) { for (int z = loc.getBlockZ() - tamanho / 2; z < loc.getBlockZ() - tamanho / 2 + tamanho; z++) { Block bb = new Location(p.getWorld(), x, y, z).getBlock(); if ((bb.getType() == Material.LEAVES) || (bb.getType() == Material.LOG)) { bb.setType(Material.AIR); } } } } } if (!getConfig().getBoolean("Alinhar")) { for (int x = loc.getBlockX() - tamanho / 2; x < loc.getBlockX() - tamanho / 2 + tamanho; x++) { Block xb = w.getHighestBlockAt(x, loc.getBlockZ() - tamanho / 2); xb.setTypeId(getConfig().getInt("BlockId")); } for (int x2 = loc.getBlockX() - tamanho / 2; x2 <= loc.getBlockX() - tamanho / 2 + tamanho; x2++) { Block xb = w.getHighestBlockAt(x2, loc.getBlockZ() - tamanho / 2 + tamanho); xb.setTypeId(getConfig().getInt("BlockId")); } for (int z = loc.getBlockZ() - tamanho / 2; z < loc.getBlockZ() - tamanho / 2 + tamanho; z++) { Block zb = w.getHighestBlockAt(loc.getBlockX() - tamanho / 2, z); zb.setTypeId(getConfig().getInt("BlockId")); } for (int z2 = loc.getBlockZ() - tamanho / 2; z2 <= loc.getBlockZ() - tamanho / 2 + tamanho; z2++) { Block zb = w.getHighestBlockAt(loc.getBlockX() - tamanho / 2 + tamanho, z2); zb.setTypeId(getConfig().getInt("BlockId")); } } else if (getConfig().getBoolean("Alinhar")) { for (int x = loc.getBlockX() - tamanho / 2; x < loc.getBlockX() - tamanho / 2 + tamanho; x++) { Block xb = w.getBlockAt(x, loc.getBlockY(), loc.getBlockZ() - tamanho / 2); xb.setTypeId(getConfig().getInt("BlockId")); } for (int x2 = loc.getBlockX() - tamanho / 2; x2 <= loc.getBlockX() - tamanho / 2 + tamanho; x2++) { Block xb = w.getBlockAt(x2, loc.getBlockY(), loc.getBlockZ() - tamanho / 2 + tamanho); xb.setTypeId(getConfig().getInt("BlockId")); } for (int z = loc.getBlockZ() - tamanho / 2; z < loc.getBlockZ() - tamanho / 2 + tamanho; z++) { Block zb = w.getBlockAt(loc.getBlockX() - tamanho / 2, loc.getBlockY(), z); zb.setTypeId(getConfig().getInt("BlockId")); } for (int z2 = loc.getBlockZ() - tamanho / 2; z2 <= loc.getBlockZ() - tamanho / 2 + tamanho; z2++) { Block zb = w.getBlockAt(loc.getBlockX() - tamanho / 2 + tamanho, loc.getBlockY(), z2); zb.setTypeId(getConfig().getInt("BlockId")); } } } public boolean TaVenda(Player p, String area) { RegionManager rm = getWorldGuard().getRegionManager(p.getWorld()); int x = rm.getRegion(area).getMinimumPoint().getBlockX(); int y = rm.getRegion(area).getMinimumPoint().getBlockY(); int z = rm.getRegion(area).getMinimumPoint().getBlockZ(); int x1 = rm.getRegion(area).getMaximumPoint().getBlockX(); int y1 = rm.getRegion(area).getMaximumPoint().getBlockY(); int z1 = rm.getRegion(area).getMaximumPoint().getBlockZ(); for (int xi = x; xi <= x1; xi++) { for (int yi = y; yi <= y1; yi++) for (int zi = z; zi <= z1; zi++) { Location l = new Location(p.getWorld(), xi, yi, zi); if (l.getBlock().getState().getType() != Material.SIGN_POST) continue; Sign s = (Sign)l.getBlock().getState(); if (s.getLine(0).equalsIgnoreCase("[" + getConfig().getString("NomeDoServer") + "]")) { return true; } } } return false; } public void DelParede(Player p, int xmin, int xmax, int zmin, int zmax) { Location loc = p.getLocation(); World w = loc.getWorld(); for (int y = Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[0]); y < Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[1]); y++) { for (int x = xmin; x < xmax; x++) { Block xb = w.getBlockAt(x, y, zmin); if (xb.getTypeId() != getConfig().getInt("BlockId")) continue; xb.setTypeId(0); } for (int x2 = xmin; x2 <= xmax; x2++) { Block xb = w.getBlockAt(x2, y, zmax); if (xb.getTypeId() != getConfig().getInt("BlockId")) continue; xb.setTypeId(0); } for (int z1 = zmin; z1 < zmax; z1++) { Block zb = w.getBlockAt(xmin, y, z1); if (zb.getTypeId() != getConfig().getInt("BlockId")) continue; zb.setTypeId(0); } for (int z2 = zmin; z2 <= zmax; z2++) { Block zb = w.getBlockAt(xmax, y, z2); if (zb.getTypeId() != getConfig().getInt("BlockId")) continue; zb.setTypeId(0); } } } public int IfParede(Player p, int xmin, int xmax, int zmin, int zmax) { Location loc = p.getLocation(); World w = loc.getWorld(); for (int y = Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[0]); y < Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[1]); y++) { for (int x = xmin; x < xmax; x++) { Block xb = w.getBlockAt(x, y, zmin); if (xb.getTypeId() == getConfig().getInt("BlockId")) { return xb.getY(); } } for (int x2 = xmin; x2 <= xmax; x2++) { Block xb = w.getBlockAt(x2, y, zmax); if (xb.getTypeId() == getConfig().getInt("BlockId")) { return xb.getY(); } } for (int z1 = zmin; z1 < zmax; z1++) { Block zb = w.getBlockAt(xmin, y, z1); if (zb.getTypeId() == getConfig().getInt("BlockId")) { return zb.getY(); } } for (int z2 = zmin; z2 <= zmax; z2++) { Block zb = w.getBlockAt(xmax, y, z2); if (zb.getTypeId() == getConfig().getInt("BlockId")) { return zb.getY(); } } } return 0; } public void ParedeEx(Player p, int xmin, int xmax, int zmin, int zmax, int y) { Location loc = p.getLocation(); World w = loc.getWorld(); if (!getConfig().getBoolean("Alinhar")) { for (int x = xmin; x < xmax; x++) { Block xb = w.getHighestBlockAt(x, zmin); xb.setTypeId(getConfig().getInt("BlockId")); } for (int x2 = xmin; x2 <= xmax; x2++) { Block xb = w.getHighestBlockAt(x2, zmax); xb.setTypeId(getConfig().getInt("BlockId")); } for (int z1 = zmin; z1 < zmax; z1++) { Block zb = w.getHighestBlockAt(xmin, z1); zb.setTypeId(getConfig().getInt("BlockId")); } for (int z2 = zmin; z2 <= zmax; z2++) { Block zb = w.getHighestBlockAt(xmax, z2); zb.setTypeId(getConfig().getInt("BlockId")); } } else { for (int x = xmin; x < xmax; x++) { Block xb = w.getBlockAt(x, y, zmin); xb.setType(Material.FENCE); } for (int x2 = xmin; x2 <= xmax; x2++) { Block xb = w.getBlockAt(x2, y, zmax); xb.setTypeId(getConfig().getInt("BlockId")); } for (int z1 = zmin; z1 < zmax; z1++) { Block zb = w.getBlockAt(xmin, y, z1); zb.setTypeId(getConfig().getInt("BlockId")); } for (int z2 = zmin; z2 <= zmax; z2++) { Block zb = w.getBlockAt(xmax, y, z2); zb.setTypeId(getConfig().getInt("BlockId")); } } } public void EExpandir(Player player, int xmin, int xmax, int zmin, int zmax, String area, String tamanho) { RegionManager mgr = getWorldGuard().getRegionManager(player.getWorld()); BlockVector bv1 = new BlockVector(xmin - Integer.parseInt(tamanho), Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[0]), zmin - Integer.parseInt(tamanho)); BlockVector bv2 = new BlockVector(xmax + Integer.parseInt(tamanho), Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[1]), zmax + Integer.parseInt(tamanho)); ProtectedCuboidRegion pcr = new ProtectedCuboidRegion(player.getName().toLowerCase() + "_" + area, bv1, bv2); DefaultDomain dd = new DefaultDomain(); mgr.addRegion(pcr); try { mgr.save(); } catch (ProtectionDatabaseException e) { player.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } ApplicableRegionSet regions = mgr.getApplicableRegions(pcr); LocalPlayer localPlayer = getWorldGuard().wrapPlayer(player); if (!regions.isOwnerOfAll(localPlayer)) { player.sendMessage(ChatColor.DARK_RED + "Ja existe outro terreno nos limites de sua area, afaste-se."); mgr.removeRegion(player.getName().toLowerCase() + "_" + area); BlockVector bv1n = new BlockVector(xmin, Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[0]), zmin); BlockVector bv2n = new BlockVector(xmax, Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[1]), zmax); pcr.setMaximumPoint(bv2n); pcr.setMinimumPoint(bv1n); mgr.addRegion(pcr); try { pcr.setFlag(DefaultFlag.PVP, DefaultFlag.PVP.parseInput(getWorldGuard(), player, "allow")); pcr.setFlag(DefaultFlag.USE, DefaultFlag.USE.parseInput(getWorldGuard(), player, "deny")); pcr.setFlag(DefaultFlag.ENDER_BUILD, DefaultFlag.ENDER_BUILD.parseInput(getWorldGuard(), player, "deny")); pcr.setFlag(DefaultFlag.CREEPER_EXPLOSION, DefaultFlag.CREEPER_EXPLOSION.parseInput(getWorldGuard(), player, "deny")); } catch (InvalidFlagFormat ex) { player.sendMessage("[HkTerrenos] Erro ao selecionar flasgs, contate um administrador."); } try { mgr.save(); } catch (ProtectionDatabaseException e) { player.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } return; } pcr.setPriority(100); dd.addPlayer(player.getName()); pcr.setOwners(dd); ParedeEx(player, xmin - 1, xmax + 1, zmin - 1, zmax + 1, IfParede(player, xmin, xmax, zmin, zmax)); DelParede(player, xmin, xmax, zmin, zmax); econ.withdrawPlayer(player.getName(), Double.parseDouble(tamanho) * getConfig().getDouble("PrecoDaExpancao")); player.sendMessage(ChatColor.AQUA + "Sua area " + ChatColor.DARK_RED + area + ChatColor.AQUA + " foi expandida com sucesso " + ChatColor.DARK_RED + "[" + getConfig().getString("NomeDaMoeda") + Double.parseDouble(tamanho) * getConfig().getDouble("PrecoDaExpancao") + "]"); try { pcr.setFlag(DefaultFlag.PVP, DefaultFlag.PVP.parseInput(getWorldGuard(), player, "allow")); pcr.setFlag(DefaultFlag.USE, DefaultFlag.USE.parseInput(getWorldGuard(), player, "deny")); pcr.setFlag(DefaultFlag.ENDER_BUILD, DefaultFlag.ENDER_BUILD.parseInput(getWorldGuard(), player, "deny")); pcr.setFlag(DefaultFlag.CREEPER_EXPLOSION, DefaultFlag.CREEPER_EXPLOSION.parseInput(getWorldGuard(), player, "deny")); } catch (InvalidFlagFormat ex) { player.sendMessage("[HkTerrenos] Erro ao selecionar flasgs, contate um administrador."); } try { mgr.save(); } catch (ProtectionDatabaseException e) { player.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } } public void Expandir(Player player, int xmin, int xmax, int zmin, int zmax, String area, String tamanho) { RegionManager mgr = getWorldGuard().getRegionManager(player.getWorld()); BlockVector bv1 = new BlockVector(xmin - Integer.parseInt(tamanho), Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[0]), zmin - Integer.parseInt(tamanho)); BlockVector bv2 = new BlockVector(xmax + Integer.parseInt(tamanho), Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[1]), zmax + Integer.parseInt(tamanho)); ProtectedCuboidRegion pr = new ProtectedCuboidRegion(player.getName().toLowerCase() + "_" + area, bv1, bv2); DefaultDomain dd = new DefaultDomain(); mgr.addRegion(pr); pr.setPriority(100); dd.addPlayer(player.getName()); pr.setOwners(dd); try { pr.setFlag(DefaultFlag.PVP, DefaultFlag.PVP.parseInput(getWorldGuard(), player, "allow")); pr.setFlag(DefaultFlag.USE, DefaultFlag.USE.parseInput(getWorldGuard(), player, "deny")); pr.setFlag(DefaultFlag.ENDER_BUILD, DefaultFlag.ENDER_BUILD.parseInput(getWorldGuard(), player, "deny")); pr.setFlag(DefaultFlag.CREEPER_EXPLOSION, DefaultFlag.CREEPER_EXPLOSION.parseInput(getWorldGuard(), player, "deny")); } catch (InvalidFlagFormat e1) { player.sendMessage(ChatColor.DARK_RED + "Erro ao tentar editar flags da area."); } ApplicableRegionSet regions = mgr.getApplicableRegions(pr); LocalPlayer localPlayer = getWorldGuard().wrapPlayer(player); if ((!regions.isOwnerOfAll(localPlayer)) && (!player.isOp())) { player.sendMessage(ChatColor.DARK_RED + "Ja existe outro terreno nos limites de sua area, afaste-se."); mgr.removeRegion(player.getName().toLowerCase() + "_" + area); BlockVector bv1n = new BlockVector(xmin, Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[0]), zmin); BlockVector bv2n = new BlockVector(xmax, Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[1]), zmax); pr.setMaximumPoint(bv2n); pr.setMinimumPoint(bv1n); mgr.addRegion(pr); try { pr.setFlag(DefaultFlag.PVP, DefaultFlag.PVP.parseInput(getWorldGuard(), player, "allow")); pr.setFlag(DefaultFlag.USE, DefaultFlag.USE.parseInput(getWorldGuard(), player, "deny")); pr.setFlag(DefaultFlag.ENDER_BUILD, DefaultFlag.ENDER_BUILD.parseInput(getWorldGuard(), player, "deny")); pr.setFlag(DefaultFlag.CREEPER_EXPLOSION, DefaultFlag.CREEPER_EXPLOSION.parseInput(getWorldGuard(), player, "deny")); } catch (InvalidFlagFormat ex) { player.sendMessage("[HkTerrenos] Erro ao selecionar flasgs, contate um administrador."); } try { mgr.save(); } catch (ProtectionDatabaseException e) { player.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } return; } try { mgr.save(); } catch (ProtectionDatabaseException e) { player.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } ParedeEx(player, xmin - 1, xmax + 1, zmin - 1, zmax + 1, IfParede(player, xmin, xmax, zmin, zmax)); DelParede(player, xmin, xmax, zmin, zmax); econ.withdrawPlayer(player.getName(), Double.parseDouble(tamanho) * getConfig().getDouble("PrecoDaExpancao")); player.sendMessage(ChatColor.AQUA + "Sua area " + ChatColor.DARK_RED + area + ChatColor.AQUA + " foi expandida com sucesso " + ChatColor.DARK_RED + "[" + getConfig().getString("NomeDaMoeda") + Double.parseDouble(tamanho) * getConfig().getDouble("PrecoDaExpancao") + "]"); } public void comprar(Player p, int x, int z, String area) { RegionManager rm = getWorldGuard().getRegionManager(p.getWorld()); if (ExisteArea(p.getName().toLowerCase() + "_" + area.toLowerCase(), p.getWorld().getName())) { p.sendMessage(ChatColor.DARK_RED + "Voce ja tem uma area com o nome de " + ChatColor.YELLOW + area.toLowerCase()); return; } Location loc2 = p.getLocation(); int locx2 = loc2.getBlockX(); int locz2 = loc2.getBlockZ(); BlockVector bv12 = new BlockVector(locx2 - x - 1, Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[1]), locz2 - z - 1); BlockVector bv22 = new BlockVector(locx2 + x + 1, Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[0]), locz2 + z + 1); ProtectedCuboidRegion pr2 = new ProtectedCuboidRegion(p.getName().toLowerCase() + "_" + area, bv12, bv22); DefaultDomain dd2 = new DefaultDomain(); rm.addRegion(pr2); pr2.setPriority(100); dd2.addPlayer(p.getName()); pr2.setOwners(dd2); System.out.println("debug"); ApplicableRegionSet regions2 = rm.getApplicableRegions(pr2); LocalPlayer localPlayer2 = getWorldGuard().wrapPlayer(p); if ((!regions2.isOwnerOfAll(localPlayer2)) && (!p.isOp())) { p.sendMessage(ChatColor.DARK_RED + "Ja existe outro terreno nos limites de sua area, afaste-se."); rm.removeRegion(p.getName().toLowerCase() + "_" + area); return; } System.out.println("debug"); rm.removeRegion(p.getName().toLowerCase() + "_" + area); Location loc = p.getLocation(); int locx = loc.getBlockX(); int locz = loc.getBlockZ(); BlockVector bv1 = new BlockVector(locx - x / 2, Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[1]), locz - z / 2); BlockVector bv2 = new BlockVector(locx + x / 2, Integer.parseInt(getConfig().getString("AlturaMaxEMin").split("-")[0]), locz + z / 2); ProtectedCuboidRegion pr = new ProtectedCuboidRegion(p.getName().toLowerCase() + "_" + area, bv1, bv2); DefaultDomain dd = new DefaultDomain(); rm.addRegion(pr); pr.setPriority(100); dd.addPlayer(p.getName()); pr.setOwners(dd); System.out.println("debug"); try { pr.setFlag(DefaultFlag.PVP, DefaultFlag.PVP.parseInput(getWorldGuard(), p, "allow")); pr.setFlag(DefaultFlag.USE, DefaultFlag.USE.parseInput(getWorldGuard(), p, "deny")); pr.setFlag(DefaultFlag.ENDER_BUILD, DefaultFlag.ENDER_BUILD.parseInput(getWorldGuard(), p, "deny")); pr.setFlag(DefaultFlag.CREEPER_EXPLOSION, DefaultFlag.CREEPER_EXPLOSION.parseInput(getWorldGuard(), p, "deny")); } catch (InvalidFlagFormat e1) { p.sendMessage(ChatColor.DARK_RED + "Erro ao tentar editar flags da area."); } System.out.println("debug"); ApplicableRegionSet regions = rm.getApplicableRegions(pr); LocalPlayer localPlayer = getWorldGuard().wrapPlayer(p); if (econ.getBalance(p.getName()) < x * getConfig().getDouble("PrecoDoBloco")) { p.sendMessage(ChatColor.DARK_RED + "Voce nao tem dinheiro o suficiente para este terreno. [" + getConfig().getString("NomeDaMoeda") + x * getConfig().getDouble("PrecoDoBloco") + "]"); rm.removeRegion(p.getName().toLowerCase() + "_" + area); return; } System.out.println("debug"); if ((!regions.isOwnerOfAll(localPlayer)) && (!p.isOp())) { p.sendMessage(ChatColor.DARK_RED + "Ja existe outro terreno nos limites de sua area, afaste-se."); rm.removeRegion(p.getName().toLowerCase() + "_" + area); return; } try { rm.save(); } catch (ProtectionDatabaseException e) { p.sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } Parede(p, x); p.sendMessage(ChatColor.AQUA + "Voce Comprou uma area com sucesso, Parabens, " + getConfig().getString("NomeDaMoeda") + x * getConfig().getDouble("PrecoDoBloco")); p.sendMessage(ChatColor.AQUA + "AreaID: " + ChatColor.DARK_RED + area + ChatColor.AQUA + " Tamanho: " + ChatColor.RED + x + ChatColor.AQUA + " x " + ChatColor.RED + z + ChatColor.AQUA); System.out.println("debug"); econ.withdrawPlayer(p.getName(), x * getConfig().getDouble("PrecoDoBloco")); } class BlockListener implements Listener { BlockListener() { } @EventHandler public void OnBlockB(BlockBreakEvent e) { if (e.getBlock().getType() == Material.SIGN_POST) { Sign s = (Sign)e.getBlock().getState(); if (s.getLine(0).equalsIgnoreCase("[" + Main.this.getConfig().getString("NomeDoServer") + "]")) { e.getPlayer().sendMessage(ChatColor.GREEN + "Voce cancelou a venda desta area"); } } } } class CommandListener implements Listener { CommandListener() { } @EventHandler public void OnCommand(PlayerCommandPreprocessEvent e) { Player player = e.getPlayer(); RegionManager rm = Main.this.getWorldGuard().getRegionManager(player.getWorld()); ApplicableRegionSet set = rm.getApplicableRegions(player.getLocation()); if (set.size() == 0) return; set.toString().toLowerCase(); String id = ((ProtectedRegion)set.iterator().next()).getId(); if ((!player.getName().equalsIgnoreCase(rm.getRegion(id).getOwners().toUserFriendlyString())) && (!player.getName().toLowerCase().contains(rm.getRegion(id).getMembers().toUserFriendlyString()))) { String s = e.getMessage().toLowerCase(); if (s.startsWith("/sethome")) { e.getPlayer().sendMessage(ChatColor.DARK_RED + "Voce so pode usar este comando em suas areas ou em areas nao protegidas."); e.setCancelled(true); } } } } class InteractListener implements Listener { InteractListener() { } @EventHandler public void EstaTerreno(PlayerInteractEvent e) { RegionManager rm = Main.this.getWorldGuard().getRegionManager(e.getPlayer().getWorld()); if (e.getAction() == Action.RIGHT_CLICK_BLOCK) { if (e.getClickedBlock().getType() == Material.SIGN_POST) { Sign s = (Sign)e.getClickedBlock().getState(); if (s.getLine(0).equalsIgnoreCase("[" + Main.this.getConfig().getString("NomeDoServer") + "]")) { if (!e.getPlayer().hasPermission("hkterrenos.use")) { e.getPlayer().sendMessage(ChatColor.DARK_RED + "Voce nao pode usar a proteçao neste mundo!"); e.setCancelled(true); return; } if ((!e.getPlayer().isOp()) && (Main.this.getTamanho(e.getPlayer().getName(), e.getPlayer().getWorld().getName()) >= Main.this.getConfig().getInt("MaxDeAreas"))) { boolean tem = false; for (int i = 1; i < 50; i++) { if (e.getPlayer().hasPermission("hkterrenos." + i)) { if (Main.this.getTamanho(e.getPlayer().getName(), e.getPlayer().getWorld().getName()) >= i) { e.getPlayer().sendMessage(ChatColor.DARK_RED + "Voce so pode ter no maximo " + i + " terrenos"); return; } tem = true; break; } } if (!tem) { e.getPlayer().sendMessage(ChatColor.DARK_RED + "Voce so pode ter no maximo " + Main.this.getConfig().getInt("MaxDeAreas") + " terrenos"); return; } } ApplicableRegionSet sa = rm.getApplicableRegions(e.getClickedBlock().getLocation()); if (s.getLine(2).equalsIgnoreCase(e.getPlayer().getName())) return; if (Main.econ.getBalance(e.getPlayer().getName()) < Double.parseDouble(s.getLine(3))) { e.getPlayer().sendMessage(ChatColor.DARK_RED + "Voce nao tem dinheiro o suficiente para comprar este terreno!"); return; } sa.toString().toLowerCase(); String area = ((ProtectedRegion)sa.iterator().next()).getId(); String narea = area; if (Main.this.ExisteArea(e.getPlayer().getName().toLowerCase() + "_" + area.split("_")[(area.split("_").length - 1)], e.getPlayer().getWorld().getName())) { for (int i = 1; i <= 50; i++) { if (Main.this.ExisteArea(e.getPlayer().getName().toLowerCase() + "_" + area.split("_")[(area.split("_").length - 1)] + i, e.getPlayer().getWorld().getName())) continue; narea = area + i; break; } } ProtectedCuboidRegion pr = new ProtectedCuboidRegion(e.getPlayer().getName().toLowerCase() + "_" + narea.split("_")[(narea.split("_").length - 1)], rm.getRegion(area).getMaximumPoint(), rm.getRegion(area).getMinimumPoint()); rm.addRegion(pr); pr.setPriority(100); rm.getRegion(e.getPlayer().getName().toLowerCase() + "_" + area.split("_")[(area.split("_").length - 1)]).getOwners().addPlayer(e.getPlayer().getName()); RegionManager mgr = Main.this.getWorldGuard().getGlobalRegionManager().get(e.getPlayer().getWorld()); mgr.removeRegion(area); try { pr.setFlag(DefaultFlag.PVP, DefaultFlag.PVP.parseInput(Main.this.getWorldGuard(), e.getPlayer(), "allow")); pr.setFlag(DefaultFlag.USE, DefaultFlag.USE.parseInput(Main.this.getWorldGuard(), e.getPlayer(), "deny")); pr.setFlag(DefaultFlag.ENDER_BUILD, DefaultFlag.ENDER_BUILD.parseInput(Main.this.getWorldGuard(), e.getPlayer(), "deny")); pr.setFlag(DefaultFlag.CREEPER_EXPLOSION, DefaultFlag.CREEPER_EXPLOSION.parseInput(Main.this.getWorldGuard(), e.getPlayer(), "deny")); } catch (InvalidFlagFormat ex) { e.getPlayer().sendMessage("[HkTerrenos] Erro ao selecionar flasgs, contate um administrador."); } e.getPlayer().sendMessage(ChatColor.GREEN + "Terreno comprado com sucesso!"); Main.econ.withdrawPlayer(e.getPlayer().getName(), Double.parseDouble(s.getLine(3))); Main.econ.bankDeposit(s.getLine(2), Double.parseDouble(s.getLine(3))); s.getBlock().setTypeId(0); try { rm.save(); } catch (ProtectionDatabaseException ex) { e.getPlayer().sendMessage(ChatColor.DARK_RED + "Algo deu errado ao tentar salvar a regiao."); } } } } } } class SignListener implements Listener { SignListener() { } @EventHandler public void OnSign(SignChangeEvent e) { if (e.getLine(0).equalsIgnoreCase("[" + Main.this.getConfig().getString("NomeDoServer") + "]")) { System.out.println(e.getLine(0) + " " + Main.this.getConfig().getString("NomeDoServer")); e.setCancelled(true); e.getPlayer().sendMessage(ChatColor.DARK_RED + "Voce nao pode fazer uma venda manualmente!"); } } } } E esse o plugin.yml ############################################ # Criado Por HardcoreKiller # # Para Uso Do Server # # BrCraft # ############################################ name: HkTerrenos main: Terrenos.Main version: 0.5 depend: [WorldGuard, WorldEdit, Vault] commands: terreno comprar: usage: /terreno comprar [tamanho] [area] terreno vender: usage: /terreno vender [area] terreno addamigo: usage: /terreno addamigo [player] [area] terreno delamigo: usage: /terreno delamigo [player] [area] terreno pvparea: usage: /terreno pvparea [Area] [ON OFF] Terrenos: description: veja o menu de comandos usage: /terrenos [arg] terreno areamsg: usage: /terreno areamsg [area] [menssagem] terreno areas: description: veja sua lista de areas usage: /terreno areas terreno infoarea: usage: /terreno infoarea terreno delete: usage: /terreno delarea terreno expandir: usage: /terreno expandir Editado Novembro 5, 2015 por BrCraft Link para o comentário Compartilhar em outros sites More sharing options...
Guest Lüigi.jar Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 Manda como esta o código inteiro? Registrou no plugin yml? Algum staff muda isso pra area certa? Link para o comentário Compartilhar em outros sites More sharing options...
V1η1 Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 Movido para a área correta. @tpc Manda como esta o código inteiro? Registrou no plugin yml? Algum staff muda isso pra area certa? Creio eu que ele queira adicionar argumentos (/terreno comprar, etc...) Link para o comentário Compartilhar em outros sites More sharing options...
Guest BrCraft Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 Pront Cod Postado !! Link para o comentário Compartilhar em outros sites More sharing options...
Guest BrCraft Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 Manda como esta o código inteiro? Registrou no plugin yml? Algum staff muda isso pra area certa? Pront Agr Pd Me Ajudar ?? Link para o comentário Compartilhar em outros sites More sharing options...
Guest Lüigi.jar Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 Era só o código dos cmd KKKK Mano, se não me engano, no plugin.yml não se registra os args, tipo, se o cmd é TERRENO OI, vc só registra o TERRENO, e mesma coisa no código, você não pode fazer tipo isso if(cmd.getName.equalsIgnoreCase("terreno oi")){} no codigo a gente faz assim: if(cmd.getName().equalsIgnoreCase("Terreno"){ if(args[0].equalsIgnoreCase("oi"){//args[0] vai pegar o primeiro argumento dps do Terreno //código } } Link para o comentário Compartilhar em outros sites More sharing options...
AlanGomes_ (BrineDev) Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 Pront Cod Postado !! Pront Agr Pd Me Ajudar ?? Double post, MEMBRO ALERTADO! Link para o comentário Compartilhar em outros sites More sharing options...
Guest BrCraft Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 n intendi '-' Link para o comentário Compartilhar em outros sites More sharing options...
Guest Lüigi.jar Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 n intendi '-' veja esse tutorial https://bukkit.org/threads/tutorial-command-arguments.186497/ Link para o comentário Compartilhar em outros sites More sharing options...
Guest BrCraft Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 tipo assim ? if (cmd.getName (). equalsIgnoreCase ("Terreno") {if (args [0] .equalsIgnoreCase ("areamsg")) { Link para o comentário Compartilhar em outros sites More sharing options...
Guest Lüigi.jar Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 tipo assim ? if (cmd.getName (). equalsIgnoreCase ("Terreno") {if (args [0] .equalsIgnoreCase ("areamsg")) { Isso ai Link para o comentário Compartilhar em outros sites More sharing options...
Guest BrCraft Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 Vlw Pd fechar O topico Pfvr Link para o comentário Compartilhar em outros sites More sharing options...
Guest Lüigi.jar Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 Vlw Pd fechar O topico Pfvr Se ajudei de um like + melhor resposta pfv xD E qlqer coisa estamos aqui! Link para o comentário Compartilhar em outros sites More sharing options...
V1η1 Postado Novembro 5, 2015 Denunciar Compartilhar Postado Novembro 5, 2015 Sua dúvida foi marcada como [Resolvido] e movido à área de dúvidas resolvidas. Atenciosamente, Gamer's Board Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest BrCraft
Bom Eu Qr Saber Cm Faço O Comando /terreno comprar bm Eu Tendei De Duas Maneiras
Assim:
e assim;
Maiz nenhum Deu Certo '-'
Bm Esse E O Codigo Inteiro
E esse o plugin.yml
Editado por BrCraftLink para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados