Private
Public Access
1
0

Made color config into a list.

This commit is contained in:
2025-06-06 21:36:43 +01:00
parent 586b5a582b
commit b07de5906d
2 changed files with 14 additions and 5 deletions

View File

@ -2,7 +2,6 @@ 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.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
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;
@ -10,6 +9,10 @@ import net.minecraftforge.fml.config.ModConfig;
import net.minecraftforge.fml.event.config.ModConfigEvent; import net.minecraftforge.fml.event.config.ModConfigEvent;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import java.awt.*;
import java.util.Arrays;
import java.util.List;
@Mod.EventBusSubscriber(modid = FireflyBushBackport.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD) @Mod.EventBusSubscriber(modid = FireflyBushBackport.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
public final class Config { public final class Config {
public static final Client CLIENT; public static final Client CLIENT;
@ -67,7 +70,7 @@ public final class Config {
public static ForgeConfigSpec.DoubleValue particleExtraFriction; public static ForgeConfigSpec.DoubleValue particleExtraFriction;
public static ForgeConfigSpec.DoubleValue particleExtraScale; public static ForgeConfigSpec.DoubleValue particleExtraScale;
public static ForgeConfigSpec.DoubleValue particleExtraBrightness; public static ForgeConfigSpec.DoubleValue particleExtraBrightness;
public static ForgeConfigSpec.ConfigValue<String> particleExtraColor; public static ForgeConfigSpec.ConfigValue<List<? extends String>> particleExtraColors;
Client(ForgeConfigSpec.Builder builder) { Client(ForgeConfigSpec.Builder builder) {
builder.comment("Settings for the firefly bush.").push("bush"); builder.comment("Settings for the firefly bush.").push("bush");
@ -104,13 +107,17 @@ public final class Config {
.defineInRange("particleExtraScale", 0.75, 0, Double.MAX_VALUE); .defineInRange("particleExtraScale", 0.75, 0, Double.MAX_VALUE);
particleExtraBrightness = builder particleExtraBrightness = builder
.defineInRange("particleExtraBrightness", 255.0, 0, 255); .defineInRange("particleExtraBrightness", 255.0, 0, 255);
particleExtraColor = builder particleExtraColors = builder
.define("particleExtraColor", "#ffffff"); .defineList("particleExtraColors", List.of("#ffffff"), Client::isValidColorEntry);
builder.pop(); builder.pop();
builder.pop(); builder.pop();
} }
private static void onConfigReload() {} private static void onConfigReload() {}
private static boolean isValidColorEntry(Object entry) {
return entry instanceof String && ((String) entry).matches("#(\\w{6})$");
}
} }
public static class Common { public static class Common {

View File

@ -12,6 +12,7 @@ import org.jetbrains.annotations.NotNull;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
import java.awt.*; import java.awt.*;
import java.util.List;
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)
public class FireflyParticle extends TextureSheetParticle { public class FireflyParticle extends TextureSheetParticle {
@ -102,7 +103,8 @@ public class FireflyParticle extends TextureSheetParticle {
fireflyParticle.pickSprite(this.sprite); fireflyParticle.pickSprite(this.sprite);
fireflyParticle.setAlpha(0.0F); fireflyParticle.setAlpha(0.0F);
Color color = Color.decode(Config.Client.particleExtraColor.get()); List<? extends String> possibleColors = Config.Client.particleExtraColors.get();
Color color = Color.decode(possibleColors.get(clientLevel.random.nextIntBetweenInclusive(0, possibleColors.size() - 1)));
fireflyParticle.setColor(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F); fireflyParticle.setColor(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F);
return fireflyParticle; return fireflyParticle;