Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

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

Discussion in 'Разработка плагинов для новичков' started by Novichock, Jul 29, 2016.

Thread Status:
Not open for further replies.
  1. Автор темы
    Novichock

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

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

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

    Trophy Points:
    103
    Это не баг.
     
  4. Автор темы
    Novichock

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    Это он попадает в цикл,по-причине того,что отмена действия перемещает игрока назад,а не телепортирует?
     
  5. Mr_RoboMan

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

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

    alexandrage Администратор

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

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    Не подскажешь как это сделать?
     
  8. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Player p = e.getPlayer();
    Location l = p.getLocation();
    l.setY(l.getY()-1);
    p.sendBlockChange(l, Material.STONE, (byte)0);[DOUBLEPOST=1469812693,1469812477][/DOUBLEPOST]P.s блок визуальный для игрока, так что кик за флай отключай.
     
  9. Автор темы
    Novichock

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    не помогло
     
  10. alexandrage

    alexandrage Администратор

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

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    Хорошо,не подскажешь как получить локацию спавна из Essentials?
     
  12. xDark

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

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

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Вот так точно работает, проверил.

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

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    Как создать переменную/экземпляр класса "ess"?
     
  15. This_is_GoOD

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

    Trophy Points:
    21
    Essentials ess = Bukkit.getPluginManager().getPlugin("Essentials");
     
  16. Автор темы
    Novichock

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    Лог ошибки:
    Code:
    [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
    
    Код:
    Code:
    public Essentials ess = (Essentials) Bukkit.getPluginManager().getPlugin("Essentials");
    
    SpawnStorage sp = new SpawnStorage(ess);
    Location spawn = sp.getSpawn("default");
    
     
  17. This_is_GoOD

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

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

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    С него лог ошибки и дал.Я дал только фрагмент кода,не вижу смысла давать рабочие ивенты.
     
  19. This_is_GoOD

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

    Trophy Points:
    21
    Что-то туплю. Сейчас все решим
     
  20. Ission

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

    Trophy Points:
    173
    Skype:
    lokivava
    Code:
    public void onPlayerMove(PlayerMoveEvent e)
        {
                e.setTo(e.getFrom());
        }
    Вместо отмены.
     
  21. Автор темы
    Novichock

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

    Trophy Points:
    76
    Skype:
    pavel.batalov1
    Спасибо за простое решение.
     
Thread Status:
Not open for further replies.

Share This Page