1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Location

Тема в разделе "Разработка плагинов для новичков", создана пользователем jimi_1997, 22 авг 2014.

Статус темы:
Закрыта.
  1. Автор темы
    jimi_1997

    jimi_1997 Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    jimi_1997
    Добрый день, пожалуйста помогите, почему Location выдаёт ошибку?
    P.S. Location находится на 73 строке
    код:
    Код:
    package Eno;
    
    import java.util.Arrays;
    import java.util.List;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.Material;
    import org.bukkit.World;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.*********ventory.ItemStack;
    import org.*********ventory.meta.ItemMeta;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import Eno.Chat.*;
    import Eno.Spy.*;
    
    public class Syntak extends JavaPlugin {
        public void onEnable() {
            Bukkit.getPluginManager().registerEvents(new Spy(), this);
            Bukkit.getPluginManager().registerEvents(new Chat(), this);
          
            getConfig().options().copyDefaults(true);
            saveConfig();
        }
      
        public void onDisable() {
            saveConfig();
        }
      
        public ItemStack make(Material material, int amount,
                int shrt, String displayName, List<String> lore) {
            ItemStack item = new ItemStack(material, amount, (short) shrt);
            ItemMeta meta = item.getItemMeta();
            meta.setDisplayName(displayName);
            meta.setLore(lore);
            item.setItemMeta(meta);
            return item;
        }
      
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] a){
            Player player = (Player) sender;
            if(player.hasPermission("eno.shop")){
                if(player.hasPermission("eno.setshop")){
                    if(cmd.getName().equalsIgnoreCase("setshop")) {
                        getConfig().createSection("shop");
                        this.getConfig().set("shop.world", player.getLocation().getWorld().getName());
                        this.getConfig().set("shop.x", player.getLocation().getX());
                        this.getConfig().set("shop.y", player.getLocation().getY());
                        this.getConfig().set("shop.z", player.getLocation().getZ());
                        this.getConfig().set("shop.yaw", player.getLocation().getYaw());
                        this.getConfig().set("shop.pitch", player.getLocation().getPitch());
                      
                        player.sendMessage(ChatColor.GREEN + "[Сервер]" + ChatColor.WHITE + " Координаты для магазина установлены");
                        saveConfig();
                    }
                }else {
                    player.sendMessage(ChatColor.GREEN + "[Сервер]" + ChatColor.DARK_RED + " У вас нет прав для использования данной команды");
                }
              
                if(cmd.getName().equalsIgnoreCase("shop")) {
                    if(getConfig().contains("shop")) {
                        Object shopWorld = this.getConfig().get("shop.world");
                        int shopX = this.getConfig().getInt("shop.x");
                        int shopY = this.getConfig().getInt("shop.y");
                        int shopZ = this.getConfig().getInt("shop.z");
                        int shopYaw = this.getConfig().getInt("shop.yaw");
                        int shopPitch = this.getConfig().getInt("shop.pitch");
                      
                        Location shop = new Location((World) shopWorld, shopX, shopY, shopZ, shopYaw, shopPitch);//Эта строка почему то не работает
                        player.teleport(shop);
                    }else {
                        player.sendMessage(ChatColor.GREEN + "[Сервер]" + ChatColor.DARK_RED + " Для использования даной команды вам ниобходим VIP");
                    }
                }
            }
          
            if(player.hasPermission("eno.spy")){
                if(cmd.getName().equalsIgnoreCase("spy")){
                    player.getInventory().addItem(make(Material.NETHER_STAR, 1, 0, ChatColor.GOLD + "Spy", Arrays.asList(ChatColor.WHITE + "Это поможет вам стать невидимым")));
                }
            }
            return false;
        }
    }
    Код:
    [Server thread/ERROR]: null
    org.bukkit.command.CommandException: Unhandled exception executing command 'shop' in plugin Eno v1.0
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) ~[Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:701) ~[Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PlayerConnection.handleCommand(PlayerConnection.java:956) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java:817) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PacketPlayInChat.a(PacketPlayInChat.java:28) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PacketPlayInChat.handle(PacketPlayInChat.java:47) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.NetworkManager.a(NetworkManager.java:157) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.ServerConnection.c(SourceFile:134) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.v(MinecraftServer.java:667) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:260) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.bukkit.World
        at Eno.Syntak.onCommand(Syntak.java:73) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        ... 13 more
     
  2. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Попытка конвертации строки в объект World :facepalm:
    И ещё: есть метот getString() для получения строковых параметорв конфига.
     
  3. Explorer_1991

    Explorer_1991 Старожил Пользователь

    Баллы:
    103
    Object shopWorld = this.getConfig().get("shop.world");
    поменяйте на
    World shopWorld = Bukkit.getWorld(this.getConfig().getString("shop.world"));
     
  4. Автор темы
    jimi_1997

    jimi_1997 Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    jimi_1997
    Спасибо, помогло.
    Тема закрыта.
     
Статус темы:
Закрыта.

Поделиться этой страницей