- Баллы
- 6
Я значит выполняю команду, должен создаться остров, но вылетает Exception(если надо могу скинуть) и вот не знаю в чём проблема.
Также после выполнения команды не могу писать /rg info
Maybe подскажете в чём дело?
Также после выполнения команды не могу писать /rg info
Maybe подскажете в чём дело?
PHP:
package ru.Godness1.islands.creation;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.LocalWorld;
import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.blocks.BaseBlock;
import com.sk89q.worldedit.patterns.SingleBlockPattern;
import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.domains.DefaultDomain;
import com.sk89q.worldguard.protection.regions.ProtectedCuboidRegion;
import static com.sk89q.worldguard.bukkit.BukkitUtil.*;
import ru.Godness1.main.Main;
@SuppressWarnings("deprecation")
public class CreateExec implements CommandExecutor {
private Main plugin;
public CreateExec(Main plugin) {
this.plugin = plugin;
}
public com.sk89q.worldedit.BlockVector sk89qBlockVector(Block b) {
com.sk89q.worldedit.BlockVector v1 = toVector(b);
return v1;
}
public com.sk89q.worldedit.Vector sk89qVector(Block b) {
com.sk89q.worldedit.Vector v1 = toVector(b);
return v1;
}
WorldGuardPlugin wg = (WorldGuardPlugin)Bukkit.getPluginManager().getPlugin("WorldGuard");
@Override
public boolean onCommand(CommandSender sender, Command cmd, String name, String[] args) {
if (!(sender instanceof Player)) return false;
Player p = (Player) sender;
if (args.length != 1) return false;
if (!args[0].equals("create")) return false;
if (plugin.getConfig().getBoolean("islands." + sender.getName() + ".player")) {
sender.sendMessage(ChatColor.RED + "У вас уже есть свой остров!");
return true;
}
World w = Bukkit.getWorld("world");
Location loc = new Location(w, 10000 * plugin.getConfig().getDouble("islands.defaultserverisland.playersnum"), 10000, 10000);
loc.getBlock().setType(Material.SPONGE);
Location start = new Location(w, 10000 * plugin.getConfig().getDouble("islands.defaultserverisland.playersnum") - 11, 9989, 9989);
Location end = new Location(w, 10000 * plugin.getConfig().getDouble("islands.defaultserverisland.playersnum") + 11, 10011, 10011);
Location start1 = new Location(w, 10000 * plugin.getConfig().getDouble("islands.defaultserverisland.playersnum") - 11, 9989, 9989);
Location end1 = new Location(w, 10000 * plugin.getConfig().getDouble("islands.defaultserverisland.playersnum") + 11, 9989, 10011);
ProtectedCuboidRegion pr = new ProtectedCuboidRegion("name_" + sender.getName().toLowerCase(), sk89qBlockVector(start.getBlock()), osk89qBlockVector(end.getBlock()));
DefaultDomain d = new DefaultDomain();
d.addPlayer(sender.getName().toLowerCase());
pr.setMembers(d);
wg.getRegionManager(w).addRegion(pr);
loc.getBlock().setType(Material.SPONGE);
plugin.getConfig().set("islands." + sender.getName() + ".player", true);
plugin.getConfig().set("islands." + sender.getName() + ".x", loc.getX());
plugin.getConfig().set("islands." + sender.getName() + ".y", loc.getY());
plugin.getConfig().set("islands." + sender.getName() + ".z", loc.getZ());
plugin.getConfig().set("islands." + sender.getName() + ".level", 1);
p.teleport(loc);
EditSession edit = new EditSession((LocalWorld) w, 300000);
try {
edit.setBlocks(new CuboidRegion((LocalWorld) w, sk89qVector(start1.getBlock()), sk89qVector(end1.getBlock())), new SingleBlockPattern(new BaseBlock(1)));
} catch (MaxChangedBlocksException e) {
e.printStackTrace();
}
return true;
}
}