From 54c04a62e00bfcbac340a3d04738697c50e67e08 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Fri, 20 Oct 2023 16:56:53 +1000 Subject: [PATCH] Store environment instead of clientlevel in chunk types --- .../type/types/chunk/BaseChunkBulkType.java | 42 ------------------- .../api/type/types/chunk/BaseChunkType.java | 42 ------------------- .../type/types/chunk/BulkChunkType1_8.java | 1 - .../api/type/types/chunk/ChunkType1_13.java | 22 ++++------ .../api/type/types/chunk/ChunkType1_8.java | 17 ++++---- .../api/type/types/chunk/ChunkType1_9_1.java | 17 ++++---- .../api/type/types/chunk/ChunkType1_9_3.java | 17 ++++---- 7 files changed, 32 insertions(+), 126 deletions(-) delete mode 100644 api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BaseChunkBulkType.java delete mode 100644 api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BaseChunkType.java diff --git a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BaseChunkBulkType.java b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BaseChunkBulkType.java deleted file mode 100644 index 0e32bd3a5..000000000 --- a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BaseChunkBulkType.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion - * Copyright (C) 2016-2023 ViaVersion and contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -package com.viaversion.viaversion.api.type.types.chunk; - -import com.viaversion.viaversion.api.minecraft.chunks.Chunk; -import com.viaversion.viaversion.api.type.Type; - -public abstract class BaseChunkBulkType extends Type { - - protected BaseChunkBulkType() { - super(Chunk[].class); - } - - protected BaseChunkBulkType(String typeName) { - super(typeName, Chunk[].class); - } - - @Override - public Class getBaseClass() { - return BaseChunkBulkType.class; - } -} diff --git a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BaseChunkType.java b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BaseChunkType.java deleted file mode 100644 index 27377743e..000000000 --- a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BaseChunkType.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion - * Copyright (C) 2016-2023 ViaVersion and contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ -package com.viaversion.viaversion.api.type.types.chunk; - -import com.viaversion.viaversion.api.minecraft.chunks.Chunk; -import com.viaversion.viaversion.api.type.Type; - -public abstract class BaseChunkType extends Type { - - protected BaseChunkType() { - super(Chunk.class); - } - - protected BaseChunkType(String typeName) { - super(typeName, Chunk.class); - } - - @Override - public Class getBaseClass() { - return BaseChunkType.class; - } -} diff --git a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BulkChunkType1_8.java b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BulkChunkType1_8.java index 80105e3f7..1934b477f 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BulkChunkType1_8.java +++ b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/BulkChunkType1_8.java @@ -121,5 +121,4 @@ public class BulkChunkType1_8 extends Type { return this.data; } } - } diff --git a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_13.java b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_13.java index 95e3b60de..dafe2a9df 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_13.java +++ b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_13.java @@ -24,7 +24,6 @@ package com.viaversion.viaversion.api.type.types.chunk; import com.github.steveice10.opennbt.tag.builtin.CompoundTag; import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.minecraft.ClientWorld; import com.viaversion.viaversion.api.minecraft.Environment; import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk; import com.viaversion.viaversion.api.minecraft.chunks.Chunk; @@ -38,13 +37,13 @@ import java.util.Arrays; import java.util.List; import java.util.logging.Level; -public class ChunkType1_13 extends PartialType { +public class ChunkType1_13 extends PartialType { - private static final ChunkType1_13 WITH_SKYLIGHT = new ChunkType1_13(new ClientWorld(Environment.NORMAL)); - private static final ChunkType1_13 WITHOUT_SKYLIGHT = new ChunkType1_13(new ClientWorld(Environment.NETHER)); + private static final ChunkType1_13 WITH_SKYLIGHT = new ChunkType1_13(Environment.NORMAL); + private static final ChunkType1_13 WITHOUT_SKYLIGHT = new ChunkType1_13(Environment.NETHER); - public ChunkType1_13(ClientWorld clientWorld) { - super(clientWorld, Chunk.class); + public ChunkType1_13(Environment environment) { + super(environment, Chunk.class); } public static ChunkType1_13 forEnvironment(Environment environment) { @@ -52,7 +51,7 @@ public class ChunkType1_13 extends PartialType { } @Override - public Chunk read(ByteBuf input, ClientWorld world) throws Exception { + public Chunk read(ByteBuf input, Environment environment) throws Exception { int chunkX = input.readInt(); int chunkZ = input.readInt(); @@ -68,7 +67,7 @@ public class ChunkType1_13 extends PartialType { ChunkSection section = Types1_13.CHUNK_SECTION.read(data); sections[i] = section; section.getLight().readBlockLight(data); - if (world.getEnvironment() == Environment.NORMAL) { + if (environment == Environment.NORMAL) { section.getLight().readSkyLight(data); } } @@ -98,7 +97,7 @@ public class ChunkType1_13 extends PartialType { } @Override - public void write(ByteBuf output, ClientWorld world, Chunk chunk) throws Exception { + public void write(ByteBuf output, Environment environment, Chunk chunk) throws Exception { output.writeInt(chunk.getX()); output.writeInt(chunk.getZ()); @@ -134,9 +133,4 @@ public class ChunkType1_13 extends PartialType { // Write Block Entities Type.NAMED_COMPOUND_TAG_ARRAY.write(output, chunk.getBlockEntities().toArray(new CompoundTag[0])); } - - @Override - public Class getBaseClass() { - return BaseChunkType.class; - } } diff --git a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_8.java b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_8.java index 9b27379ab..edbfaad72 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_8.java +++ b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_8.java @@ -22,7 +22,6 @@ */ package com.viaversion.viaversion.api.type.types.chunk; -import com.viaversion.viaversion.api.minecraft.ClientWorld; import com.viaversion.viaversion.api.minecraft.Environment; import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk; import com.viaversion.viaversion.api.minecraft.chunks.Chunk; @@ -34,13 +33,13 @@ import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import java.util.ArrayList; -public class ChunkType1_8 extends PartialType { +public class ChunkType1_8 extends PartialType { - private static final ChunkType1_8 WITH_SKYLIGHT = new ChunkType1_8(new ClientWorld(Environment.NORMAL)); - private static final ChunkType1_8 WITHOUT_SKYLIGHT = new ChunkType1_8(new ClientWorld(Environment.NETHER)); + private static final ChunkType1_8 WITH_SKYLIGHT = new ChunkType1_8(Environment.NORMAL); + private static final ChunkType1_8 WITHOUT_SKYLIGHT = new ChunkType1_8(Environment.NETHER); - public ChunkType1_8(ClientWorld clientWorld) { - super(clientWorld, Chunk.class); + public ChunkType1_8(Environment environment) { + super(environment, Chunk.class); } public static ChunkType1_8 forEnvironment(Environment environment) { @@ -48,7 +47,7 @@ public class ChunkType1_8 extends PartialType { } @Override - public Chunk read(ByteBuf input, ClientWorld world) throws Exception { + public Chunk read(ByteBuf input, Environment environment) throws Exception { final int chunkX = input.readInt(); final int chunkZ = input.readInt(); final boolean fullChunk = input.readBoolean(); @@ -62,11 +61,11 @@ public class ChunkType1_8 extends PartialType { return new BaseChunk(chunkX, chunkZ, true, false, 0, new ChunkSection[16], null, new ArrayList<>()); } - return deserialize(chunkX, chunkZ, fullChunk, world.getEnvironment() == Environment.NORMAL, bitmask, data); + return deserialize(chunkX, chunkZ, fullChunk, environment == Environment.NORMAL, bitmask, data); } @Override - public void write(ByteBuf output, ClientWorld world, Chunk chunk) throws Exception { + public void write(ByteBuf output, Environment environment, Chunk chunk) throws Exception { output.writeInt(chunk.getX()); output.writeInt(chunk.getZ()); output.writeBoolean(chunk.isFullChunk()); diff --git a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_9_1.java b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_9_1.java index f5de15b1e..2f42ae093 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_9_1.java +++ b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_9_1.java @@ -22,7 +22,6 @@ */ package com.viaversion.viaversion.api.type.types.chunk; -import com.viaversion.viaversion.api.minecraft.ClientWorld; import com.viaversion.viaversion.api.minecraft.Environment; import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk; import com.viaversion.viaversion.api.minecraft.chunks.Chunk; @@ -34,13 +33,13 @@ import io.netty.buffer.ByteBuf; import java.util.ArrayList; import java.util.BitSet; -public class ChunkType1_9_1 extends PartialType { +public class ChunkType1_9_1 extends PartialType { - private static final ChunkType1_9_1 WITH_SKYLIGHT = new ChunkType1_9_1(new ClientWorld(Environment.NORMAL)); - private static final ChunkType1_9_1 WITHOUT_SKYLIGHT = new ChunkType1_9_1(new ClientWorld(Environment.NETHER)); + private static final ChunkType1_9_1 WITH_SKYLIGHT = new ChunkType1_9_1(Environment.NORMAL); + private static final ChunkType1_9_1 WITHOUT_SKYLIGHT = new ChunkType1_9_1(Environment.NETHER); - public ChunkType1_9_1(ClientWorld clientWorld) { - super(clientWorld, Chunk.class); + public ChunkType1_9_1(Environment environment) { + super(environment, Chunk.class); } public static ChunkType1_9_1 forEnvironment(Environment environment) { @@ -48,7 +47,7 @@ public class ChunkType1_9_1 extends PartialType { } @Override - public Chunk read(ByteBuf input, ClientWorld world) throws Exception { + public Chunk read(ByteBuf input, Environment environment) throws Exception { int chunkX = input.readInt(); int chunkZ = input.readInt(); @@ -72,7 +71,7 @@ public class ChunkType1_9_1 extends PartialType { ChunkSection section = Types1_9.CHUNK_SECTION.read(input); sections[i] = section; section.getLight().readBlockLight(input); - if (world.getEnvironment() == Environment.NORMAL) { + if (environment == Environment.NORMAL) { section.getLight().readSkyLight(input); } } @@ -88,7 +87,7 @@ public class ChunkType1_9_1 extends PartialType { } @Override - public void write(ByteBuf output, ClientWorld world, Chunk chunk) throws Exception { + public void write(ByteBuf output, Environment environment, Chunk chunk) throws Exception { output.writeInt(chunk.getX()); output.writeInt(chunk.getZ()); diff --git a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_9_3.java b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_9_3.java index a60cd4c4b..d030610e4 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_9_3.java +++ b/api/src/main/java/com/viaversion/viaversion/api/type/types/chunk/ChunkType1_9_3.java @@ -24,7 +24,6 @@ package com.viaversion.viaversion.api.type.types.chunk; import com.github.steveice10.opennbt.tag.builtin.CompoundTag; import com.viaversion.viaversion.api.Via; -import com.viaversion.viaversion.api.minecraft.ClientWorld; import com.viaversion.viaversion.api.minecraft.Environment; import com.viaversion.viaversion.api.minecraft.chunks.BaseChunk; import com.viaversion.viaversion.api.minecraft.chunks.Chunk; @@ -37,13 +36,13 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -public class ChunkType1_9_3 extends PartialType { +public class ChunkType1_9_3 extends PartialType { - private static final ChunkType1_9_3 WITH_SKYLIGHT = new ChunkType1_9_3(new ClientWorld(Environment.NORMAL)); - private static final ChunkType1_9_3 WITHOUT_SKYLIGHT = new ChunkType1_9_3(new ClientWorld(Environment.NETHER)); + private static final ChunkType1_9_3 WITH_SKYLIGHT = new ChunkType1_9_3(Environment.NORMAL); + private static final ChunkType1_9_3 WITHOUT_SKYLIGHT = new ChunkType1_9_3(Environment.NETHER); - public ChunkType1_9_3(ClientWorld clientWorld) { - super(clientWorld, Chunk.class); + public ChunkType1_9_3(Environment environment) { + super(environment, Chunk.class); } public static ChunkType1_9_3 forEnvironment(Environment environment) { @@ -51,7 +50,7 @@ public class ChunkType1_9_3 extends PartialType { } @Override - public Chunk read(ByteBuf input, ClientWorld world) throws Exception { + public Chunk read(ByteBuf input, Environment environment) throws Exception { int chunkX = input.readInt(); int chunkZ = input.readInt(); @@ -67,7 +66,7 @@ public class ChunkType1_9_3 extends PartialType { ChunkSection section = Types1_9.CHUNK_SECTION.read(input); sections[i] = section; section.getLight().readBlockLight(input); - if (world.getEnvironment() == Environment.NORMAL) { + if (environment == Environment.NORMAL) { section.getLight().readSkyLight(input); } } @@ -93,7 +92,7 @@ public class ChunkType1_9_3 extends PartialType { } @Override - public void write(ByteBuf output, ClientWorld world, Chunk chunk) throws Exception { + public void write(ByteBuf output, Environment environment, Chunk chunk) throws Exception { output.writeInt(chunk.getX()); output.writeInt(chunk.getZ());