mirror of
https://github.com/webbukkit/dynmap.git
synced 2025-02-25 16:21:57 +01:00
Fabric 1.16.4 (1.16.5)
This commit is contained in:
parent
6245a18381
commit
a6ead1bc3d
@ -7,12 +7,16 @@ import net.minecraft.server.world.ThreadedAnvilChunkStorage;
|
||||
import net.minecraft.util.math.ChunkPos;
|
||||
import net.minecraft.world.ChunkSerializer;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.biome.BiomeEffects;
|
||||
import net.minecraft.world.chunk.ChunkManager;
|
||||
import net.minecraft.world.chunk.ChunkStatus;
|
||||
import org.dynmap.DynmapChunk;
|
||||
import org.dynmap.Log;
|
||||
import org.dynmap.common.BiomeMap;
|
||||
import org.dynmap.common.chunk.GenericChunk;
|
||||
import org.dynmap.common.chunk.GenericMapChunkCache;
|
||||
import org.dynmap.fabric_1_16_4.mixin.BiomeEffectsAccessor;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@ -85,5 +89,25 @@ public class FabricMapChunkCache extends GenericMapChunkCache {
|
||||
}
|
||||
return gc;
|
||||
}
|
||||
@Override
|
||||
public int getFoliageColor(BiomeMap bm, int[] colormap, int x, int z) {
|
||||
return bm.<Biome>getBiomeObject().map(Biome::getEffects).flatMap(BiomeEffects::getFoliageColor).orElse(colormap[bm.biomeLookup()]);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getGrassColor(BiomeMap bm, int[] colormap, int x, int z) {
|
||||
BiomeEffectsAccessor effects = (BiomeEffectsAccessor) bm.<Biome>getBiomeObject().map(Biome::getEffects).orElse(null);
|
||||
if (effects == null) return colormap[bm.biomeLookup()];
|
||||
int grassMult = effects.getGrassColor().orElse(colormap[bm.biomeLookup()]);
|
||||
BiomeEffects.GrassColorModifier modifier = effects.getGrassColorModifier();
|
||||
if (modifier == BiomeEffects.GrassColorModifier.DARK_FOREST) {
|
||||
return ((grassMult & 0xfefefe) + 0x28340a) >> 1;
|
||||
} else if (modifier == BiomeEffects.GrassColorModifier.SWAMP) {
|
||||
double var5 = Biome.FOLIAGE_NOISE.sample(x * 0.0225, z * 0.0225, false);
|
||||
return var5 < -0.1 ? 0x4c763c : 0x6a7039;
|
||||
} else {
|
||||
return grassMult;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4,8 +4,16 @@ import net.minecraft.world.biome.BiomeEffects;
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@Mixin(BiomeEffects.class)
|
||||
public interface BiomeEffectsAccessor {
|
||||
@Accessor
|
||||
int getWaterColor();
|
||||
@Accessor
|
||||
Optional<Integer> getFoliageColor();
|
||||
@Accessor
|
||||
Optional<Integer> getGrassColor();
|
||||
@Accessor
|
||||
BiomeEffects.GrassColorModifier getGrassColorModifier();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user