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

Плагин [FUN/RPG/TP]DragonItem - вещи дракона с абилками и анимацией![1.7.2-1.12]

Тема в разделе "Неподтвержденные плагины", создана пользователем misha33165, 22 июл 2017.

  1. Автор темы
    misha33165

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

    Баллы:
    68
    Версия 4.0 добавлена на Bukkit.
     
  2. Zemf4you

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

    Баллы:
    76
    Имя в Minecraft:
    zemf4you
    Ну ты и зверь :D
     
  3. Автор темы
    misha33165

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

    Баллы:
    68
    Версия 5.0 добавлена на Bukkit.
     
  4. KuroyuriLP

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

    Баллы:
    66
    Что за ошибка?

    [16:24:15] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to DragoItem v5.0
    org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Spigot.jar:git-Spigot-65e8124-79e55b6]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Spigot.jar:git-Spigot-65e8124-79e55b6]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:234) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:458) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:945) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_92]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_92]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [Spigot.jar:git-Spigot-65e8124-79e55b6]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]
    Caused by: java.lang.NullPointerException
    at Drago.main.DragoCross.prbog(DragoCross.java:121) ~[?:?]
    at Drago.main.DragoCross.Cross(DragoCross.java:108) ~[?:?]
    at Drago.main.DragoCross.Cross_use_on_himself(DragoCross.java:45) ~[?:?]
    at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source) ~[?:?]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_92]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_92]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[Spigot.jar:git-Spigot-65e8124-79e55b6]
    ... 17 more
     
  5. Автор темы
    misha33165

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

    Баллы:
    68
     
  6. KuroyuriLP

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

    Баллы:
    66
    Спасибо
     
  7. Автор темы
    misha33165

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

    Баллы:
    68
    Версия 5.1 готова. Жду проверки Bukkit.
     
  8. Автор темы
    misha33165

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

    Баллы:
    68
    Версия 5.2 добавлена на Bukkit. Скоро загружу русскую версию.
     
  9. Автор темы
    misha33165

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

    Баллы:
    68
  10. Автор темы
    misha33165

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

    Баллы:
    68
    Версия 5.3 добавлена на Bukkit.
     
  11. iD3LSY

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

    Баллы:
    76
    Ой мда... Не знаю, че ты там так глобально обновляешь, что сразу за месяц 1.0->5.0, но ок. Предложения по коду:
    1. Код:
      meta.addEnchant(Enchantment.PROTECTION_ENVIRONMENTAL, this.ench("leggings", "PROTECTION_ENVIRONMENTAL"), true);
      meta.addEnchant(Enchantment.PROTECTION_EXPLOSIONS, this.ench("leggings", "PROTECTION_EXPLOSIONS"), true);
      meta.addEnchant(Enchantment.PROTECTION_FIRE, this.ench("leggings", "PROTECTION_FIRE"), true);
      meta.addEnchant(Enchantment.PROTECTION_PROJECTILE, this.ench("leggings", "PROTECTION_PROJECTILE"), true);
      meta.addEnchant(Enchantment.DURABILITY, this.ench("leggings", "DURABILITY"), true);
      meta.addEnchant(Enchantment.THORNS, this.ench("leggings", "THORNS"), true);
      Чтобы такого избежать, предлагаю создание билдера предметов. Вроде методы таких классов называются конвейерными.

      Код:
      class Test {
      
          private String text;
      
          Test(String text) {
              this.text = text;
          }
      
          Test() {
              this.text = new String();
          }
      
          public Test append(String text) {
              this.text += text;
              return this;
          }
      
          public String build() {
              return text;
          }
      
      }

      За место текста ставишь туда итемстак, фигачишь себе методов хоть миллион, но предметы можно будет делать в одну строку спокойно. Тут не у меня еврейская душенка, а просто легче использовать.

    2. Создать метод создания крафта с предметом, ShapedRecipe как параметрами, т.е.
      Код:
      public void registerCraft(ItemStack item, ShapedRecipe recipe) {
          // ...
      }
    3. Замена альтернативного символа цвета (перевел так altColorChar) не через
      Код:
      public String color(String s) {
          s = s.replace("&", "§");
          return s;
      }
      А через уже существующий в бакките без тебя класс ChatColor, а точнее метод translateAlternateColorCodes. Пример использования:
      Код:
      String text = "&aЗеленый текст.";
      text = ChatColor.translateAlternateColorCodes('&', text);
    4. Обновляемся до Java 8 (Stream API). Тоже твой метод замены всех цветов в листе
      Код:
      public List<String> color(List<String> str) {
          for (String s : str) {
              s = s.replace("&", "§");
          }
      
          return str;
      }
      Через Stream API:
      Код:
      public List<String> color(List<String> str) {
          return str.stream().map(s -> ChatColor.translateAlternateColorCodes('&', s)).collect(Collectors.toList());
      }
      Многие части твоего кода можно абсолютно также уменьшить через Stream API. Советую к изучению.

    5. Ну а также много другого (лень читать весь твой код). 5-ый пункт могу написать лишь чисто по замечаниям относительно ВСЕХ твоих классов.
      У всех свои предпочтения, но реально, переходя от мелких разработок лучше начать и соблюдать правила оформления.
    А теперь хочу подметить, что все выводы сделал на основе 1 класса. Реально, дальше читать было лень. Не-чи-та-бель-но.
     
  12. Автор темы
    misha33165

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

    Баллы:
    68
    Спасибо за замечания! Потихоньку буду исправлять.
     
  13. Niebher

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

    Баллы:
    68
    Имя в Minecraft:
    Niebher
    Будут обновления?а то русской версии 5.3 на баките не вижу.
     
  14. Niebher

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

    Баллы:
    68
    Имя в Minecraft:
    Niebher
    Анимация дракона не отключается.
     
  15. MarshalSadness

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

    Баллы:
    46
    Имя в Minecraft:
    MarshalSadness
    Если ты заменишь алмазные предметы на золотые, то будет все это дело выглядеть более тематично.
     
  16. Niebher

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

    Баллы:
    68
    Имя в Minecraft:
    Niebher
    Обнова будет когда нибудь?
     
  17. Автор темы
    misha33165

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

    Баллы:
    68
    Да, сегодня снова взялся за дело.
     
  18. Автор темы
    misha33165

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

    Баллы:
    68
    Версия 6.0 добавлена.
     
  19. Автор темы
    misha33165

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

    Баллы:
    68
    Версия 6.1 добавлена.
     
  20. Sellengers

    Sellengers Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Sellenger
    Что-то файла нет для скачивания..
     

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