Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Location

Статус
Закрыто для дальнейших ответов.

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
 
Попытка конвертации строки в объект World :facepalm:
И ещё: есть метот getString() для получения строковых параметорв конфига.
 
Добрый день, пожалуйста помогите, почему 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
Object shopWorld = this.getConfig().get("shop.world");
поменяйте на
World shopWorld = Bukkit.getWorld(this.getConfig().getString("shop.world"));
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх