From be28eaf1220b01525d4e6bdda14387bd2d5965f9 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Fri, 16 Sep 2022 22:55:37 -0500 Subject: [PATCH] Make Core Level Wrappers implement API wrappers --- .../block/cache/ClientBlockStateCache.java | 9 ++++++-- .../block/cache/ServerBlockStateCache.java | 9 ++++++-- .../wrappers/world/ClientLevelWrapper.java | 23 +++++++++++++------ .../wrappers/world/DimensionTypeWrapper.java | 8 +++---- .../wrappers/world/ServerLevelWrapper.java | 21 +++++++++-------- .../worldGeneration/GlobalParameters.java | 2 +- coreSubProjects | 2 +- 7 files changed, 48 insertions(+), 26 deletions(-) diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/block/cache/ClientBlockStateCache.java b/common/src/main/java/com/seibel/lod/common/wrappers/block/cache/ClientBlockStateCache.java index bbfe7530b..9cb77a310 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/block/cache/ClientBlockStateCache.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/block/cache/ClientBlockStateCache.java @@ -25,7 +25,12 @@ import org.apache.logging.log4j.Logger; import java.util.List; import java.util.Random; -public class ClientBlockStateCache { +/** + * + * @version 2022-9-16 + */ +public class ClientBlockStateCache +{ private static final Logger LOGGER = DhLoggerBuilder.getLogger(); @@ -40,7 +45,7 @@ public class ClientBlockStateCache { public final BlockPos pos; public ClientBlockStateCache(BlockState blockState, IClientLevelWrapper samplingLevel, DhBlockPos samplingPos) { state = blockState; - level = (LevelReader) samplingLevel.unwrapLevel(); + level = (LevelReader) samplingLevel.getWrappedMcObject_UNSAFE(); pos = McObjectConverter.Convert(samplingPos); resolveColors(); //LOGGER.info("ClientBlocKCache created for {}", blockState); diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/block/cache/ServerBlockStateCache.java b/common/src/main/java/com/seibel/lod/common/wrappers/block/cache/ServerBlockStateCache.java index 487a435e6..bc2056090 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/block/cache/ServerBlockStateCache.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/block/cache/ServerBlockStateCache.java @@ -14,7 +14,12 @@ import org.apache.logging.log4j.Logger; import java.util.Arrays; -public class ServerBlockStateCache { +/** + * + * @version 2022-9-16 + */ +public class ServerBlockStateCache +{ private static final Logger LOGGER = DhLoggerBuilder.getLogger(); public final BlockState state; @@ -23,7 +28,7 @@ public class ServerBlockStateCache { public ServerBlockStateCache(BlockState blockState, ILevelWrapper samplingLevel, DhBlockPos samplingPos) { state = blockState; - level = (LevelReader) samplingLevel.unwrapLevel(); + level = (LevelReader) samplingLevel.getWrappedMcObject_UNSAFE(); pos = McObjectConverter.Convert(samplingPos); resolveShapes(); //LOGGER.info("ServerBlockState created for {}", blockState); diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/world/ClientLevelWrapper.java b/common/src/main/java/com/seibel/lod/common/wrappers/world/ClientLevelWrapper.java index 0062d35b7..18163c089 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/world/ClientLevelWrapper.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/world/ClientLevelWrapper.java @@ -1,5 +1,7 @@ package com.seibel.lod.common.wrappers.world; +import com.seibel.lod.api.items.enums.worldGeneration.EDhApiLevelType; +import com.seibel.lod.api.items.interfaces.world.IDhApiDimensionTypeWrapper; import com.seibel.lod.common.wrappers.McObjectConverter; import com.seibel.lod.common.wrappers.block.BiomeWrapper; import com.seibel.lod.common.wrappers.block.BlockStateWrapper; @@ -25,6 +27,10 @@ import org.jetbrains.annotations.Nullable; import java.util.concurrent.ConcurrentHashMap; +/** + * + * @version 2022-9-16 + */ public class ClientLevelWrapper implements IClientLevelWrapper { private static final Logger LOGGER = DhLoggerBuilder.getLogger(ClientLevelWrapper.class.getSimpleName()); @@ -69,12 +75,15 @@ public class ClientLevelWrapper implements IClientLevelWrapper } @Override - public DimensionTypeWrapper getDimensionType() + public IDhApiDimensionTypeWrapper getDimensionType() { return DimensionTypeWrapper.getDimensionTypeWrapper(level.dimensionType()); } - - @Override + + @Override + public EDhApiLevelType getLevelType() { return EDhApiLevelType.CLIENT_LEVEL; } + + @Override public int getBlockLight(int x, int y, int z) { return level.getBrightness(LightLayer.BLOCK, new BlockPos(x,y,z)); @@ -107,12 +116,12 @@ public class ClientLevelWrapper implements IClientLevelWrapper } @Override - public short getMinHeight() + public int getMinHeight() { #if PRE_MC_1_17_1 - return (short) 0; + return 0; #else - return (short) level.getMinBuildHeight(); + return level.getMinBuildHeight(); #endif } @@ -140,7 +149,7 @@ public class ClientLevelWrapper implements IClientLevelWrapper } @Override - public ClientLevel unwrapLevel() + public ClientLevel getWrappedMcObject_UNSAFE() { return level; } diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/world/DimensionTypeWrapper.java b/common/src/main/java/com/seibel/lod/common/wrappers/world/DimensionTypeWrapper.java index 4cd67399a..825347f99 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/world/DimensionTypeWrapper.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/world/DimensionTypeWrapper.java @@ -28,7 +28,7 @@ import net.minecraft.world.level.dimension.DimensionType; /** * @author James Seibel - * @version 2022-8-23 + * @version 2022-9-16 */ public class DimensionTypeWrapper implements IDimensionTypeWrapper { @@ -78,9 +78,9 @@ public class DimensionTypeWrapper implements IDimensionTypeWrapper { return dimensionType.hasSkyLight(); } - - @Override - public Object getWrappedMcObject() + + @Override + public Object getWrappedMcObject_UNSAFE() { return this.dimensionType; } diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/world/ServerLevelWrapper.java b/common/src/main/java/com/seibel/lod/common/wrappers/world/ServerLevelWrapper.java index cbdd78a85..57303f0a9 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/world/ServerLevelWrapper.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/world/ServerLevelWrapper.java @@ -22,6 +22,7 @@ package com.seibel.lod.common.wrappers.world; import java.io.File; import java.util.concurrent.ConcurrentHashMap; +import com.seibel.lod.api.items.enums.worldGeneration.EDhApiLevelType; import com.seibel.lod.common.wrappers.McObjectConverter; import com.seibel.lod.common.wrappers.block.BiomeWrapper; import com.seibel.lod.common.wrappers.block.BlockStateWrapper; @@ -48,9 +49,8 @@ import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.Nullable; /** - * @author James Seibel - * @author ?? - * @version 11-21-2021 + * + * @version 2022-9-16 */ public class ServerLevelWrapper implements IServerLevelWrapper { @@ -103,8 +103,11 @@ public class ServerLevelWrapper implements IServerLevelWrapper { return DimensionTypeWrapper.getDimensionTypeWrapper(level.dimensionType()); } - - @Override + + @Override + public EDhApiLevelType getLevelType() { return EDhApiLevelType.CLIENT_LEVEL; } + + @Override public int getBlockLight(int x, int y, int z) { return level.getBrightness(LightLayer.BLOCK, new BlockPos(x,y,z)); @@ -140,12 +143,12 @@ public class ServerLevelWrapper implements IServerLevelWrapper } @Override - public short getMinHeight() + public int getMinHeight() { #if PRE_MC_1_17_1 - return (short) 0; + return 0; #else - return (short) level.getMinBuildHeight(); + return level.getMinBuildHeight(); #endif } @Override @@ -173,7 +176,7 @@ public class ServerLevelWrapper implements IServerLevelWrapper } @Override - public ServerLevel unwrapLevel() + public ServerLevel getWrappedMcObject_UNSAFE() { return level; } diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/GlobalParameters.java b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/GlobalParameters.java index 07b147986..f3a212807 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/GlobalParameters.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/worldGeneration/GlobalParameters.java @@ -69,7 +69,7 @@ public final class GlobalParameters { this.lodLevel = lodLevel; - level = ((ServerLevelWrapper)lodLevel.getServerLevelWrapper()).unwrapLevel(); + level = ((ServerLevelWrapper)lodLevel.getServerLevelWrapper()).getWrappedMcObject_UNSAFE(); lightEngine = (ThreadedLevelLightEngine) level.getLightEngine(); MinecraftServer server = level.getServer(); WorldData worldData = server.getWorldData(); diff --git a/coreSubProjects b/coreSubProjects index fc5cb6796..d0f43a676 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit fc5cb6796b7b6158ba1be94d8958aa8d7d67e0b8 +Subproject commit d0f43a67607a51380a09c56d10ab69644f9ce3f1