Ported config.
This commit is contained in:
@ -1,45 +1,43 @@
|
|||||||
package dev.micle.firefly_bush_backport.config;
|
package dev.micle.firefly_bush_backport.config;
|
||||||
|
|
||||||
import dev.micle.firefly_bush_backport.FireflyBushBackport;
|
|
||||||
import net.minecraft.util.random.SimpleWeightedRandomList;
|
import net.minecraft.util.random.SimpleWeightedRandomList;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraftforge.common.ForgeConfigSpec;
|
import net.neoforged.bus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.neoforged.fml.ModContainer;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.neoforged.fml.config.ModConfig;
|
||||||
import net.minecraftforge.fml.config.ModConfig;
|
import net.neoforged.fml.event.config.ModConfigEvent;
|
||||||
import net.minecraftforge.fml.event.config.ModConfigEvent;
|
import net.neoforged.neoforge.common.ModConfigSpec;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@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;
|
||||||
public static final ForgeConfigSpec CLIENT_SPEC;
|
public static final ModConfigSpec CLIENT_SPEC;
|
||||||
public static final Common COMMON;
|
public static final Common COMMON;
|
||||||
public static final ForgeConfigSpec COMMON_SPEC;
|
public static final ModConfigSpec COMMON_SPEC;
|
||||||
public static final Server SERVER;
|
public static final Server SERVER;
|
||||||
public static final ForgeConfigSpec SERVER_SPEC;
|
public static final ModConfigSpec SERVER_SPEC;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
Pair<Client, ForgeConfigSpec> clientSpecPair = new ForgeConfigSpec.Builder().configure(Client::new);
|
Pair<Client, ModConfigSpec> clientSpecPair = new ModConfigSpec.Builder().configure(Client::new);
|
||||||
CLIENT = clientSpecPair.getLeft();
|
CLIENT = clientSpecPair.getLeft();
|
||||||
CLIENT_SPEC = clientSpecPair.getRight();
|
CLIENT_SPEC = clientSpecPair.getRight();
|
||||||
|
|
||||||
Pair<Common, ForgeConfigSpec> commonSpecPair = new ForgeConfigSpec.Builder().configure(Common::new);
|
Pair<Common, ModConfigSpec> commonSpecPair = new ModConfigSpec.Builder().configure(Common::new);
|
||||||
COMMON = commonSpecPair.getLeft();
|
COMMON = commonSpecPair.getLeft();
|
||||||
COMMON_SPEC = commonSpecPair.getRight();
|
COMMON_SPEC = commonSpecPair.getRight();
|
||||||
|
|
||||||
Pair<Server, ForgeConfigSpec> serverSpecPair = new ForgeConfigSpec.Builder().configure(Server::new);
|
Pair<Server, ModConfigSpec> serverSpecPair = new ModConfigSpec.Builder().configure(Server::new);
|
||||||
SERVER = serverSpecPair.getLeft();
|
SERVER = serverSpecPair.getLeft();
|
||||||
SERVER_SPEC = serverSpecPair.getRight();
|
SERVER_SPEC = serverSpecPair.getRight();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void register() {
|
public static void register(ModContainer modContainer) {
|
||||||
FireflyBushBackport.getFMLJavaModLoadingContext().registerConfig(ModConfig.Type.CLIENT, CLIENT_SPEC);
|
modContainer.registerConfig(ModConfig.Type.CLIENT, CLIENT_SPEC);
|
||||||
FireflyBushBackport.getFMLJavaModLoadingContext().registerConfig(ModConfig.Type.COMMON, COMMON_SPEC);
|
modContainer.registerConfig(ModConfig.Type.COMMON, COMMON_SPEC);
|
||||||
FireflyBushBackport.getFMLJavaModLoadingContext().registerConfig(ModConfig.Type.SERVER, SERVER_SPEC);
|
modContainer.registerConfig(ModConfig.Type.SERVER, SERVER_SPEC);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
@ -54,29 +52,29 @@ public final class Config {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class Client {
|
public static class Client {
|
||||||
public static ForgeConfigSpec.DoubleValue bushFireflyChancePerTick;
|
public static ModConfigSpec.DoubleValue bushFireflyChancePerTick;
|
||||||
public static ForgeConfigSpec.DoubleValue bushFireflyHorizontalRange;
|
public static ModConfigSpec.DoubleValue bushFireflyHorizontalRange;
|
||||||
public static ForgeConfigSpec.DoubleValue bushFireflyVerticalRange;
|
public static ModConfigSpec.DoubleValue bushFireflyVerticalRange;
|
||||||
public static ForgeConfigSpec.IntValue bushFireflySpawnMaxBrightnessLevel;
|
public static ModConfigSpec.IntValue bushFireflySpawnMaxBrightnessLevel;
|
||||||
public static ForgeConfigSpec.IntValue bushFireflyAmbientSoundChanceOneIn;
|
public static ModConfigSpec.IntValue bushFireflyAmbientSoundChanceOneIn;
|
||||||
|
|
||||||
public static ForgeConfigSpec.BooleanValue bushExtraAlwaysPlayAmbientSound;
|
public static ModConfigSpec.BooleanValue bushExtraAlwaysPlayAmbientSound;
|
||||||
public static ForgeConfigSpec.BooleanValue bushExtraAlwaysSpawnParticles;
|
public static ModConfigSpec.BooleanValue bushExtraAlwaysSpawnParticles;
|
||||||
|
|
||||||
public static ForgeConfigSpec.DoubleValue particleFadeOutLightTime;
|
public static ModConfigSpec.DoubleValue particleFadeOutLightTime;
|
||||||
public static ForgeConfigSpec.DoubleValue particleFadeInLightTime;
|
public static ModConfigSpec.DoubleValue particleFadeInLightTime;
|
||||||
public static ForgeConfigSpec.DoubleValue particleFadeOutAlphaTime;
|
public static ModConfigSpec.DoubleValue particleFadeOutAlphaTime;
|
||||||
public static ForgeConfigSpec.DoubleValue particleFadeInAlphaTime;
|
public static ModConfigSpec.DoubleValue particleFadeInAlphaTime;
|
||||||
public static ForgeConfigSpec.IntValue particleMinLifetime;
|
public static ModConfigSpec.IntValue particleMinLifetime;
|
||||||
public static ForgeConfigSpec.IntValue particleMaxLifetime;
|
public static ModConfigSpec.IntValue particleMaxLifetime;
|
||||||
|
|
||||||
public static ForgeConfigSpec.DoubleValue particleExtraFriction;
|
public static ModConfigSpec.DoubleValue particleExtraFriction;
|
||||||
public static ForgeConfigSpec.DoubleValue particleExtraScale;
|
public static ModConfigSpec.DoubleValue particleExtraScale;
|
||||||
public static ForgeConfigSpec.DoubleValue particleExtraBrightness;
|
public static ModConfigSpec.DoubleValue particleExtraBrightness;
|
||||||
private static ForgeConfigSpec.ConfigValue<List<? extends String>> particleExtraColors;
|
private static ModConfigSpec.ConfigValue<List<? extends String>> particleExtraColors;
|
||||||
public static SimpleWeightedRandomList<Color> particleExtraColorsWeightedList;
|
public static SimpleWeightedRandomList<Color> particleExtraColorsWeightedList;
|
||||||
|
|
||||||
Client(ForgeConfigSpec.Builder builder) {
|
Client(ModConfigSpec.Builder builder) {
|
||||||
builder.comment("Settings for the firefly bush.").push("bush");
|
builder.comment("Settings for the firefly bush.").push("bush");
|
||||||
bushFireflyChancePerTick = builder
|
bushFireflyChancePerTick = builder
|
||||||
.defineInRange("bushFireflyChancePerTick", 0.7, 0, 1);
|
.defineInRange("bushFireflyChancePerTick", 0.7, 0, 1);
|
||||||
@ -120,7 +118,7 @@ public final class Config {
|
|||||||
.defineInRange("particleExtraBrightness", 255.0, 0, 255);
|
.defineInRange("particleExtraBrightness", 255.0, 0, 255);
|
||||||
particleExtraColors = builder
|
particleExtraColors = builder
|
||||||
.comment("List of color hex values and their weight. Format: '<color_hex>,<weight>'")
|
.comment("List of color hex values and their weight. Format: '<color_hex>,<weight>'")
|
||||||
.defineList("particleExtraColors", List.of("#ffffff,1"), Client::isValidColorEntry);
|
.defineList("particleExtraColors", List.of(getDefaultColorEntry()), Client::getDefaultColorEntry, Client::isValidColorEntry);
|
||||||
builder.pop();
|
builder.pop();
|
||||||
builder.pop();
|
builder.pop();
|
||||||
}
|
}
|
||||||
@ -137,16 +135,20 @@ public final class Config {
|
|||||||
private static boolean isValidColorEntry(Object entry) {
|
private static boolean isValidColorEntry(Object entry) {
|
||||||
return entry instanceof String && ((String) entry).matches("#\\w{6},\\d+$");
|
return entry instanceof String && ((String) entry).matches("#\\w{6},\\d+$");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getDefaultColorEntry() {
|
||||||
|
return "#ffffff,1";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Common {
|
public static class Common {
|
||||||
Common(ForgeConfigSpec.Builder builder) {}
|
Common(ModConfigSpec.Builder builder) {}
|
||||||
|
|
||||||
private static void onConfigReload() {}
|
private static void onConfigReload() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Server {
|
public static class Server {
|
||||||
Server(ForgeConfigSpec.Builder builder) {}
|
Server(ModConfigSpec.Builder builder) {}
|
||||||
|
|
||||||
private static void onConfigReload() {}
|
private static void onConfigReload() {}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user