Рандомные координаты

Версия Minecraft
1.12.2
5,018
47
783
Здравствуйте еще раз. У меня вопрос - мне нужно получить координаты рандомного блока из прогруженных чанков. Каким бы образом можно это провернуть?
Отсчет от игрока не предлагать - не вариант. Точнее, накостылить с сохранением последней позиции игрока в WSD и тому подобной костыльной гадостью, вариант, но во первых это костыль, а во вторых я с WSD не в ладах :)
 
5,018
47
783
Я же писал, я так делал, ему вообще по барабану...(
bandicam 2018-07-08 22-56-28-959.jpg
 
Последнее редактирование:
476
9
39
Поставь идею и глянь в дебагере(поставь точку остановки в нужном месте и гляди чего там произошло)
 
5,018
47
783
1,470
19
189
Оскорбление и провокация
476
9
39
А что тут смотреть то, кстати..?
Variables, добавь там New Watch к переменной например. Дебагер, обычно на нужном месте сам вывести список активных переменных.
Лучше рандом с "Y" вынеси в переменную локальную, специально для дебагера, чтобы он её увидел.
 
5,018
47
783
Если я правильно понял, как этим пользоваться.. Блок нулл походу...
1531080930854.png
 
476
9
39
Если я правильно понял, как этим пользоваться.. Блок нулл походу...
Если ты из него достаёшь значения для координат, то да, это может быть причиной, если нет ищи дальше. Насколько я понял у тебя рандом игрика(Y) никак не связан с тем блоком. Вынеси его в переменную например randY и гляди в Variables
 
5,018
47
783
Нет, я достаю значение координат из чанка. Хмм, так, ватч поставил, переменную сделал.. ща проверим
UP: y = 6. В блок позе из него почему то уже достается -1...
1531081324211.png
 
476
9
39
Подожди, у чанка нету высоты вот тебе и -1 возвращает
 
5,018
47
783
Ну нету, это я и изначально знал. Он говорит - у меня нету высоты, а я ему говорю - теперь есть и высота у тебя шесть, а он - *игнорирует*
¯\_(ツ)_/¯
 
7,099
324
1,510
Какая вероятность? Ты о чем?
О вероятности. Я не знаю, что тут непонятного.
Понижается вероятность получить какой-то определенный блок с ростом списка всех возможных блоков?
Решение изи: нарезаем список возможных блоков на равные куски постоянного размера, и из каждого куска получаем блок. Т.е. для каждого блока будет всегда постоянная вероятность. Только один кусок будет иногда меньше, чем остальные
 
Последнее редактирование:
476
9
39
высота у тебя шесть, а он - *игнорирует*
Именно ты можешь глянуть метод чанка и увидишь, что высоту он просто не возвращает, от слова вообще. Не важно есть она или нет.
А, сорян, перепутал с одноименным методом у чанков.
Попробуй просто без обёртки передавать BlockPos.
Ещё есть вероятность, что он генерирует -1, или тупо не может найти блок с нужными координатами.(world.getTopSolidOrLiquidBlock)
 
5,018
47
783
Всм без обертки... без отдельного метода этого? Прям в эвенте? Так тоже самое будет, пробовал.
 
Сверху