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

Помогите Не работает цикл

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

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

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

    Баллы:
    66
    Skype:
    louky94096
    Имя в Minecraft:
    Jusik
    Код:
     public void onEnable()
      {
        new Thread(){
            public void run(){
                try{
                    while(true){
                        Thread.sleep(2000);
                        logs();
                    }
                }catch(Exception ex){}
            }
        }.start();
    }
    Код:
     public void logs(){
          Location l = new Location(Bukkit.getServer().getWorld("world_sp"), 1, 251,1);
          LivingEntity spawnedmob = (LivingEntity) Bukkit.getWorld("world_sp").spawnEntity(l, EntityType.WITHER_SKELETON);
              spawnedmob.setCustomNameVisible(true);
              spawnedmob.setCustomName("SKELETON");
                spawnedmob.setCanPickupItems(false);
              spawnedmob.setHealth(40);
              spawnedmob.getEquipment().setBoots(new ItemStack(Material.IRON_BOOTS));
              spawnedmob.getEquipment().setBootsDropChance(0);
              System.out.println("SpAWN WITCHER_SKELETON!");
      }
    Даже ошибки в консоле нет.
     
  2. Хостинг MineCraft
    <
  3. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
  4. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Чтобы ошибка выводилась в консоль, нужно добавить это:
    Код:
    ex.printStackTrace();
    Смысл? Компилятор сам подставит long.
     
  5. Автор темы
    jusik

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

    Баллы:
    66
    Skype:
    louky94096
    Имя в Minecraft:
    Jusik
    Не помогло[DOUBLEPOST=1482416605,1482416450][/DOUBLEPOST][16:22:28 WARN]: java.lang.IllegalStateException: Asynchronous entity add!
    [16:22:28 WARN]: at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:1
    4)
    [16:22:28 WARN]: at net.minecraft.server.v1_11_R1.World.addEntity(World.j
    ava:1013)
    [16:22:28 WARN]: at net.minecraft.server.v1_11_R1.WorldServer.addEntity(W
    orldServer.java:1082)
    [16:22:28 WARN]: at org.bukkit.craftbukkit.v1_11_R1.CraftWorld.addEntity(
    CraftWorld.java:1178)
    [16:22:28 WARN]: at org.bukkit.craftbukkit.v1_11_R1.CraftWorld.spawn(Craf
    tWorld.java:1185)
    [16:22:28 WARN]: at org.bukkit.craftbukkit.v1_11_R1.CraftWorld.spawn(Craf
    tWorld.java:850)
    [16:22:28 WARN]: at org.bukkit.craftbukkit.v1_11_R1.CraftWorld.spawnEntit
    y(CraftWorld.java:354)
    [16:22:28 WARN]: at main.Main.logs(Main.java:42)
    [16:22:28 WARN]: at main.Main$1.run(Main.java:24)
    >
     
  6. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Спавнить моба (да и вообще проводить любые манипуляции с игровым миром) из другого потока - плохая идея. Перенеси спавн моба в обычный Bukkit шедулер.
     
  7. Автор темы
    jusik

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

    Баллы:
    66
    Skype:
    louky94096
    Имя в Minecraft:
    Jusik
    Спасибо хотябы ошибку видно.[DOUBLEPOST=1482416832,1482416744][/DOUBLEPOST]Хорошо.[DOUBLEPOST=1482417104][/DOUBLEPOST]
     
  8. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Ну хз. Сегодня плагин делал, сделал точно также. 2000. Нифига не работало. Добавил l и заробило. Значит эклипс не слишком умный компилятор.
     
  9. AtomicInteger

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

    Баллы:
    46
    Эклипс это не компилятор :D
     
  10. gamerforEA

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

    Баллы:
    143
    Skype:
    sk2000sk1
    Имя в Minecraft:
    gamerforEA_MCPC
    Да, но Eclipse использует свой собственный компилятор.
     
  11. AtomicInteger

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

    Баллы:
    46
    Никогда его не любил.
     
  12. Sonicxd2

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

    Баллы:
    76
    Он работает с баккитом в другом потоке, не не всё нормально...[DOUBLEPOST=1482422775,1482422729][/DOUBLEPOST]Извиняюсь не увидел сообщения выше:3
     
  13. alexandrage

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

    Баллы:
    173
    Skype:
    alexandr0116
    Тут нужна небольшая хитрость.

    Код:
         public void logs(){
            this.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
                @Override
                public void run() {
                      Location l = new Location(Bukkit.getServer().getWorld("world_sp"), 1, 251,1);
                      LivingEntity spawnedmob = (LivingEntity) Bukkit.getWorld("world_sp").spawnEntity(l, EntityType.WITHER_SKELETON);
                          spawnedmob.setCustomNameVisible(true);
                          spawnedmob.setCustomName("SKELETON");
                          spawnedmob.setCanPickupItems(false);
                          spawnedmob.setHealth(40);
                          spawnedmob.getEquipment().setBoots(new ItemStack(Material.IRON_BOOTS));
                          spawnedmob.getEquipment().setBootsDropChance(0);
                          System.out.println("SpAWN WITCHER_SKELETON!");
                }
            
            }, 0);
          }
     
    Последнее редактирование: 22 дек 2016
  14. slavik123123123

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

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    Чьябы корова мычала...
    К чему это, я не скажу, и так скоро возможно поймёшь.
     

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