diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/AbstractDhTintGetter.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/AbstractDhTintGetter.java index e6361fb32..de9889b07 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/AbstractDhTintGetter.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/AbstractDhTintGetter.java @@ -345,9 +345,9 @@ public abstract class AbstractDhTintGetter implements BlockAndTintGetter - //===========// - // set color // - //===========// + //=================// + // static handlers // + //=================// //region /** @@ -360,6 +360,8 @@ public abstract class AbstractDhTintGetter implements BlockAndTintGetter COLOR_BY_BLOCK_BIOME_PAIR.put(pair, colorInt); } + public static void clear() { COLOR_BY_BLOCK_BIOME_PAIR.clear(); } + //endregion diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/ClientBlockStateColorCache.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/ClientBlockStateColorCache.java index f83856c39..050655505 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/ClientBlockStateColorCache.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/block/ClientBlockStateColorCache.java @@ -828,6 +828,23 @@ public class ClientBlockStateColorCache + //=========// + // cleanup // + //=========// + //region + + public static void clearCachedTints() + { + #if MC_VER <= MC_1_12_2 + #else + AbstractDhTintGetter.clear(); + #endif + } + + //endregion + + + //================// // helper classes // //================// diff --git a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ClientLevelWrapper.java b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ClientLevelWrapper.java index 7da7629a5..d565c8ab8 100644 --- a/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ClientLevelWrapper.java +++ b/common/src/main/java/com/seibel/distanthorizons/common/wrappers/world/ClientLevelWrapper.java @@ -289,7 +289,14 @@ public class ClientLevelWrapper implements IClientLevelWrapper } @Override - public void clearBlockColorCache() { this.blockColorCacheByBlockState.clear(); } + public void clearBlockColorCache() + { + this.blockColorCacheByBlockState.clear(); + + // this technically only needs to be called once globally, but it's easier + // to handle here statically + ClientBlockStateColorCache.clearCachedTints(); + } private IDimensionTypeWrapper dimensionTypeWrapper = null; @Override diff --git a/coreSubProjects b/coreSubProjects index fd3a8f7dd..4dec387ca 160000 --- a/coreSubProjects +++ b/coreSubProjects @@ -1 +1 @@ -Subproject commit fd3a8f7ddfb3674d7e9af4b5d40efaad85340320 +Subproject commit 4dec387ca17b17ddc8ba8f276bf36457d872677a