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

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#21

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#23
через обычный ворлд ген

P.S Да, тему требуется поднять. Собственно пришла мне идея такая - чтобы прогружались строго только те чанки, которые входят в радиус отрисовки. Как бы это хитро провернуть? получить список чанков с клиента и отправлять на сервер заменяя значение там? или как? подскажите, у кого какие идеи, пожалуйста
 

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#24
up
 

Doc

Золотая лига
Сообщения
1,992
Лучшие ответы
104
Симпатии
232
#25

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#26
Окей. Как достать список загруженных чанков и список отрисованных чанков?
 

ZZZubec

Каменная лига
Сообщения
129
Лучшие ответы
4
Симпатии
7
#27
блин, не помню. Помню что сервер хранит эту фигню в виде списка. А также у него есть метод на проверку.
 

Doc

Золотая лига
Сообщения
1,992
Лучшие ответы
104
Симпатии
232
#28

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#29
Собственно я хочу сделать так:
1) Получаю количество отрисованных чанков на клиенте
2) Отправляю это число на сервер
3) присваиваю его константой к числу прогружаемых чанков.
Прокатит так?
 

Doc

Золотая лига
Сообщения
1,992
Лучшие ответы
104
Симпатии
232
#30
1) Отправляю фейк число 2281337 на сервер.
2) Сервер крашится???
 

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#31
:unsure::unsure::unsure:
 

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#32
А вообще есть какой-то сити мод, поищи на курсе... Там тоже город генерируют.
Нашел. 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]
 
Последнее редактирование:

Doc

Золотая лига
Сообщения
1,992
Лучшие ответы
104
Симпатии
232
#33
Так ***а сложно посмотреть как в ванили генерятся нормально большие постройки и как ты обычно делаешь копировать ето к себе?!
 

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#34
Это в начале темы обсуждали, гений ты наш. В ванили самая большая постройка - лесной дом чувака. Там два или три больших куска. У меня здания такого огромного размера, что такими кусками нарезать и генерить ее - это замучаешься. и сопоставлять потом эти кусочки сидеть полдня еще. Нафиг надо)
 

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#35

Doc

Золотая лига
Сообщения
1,992
Лучшие ответы
104
Симпатии
232
#36

RareScrap

Каменная лига
Сообщения
359
Лучшие ответы
11
Симпатии
74
#37
Я не разбираюсь в генерации строений, но чую что лучше написать либу, которая будет разбивать сооружения на 16х16х16 чанки и после их воссоздавать
 

ZZZubec

Каменная лига
Сообщения
129
Лучшие ответы
4
Симпатии
7
#38
Нашел. The Lost Cites. Там иначе. Там не на всю карту. А эти города - это просто такие биомы)

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

Maxik001

Золотая лига
Сообщения
3,936
Лучшие ответы
37
Симпатии
383
#39

Doc

Золотая лига
Сообщения
1,992
Лучшие ответы
104
Симпатии
232
#40
Посмотри рогалик, там есть генерация больше, чем 16х16.
 
Сверху