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

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

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

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

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

    Trophy Points:
    66
    Skype:
    louky94096
    Имя в Minecraft:
    Jusik
    Code:
     public void onEnable()
      {
        new Thread(){
            public void run(){
                try{
                    while(true){
                        Thread.sleep(2000);
                        logs();
                    }
                }catch(Exception ex){}
            }
        }.start();
    }
    Code:
     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 Старожил Пользователь

    Trophy Points:
    143
    Имя в Minecraft:
    Leymooooooooooo
  4. gamerforEA

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

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

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

    Trophy Points:
    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 Старожил Пользователь

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Code:
         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);
          }
     
    Last edited: Dec 22, 2016
  14. slavik123123123

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

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

Share This Page