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

Помогите hidePlayer()

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

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

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

    Баллы:
    61
    Имя в Minecraft:
    jimi_1997
    Здравствуйте, пожалуйста помогите разобраться почему hidePlayer не срабатывает.
    Код:
    Код:
    package Eno.Spy;
    
    import java.util.Arrays;
    import java.util.List;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.*********ventory.ItemStack;
    import org.*********ventory.meta.ItemMeta;
    
    public class Spy implements Listener {
        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;
        }
    
        @EventHandler
        public void onUseSpy(PlayerInteractEvent e) {
            ItemStack item = e.getPlayer().getItemInHand();
            Player player = e.getPlayer();
                
            if(item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GOLD + "Spy")) {
                player.getInventory().remove(make(Material.NETHER_STAR, 1, 0, ChatColor.GOLD + "Spy", Arrays.asList(ChatColor.WHITE + "Это поможет вам стать невидимым")));
                player.getInventory().addItem(make(Material.NETHER_STAR, 1, 0, ChatColor.GOLD + "Spy ON", Arrays.asList(ChatColor.WHITE + "Вы невидимы")));
                //... Эта часть кода не работает, почему?
                for (Player p : Bukkit.getServer().getOnlinePlayers()) {
                    p.hidePlayer(e.getPlayer());
                    }
                player.sendMessage("Изчезли");
                //...
            }else if(item.getItemMeta().getDisplayName().equalsIgnoreCase(ChatColor.GOLD + "Spy ON")) {
                player.getInventory().remove(make(Material.NETHER_STAR, 1, 0, ChatColor.GOLD + "Spy ON", Arrays.asList(ChatColor.WHITE + "Вы невидимы")));
                player.getInventory().addItem(make(Material.NETHER_STAR, 1, 0, ChatColor.GOLD + "Spy", Arrays.asList(ChatColor.WHITE + "Это поможет вам стать невидимым")));
                player.sendMessage("Появились");
            }
        }
    }
    
    Код:
    [08:55:58 ERROR]: Could not pass event PlayerInteractEvent to Eno v1.0
    
    org.bukkit.event.EventException
    
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) ~[Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    
        at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:216) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    
        at net.minecraft.server.v1_7_R3.PlayerInteractManager.interact(PlayerInteractManager.java:374) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    
        at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java:629) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    
        at net.minecraft.server.v1_7_R3.PacketPlayInBlockPlace.a(SourceFile:60) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    
        at net.minecraft.server.v1_7_R3.PacketPlayInBlockPlace.handle(SourceFile:9) [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.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()Ljava/util/Collection;
    
        at Eno.Spy.Spy.onUseSpy(Spy.java:36) ~[?:?]
    
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.6.0_65]
    
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[?:1.6.0_65]
    
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[?:1.6.0_65]
    
        at java.lang.reflect.Method.invoke(Method.java:597) ~[?:1.6.0_65]
    
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) ~[Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
    
        ... 15 more
    
    
    
     
    Последнее редактирование: 21 авг 2014
  2. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    public void onUseSpy(PlayerInteractEvent e) {
    ...
    for (Player p : Bukkit.getServer.getOnlinePlayers()) {
    p.hidePlayer(event.getPlayer());
    }
    ...
    }
     
  3. Автор темы
    jimi_1997

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

    Баллы:
    61
    Имя в Minecraft:
    jimi_1997
    Я исправил, но всё равно не работает.
    Код:
    [08:27:42 ERROR]: Could not pass event PlayerInteractEvent to Eno v1.0
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) ~[Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:216) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at org.bukkit.craftbukkit.v1_7_R3.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:186) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PlayerConnection.a(PlayerConnection.java:605) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PacketPlayInBlockPlace.a(SourceFile:60) [Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        at net.minecraft.server.v1_7_R3.PacketPlayInBlockPlace.handle(SourceFile:9) [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.NoSuchMethodError: org.bukkit.Bukkit.getOnlinePlayers()Ljava/util/Collection;
        at Eno.Spy.Spy.onUseSpy(Spy.java:36) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.6.0_65]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[?:1.6.0_65]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[?:1.6.0_65]
        at java.lang.reflect.Method.invoke(Method.java:597) ~[?:1.6.0_65]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) ~[Aristi.jar:git-Bukkit-1.7.9-R0.1-10-g8688bd4-b3092jnks]
        ... 15 more
    
     
    Последнее редактирование: 21 авг 2014
  4. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Баллы:
    173
    for (Player p : Bukkit.getServer().getOnlinePlayers()) {
     
  5. Автор темы
    jimi_1997

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

    Баллы:
    61
    Имя в Minecraft:
    jimi_1997
    Исправил, ошибка выше.
     
  6. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Баллы:
    173
  7. Автор темы
    jimi_1997

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

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

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