Помогите Неудаляющиеся entity

Статус
Закрыто для дальнейших ответов.

pro100koder

Активный участник
Пользователь
Баллы
76
В общем, сам не нашёл, а в самом eclipse нет автовывода "setPersistence" и т. п. Просто делаю неких мобов, которые имеют свою точку респавна. Как на пример в RPG всяких... Или как крысы с prison-a. Просто сохраняю UUID каждого моба в объект с его точкой респы, потом при смерти моба с этим UUID респаю нового. Да, криворуко. Может быть есть другой способ... Короче всё равно надо бы сделать этих мобов неисчезающими.
 
Я не понял, что ты хочешь получить в итоге: мобов, которых можно убивать и которые после некоего КД ресаются на определенной локации или мобов, которых нельзя убивать?
 
Я не понял, что ты хочешь получить в итоге: мобов, которых можно убивать и которые после некоего КД ресаются на определенной локации или мобов, которых нельзя убивать?
Судя по всему автор желает сделать мобов, которые не удаляются при разгрузке чанков. Для этого действительно используется метод у мобов setPersistent(boolean persistent), который помечен, как deprecated.
 
Draft API, его добавили недавно, в 1.13.1
Так если я сделаю этих мобов не-исчезающими, а при смерти этого моба начну подключать КД до респы, такой костыль сбою не даст? А то циклить мир каждую секунду, наверное, сильно грузить будет, т. к. мобов в мире планируется не мало...
 
Draft API, его добавили недавно, в 1.13.1
Что-то я не догоняю... Так какая замена методу setPersistent()? Ну или как это узнать... Просто написать в гугле - нет, дадут то, что я не понимаю... Вот честно скажу, нифига не понимаю: https://hub.spigotmc.org/stash/proj...s/master&sourceBranch=refs/heads/version/1.11
 
Так если я сделаю этих мобов не-исчезающими, а при смерти этого моба начну подключать КД до респы, такой костыль сбою не даст? А то циклить мир каждую секунду, наверное, сильно грузить будет, т. к. мобов в мире планируется не мало...
setPersistent - это сохранение моба при выключении сервера. Зачем тебе это?
 
setPersistent - это сохранение моба при выключении сервера. Зачем тебе это?
Моб перестает деспавниться на больших от игрока расстояниях.

Так если я сделаю этих мобов не-исчезающими, а при смерти этого моба начну подключать КД до респы, такой костыль сбою не даст? А то циклить мир каждую секунду, наверное, сильно грузить будет, т. к. мобов в мире планируется не мало...
Если у тебя много различных типов мобов - создай мапу из типа убитого моба и времени его смерти( Map<String,Double> или вроде того, хз в чем хранишь тип). Вместо создания нового шедулера после каждого убитого - сделай один шедулер для спавна с таймером на каждые 5-10 секунд, в котором будешь прогонять циклом по мапе, и если кулдаун прошел, а также нужный чанк прогружен - спавнь моба.
 
Draft API, его добавили недавно, в 1.13.1
Нашёл некий setRemoveWhenFarAway(false);, это оно?
Моб перестает деспавниться на больших от игрока расстояниях.


Если у тебя много различных типов мобов - создай мапу из типа убитого моба и времени его смерти( Map<String,Double> или вроде того, хз в чем хранишь тип). Вместо создания нового шедулера после каждого убитого - сделай один шедулер для спавна с таймером на каждые 5-10 секунд, в котором будешь прогонять циклом по мапе, и если кулдаун прошел, а также нужный чанк прогружен - спавнь моба.
А с чего ты взял, что я так и не сделал? Мне просто нужно, чтобы небыло такого: игрок приходит в локацию, а там... Никого тупо нет. Ладно, проблему я уже решил сам... setRemoveWhenFarAway(false); и в цикле (20 тиков) во-круг всех игроков на 20 блоков ищу этих мобов, сравниваю id, удаляю забагованных. А, и ещё спавню нормальных, если от игроков на 20 блоков есть "точка спавна", в которой таймер до респы дотикал. Крч закостылил всё, тема закрыта.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх