Mirror von
https://github.com/ViaVersion/ViaVersion.git
synchronisiert 2024-09-16 17:21:21 +02:00
Just store whether to read skylight directly
Dieser Commit ist enthalten in:
Ursprung
54c04a62e0
Commit
6481cec270
@ -28,7 +28,6 @@ import com.viaversion.viaversion.api.minecraft.Environment;
|
|||||||
import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
|
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
|
||||||
import com.viaversion.viaversion.api.type.PartialType;
|
|
||||||
import com.viaversion.viaversion.api.type.Type;
|
import com.viaversion.viaversion.api.type.Type;
|
||||||
import com.viaversion.viaversion.api.type.types.version.Types1_13;
|
import com.viaversion.viaversion.api.type.types.version.Types1_13;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
@ -37,13 +36,15 @@ import java.util.Arrays;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class ChunkType1_13 extends PartialType<Chunk, Environment> {
|
public class ChunkType1_13 extends Type<Chunk> {
|
||||||
|
|
||||||
private static final ChunkType1_13 WITH_SKYLIGHT = new ChunkType1_13(Environment.NORMAL);
|
private static final ChunkType1_13 WITH_SKYLIGHT = new ChunkType1_13(true);
|
||||||
private static final ChunkType1_13 WITHOUT_SKYLIGHT = new ChunkType1_13(Environment.NETHER);
|
private static final ChunkType1_13 WITHOUT_SKYLIGHT = new ChunkType1_13(false);
|
||||||
|
private final boolean hasSkyLight;
|
||||||
|
|
||||||
public ChunkType1_13(Environment environment) {
|
public ChunkType1_13(boolean hasSkyLight) {
|
||||||
super(environment, Chunk.class);
|
super(Chunk.class);
|
||||||
|
this.hasSkyLight = hasSkyLight;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ChunkType1_13 forEnvironment(Environment environment) {
|
public static ChunkType1_13 forEnvironment(Environment environment) {
|
||||||
@ -51,7 +52,7 @@ public class ChunkType1_13 extends PartialType<Chunk, Environment> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Chunk read(ByteBuf input, Environment environment) throws Exception {
|
public Chunk read(ByteBuf input) throws Exception {
|
||||||
int chunkX = input.readInt();
|
int chunkX = input.readInt();
|
||||||
int chunkZ = input.readInt();
|
int chunkZ = input.readInt();
|
||||||
|
|
||||||
@ -67,7 +68,7 @@ public class ChunkType1_13 extends PartialType<Chunk, Environment> {
|
|||||||
ChunkSection section = Types1_13.CHUNK_SECTION.read(data);
|
ChunkSection section = Types1_13.CHUNK_SECTION.read(data);
|
||||||
sections[i] = section;
|
sections[i] = section;
|
||||||
section.getLight().readBlockLight(data);
|
section.getLight().readBlockLight(data);
|
||||||
if (environment == Environment.NORMAL) {
|
if (hasSkyLight) {
|
||||||
section.getLight().readSkyLight(data);
|
section.getLight().readSkyLight(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -97,7 +98,7 @@ public class ChunkType1_13 extends PartialType<Chunk, Environment> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(ByteBuf output, Environment environment, Chunk chunk) throws Exception {
|
public void write(ByteBuf output, Chunk chunk) throws Exception {
|
||||||
output.writeInt(chunk.getX());
|
output.writeInt(chunk.getX());
|
||||||
output.writeInt(chunk.getZ());
|
output.writeInt(chunk.getZ());
|
||||||
|
|
||||||
|
@ -26,20 +26,21 @@ import com.viaversion.viaversion.api.minecraft.Environment;
|
|||||||
import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
|
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
|
||||||
import com.viaversion.viaversion.api.type.PartialType;
|
|
||||||
import com.viaversion.viaversion.api.type.Type;
|
import com.viaversion.viaversion.api.type.Type;
|
||||||
import com.viaversion.viaversion.api.type.types.version.Types1_8;
|
import com.viaversion.viaversion.api.type.types.version.Types1_8;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import io.netty.buffer.Unpooled;
|
import io.netty.buffer.Unpooled;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class ChunkType1_8 extends PartialType<Chunk, Environment> {
|
public class ChunkType1_8 extends Type<Chunk> {
|
||||||
|
|
||||||
private static final ChunkType1_8 WITH_SKYLIGHT = new ChunkType1_8(Environment.NORMAL);
|
private static final ChunkType1_8 WITH_SKYLIGHT = new ChunkType1_8(true);
|
||||||
private static final ChunkType1_8 WITHOUT_SKYLIGHT = new ChunkType1_8(Environment.NETHER);
|
private static final ChunkType1_8 WITHOUT_SKYLIGHT = new ChunkType1_8(false);
|
||||||
|
private final boolean hasSkyLight;
|
||||||
|
|
||||||
public ChunkType1_8(Environment environment) {
|
public ChunkType1_8(boolean hasSkyLight) {
|
||||||
super(environment, Chunk.class);
|
super(Chunk.class);
|
||||||
|
this.hasSkyLight = hasSkyLight;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ChunkType1_8 forEnvironment(Environment environment) {
|
public static ChunkType1_8 forEnvironment(Environment environment) {
|
||||||
@ -47,7 +48,7 @@ public class ChunkType1_8 extends PartialType<Chunk, Environment> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Chunk read(ByteBuf input, Environment environment) throws Exception {
|
public Chunk read(ByteBuf input) throws Exception {
|
||||||
final int chunkX = input.readInt();
|
final int chunkX = input.readInt();
|
||||||
final int chunkZ = input.readInt();
|
final int chunkZ = input.readInt();
|
||||||
final boolean fullChunk = input.readBoolean();
|
final boolean fullChunk = input.readBoolean();
|
||||||
@ -61,11 +62,11 @@ public class ChunkType1_8 extends PartialType<Chunk, Environment> {
|
|||||||
return new BaseChunk(chunkX, chunkZ, true, false, 0, new ChunkSection[16], null, new ArrayList<>());
|
return new BaseChunk(chunkX, chunkZ, true, false, 0, new ChunkSection[16], null, new ArrayList<>());
|
||||||
}
|
}
|
||||||
|
|
||||||
return deserialize(chunkX, chunkZ, fullChunk, environment == Environment.NORMAL, bitmask, data);
|
return deserialize(chunkX, chunkZ, fullChunk, hasSkyLight, bitmask, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(ByteBuf output, Environment environment, Chunk chunk) throws Exception {
|
public void write(ByteBuf output, Chunk chunk) throws Exception {
|
||||||
output.writeInt(chunk.getX());
|
output.writeInt(chunk.getX());
|
||||||
output.writeInt(chunk.getZ());
|
output.writeInt(chunk.getZ());
|
||||||
output.writeBoolean(chunk.isFullChunk());
|
output.writeBoolean(chunk.isFullChunk());
|
||||||
|
@ -26,20 +26,21 @@ import com.viaversion.viaversion.api.minecraft.Environment;
|
|||||||
import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
|
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
|
||||||
import com.viaversion.viaversion.api.type.PartialType;
|
|
||||||
import com.viaversion.viaversion.api.type.Type;
|
import com.viaversion.viaversion.api.type.Type;
|
||||||
import com.viaversion.viaversion.api.type.types.version.Types1_9;
|
import com.viaversion.viaversion.api.type.types.version.Types1_9;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.BitSet;
|
import java.util.BitSet;
|
||||||
|
|
||||||
public class ChunkType1_9_1 extends PartialType<Chunk, Environment> {
|
public class ChunkType1_9_1 extends Type<Chunk> {
|
||||||
|
|
||||||
private static final ChunkType1_9_1 WITH_SKYLIGHT = new ChunkType1_9_1(Environment.NORMAL);
|
private static final ChunkType1_9_1 WITH_SKYLIGHT = new ChunkType1_9_1(true);
|
||||||
private static final ChunkType1_9_1 WITHOUT_SKYLIGHT = new ChunkType1_9_1(Environment.NETHER);
|
private static final ChunkType1_9_1 WITHOUT_SKYLIGHT = new ChunkType1_9_1(false);
|
||||||
|
private final boolean hasSkyLight;
|
||||||
|
|
||||||
public ChunkType1_9_1(Environment environment) {
|
public ChunkType1_9_1(boolean hasSkyLight) {
|
||||||
super(environment, Chunk.class);
|
super(Chunk.class);
|
||||||
|
this.hasSkyLight = hasSkyLight;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ChunkType1_9_1 forEnvironment(Environment environment) {
|
public static ChunkType1_9_1 forEnvironment(Environment environment) {
|
||||||
@ -47,7 +48,7 @@ public class ChunkType1_9_1 extends PartialType<Chunk, Environment> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Chunk read(ByteBuf input, Environment environment) throws Exception {
|
public Chunk read(ByteBuf input) throws Exception {
|
||||||
int chunkX = input.readInt();
|
int chunkX = input.readInt();
|
||||||
int chunkZ = input.readInt();
|
int chunkZ = input.readInt();
|
||||||
|
|
||||||
@ -71,7 +72,7 @@ public class ChunkType1_9_1 extends PartialType<Chunk, Environment> {
|
|||||||
ChunkSection section = Types1_9.CHUNK_SECTION.read(input);
|
ChunkSection section = Types1_9.CHUNK_SECTION.read(input);
|
||||||
sections[i] = section;
|
sections[i] = section;
|
||||||
section.getLight().readBlockLight(input);
|
section.getLight().readBlockLight(input);
|
||||||
if (environment == Environment.NORMAL) {
|
if (hasSkyLight) {
|
||||||
section.getLight().readSkyLight(input);
|
section.getLight().readSkyLight(input);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -87,7 +88,7 @@ public class ChunkType1_9_1 extends PartialType<Chunk, Environment> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(ByteBuf output, Environment environment, Chunk chunk) throws Exception {
|
public void write(ByteBuf output, Chunk chunk) throws Exception {
|
||||||
output.writeInt(chunk.getX());
|
output.writeInt(chunk.getX());
|
||||||
output.writeInt(chunk.getZ());
|
output.writeInt(chunk.getZ());
|
||||||
|
|
||||||
|
@ -28,7 +28,6 @@ import com.viaversion.viaversion.api.minecraft.Environment;
|
|||||||
import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
import com.viaversion.viaversion.api.minecraft.chunks.Chunk;
|
||||||
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
|
import com.viaversion.viaversion.api.minecraft.chunks.ChunkSection;
|
||||||
import com.viaversion.viaversion.api.type.PartialType;
|
|
||||||
import com.viaversion.viaversion.api.type.Type;
|
import com.viaversion.viaversion.api.type.Type;
|
||||||
import com.viaversion.viaversion.api.type.types.version.Types1_9;
|
import com.viaversion.viaversion.api.type.types.version.Types1_9;
|
||||||
import io.netty.buffer.ByteBuf;
|
import io.netty.buffer.ByteBuf;
|
||||||
@ -36,13 +35,15 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ChunkType1_9_3 extends PartialType<Chunk, Environment> {
|
public class ChunkType1_9_3 extends Type<Chunk> {
|
||||||
|
|
||||||
private static final ChunkType1_9_3 WITH_SKYLIGHT = new ChunkType1_9_3(Environment.NORMAL);
|
private static final ChunkType1_9_3 WITH_SKYLIGHT = new ChunkType1_9_3(true);
|
||||||
private static final ChunkType1_9_3 WITHOUT_SKYLIGHT = new ChunkType1_9_3(Environment.NETHER);
|
private static final ChunkType1_9_3 WITHOUT_SKYLIGHT = new ChunkType1_9_3(false);
|
||||||
|
private final boolean hasSkyLight;
|
||||||
|
|
||||||
public ChunkType1_9_3(Environment environment) {
|
public ChunkType1_9_3(boolean hasSkyLight) {
|
||||||
super(environment, Chunk.class);
|
super(Chunk.class);
|
||||||
|
this.hasSkyLight = hasSkyLight;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ChunkType1_9_3 forEnvironment(Environment environment) {
|
public static ChunkType1_9_3 forEnvironment(Environment environment) {
|
||||||
@ -50,7 +51,7 @@ public class ChunkType1_9_3 extends PartialType<Chunk, Environment> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Chunk read(ByteBuf input, Environment environment) throws Exception {
|
public Chunk read(ByteBuf input) throws Exception {
|
||||||
int chunkX = input.readInt();
|
int chunkX = input.readInt();
|
||||||
int chunkZ = input.readInt();
|
int chunkZ = input.readInt();
|
||||||
|
|
||||||
@ -66,7 +67,7 @@ public class ChunkType1_9_3 extends PartialType<Chunk, Environment> {
|
|||||||
ChunkSection section = Types1_9.CHUNK_SECTION.read(input);
|
ChunkSection section = Types1_9.CHUNK_SECTION.read(input);
|
||||||
sections[i] = section;
|
sections[i] = section;
|
||||||
section.getLight().readBlockLight(input);
|
section.getLight().readBlockLight(input);
|
||||||
if (environment == Environment.NORMAL) {
|
if (hasSkyLight) {
|
||||||
section.getLight().readSkyLight(input);
|
section.getLight().readSkyLight(input);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -92,7 +93,7 @@ public class ChunkType1_9_3 extends PartialType<Chunk, Environment> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(ByteBuf output, Environment environment, Chunk chunk) throws Exception {
|
public void write(ByteBuf output, Chunk chunk) throws Exception {
|
||||||
output.writeInt(chunk.getX());
|
output.writeInt(chunk.getX());
|
||||||
output.writeInt(chunk.getZ());
|
output.writeInt(chunk.getZ());
|
||||||
|
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren