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

Помогите Проблема с плагином UralClans

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

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

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

    Баллы:
    66
    Имя в Minecraft:
    DeadDiesel
    В общем, проблема такая, у меня сервер держится на версии 1.9
    С плагином UralClans вылезает ошибка , хотя , как ни странно, плагин старый, но на версию 1.9 подходит, я заметил в консоли ошибку связанную с этим плагином при проверке DeathMessages
    Как бы версия новая, я положил в раздатчик стрелы с эффектами [Момент. урон и тд] и начал себя убивать, с каждым выстрелом , даже обычным выстрелом от скелета или тупо от стрелы ошибка засоряет консоль. Сам я не от мира сего, Java не владею, декомпилить плагины и залезать в исходник тоже, так, только в конфигах лажу и настраиваю под сервер. Помогите исправить ошибку, заранее сяб!
    Код:
    [21:55:22 ERROR]: Could not pass event EntityDamageByEntityEvent to UralClans v1
    .0
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:310) ~[Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62) ~[Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:502) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:487) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callEvent(Craf
    tEventFactory.java:89) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.callEntityDama
    geEvent(CraftEventFactory.java:570) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.handleEntityDa
    mageEvent(CraftEventFactory.java:479) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at org.bukkit.craftbukkit.v1_9_R1.event.CraftEventFactory.handleLivingEn
    tityDamageEvent(CraftEventFactory.java:602) [Spigot.jar:git-Spigot-944aa20-11e8c
    6d]
            at net.minecraft.server.v1_9_R1.EntityLiving.damageEntity0(EntityLiving.
    java:1211) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.EntityHuman.damageEntity0(EntityHuman.ja
    va:839) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.EntityLiving.damageEntity(EntityLiving.j
    ava:824) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.EntityHuman.damageEntity(EntityHuman.jav
    a:763) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.EntityPlayer.damageEntity(EntityPlayer.j
    ava:497) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.EntityArrow.a(EntityArrow.java:268) [Spi
    got.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.EntityArrow.m(EntityArrow.java:188) [Spi
    got.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.EntityTippedArrow.m(EntityTippedArrow.ja
    va:68) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.World.entityJoinedWorld(World.java:1612)
    [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.World.g(World.java:1587) [Spigot.jar:git
    -Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.World.tickEntities(World.java:1421) [Spi
    got.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.WorldServer.tickEntities(WorldServer.jav
    a:629) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:7
    92) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:4
    00) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:6
    60) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java
    :559) [Spigot.jar:git-Spigot-944aa20-11e8c6d]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_101]
    Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Arrow.getShooter()Lorg
    /bukkit/entity/LivingEntity;
            at ru.jampire.bukkit.uralclans.EventListener.EntityDamageByEntityEvent(E
    ventListener.java:53) ~[?:?]
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0
    _101]
            at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0
    _101]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1
    .8.0_101]
            at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:306) ~[Spigot.jar:git-Spigot-944aa20-11e8c6d]
            ... 24 more
    Вот сам исходник:
     

    Вложения:

  2. Хостинг MineCraft
    <
  3. _MediaNik_

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

    Баллы:
    46
    Skype:
    Medianik5
    Имя в Minecraft:
    _MediaNik_
    Ну там же написано: в пути src/ru/jampire/bukkit/uralclans/EventListener.java на строке 53 ошибка
     
  4. Автор темы
    dead.diesel

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

    Баллы:
    66
    Имя в Minecraft:
    DeadDiesel
    Это мне ничего не сказало, я же писал выше , что не мастак в исходниках и джаве[DOUBLEPOST=1470139561,1470139499][/DOUBLEPOST]Или слеп или ничего не вижу , просто помогите исправить , исходник кинул
     
  5. Serrrgio

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

    Баллы:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    там все просто, ошибка возникает когда стрелу пускает не игрок (раздатчик), нужно делать дополнительную проверку, или убрать ту которая есть
    Код:
    Entity d = event.getDamager();
    if (d instanceof Arrow) {
    d = ((Arrow)d).getShooter();
    ошибка здесь d = ((Arrow)d).getShooter();
    что-то типа
    Код:
    if (d.getShooter() instanceof Player) {
    с зельками та же фигня, зельку может бросить ведьма
     
  6. Автор темы
    dead.diesel

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

    Баллы:
    66
    Имя в Minecraft:
    DeadDiesel
    Насчет игрока не проверял, но возможно тоже будет вылезать, от скелета с луком вылезает ошибка
     
  7. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Arrow.getShooter()Lorg/bukkit/entity/LivingEntity;
     
  8. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Нужно просто с новым ядром собрать и поидее все норм будет.
     
  9. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Просто другой метод вызывать. Всё.
     
  10. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Нету другого метода. На 1.5.2 и 1.9 getShooter вызывается из разных классов. На 1.5.2 из LivingEntity на 1.9 вроде из Projectile(Source).
     
  11. Автор темы
    dead.diesel

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

    Баллы:
    66
    Имя в Minecraft:
    DeadDiesel
  12. mine88

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

    Баллы:
    143
    Имя в Minecraft:
    null
    Это раздел помщи для разработчиков, а не для ошибок плагинов, которые созданы не тобой
    @RikkiLook
     
  13. Автор темы
    dead.diesel

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

    Баллы:
    66
    Имя в Minecraft:
    DeadDiesel
    Это тот раздел, и так отделался предупреждением
     
  14. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    ProjectileSource shooter = event.getDamager().getShooter();
     
  15. Автор темы
    dead.diesel

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

    Баллы:
    66
    Имя в Minecraft:
    DeadDiesel
    EventListener.class
    Код:
    package ru.jampire.bukkit.uralclans;
    
    import org.bukkit.ChatColor;
    import org.bukkit.entity.Arrow;
    import org.bukkit.entity.Entity;
    import org.bukkit.entity.Player;
    import org.bukkit.entity.ThrownPotion;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.EventPriority;
    import org.bukkit.event.Listener;
    import org.bukkit.event.entity.EntityDamageByEntityEvent;
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerKickEvent;
    import org.bukkit.event.player.PlayerQuitEvent;
    
    public class EventListener
      implements Listener
    {
      @EventHandler
      public void PlayerJoinEvent(PlayerJoinEvent event)
      {
        if (Clan.hasMember(event.getPlayer().getName())) {
          event.getPlayer().sendMessage(ChatColor.GREEN + Clan.getClanByName(event.getPlayer().getName()).getWelcome());
        }
      }
     
      @EventHandler
      public void PlayerQuitEvent(PlayerQuitEvent event)
      {
        if (Request.hasRequest(event.getPlayer())) {
          Request.deny(Request.get(event.getPlayer()));
        }
      }
     
      @EventHandler
      public void PlayerKickEvent(PlayerKickEvent event)
      {
        if (Request.hasRequest(event.getPlayer())) {
          Request.deny(Request.get(event.getPlayer()));
        }
      }
     
      @EventHandler(priority=EventPriority.HIGHEST)
      public void AsyncPlayerChatEvent(AsyncPlayerChatEvent event)
      {
        if ((Clan.hasMember(event.getPlayer().getName())) && (event.getFormat().contains("!clantag!"))) {
          event.setFormat(event.getFormat().replace("!clantag!", "[" + Clan.getClanByName(event.getPlayer().getName()).getName() + "]"));
        } else {
          event.setFormat(event.getFormat().replace("!clantag!", ""));
        }
      }
     
      @EventHandler
      public void EntityDamageByEntityEvent(EntityDamageByEntityEvent event)
      {
        if ((event.getEntity() instanceof Player))
        {
          Entity d = event.getDamager();
          if ((d instanceof Arrow)) {
            d = ((Arrow)d).getShooter();
          } else if ((d instanceof ThrownPotion)) {
            d = ((ThrownPotion)d).getShooter();
          }
          if ((d instanceof Player))
          {
            Player damager = (Player)d;
            Player attacker = (Player)event.getEntity();
            if ((Clan.hasMember(damager.getName())) && (Clan.hasMember(attacker.getName())) &&
              (Clan.getClanByName(damager.getName()).hasClanMember(attacker.getName())))
            {
              damager.sendMessage(ChatColor.RED + "������ ����� ��������� � ����� �����!");
              event.setCancelled(true);
            }
          }
        }
      }
    }
    
     
  16. Serrrgio

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

    Баллы:
    173
    Skype:
    nonecsa
    Имя в Minecraft:
    None
    убери строки с 60 по 64 включительно
     
  17. Автор темы
    dead.diesel

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

    Баллы:
    66
    Имя в Minecraft:
    DeadDiesel
    А чем я Вам уберу их?
    Jd Gui только для просмотра кода.
    На данный момент я знаю о InClassTranslator что в принципе не поможет проблеме. Он просто удаляет содержимое переменной,а не вывод её самой.
     
  18. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Пересобери, делов - то.
     
  19. Автор темы
    dead.diesel

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

    Баллы:
    66
    Имя в Minecraft:
    DeadDiesel
    Где? В InClassTranslator? Я глуп в этом деле
     
  20. xDark

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

    Баллы:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    Eclipse, NetBeans & etc[DOUBLEPOST=1471462632,1471462389][/DOUBLEPOST]java -jar BuildData/bin/SpecialSource-2.jar map -m CraftBukkit/deprecation-mappings.csrg -i MyPlugin.jar -o MyPlugin-fixed.jar
    ----------
    BuildTools
     
  21. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Во только хотел это же написать =(( успел!
     
Статус темы:
Закрыта.

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