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

Помогите Непонятное мною исключение.

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

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

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

    Баллы:
    46
    Имя в Minecraft:
    Lisenochek
    Народ, почему-то вылезает это исключение, хотя весь функционал плагина работает.

    Помогите:

    Код (Javascript):
    1. package ru.lisenochek.drugs;
    2.  
    3. import org.bukkit.Material;
    4. import org.bukkit.entity.Player;
    5. import org.bukkit.event.EventHandler;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.event.block.Action;
    8. import org.bukkit.event.player.PlayerInteractEvent;
    9. import org.bukkit.inventory.ItemStack;
    10. import org.bukkit.potion.PotionEffect;
    11. import org.bukkit.potion.PotionEffectType;
    12.  
    13. import java.util.Random;
    14.  
    15. public class UseDrugsListener implements Listener {
    16.  
    17.     @EventHandler
    18.     public void useDrugs(PlayerInteractEvent e) {
    19.  
    20.         Player p = e.getPlayer();
    21.  
    22.         if (e.getAction() != Action.RIGHT_CLICK_AIR && e.getAction() != Action.RIGHT_CLICK_BLOCK) return;
    23.         if (!p.getItemInHand().hasItemMeta()) return;
    24.         if (p.getItemInHand().getItemMeta().getDisplayName() == null) return;
    25.  
    26.         if (p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase(DrugList.cocaine.getItemMeta().getDisplayName())) {
    27.             getDrugEffect(p);
    28.         }
    29.  
    30.         if (p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase(DrugList.marihuana.getItemMeta().getDisplayName())) {
    31.             getDrugEffect(p);
    32.         }
    33.     }
    34.  
    35.     public void getDrugEffect(Player p) {
    36.  
    37.         Random r = new Random();
    38.  
    39.         if (p.getItemInHand().getAmount() == 1) {
    40.             p.getInventory().setItem(p.getInventory().getHeldItemSlot(), new ItemStack(Material.AIR));
    41.         } else {
    42.             p.getItemInHand().setAmount(p.getItemInHand().getAmount() - 1);
    43.         }
    44.  
    45.         if (r.nextBoolean()) {
    46.             p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 150, 1));
    47.             p.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 150, 1));
    48.             p.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 150, 1));
    49.  
    50.             p.sendMessage(C.getPrefix() + C.c("&aЧувак, ты такой смешной.... *безудержанный смех*."));
    51.         } else {
    52.             p.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 150, 1));
    53.             p.addPotionEffect(new PotionEffect(PotionEffectType.HUNGER, 150, 1));
    54.             p.addPotionEffect(new PotionEffect(PotionEffectType.NIGHT_VISION, 150, 1));
    55.  
    56.             p.sendMessage(C.getPrefix() + C.c("&aОоо... Чего-то мне нехорошо..."));
    57.         }
    58.     }
    59. }
    60.  

    Исключение:
    Код (Text):
    1. [17:33:11 FATAL]: Error executing task
    2. java.util.concurrent.ExecutionException: java.lang.AssertionError: TRAP
    3.         at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_111]
    4.         at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_111]
    5.         at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:47) [server.jar:git-Spigot-7d78b81-7e19325]
    6.         at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:739) [server.jar:git-Spigot-7d78b81-7e19325]
    7.         at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:399) [server.jar:git-Spigot-7d78b81-7e19325]
    8.         at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:675) [server.jar:git-Spigot-7d78b81-7e19325]
    9.         at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:574) [server.jar:git-Spigot-7d78b81-7e19325]
    10.         at java.lang.Thread.run(Unknown Source) [?:1.8.0_111]
    11. Caused by: java.lang.AssertionError: TRAP
    12.         at net.minecraft.server.v1_11_R1.ItemStack.F(ItemStack.java:94) ~[server.jar:git-Spigot-7d78b81-7e19325]
    13.         at net.minecraft.server.v1_11_R1.ItemStack.setCount(ItemStack.java:822) ~[server.jar:git-Spigot-7d78b81-7e19325]
    14.         at net.minecraft.server.v1_11_R1.PlayerInteractManager.a(PlayerInteractManager.java:403) ~[server.jar:git-Spigot-7d78b81-7e19325]
    15.         at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:957) ~[server.jar:git-Spigot-7d78b81-7e19325]
    16.         at net.minecraft.server.v1_11_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:26) ~[server.jar:git-Spigot-7d78b81-7e19325]
    17.         at net.minecraft.server.v1_11_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:1) ~[server.jar:git-Spigot-7d78b81-7e19325]
    18.         at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) ~[server.jar:git-Spigot-7d78b81-7e19325]
    19.         at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_111]
    20.         at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_111]
    21.         at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) ~[server.jar:git-Spigot-7d78b81-7e19325]
    22.         ... 5 more
     
  2. Mr Hosting
  3. Автор темы
    Lisenochek

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

    Баллы:
    46
    Имя в Minecraft:
    Lisenochek
  4. Larin

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

    Баллы:
    103
    Event отменяй.
     
  5. Автор темы
    Lisenochek

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

    Баллы:
    46
    Имя в Minecraft:
    Lisenochek
    Зачем мне отменять ивент?
     
  6. XjCyan1de

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

    Баллы:
    46
    Имя в Minecraft:
    XjCyan1de
    Должно быть if (тото тото) { действие } else { e.setCanceled = true }
     
  7. Автор темы
    Lisenochek

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

    Баллы:
    46
    Имя в Minecraft:
    Lisenochek
    Ору, спасибо.
    --- Сообщения объединены: 10 янв 2017, предыдущее сообщение: 9 янв 2017 ---
    Проблема вернулась. Иногда по непонятным причинам исключение вылезает вновь!
     
  8. Larin

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

    Баллы:
    103
    Эвент отменяй! Сколько раз тебе говорить?
    Код (Java):
    1.  
    2. if (p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase(DrugList.cocaine.getItemMeta().getDisplayName())) {
    3.     getDrugEffect(p);
    4.     e.setCancelled(true)
    5. }
    6.  
    7. if (p.getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase(DrugList.marihuana.getItemMeta().getDisplayName())) {
    8.     getDrugEffect(p);
    9.     e.setCancelled(true)
    10. }
    11.  
    Что-то вроде этого.
     
  9. Автор темы
    Lisenochek

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

    Баллы:
    46
    Имя в Minecraft:
    Lisenochek
    Лол, я же отменял не в проверках, а после них
     
  10. Larin

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

    Баллы:
    103
    Я не знаю, что и как ты там отменял, напиши как я сказал, должно перестать ошибку выдавать.
     

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