I looked at the code a liitle bit. I found this piece of code where you are setting the block type to air (at the top) and then doing it again (the last line I coppied) with some code in between that has no effect on the second place where its set to air. Sure, its not an error, it will not cause problems with the program but also its useless.
for (int blockiter = 0; blockiter < chunksize * chunksize * chunksize; blockiter++) {
world[chunkiter][blockiter].type = air;
// Calculate chunk coordinates
int chunkx = chunkiter % Worldx;
int chunky = (chunkiter / Worldx) % Worldy;
int chunkz = chunkiter / (Worldx * Worldy);
// Calculate local block coordinates within the chunk
int localx = blockiter % chunksize;
int localy = (blockiter / chunksize) % chunksize;
int localz = blockiter / (chunksize * chunksize);
// Calculate global coordinates
int globalx = chunkx * chunksize + localx;
int globaly = chunky * chunksize + localy;
int globalz = chunkz * chunksize + localz;
world[chunkiter][blockiter].type = air;
...
About your “Rust is too strict”, maybe you are just not strict enough ![]()