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

Помогите Баг при отменении PlayerMoveEvent.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Novichock, 29 июл 2016.

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

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

    Баллы:
    76
    После того как отменяю PlayerMoveEvent мой игрок начинает дергаться вперёд-назад,если пошевелил мышкой дёргается ещё и положение камеры.Хочу это исправить.
     
  2. Larin

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

    Баллы:
    103
    Это не баг.
     
  3. Автор темы
    Novichock

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

    Баллы:
    76
    Это он попадает в цикл,по-причине того,что отмена действия перемещает игрока назад,а не телепортирует?
     
  4. Mr_RoboMan

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

    Баллы:
    123
    Сталкивался с этим кода писал авторизацию для своего сирвира...
    В итоге просто разрешил игрокам ходит при авторизации, как как если игрок спавнился в воздухе - то с отменой PlayerMoveEvent происходил просто лютый... Лютый лаги :D
     
  5. alexandrage

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

    Баллы:
    173
    Ну так все правильно, игрок синхронизируется с сервера. Вот его и калбасит. Нужно ему под жопу отправить пакет с блоком.
     
  6. Автор темы
    Novichock

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

    Баллы:
    76
    Не подскажешь как это сделать?
     
  7. alexandrage

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

    Баллы:
    173
    Player p = e.getPlayer();
    Location l = p.getLocation();
    l.setY(l.getY()-1);
    p.sendBlockChange(l, Material.STONE, (byte)0);
    P.s блок визуальный для игрока, так что кик за флай отключай.
     
  8. Автор темы
    Novichock

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

    Баллы:
    76
    не помогло
     
  9. alexandrage

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

    Баллы:
    173
    А если хочешь чтоб его совсем не дергало, то нужно не отменять мове. Телепортируй игрока когда он сменил координаты.
     
  10. Автор темы
    Novichock

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

    Баллы:
    76
    Хорошо,не подскажешь как получить локацию спавна из Essentials?
     
  11. xDark

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

    Баллы:
    96
    костыльно можно...
    Не думаю что лучший ваниант:
    File f = new File ("plugins/Essentials/" + "файл с локацией спуна" + ".yml");
    Далее FileConfiguration и получай int'ы
     
  12. alexandrage

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

    Баллы:
    173
    Вот так точно работает, проверил.

    SpawnStorage sp = new SpawnStorage(this.plugin.ess);
    sp.getSpawn("default");
     
  13. Автор темы
    Novichock

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

    Баллы:
    76
    Как создать переменную/экземпляр класса "ess"?
     
  14. This_is_GoOD

    This_is_GoOD Новичок Пользователь

    Баллы:
    21
    Essentials ess = Bukkit.getPluginManager().getPlugin("Essentials");
     
  15. Автор темы
    Novichock

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

    Баллы:
    76
    Лог ошибки:
    Код:
    [13:36:10] [Server thread/ERROR]: Could not load 'plugins\FirstEnterQuestions.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: net/ess3/api/IEssentials
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:336) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:258) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:369) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:152) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
    Caused by: java.lang.NoClassDefFoundError: net/ess3/api/IEssentials
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_101]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_101]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        ... 6 more
    Caused by: java.lang.ClassNotFoundException: net.ess3.api.IEssentials
        at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_101]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_101]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_101]
        at java.lang.Class.forName0(Native Method) ~[?:1.8.0_101]
        at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_101]
        at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[craftbukkit.jar:git-Spigot-1.7.9-R0.2-207-g03373bb]
        ... 6 more
    [13:36:10] [Server thread/INFO]: [PermissionsEx] Loading PermissionsEx v1.20.4
    
    Код:
    Код:
    public Essentials ess = (Essentials) Bukkit.getPluginManager().getPlugin("Essentials");
    
    SpawnStorage sp = new SpawnStorage(ess);
    Location spawn = sp.getSpawn("default");
    
     
  16. This_is_GoOD

    This_is_GoOD Новичок Пользователь

    Баллы:
    21
    Вы плагин на сервер хотя бы поставили?
    И ,по-моему, Essentials и IEssentials немного разные плагины. Думаю, нужно переделать под ваш плагин
     
  17. Автор темы
    Novichock

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

    Баллы:
    76
    С него лог ошибки и дал.Я дал только фрагмент кода,не вижу смысла давать рабочие ивенты.
     
  18. This_is_GoOD

    This_is_GoOD Новичок Пользователь

    Баллы:
    21
    Что-то туплю. Сейчас все решим
     
  19. Ission

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

    Баллы:
    173
    Skype:
    lokivava
    Код:
    public void onPlayerMove(PlayerMoveEvent e)
        {
                e.setTo(e.getFrom());
        }
    Вместо отмены.
     
  20. Автор темы
    Novichock

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

    Баллы:
    76
    Спасибо за простое решение.
     
Статус темы:
Закрыта.

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