- 437
- 41
- 112
С некоторой вероятностью, при генерации моей структуры в мире, часть структуры на границе чанков просто ,,обрезается,, не вызывая никаких исключений. Подскажите как избежать этого?
Код генерации структуры (на всякий случай) ниже
Так же меня очень долго мучает вопрос об асинхронной генерации структур, но там, то 1 исключение вылезет, залатаю с помощью миксинов - второе, и так по кругу, хотел спросить, может где реализовано это уже, хочу ,,позаимствовать,,
Код генерации структуры (на всякий случай) ниже
Java:
//более быстрый аналог ванильного Template
public void build(World world, int x, int y, int z, SettingsFolder settingsFolder, Random rand) {
if(stolbs.length>0){
int prewReqChunkX = Integer.MIN_VALUE;
int prewReqChunkZ = Integer.MIN_VALUE;
Chunk chunk = null;
for(Stolb stolb:stolbs){ //цикл по ,,столбам,, структуры
int reqX = (stolb.x+x)>>4;
int reqZ = (stolb.z+z)>>4;
//экономлю немного процессора на получении чанков
//оно всегда истинно в первую итерацию
if(reqX != prewReqChunkX || reqZ != prewReqChunkZ){
prewReqChunkX = reqX;
prewReqChunkZ = reqZ;
chunk = world.getChunk(reqX, reqZ);
}
int bx = stolb.x + x;
int bz = stolb.z + z;
for(StolbInfo inf:stolb.blocks){ //цикл по блокам столба
int by = y + inf.y;
if(by<255 && by>0){
chunk.setBlockState(new BlockPos(bx, by, bz), inf.state);
}
}
}
}
}
Так же меня очень долго мучает вопрос об асинхронной генерации структур, но там, то 1 исключение вылезет, залатаю с помощью миксинов - второе, и так по кругу, хотел спросить, может где реализовано это уже, хочу ,,позаимствовать,,
Последнее редактирование: