Replace getSectionAt to getChunkCoordinate

This commit is contained in:
themode 2021-12-19 01:25:52 +01:00 committed by TheMode
parent 77a14c0750
commit f6db75b9aa
5 changed files with 9 additions and 17 deletions

View File

@ -16,7 +16,6 @@ import net.minestom.server.utils.chunk.ChunkUtils;
import net.minestom.server.world.biomes.Biome;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jglrxavpok.hephaistos.nbt.NBTCompound;
import org.jglrxavpok.hephaistos.nbt.mutable.MutableNBTCompound;
import java.util.Set;
@ -89,7 +88,7 @@ public abstract class Chunk implements Block.Getter, Block.Setter, Biome.Getter,
public abstract @NotNull Section getSection(int section);
public @NotNull Section getSectionAt(int blockY) {
return getSection(ChunkUtils.getSectionAt(blockY));
return getSection(ChunkUtils.getChunkCoordinate(blockY));
}
/**

View File

@ -121,7 +121,7 @@ public class DynamicChunk extends Chunk {
}
}
// Retrieve the block from state id
final Section section = sections[ChunkUtils.getSectionAt(y) - minSection];
final Section section = sections[ChunkUtils.getChunkCoordinate(y) - minSection];
final int blockStateId = section.blockPalette()
.get(toChunkRelativeCoordinate(x), y, toChunkRelativeCoordinate(z));
if (blockStateId == -1) return Block.AIR; // Section is empty
@ -130,7 +130,7 @@ public class DynamicChunk extends Chunk {
@Override
public @NotNull Biome getBiome(int x, int y, int z) {
final Section section = sections[ChunkUtils.getSectionAt(y) - minSection];
final Section section = sections[ChunkUtils.getChunkCoordinate(y) - minSection];
final int id = section.biomePalette()
.get(toChunkRelativeCoordinate(x) / 4, y / 4, toChunkRelativeCoordinate(z) / 4);
return MinecraftServer.getBiomeManager().getById(id);

View File

@ -214,7 +214,7 @@ public class ChunkBatch implements Batch<ChunkCallback> {
inverse.setBlock(x, y, z, prevBlock);
}
chunk.setBlock(x, y, z, block);
return ChunkUtils.getSectionAt(y);
return ChunkUtils.getChunkCoordinate(y);
}
/**

View File

@ -139,10 +139,6 @@ public final class ChunkUtils {
return (int) index;
}
public static int getSectionAt(int y) {
return (int) Math.floor((double)y / Chunk.CHUNK_SECTION_SIZE);
}
public static void forDifferingChunksInRange(int newChunkX, int newChunkZ,
int oldChunkX, int oldChunkZ,
int range, @NotNull IntegerBiConsumer callback) {

View File

@ -28,15 +28,12 @@ public class CoordinateTest {
assertEquals(1, ChunkUtils.getChunkCoordinate(16));
assertEquals(-1, ChunkUtils.getChunkCoordinate(-16));
assertEquals(3, ChunkUtils.getChunkCoordinate(48));
}
@Test
public void sectionCoordinate() {
assertEquals(4, ChunkUtils.getSectionAt(65));
assertEquals(4, ChunkUtils.getSectionAt(64));
assertEquals(3, ChunkUtils.getSectionAt(63));
assertEquals(-2, ChunkUtils.getSectionAt(-25));
assertEquals(23, ChunkUtils.getSectionAt(380));
assertEquals(4, ChunkUtils.getChunkCoordinate(65));
assertEquals(4, ChunkUtils.getChunkCoordinate(64));
assertEquals(3, ChunkUtils.getChunkCoordinate(63));
assertEquals(-2, ChunkUtils.getChunkCoordinate(-25));
assertEquals(23, ChunkUtils.getChunkCoordinate(380));
}
@Test