From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: MartijnMuijsers Date: Thu, 1 Dec 2022 14:18:46 +0100 Subject: [PATCH] Cache world generator sea level License: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) This patch is based on the following mixin: "me/jellysquid/mods/lithium/mixin/gen/cached_generator_settings/NoiseChunkGeneratorMixin.java" By: SuperCoder7979 As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric) Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java index cf87490a446285132daaf9d90154ac6d477a62fe..0d1f6ba9d337d2b4efe4e0b58b687d7b7cacae7a 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java +++ b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java @@ -67,6 +67,7 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator { public final Registry noises; public final Holder settings; private final Aquifer.FluidPicker globalFluidPicker; + private int cachedSeaLevel; // Gale - Lithium - cache world generator sea level public NoiseBasedChunkGenerator(Registry structureSetRegistry, Registry noiseRegistry, BiomeSource populationSource, Holder settings) { super(structureSetRegistry, Optional.empty(), populationSource); @@ -83,6 +84,7 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator { this.globalFluidPicker = (j, k, l) -> { return k < Math.min(-54, i) ? aquifer_b : aquifer_b1; }; + this.cachedSeaLevel = this.settings.value().seaLevel(); // Gale - Lithium - cache world generator sea level } @Override @@ -400,7 +402,7 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator { @Override public int getSeaLevel() { - return ((NoiseGeneratorSettings) this.settings.value()).seaLevel(); + return this.cachedSeaLevel; // Gale - Lithium - cache world generator sea level } @Override