Private
Public Access
1
0

Replaced fields with config options.

This commit is contained in:
2025-06-06 04:58:15 +01:00
parent 4dd4c7a4c1
commit 6c24c58be0
2 changed files with 28 additions and 13 deletions

View File

@ -1,5 +1,6 @@
package dev.micle.firefly_bush_backport.block; package dev.micle.firefly_bush_backport.block;
import dev.micle.firefly_bush_backport.config.Config;
import dev.micle.firefly_bush_backport.particle.ModParticles; import dev.micle.firefly_bush_backport.particle.ModParticles;
import dev.micle.firefly_bush_backport.sound.ModSounds; import dev.micle.firefly_bush_backport.sound.ModSounds;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
@ -19,12 +20,6 @@ import java.util.List;
import java.util.Optional; import java.util.Optional;
public class FireflyBushBlock extends BushBlock implements BonemealableBlock { public class FireflyBushBlock extends BushBlock implements BonemealableBlock {
private static final double FIREFLY_CHANCE_PER_TICK = 0.7;
private static final double FIREFLY_HORIZONTAL_RANGE = 10.0;
private static final double FIREFLY_VERTICAL_RANGE = 5.0;
private static final int FIREFLY_SPAWN_MAX_BRIGHTNESS_LEVEL = 13;
private static final int FIREFLY_AMBIENT_SOUND_CHANCE_ONE_IN = 30;
public FireflyBushBlock(Properties properties) { public FireflyBushBlock(Properties properties) {
super(properties); super(properties);
} }
@ -32,17 +27,17 @@ public class FireflyBushBlock extends BushBlock implements BonemealableBlock {
@Override @Override
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
public void animateTick(BlockState blockState, Level level, BlockPos blockPos, RandomSource randomSource) { public void animateTick(BlockState blockState, Level level, BlockPos blockPos, RandomSource randomSource) {
if (randomSource.nextInt(FIREFLY_AMBIENT_SOUND_CHANCE_ONE_IN) == 0 if (randomSource.nextInt(Config.Client.bushFireflyAmbientSoundChanceOneIn.get()) == 0
&& isMoonVisible(level) && isMoonVisible(level)
&& level.getHeight(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, blockPos.getX(), blockPos.getZ()) <= blockPos.getY()) { && level.getHeight(Heightmap.Types.MOTION_BLOCKING_NO_LEAVES, blockPos.getX(), blockPos.getZ()) <= blockPos.getY()) {
level.playLocalSound(blockPos, ModSounds.FIREFLY_BUSH_IDLE.get(), SoundSource.AMBIENT, 1.0F, 1.0F, false); level.playLocalSound(blockPos, ModSounds.FIREFLY_BUSH_IDLE.get(), SoundSource.AMBIENT, 1.0F, 1.0F, false);
} }
if ((isMoonVisible(level) || level.getMaxLocalRawBrightness(blockPos) <= FIREFLY_SPAWN_MAX_BRIGHTNESS_LEVEL) && if ((isMoonVisible(level) || level.getMaxLocalRawBrightness(blockPos) <= Config.Client.bushFireflySpawnMaxBrightnessLevel.get()) &&
randomSource.nextDouble() <= FIREFLY_CHANCE_PER_TICK) { randomSource.nextDouble() <= Config.Client.bushFireflyChancePerTick.get()) {
double d0 = blockPos.getX() + randomSource.nextDouble() * FIREFLY_HORIZONTAL_RANGE - FIREFLY_VERTICAL_RANGE; double d0 = blockPos.getX() + randomSource.nextDouble() * Config.Client.bushFireflyHorizontalRange.get() - Config.Client.bushFireflyVerticalRange.get();
double d1 = blockPos.getY() + randomSource.nextDouble() * FIREFLY_VERTICAL_RANGE; double d1 = blockPos.getY() + randomSource.nextDouble() * Config.Client.bushFireflyVerticalRange.get();
double d2 = blockPos.getZ() + randomSource.nextDouble() * FIREFLY_HORIZONTAL_RANGE - FIREFLY_VERTICAL_RANGE; double d2 = blockPos.getZ() + randomSource.nextDouble() * Config.Client.bushFireflyHorizontalRange.get() - Config.Client.bushFireflyVerticalRange.get();
level.addParticle(ModParticles.FIREFLY.get(), d0, d1, d2, 0.0, 0.0, 0.0); level.addParticle(ModParticles.FIREFLY.get(), d0, d1, d2, 0.0, 0.0, 0.0);
} }
} }

View File

@ -1,6 +1,7 @@
package dev.micle.firefly_bush_backport.config; package dev.micle.firefly_bush_backport.config;
import dev.micle.firefly_bush_backport.FireflyBushBackport; import dev.micle.firefly_bush_backport.FireflyBushBackport;
import net.minecraft.world.level.Level;
import net.minecraftforge.common.ForgeConfigSpec; import net.minecraftforge.common.ForgeConfigSpec;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
@ -49,7 +50,26 @@ public final class Config {
} }
public static class Client { public static class Client {
Client(ForgeConfigSpec.Builder builder) {} public static ForgeConfigSpec.DoubleValue bushFireflyChancePerTick;
public static ForgeConfigSpec.DoubleValue bushFireflyHorizontalRange;
public static ForgeConfigSpec.DoubleValue bushFireflyVerticalRange;
public static ForgeConfigSpec.IntValue bushFireflySpawnMaxBrightnessLevel;
public static ForgeConfigSpec.IntValue bushFireflyAmbientSoundChanceOneIn;
Client(ForgeConfigSpec.Builder builder) {
builder.comment("Official settings for the firefly bush.").push("bush");
bushFireflyChancePerTick = builder
.defineInRange("bushFireflyChancePerTick", 0.7, 0, 1);
bushFireflyHorizontalRange = builder
.defineInRange("bushFireflyHorizontalRange", 10.0, 0, Double.MAX_VALUE);
bushFireflyVerticalRange = builder
.defineInRange("bushFireflyVerticalRange", 5.0, 0, Double.MAX_VALUE);
bushFireflySpawnMaxBrightnessLevel = builder
.defineInRange("bushFireflySpawnMaxBrightnessLevel", 13, 0, Level.MAX_BRIGHTNESS);
bushFireflyAmbientSoundChanceOneIn = builder
.defineInRange("bushFireflyAmbientSoundChanceOneIn", 30, 0, Integer.MAX_VALUE);
builder.pop();
}
private static void onConfigReload() {} private static void onConfigReload() {}
} }