Biome temperature fix (WIP)

This commit is contained in:
paulevsGitch 2021-05-06 18:59:00 +03:00
parent 524b638916
commit b72da7d1bf
3 changed files with 30 additions and 1 deletions

View file

@ -3,11 +3,15 @@ package ru.betterend.mixin.common;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import java.util.function.Supplier;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyArg;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@ -17,11 +21,16 @@ import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.NbtUtils; import net.minecraft.nbt.NbtUtils;
import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.progress.ChunkProgressListener; import net.minecraft.server.level.progress.ChunkProgressListener;
import net.minecraft.tags.Tag;
import net.minecraft.world.level.CustomSpawner; import net.minecraft.world.level.CustomSpawner;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
import net.minecraft.world.level.WorldGenLevel;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.dimension.DimensionType; import net.minecraft.world.level.dimension.DimensionType;
import net.minecraft.world.level.storage.LevelStorageSource; import net.minecraft.world.level.storage.LevelStorageSource;
@ -29,6 +38,7 @@ import net.minecraft.world.level.storage.ServerLevelData;
import ru.betterend.BetterEnd; import ru.betterend.BetterEnd;
import ru.betterend.registry.EndBiomes; import ru.betterend.registry.EndBiomes;
import ru.betterend.util.DataFixerUtil; import ru.betterend.util.DataFixerUtil;
import ru.betterend.util.TagHelper;
import ru.betterend.util.WorldDataUtil; import ru.betterend.util.WorldDataUtil;
import ru.betterend.world.generator.GeneratorOptions; import ru.betterend.world.generator.GeneratorOptions;
@ -81,6 +91,18 @@ public class ServerLevelMixin {
} }
} }
@ModifyArg(
method = "tickChunk",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/world/level/Level;setBlockAndUpdate(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Z"
)
)
private BlockState be_modifyTickState(BlockPos pos, BlockState state) {
System.out.println(state);
return state;
}
private static int be_getVersionInt(String version) { private static int be_getVersionInt(String version) {
if (version.isEmpty()) { if (version.isEmpty()) {
return 0; return 0;

View file

@ -68,6 +68,7 @@ public class BiomeDefinition {
private float genChance = 1F; private float genChance = 1F;
private boolean hasCaves = true; private boolean hasCaves = true;
private boolean isCaveBiome = false; private boolean isCaveBiome = false;
private float temperature = 1F;
private ConfiguredSurfaceBuilder<?> surface; private ConfiguredSurfaceBuilder<?> surface;
@ -117,6 +118,11 @@ public class BiomeDefinition {
this.depth = depth; this.depth = depth;
return this; return this;
} }
public BiomeDefinition setTemperature(float temperature) {
this.temperature = temperature;
return this;
}
public BiomeDefinition addMobSpawn(EntityType<?> type, int weight, int minGroupSize, int maxGroupSize) { public BiomeDefinition addMobSpawn(EntityType<?> type, int weight, int minGroupSize, int maxGroupSize) {
ResourceLocation eID = Registry.ENTITY_TYPE.getKey(type); ResourceLocation eID = Registry.ENTITY_TYPE.getKey(type);
@ -263,7 +269,7 @@ public class BiomeDefinition {
.biomeCategory(isCaveBiome ? BiomeCategory.NONE : BiomeCategory.THEEND) .biomeCategory(isCaveBiome ? BiomeCategory.NONE : BiomeCategory.THEEND)
.depth(depth) .depth(depth)
.scale(0.2F) .scale(0.2F)
.temperature(2.0F) .temperature(temperature)
.downfall(0.0F) .downfall(0.0F)
.specialEffects(effects.build()) .specialEffects(effects.build())
.mobSpawnSettings(spawnSettings.build()) .mobSpawnSettings(spawnSettings.build())

View file

@ -11,6 +11,7 @@ public class BiomeIceStarfield extends EndBiome {
public BiomeIceStarfield() { public BiomeIceStarfield() {
super(new BiomeDefinition("ice_starfield") super(new BiomeDefinition("ice_starfield")
.setFogColor(224, 245, 254) .setFogColor(224, 245, 254)
.setTemperature(0F)
.setFogDensity(2.2F) .setFogDensity(2.2F)
.setFoliageColor(193, 244, 244) .setFoliageColor(193, 244, 244)
.setGenChance(0.25F) .setGenChance(0.25F)