From 92a63763e792f0d1e08710593e6d0bfd7021cdc1 Mon Sep 17 00:00:00 2001 From: AViewFromTheTop <87103914+AViewFromTheTop@users.noreply.github.com> Date: Wed, 5 Feb 2025 02:25:45 -0500 Subject: [PATCH] fix features --- .../feature/api/features/FadingDiskCarpetFeature.java | 11 +++++------ .../api/features/FadingDiskExceptInBiomeFeature.java | 9 ++++----- .../feature/api/features/FadingDiskFeature.java | 9 ++++----- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/main/java/net/frozenblock/lib/worldgen/feature/api/features/FadingDiskCarpetFeature.java b/src/main/java/net/frozenblock/lib/worldgen/feature/api/features/FadingDiskCarpetFeature.java index 18e59e93..e4d02c4b 100644 --- a/src/main/java/net/frozenblock/lib/worldgen/feature/api/features/FadingDiskCarpetFeature.java +++ b/src/main/java/net/frozenblock/lib/worldgen/feature/api/features/FadingDiskCarpetFeature.java @@ -58,12 +58,12 @@ public boolean place(@NotNull FeaturePlaceContext for (int z = bz - radius; z <= bz + radius; z++) { if (useHeightMapAndNotCircular) { double distance = Math.pow((double) bx - x, 2) + Math.pow((double) bz - z, 2); - success.set(placeAtPos(level, config, origin, random, radius, mutableDisk, x, level.getHeight(heightmap, x, z), z, distance, true) || success.get()); + success.set(placeAtPos(level, config, origin, random, radius, mutableDisk, x, level.getHeight(heightmap, x, z), z, distance) || success.get()); } else { int maxY = by + radius; for (int y = by - radius; y <= maxY; y++) { double distance = Math.pow((double) bx - x, 2) + Math.pow((double) by - y, 2) + Math.pow((double) bz - z, 2); - success.set(placeAtPos(level, config, origin, random, radius, mutableDisk, x, y + 1, z, distance, false) || success.get()); + success.set(placeAtPos(level, config, origin, random, radius, mutableDisk, x, y + 1, z, distance) || success.get()); } } } @@ -82,19 +82,18 @@ private boolean placeAtPos( int x, int y, int z, - double distance, - boolean useHeightMapAndNotCircular + double distance ) { if (distance < Math.pow(radius, 2)) { mutableDisk.set(x, y, z); - if (!useHeightMapAndNotCircular && FrozenLibFeatureUtils.isBlockExposed(level, mutableDisk)) { + if (FrozenLibFeatureUtils.isBlockExposed(level, mutableDisk)) { boolean inner = mutableDisk.closerThan(origin, radius * config.innerChance()); boolean fade = !inner && !mutableDisk.closerThan(origin, radius * config.fadeStartDistancePercent()); if (random.nextFloat() < config.placementChance()) { if (fade) { BlockState outerState = config.outerState().getState(random, mutableDisk); if (random.nextFloat() > 0.5F && outerState.canSurvive(level, mutableDisk)) { - return this.placeBlock(level, config.outerState().getState(random, mutableDisk), mutableDisk); + return this.placeBlock(level, outerState, mutableDisk); } } else { BlockStateProvider innerStateProvider = inner && random.nextFloat() < config.innerChance() ? config.innerState() : config.outerState(); diff --git a/src/main/java/net/frozenblock/lib/worldgen/feature/api/features/FadingDiskExceptInBiomeFeature.java b/src/main/java/net/frozenblock/lib/worldgen/feature/api/features/FadingDiskExceptInBiomeFeature.java index 83a622cd..da48f285 100644 --- a/src/main/java/net/frozenblock/lib/worldgen/feature/api/features/FadingDiskExceptInBiomeFeature.java +++ b/src/main/java/net/frozenblock/lib/worldgen/feature/api/features/FadingDiskExceptInBiomeFeature.java @@ -60,12 +60,12 @@ public boolean place(@NotNull FeaturePlaceContext conte for (int z = bz - radius; z <= bz + radius; z++) { if (useHeightMapAndNotCircular) { double distance = Math.pow((double) bx - x, 2) + Math.pow((double) bz - z, 2); - success.set(placeAtPos(level, config, origin, random, radius, mutableDisk, x, level.getHeight(heightmap, x, z) - 1, z, distance, true) || success.get()); + success.set(placeAtPos(level, config, origin, random, radius, mutableDisk, x, level.getHeight(heightmap, x, z) - 1, z, distance) || success.get()); } else { int maxY = by + radius; for (int y = by - radius; y <= maxY; y++) { double distance = Math.pow((double) bx - x, 2) + Math.pow((double) by - y, 2) + Math.pow((double) bz - z, 2); - success.set(placeAtPos(level, config, origin, random, radius, mutableDisk, x, y, z, distance, false) || success.get()); + success.set(placeAtPos(level, config, origin, random, radius, mutableDisk, x, y, z, distance) || success.get()); } } } @@ -82,13 +82,12 @@ private boolean placeAtPos( int x, int y, int z, - double distance, - boolean useHeightMapAndNotCircular + double distance ) { if (distance < Math.pow(radius, 2)) { mutableDisk.set(x, y, z); BlockState state = level.getBlockState(mutableDisk); - if (!useHeightMapAndNotCircular && FrozenLibFeatureUtils.isBlockExposed(level, mutableDisk)) { + if (FrozenLibFeatureUtils.isBlockExposed(level, mutableDisk)) { boolean inner = mutableDisk.closerThan(origin, radius * config.innerChance()); boolean fade = !inner && !mutableDisk.closerThan(origin, radius * config.fadeStartDistancePercent()); if (random.nextFloat() < config.placementChance()) {