From e1456755259e40595d5e93188c67f19bce67bdf5 Mon Sep 17 00:00:00 2001 From: Sen Date: Mon, 19 May 2025 22:15:06 +0200 Subject: [PATCH] miscellanious fixes --- client/src/client/Client.java | 2 +- common/src/common/biome/Biome.java | 2 +- common/src/common/block/BlockBlackenedDirt.java | 2 ++ common/src/common/block/BlockBlackenedSoil.java | 2 ++ common/src/common/init/Config.java | 2 +- common/src/common/world/AWorldServer.java | 2 ++ server/src/server/world/WorldServer.java | 9 +++++++-- 7 files changed, 16 insertions(+), 5 deletions(-) diff --git a/client/src/client/Client.java b/client/src/client/Client.java index 733137d..7ceb7b6 100755 --- a/client/src/client/Client.java +++ b/client/src/client/Client.java @@ -341,7 +341,7 @@ public class Client implements IThreadListener { public EntityNPC player; public HitPosition pointed; - @Variable(name = "chunk_view_distance", category = CVarCategory.RENDER, min = 2, max = 16 /* 128 */, callback = DistanceFunction.class, display = "Sichtweite", unit = "Chunks") + @Variable(name = "chunk_view_distance", category = CVarCategory.RENDER, min = 2, max = 16, callback = DistanceFunction.class, display = "Sichtweite", unit = "Chunks") public int renderDistance = 8; @Variable(name = "chunk_build_time", category = CVarCategory.RENDER, min = 1, max = 100, display = "Max. Zeit für Chunk-Bau pro Frame", unit = "ms") public int maxBuildTime = 8; diff --git a/common/src/common/biome/Biome.java b/common/src/common/biome/Biome.java index b02260c..2ae9bb6 100644 --- a/common/src/common/biome/Biome.java +++ b/common/src/common/biome/Biome.java @@ -28,7 +28,7 @@ public enum Biome { ICEPLAINS(12, "icePlains", "Eisebene", 0xffffff, -20.0f), ICEMOUNTAINS(13, "iceMountains", "Vereistes Bergland", 0xa0a0a0, -20.0f), MUSHROOMPLAINS(14, "mushroomPlains", "Pilzland", 0xff00ff, 16.0f, 100.0f), - BLACKENED(15, "blackened", "Schwarz", 0x000000, 0.0f, 0.0f, 0x000000, 0x303030, 0x303030), + BLACKENED(15, "blackened", "Schwarz", 0x000000, 0.0f, 0.0f, 0x000000, 0x303030, 0x303030, 0x000000, 0x000000, 0x000000), BEACH(16, "beach", "Strand", 0xfade55, 12.0f, 40.0f), DESERTHILLS(17, "desertHills", "Wüsten-Bergland", 0xd25f12, 60.0f, 0.0f), FORESTHILLS(18, "forestHills", "Wald-Bergland", 0x22551c, 8.0f, 80.0f), diff --git a/common/src/common/block/BlockBlackenedDirt.java b/common/src/common/block/BlockBlackenedDirt.java index 361c7cb..6e821ae 100644 --- a/common/src/common/block/BlockBlackenedDirt.java +++ b/common/src/common/block/BlockBlackenedDirt.java @@ -1,5 +1,6 @@ package common.block; +import common.biome.Biome; import common.init.Blocks; import common.init.Config; import common.item.CheatTab; @@ -35,6 +36,7 @@ public class BlockBlackenedDirt extends Block else if (iblockstate.getBlock() == Blocks.grass && worldIn.getLightFromNeighbors(blockpos.up()) >= 2 && block.getLightOpacity() <= 6) { worldIn.setState(blockpos, Blocks.blackened_soil.getState()); + worldIn.setBiome(blockpos, Biome.BLACKENED); } else if (iblockstate.getBlock() == Blocks.stone && rand.chance(25)) { diff --git a/common/src/common/block/BlockBlackenedSoil.java b/common/src/common/block/BlockBlackenedSoil.java index 3e122f6..e6c0e26 100644 --- a/common/src/common/block/BlockBlackenedSoil.java +++ b/common/src/common/block/BlockBlackenedSoil.java @@ -1,5 +1,6 @@ package common.block; +import common.biome.Biome; import common.init.Blocks; import common.init.Config; import common.item.CheatTab; @@ -39,6 +40,7 @@ public class BlockBlackenedSoil extends Block if ((iblockstate.getBlock() == Blocks.dirt || iblockstate.getBlock() == Blocks.grass || iblockstate.getBlock() == Blocks.blackened_dirt) && worldIn.getLightFromNeighbors(blockpos.up()) >= 2 && block.getLightOpacity() <= 6) { worldIn.setState(blockpos, Blocks.blackened_soil.getState()); + worldIn.setBiome(blockpos, Biome.BLACKENED); } } } diff --git a/common/src/common/init/Config.java b/common/src/common/init/Config.java index d04c4e4..eacec16 100755 --- a/common/src/common/init/Config.java +++ b/common/src/common/init/Config.java @@ -421,7 +421,7 @@ public abstract class Config { public static int orbDamageOther = 0; @Var(name = "weatherChance") public static int weatherChance = 48000; - @Var(name = "viewDistance", min = 2, max = 128) + @Var(name = "viewDistance", min = 2, max = 16) public static int distance = 10; @Var(name = "healChance") public static int healChance = 5; diff --git a/common/src/common/world/AWorldServer.java b/common/src/common/world/AWorldServer.java index 3ab7b11..dbbda3f 100644 --- a/common/src/common/world/AWorldServer.java +++ b/common/src/common/world/AWorldServer.java @@ -2,6 +2,7 @@ package common.world; import java.util.List; +import common.biome.Biome; import common.block.Block; import common.dimension.Dimension; import common.entity.Entity; @@ -44,4 +45,5 @@ public abstract class AWorldServer extends World { public abstract boolean isBlockinHighHumidity(BlockPos pos); public abstract T findNearestEntityWithinAABB(Class entityType, BoundingBox aabb, T closestTo); public abstract long getTime(); + public abstract void setBiome(BlockPos pos, Biome biome); } diff --git a/server/src/server/world/WorldServer.java b/server/src/server/world/WorldServer.java index 84c1cf1..37b2873 100755 --- a/server/src/server/world/WorldServer.java +++ b/server/src/server/world/WorldServer.java @@ -2245,7 +2245,7 @@ public final class WorldServer extends AWorldServer { // return new LazyBlock(state, this, position); // } - public final boolean setBiome(BlockPos position, Biome biome) { + private final boolean setChunkBiome(BlockPos position, Biome biome) { Chunk chunk = this.getChunk(position); if((chunk != null) && (chunk.isLoaded())) { chunk.getBiomes()[((position.getZ() & 0xF) << 4 | position.getX() & 0xF)] = (byte)biome.id; @@ -2258,7 +2258,7 @@ public final class WorldServer extends AWorldServer { Set chunks = Sets.newHashSet(); for(int x = start.getX(); x <= end.getX(); x++) { for(int z = start.getZ(); z <= end.getZ(); z++) { - if(this.setBiome(new BlockPos(x, 0, z), biome)) + if(this.setChunkBiome(new BlockPos(x, 0, z), biome)) chunks.add(new ChunkPos(x >> 4, z >> 4)); } } @@ -2267,6 +2267,11 @@ public final class WorldServer extends AWorldServer { } chunks.clear(); } + + public final void setBiome(BlockPos pos, Biome biome) { + if(this.setChunkBiome(pos, biome)) + this.updateBiomes(pos.getX() >> 4, pos.getZ() >> 4); + } // public final List getEntities(EditRegion region) { // List entities = Lists.newArrayList();