Cache biome object, further reduce diff

This commit is contained in:
mastermc05 2022-11-18 13:06:54 +02:00
parent 0ebbc2bbe5
commit 0f8174796c
12 changed files with 41 additions and 43 deletions

View file

@ -57,9 +57,9 @@ public class BukkitVersionHelperSpigot116_4 extends BukkitVersionHelperGeneric {
return names;
}
private static IRegistry<BiomeBase> reg = null;
private IRegistry<BiomeBase> reg = null;
public static IRegistry<BiomeBase> getBiomeReg() {
private IRegistry<BiomeBase> getBiomeReg() {
if (reg == null) {
reg = MinecraftServer.getServer().getCustomRegistry().b(IRegistry.ay);
}

View file

@ -66,15 +66,14 @@ public class MapChunkCache116_4 extends GenericMapChunkCache {
}
@Override
public int getFoliageColor(BiomeMap bm, int[] colormap, int x, int z) {
if (bm.getResourcelocation() == null) return colormap[bm.biomeLookup()];
BiomeBase base = BukkitVersionHelperSpigot116_4.getBiomeReg().get(MinecraftKey.a(bm.getResourcelocation()));
return BukkitVersionHelperSpigot116_4.getBiomeBaseFoliageMult(base).orElse(colormap[bm.biomeLookup()]);
Optional<BiomeBase> base = bm.getBiomeObject();
return BukkitVersionHelperSpigot116_4.getBiomeBaseFoliageMult(base.orElse(null)).orElse(colormap[bm.biomeLookup()]);
}
@Override
public int getGrassColor(BiomeMap bm, int[] colormap, int x, int z) {
if (bm.getResourcelocation() == null) return colormap[bm.biomeLookup()];
BiomeBase base = BukkitVersionHelperSpigot116_4.getBiomeReg().get(MinecraftKey.a(bm.getResourcelocation()));
BiomeBase base = bm.<BiomeBase>getBiomeObject().orElse(null);
if (base == null) return bm.getModifiedGrassMultiplier(colormap[bm.biomeLookup()]);
int grassMult = BukkitVersionHelperSpigot116_4.getBiomeBaseGrassMult(base).orElse(colormap[bm.biomeLookup()]);
BiomeFog.GrassColor modifier = BukkitVersionHelperSpigot116_4.getBiomeBaseGrassModifier(base);
if (modifier == BiomeFog.GrassColor.DARK_FOREST) {