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

Помогите Спавн своих мобов на координатах

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

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

    Lises Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Loxhad
    Здравствуйте, как реализовать спавн своих мобов на определенных координатах? И что бы они респавнились после убийства через некоторое время. Mythic Mobs не предлагать. Если можно код.
     
  2. Exception_Prototype

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

    Баллы:
    96
    Как спавнить мобов ты можешь найти в гугле.
    Далее (при спавне) помечаешь их как то по особенному, может ники специальные, которые в конфиге будут.
    Слушаешь эвент смерти существ, чекаешь умерших на своих и если твои, то запускаешь таймер на повторный спавн спустя N времени.
     
  3. Автор темы
    Lises

    Lises Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Loxhad
    Я это и так знал. Мне нужно именно как спавнить мобов когда игрок подходит к этому чанку.
     
  4. Автор темы
    Lises

    Lises Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Loxhad
    Так, что кто нибудь может предоставить код?
     
  5. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Проверяй в каком чанке находится игрок и сравнивай с тем, какой тебе нужен.
     
  6. Автор темы
    Lises

    Lises Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Loxhad
    Я так понимаю, тут нету никого, кто в состоянии дать код. А так мне нужно хоть каким образом спавнить своих мобов, когда игрок рядом с местом спавна.
     
  7. Fr0Le

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

    Баллы:
    66
    Имя в Minecraft:
    Fr0Le
    CustomNPC :D
     
  8. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    if(player.getLocation().distance(10)) {
    } Как вариант
     
  9. Автор темы
    Lises

    Lises Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Loxhad
    Во спасибо, буду пробовать.
     
  10. Автор темы
    Lises

    Lises Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Loxhad
    Смотри, мне нужно чтобы например в дистанции 20 блоков от заданной точки, по определенным координатам спавнились мобы. И куда это можно запихать?
     
  11. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    При спавне проверяй, есть ли какой игрок в радиусе 20 блоков, если есть спавн, если нет - нет
     
  12. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    if (mob.getLocation().distance(20)) {
    location.getWorld().spawnEntity(EntityType.ZOMBIE, location);
    }
     
  13. Автор темы
    Lises

    Lises Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Loxhad
    Куда запихать эту проверку?
     
  14. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Ты издеваешься? Я тебе выше написал все
     
  15. Exception_Prototype

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

    Баллы:
    96
    Вот по этому я не кидаю код, только в исключительных случаях.
     
  16. hyndorik

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

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    В окно попробуй, и себя сразу тоже
     
  17. TheZefirrkka

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

    Баллы:
    76
    Не слушай учителей выше, просто создай лист с локациями ровно 20 блоков от точки и рандомом спавни их там...
    Метод создания локаций:

    public void makeCircle(Location loc, Integer r) {
    int x;
    int y = loc.getBlockY();
    int z;

    for (double i = 0.0; i < 360.0; i += 0.1) {
    double angle = i * Math.PI / 180;
    x = (int)(loc.getX() + r * Math.cos(angle));
    z = (int)(loc.getZ() + r * Math.sin(angle));
    nList.add(new Location(loc.getWorld(), x, y, z));
    }
    }
    Метод спавна энтити на этих локациях:
    public void randomSpawn(){
    Location loc = nList.get(new Random().nextInt(nList.size()));
    loc.spawnEntity....
    }
    i += 0.1 //0.1 можешь заменить на 1 или выше, если слишком много локаций будет.
     
    Последнее редактирование: 9 янв 2018
  18. HunterGaming

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

    Баллы:
    96
    Имя в Minecraft:
    sqdFendy
    Ты дурак? Читай что ему нужно Вася.
     
  19. Neither

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

    Баллы:
    61
    Вроде ему не это надо, ну да ладно. Я решил попробовать и не вникаю, как создать nList?
     
  20. TheZefirrkka

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

    Баллы:
    76
    Слит ты крч, можешь ничего не отвечать.
     

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