Принудительное отключение каскадной генерации

Версия Minecraft
1.12.2
5,018
47
783
В общем такое дело. У меня генерируемые обьекты порой гораздо больше чанка и генерируются очень плотненько(город)
Проблема с каскадной генерацией напрягает тем больше,чем больше обьектов ставится. Каким образом можно принудительно разрешать ванили прогрузку(и отрисовку естесно) только тех чанков которые должны быть прогружены а не всех подряд?
 
Последнее редактирование:
5,018
47
783
1,057
50
234
а генеришь через что?
 
5,018
47
783
через обычный ворлд ген

P.S Да, тему требуется поднять. Собственно пришла мне идея такая - чтобы прогружались строго только те чанки, которые входят в радиус отрисовки. Как бы это хитро провернуть? получить список чанков с клиента и отправлять на сервер заменяя значение там? или как? подскажите, у кого какие идеи, пожалуйста
 
3,005
192
592
5,018
47
783
Окей. Как достать список загруженных чанков и список отрисованных чанков?
 
1,038
57
229
блин, не помню. Помню что сервер хранит эту фигню в виде списка. А также у него есть метод на проверку.
 
3,005
192
592
5,018
47
783
Собственно я хочу сделать так:
1) Получаю количество отрисованных чанков на клиенте
2) Отправляю это число на сервер
3) присваиваю его константой к числу прогружаемых чанков.
Прокатит так?
 
3,005
192
592
1) Отправляю фейк число 2281337 на сервер.
2) Сервер крашится???
 
5,018
47
783
А вообще есть какой-то сити мод, поищи на курсе... Там тоже город генерируют.
Нашел. The Lost Cites. Там иначе. Там не на всю карту. А эти города - это просто такие биомы)

Вот, кстати, что происходит когда начинает генерится моя структура.

Java:
[23:15:29] [pool-2-thread-1/WARN] [mojang/YggdrasilMinecraftSessionService]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@20265a6d[id=11e9bf70-b06d-37b5-8fe5-cb8c8adfd22c,name=Player777,properties={},legacy=false]
com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
    at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:79) ~[YggdrasilAuthenticationService.class:?]
    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:180) [YggdrasilMinecraftSessionService.class:?]
    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:60) [YggdrasilMinecraftSessionService$1.class:?]
    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:57) [YggdrasilMinecraftSessionService$1.class:?]
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache.get(LocalCache.java:4154) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) [guava-21.0.jar:?]
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5153) [guava-21.0.jar:?]
    at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:170) [YggdrasilMinecraftSessionService.class:?]
    at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3181) [Minecraft.class:?]
    at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:138) [SkinManager$3.class:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_151]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_151]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
 
Последнее редактирование:
3,005
192
592
Так ***а сложно посмотреть как в ванили генерятся нормально большие постройки и как ты обычно делаешь копировать ето к себе?!
 
5,018
47
783
Это в начале темы обсуждали, гений ты наш. В ванили самая большая постройка - лесной дом чувака. Там два или три больших куска. У меня здания такого огромного размера, что такими кусками нарезать и генерить ее - это замучаешься. и сопоставлять потом эти кусочки сидеть полдня еще. Нафиг надо)
 
5,018
47
783
3,005
192
592
1,159
38
544
Я не разбираюсь в генерации строений, но чую что лучше написать либу, которая будет разбивать сооружения на 16х16х16 чанки и после их воссоздавать
 
1,038
57
229
Нашел. The Lost Cites. Там иначе. Там не на всю карту. А эти города - это просто такие биомы)

Вот, кстати, что происходит когда начинает генерится моя структура.
А ты нахера строишь 1000 блоков в 1 тик? Ты совсем с ума сошел. Строй каждый тик по 100 и будет тебе счастье. У тебя всё равно массив, делить на чанки нет необходимости.
 
5,018
47
783
Сверху