From 1952f91540c8504ed6c9da79ce6d63e9e7e83418 Mon Sep 17 00:00:00 2001 From: TomTheFurry Date: Wed, 13 Apr 2022 13:38:37 +0800 Subject: [PATCH] More logging & fix 1.16 getminbuildheight & improve blockdetailmap caching for waterlogged blocks --- .../lod/common/wrappers/block/BlockDetailMap.java | 11 ++++++----- .../lod/common/wrappers/block/BlockDetailWrapper.java | 6 +++++- .../lod/common/wrappers/chunk/ChunkWrapper.java | 7 ++++++- core | 2 +- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockDetailMap.java b/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockDetailMap.java index 368d3dcc7..c1aa83709 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockDetailMap.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockDetailMap.java @@ -21,6 +21,7 @@ package com.seibel.lod.common.wrappers.block; import java.util.concurrent.ConcurrentHashMap; +import com.seibel.lod.core.api.ApiShared; import net.minecraft.core.BlockPos; import net.minecraft.world.level.LevelReader; import net.minecraft.world.level.block.state.BlockState; @@ -33,13 +34,13 @@ public class BlockDetailMap private BlockDetailMap() {} public static BlockDetailWrapper getOrMakeBlockDetailCache(BlockState bs, BlockPos pos, LevelReader getter) { + if (!bs.getFluidState().isEmpty()) { + bs = bs.getFluidState().createLegacyBlock(); + } BlockDetailWrapper cache = map.get(bs); if (cache != null) return cache; - if (bs.getFluidState().isEmpty()) { - cache = BlockDetailWrapper.make(bs, pos, getter); - } else { - cache = BlockDetailWrapper.make(bs.getFluidState().createLegacyBlock(), pos, getter); - } + cache = BlockDetailWrapper.make(bs, pos, getter); + //ApiShared.LOGGER.info("New blockDetail cache for {} to {} ", bs, cache); BlockDetailWrapper cacheCAS = map.putIfAbsent(bs, cache); return cacheCAS==null ? cache : cacheCAS; } diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockDetailWrapper.java b/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockDetailWrapper.java index 73be8ea12..147f91948 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockDetailWrapper.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/block/BlockDetailWrapper.java @@ -193,6 +193,7 @@ public class BlockDetailWrapper extends IBlockDetailWrapper this.state = state; this.samplePos = pos; this.sampleGetter = getter; + //ApiShared.LOGGER.info("Created BlockDetailWrapper for blockstate {} at {}", state, pos); } private BlockDetailWrapper() { @@ -343,5 +344,8 @@ public class BlockDetailWrapper extends IBlockDetailWrapper { return ((BlockDetailWrapper)iBlockDetail).state.getBlock().equals(state.getBlock()); } - + + public String toString() { + return "BlockDetail{" + state + "}"; + } } diff --git a/common/src/main/java/com/seibel/lod/common/wrappers/chunk/ChunkWrapper.java b/common/src/main/java/com/seibel/lod/common/wrappers/chunk/ChunkWrapper.java index 75bccaf78..9d196747a 100644 --- a/common/src/main/java/com/seibel/lod/common/wrappers/chunk/ChunkWrapper.java +++ b/common/src/main/java/com/seibel/lod/common/wrappers/chunk/ChunkWrapper.java @@ -77,7 +77,7 @@ public class ChunkWrapper implements IChunkWrapper public int getMinBuildHeight() { #if PRE_MC_1_17_1 - return 255; + return 0; #else return chunk.getMinBuildHeight(); #endif @@ -242,5 +242,10 @@ public class ChunkWrapper implements IChunkWrapper { return lightSource; } + + @Override + public String toString() { + return chunk.getClass().getSimpleName() + chunk.getPos(); + } } diff --git a/core b/core index ee803e10b..633b229d2 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit ee803e10b53cf0273d64520469349076b31c9cc0 +Subproject commit 633b229d2ec09b01676a44a5039962e48b752bf0