Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Удаление энтити из мира

CraftCoder

Старожил
Пользователь
Баллы
108
Имя в Minecraft
CraftCoderr
Как полностью удалить энтити из мира.
Я делаю так:
Код:
entity.getLocation.getChunk.load
entity.remove
Но все равно не удаляется если не прогружен этот чанк.
 
Я не знаю подробностей работы API с чанками, но, возможно, после .load следует дождаться события OnChunkLoaded или типа того? Вдруг load только помечает его как необходимый для загрузки и она выполняется немного позже по факту?
 
Суть в том что метод remove не удаляет энтитю, он самом деле просто выставляет внутренний флаг чтобы энтитя удалилась на следующем тике. Но в случае чанка рядом с которым никого нет этот чанк выгрузится раньше чем энтитя удалится. Поэтому чанк нужно держать загруженным хотя-бы 2 тика.
 
А как правильно удерживать чанки загруженными?
 
Т.е. мне нужные чанки добавлять в очередь и не отгружать 2 тика? А это большая нагрузка? Есть другой способ удалить энтитю?
Смотря как считать, сама загрузка чанка уже дело небыстрое.
Другое способ - ручками читать файлы чанков и удалять записи об энтитях.
 
Смотря как считать, сама загрузка чанка уже дело небыстрое.
Другое способ - ручками читать файлы чанков и удалять записи об энтитях.
А по-проще нет ничего?
Смотря как считать, сама загрузка чанка уже дело небыстрое.
Другое способ - ручками читать файлы чанков и удалять записи об энтитях.
Я придумал, я сделаю глобальный лист с айдишками энтитей и при подгрузке чанка будут удалять энтитю, если ее айди есть в листе.
ОФФТОП:
Если у меня есть в мире блок сундук и я этому блоку поставлю тип AIR, то что будет?
 
А по-проще нет ничего?

Я придумал, я сделаю глобальный лист с айдишками энтитей и при подгрузке чанка будут удалять энтитю, если ее айди есть в листе.
ОФФТОП:
Если у меня есть в мире блок сундук и я этому блоку поставлю тип AIR, то что будет?
Будет воздух, блоки то сразу меняются.
 
Будет воздух, блоки то сразу меняются.
А вещи из сундука не выпадут?
Во время этого эвента уже можно удалять энтити? Или нужно ждать?
Будет воздух, блоки то сразу меняются.
Похоже, что вещи из него дропаются(
 
А если телепортировать энтити на спавн и удалять там?
Возможно, скрывать при этом и изолировать ото всех.
 
А если телепортировать энтити на спавн и удалять там?
Возможно, скрывать при этом и изолировать ото всех.
А оно нормально тпшнется если чанк не прогружен? Кстати, я слышал, что в каждом мире есть определенные чанки, которые загружены независимо не от чего. Как их узнать?
 
Тп в мир 0, на спавн, можно даже по у под блоки, например у=-2, падать будет явно больше 2х тиков.
 
Тп в мир 0, на спавн, можно даже по у под блоки, например у=-2, падать будет явно больше 2х тиков.
Я так понял эти подгруженные чанки называются спавн чанками и находятся возле спавна мира. Сейчас попробую тпшить в спавн мира и удалять.
Какого хрена у энтити меняется айди при отгрузке чанка?
 

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

Назад
Верх