From 1b269ce2e6a8993cf03c7640daa8f42027148485 Mon Sep 17 00:00:00 2001 From: Noah Greff Date: Sat, 30 May 2026 00:00:25 +0200 Subject: [PATCH 1/2] added `waveEmissionAtNight` config --- src/main/java/net/superkat/tidal/config/TidalConfig.java | 1 + src/main/java/net/superkat/tidal/wave/Wave.java | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/superkat/tidal/config/TidalConfig.java b/src/main/java/net/superkat/tidal/config/TidalConfig.java index 27e0557..c04a65a 100644 --- a/src/main/java/net/superkat/tidal/config/TidalConfig.java +++ b/src/main/java/net/superkat/tidal/config/TidalConfig.java @@ -12,6 +12,7 @@ public class TidalConfig extends MidnightConfig { @Comment(category = WAVES, centered = true) public static Comment reloadReminder; @Entry(category = WAVES, isSlider = true, min = 3, max = 16) public static int chunkRadius = 5; @Entry(category = WAVES, min = 1, max = 1024) public static int chunkUpdatesRescanAmount = 50; + @Entry(category = WAVES) public static boolean waveEmissionAtNight = false; @Entry(category = WAVES) public static boolean debug = false; @Comment(category = WAVES, centered = true) public static Comment debugDocs; diff --git a/src/main/java/net/superkat/tidal/wave/Wave.java b/src/main/java/net/superkat/tidal/wave/Wave.java index 8f34fc8..31930cb 100644 --- a/src/main/java/net/superkat/tidal/wave/Wave.java +++ b/src/main/java/net/superkat/tidal/wave/Wave.java @@ -13,6 +13,7 @@ import net.minecraft.util.math.Vec3d; import net.minecraft.world.LightType; import net.superkat.tidal.TidalParticles; +import net.superkat.tidal.config.TidalConfig; import net.superkat.tidal.particles.SprayParticleEffect; import org.jetbrains.annotations.Range; @@ -356,7 +357,7 @@ public int getMaxAge() { public int getLight() { //emissive during full moon :) - if (this.world.getMoonPhase() == 0 && this.world.getTimeOfDay() >= 12000) + if (TidalConfig.waveEmissionAtNight && this.world.getMoonPhase() == 0 && this.world.getTimeOfDay() >= 12000) return LightmapTextureManager.pack(15, 15); BlockPos pos = this.getBlockPos().add(0, 1, 0); int blockLight = this.world.getLightLevel(LightType.BLOCK, pos); From d17f17f31c0df74c38478352ebe1f0f9d6e79e2b Mon Sep 17 00:00:00 2001 From: Noah Greff Date: Sat, 30 May 2026 14:16:27 +0200 Subject: [PATCH 2/2] added check to havee waves in some biomes only --- .../superkat/tidal/wave/TidalWaveHandler.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/net/superkat/tidal/wave/TidalWaveHandler.java b/src/main/java/net/superkat/tidal/wave/TidalWaveHandler.java index e571024..9dfddcd 100644 --- a/src/main/java/net/superkat/tidal/wave/TidalWaveHandler.java +++ b/src/main/java/net/superkat/tidal/wave/TidalWaveHandler.java @@ -12,8 +12,10 @@ import net.minecraft.client.world.ClientWorld; import net.minecraft.fluid.FluidState; import net.minecraft.particle.ParticleTypes; +import net.minecraft.registry.RegistryKey; import net.minecraft.registry.tag.BiomeTags; import net.minecraft.registry.tag.FluidTags; +import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.ChunkPos; import net.minecraft.util.math.MathHelper; @@ -37,6 +39,7 @@ import java.util.Objects; import java.util.Queue; import java.util.Set; +import java.util.Locale; import java.util.stream.Collectors; /** @@ -160,6 +163,7 @@ public void spawnWaves(Set waterBlocks) { BlockPos beneath = spawnPos.add(0, -1, 0); if (world.isAir(beneath) || !world.getBlockState(beneath).getFluidState().isStill()) continue; + if (!biomeNameAllowsTides(spawnPos)) continue; if (world.getBiome(spawnPos).isIn(BiomeTags.IS_RIVER)) bigWave = false; Wave wave = new Wave(this.world, spawnPos, yaw, yOffset, bigWave); @@ -169,6 +173,18 @@ public void spawnWaves(Set waterBlocks) { } } + private boolean biomeNameAllowsTides(BlockPos pos) { + return this.world.getBiome(pos) + .getKey() + .map(RegistryKey::getValue) + .map(Identifier::getPath) + .map(path -> { + String biomeName = path.toLowerCase(Locale.ROOT); + return biomeName.contains("beach") || biomeName.contains("ocean") || biomeName.contains("sea"); + }) + .orElse(false); + } + public Set findConnected(BlockPos start, float yaw, Set waterBlocks, Set ignoreSet) { int maxLength = 3; Set connected = Sets.newHashSet();