[1.6.4]Спавн предметов.

19
0
Всем Хаюшки. Олдфаги, не могли бы вы помочь написать код блока, у которого будет периодичность спавна предмета, в определённое время, в независимости от того, где находится игрок, и присутствовал радиус спавна данного item'a.
Допустим, я где-то на другом конце карты, а на другом конце стоит этот спавнер, и каждую "минуту" создает новый item в радиусе "10" блоков.
 
Alenka^^ написал(а):
Допустим, я где-то на другом конце карты, а на другом конце стоит этот спавнер, и каждую "минуту" создает новый item в радиусе "10" блоков.
Если не ошибаюсь, то при отсутствии игрока вблизи чанка - последний "замораживается", отключая все тики. Поэтому, скорее всего, не получится.
 
Для этого надо сделать его чанклоадером, смотри код райл крафта (блок ворлд анчор)
 
Tuborg написал(а):
Для этого надо сделать его чанклоадером, смотри код райл крафта (блок ворлд анчор)
Странное решение.
Логично было бы сделать при загрузке чанка (TileEntity) расчет времени, в течении которого чанк был выгружен. И в соответствии с рассчитанным временем производить необходимые действия.
Что-то в этом роде:

Код:
int counter;
int chunk_load_flag;

public void updateEntity() {
    if (!chunk_load_flag) {
        достаем из нбт записанное время и вычисляем, сколько тиков чанк был выгружен.
        спавним предметы в соответствии с рассчитанным временем.
        counter = остаток;
        chunk_load_flag = true;
    } else if (counter != 0) {
        counter--;
    } else {
        тут спавним
        counter = 20 * 60; // кол-во тиков.
    }
    записываем в нбт игровое время в тиках.
}
 
Назад
Сверху