Skip to content

Commit

Permalink
add translations, use java.util.Properties for config file
Browse files Browse the repository at this point in the history
  • Loading branch information
Enchanted-Games committed Feb 6, 2024
1 parent 1926795 commit a282973
Show file tree
Hide file tree
Showing 13 changed files with 242 additions and 540 deletions.
Expand Up @@ -3,7 +3,7 @@
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import games.enchanted.fallingBlockParticles.libs.nu.studer.OrderedProperties;
import java.util.Properties;

import games.enchanted.fallingBlockParticles.FallingBlockParticlesClient;
import games.enchanted.fallingBlockParticles.util.Conversions;
Expand All @@ -16,15 +16,15 @@ public class ConfigFileHandling {
public static final String FBP_SCALE_TIME = "falling_block_particle__scale_time_in_ticks";
public static final String FBP_SCALE_DELAY = "falling_block_particle__scale_delay_in_ticks";

private static void writeProperties(OrderedProperties p) {
private static void writeProperties(Properties p) {
p.setProperty(FBP_RARITY, Integer.toString(ConfigValues.falling_block_particle__rarity));
p.setProperty(FBP_MIN_TICK_AGE, Integer.toString(ConfigValues.falling_block_particle__minAgeInTicks));
p.setProperty(FBP_MAX_TICK_AGE, Integer.toString(ConfigValues.falling_block_particle__maxAgeInTicks));
p.setProperty(FBP_SCALE_TIME, Integer.toString(ConfigValues.falling_block_particle__scaleTimeInTicks));
p.setProperty(FBP_SCALE_DELAY, Integer.toString(ConfigValues.falling_block_particle__scaleDelayInTicks));
}

private static void setConfigFromProperties(OrderedProperties p) {
private static void setConfigFromProperties(Properties p) {
ConfigValues.falling_block_particle__rarity = Conversions.defaultedStringToInt(getProperty(p, FBP_RARITY), DefaultConfigValues.falling_block_particle__rarity);
ConfigValues.falling_block_particle__minAgeInTicks = Conversions.defaultedStringToInt(getProperty(p, FBP_MIN_TICK_AGE), ConfigValues.falling_block_particle__minAgeInTicks);
ConfigValues.falling_block_particle__maxAgeInTicks = Conversions.defaultedStringToInt(getProperty(p, FBP_MAX_TICK_AGE), ConfigValues.falling_block_particle__maxAgeInTicks);
Expand All @@ -35,7 +35,7 @@ private static void setConfigFromProperties(OrderedProperties p) {

// Call loadConfig before saving in onInitialize!
public static void saveConfig() {
OrderedProperties configProperties = new OrderedProperties();
Properties configProperties = new Properties();
Path configFilePath = FabricLoader.getInstance().getConfigDir().resolve(FallingBlockParticlesClient.CONFIG_FILE_NAME);

writeProperties(configProperties);
Expand All @@ -61,7 +61,7 @@ public static void saveConfig() {
}

public static void loadConfig() {
OrderedProperties configProperties = new OrderedProperties();
Properties configProperties = new Properties();
Path configFilePath = FabricLoader.getInstance().getConfigDir().resolve(FallingBlockParticlesClient.CONFIG_FILE_NAME);

// save defaults if no config exists
Expand All @@ -81,7 +81,7 @@ public static void loadConfig() {
setConfigFromProperties(configProperties);
}

private static String getProperty(OrderedProperties p, String property) {
private static String getProperty(Properties p, String property) {
String prop = p.getProperty(property);
return prop == null ? "" : prop;
}
Expand Down
Expand Up @@ -11,64 +11,64 @@
import net.minecraft.text.Text;

public class YACLConfigBuilder {
private final static String translationStart = FallingBlockParticlesClient.MOD_ID;
// https://github.com/isXander/Controlify/blob/update/1.20.3/src/main/java/dev/isxander/controlify/gui/screen/GlobalSettingsScreenFactory.java
public static Screen buildScreen(Screen parent) {
return YetAnotherConfigLib.createBuilder()
.title( Text.translatableWithFallback(translationStart + ".config.title", "Configurable Item Timers Config") )
// main category
.category( ConfigCategory.createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.category.particles", "particles") )
private final static String translationStart = FallingBlockParticlesClient.MOD_ID;

public static Screen buildScreen(Screen parent) {
return YetAnotherConfigLib.createBuilder()
.title( Text.translatableWithFallback(translationStart + ".config.title", "Falling Block Particles Config") )
// main category
.category( ConfigCategory.createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.category.particles", "particles") )

// general group
.group( OptionGroup.createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle", "falling block dust particle") )
// particle rarity
.option( Option.<Integer>createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.rarity", "particle spawn chance") )
.description( OptionDescription.of( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.rarity.desc", "higher values reduce the chance of particles spawning") ) )
.binding( DefaultConfigValues.falling_block_particle__rarity, () -> ConfigValues.falling_block_particle__rarity, (newVal) -> ConfigValues.falling_block_particle__rarity = newVal )
.controller( opt -> IntegerSliderControllerBuilder.create(opt).range(1, 64).step(1) )
.build())
// min age
.option( Option.<Integer>createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.minAgeInTicks", "min particle lifespan (ticks)") )
.description( OptionDescription.of( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.minAgeInTicks.desc", "minimum amount of time particles can live for, in ticks") ) )
.binding( DefaultConfigValues.falling_block_particle__minAgeInTicks, () -> ConfigValues.falling_block_particle__minAgeInTicks, (newVal) -> ConfigValues.falling_block_particle__minAgeInTicks = newVal )
.controller( opt -> IntegerSliderControllerBuilder.create(opt).range(0, 512).step(1) )
.build())
// max age
.option( Option.<Integer>createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.maxAgeInTicks", "max particle lifespan (ticks)") )
.description( OptionDescription.of( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.maxAgeInTicks.desc", "maximum amount of time particles can live for, in ticks") ) )
.binding( DefaultConfigValues.falling_block_particle__maxAgeInTicks, () -> ConfigValues.falling_block_particle__maxAgeInTicks, (newVal) -> ConfigValues.falling_block_particle__maxAgeInTicks = newVal )
.controller( opt -> IntegerSliderControllerBuilder.create(opt).range(0, 512).step(1) )
.build())
// scale time
.option( Option.<Integer>createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.scaleTimeInTicks", "scale time (ticks)") )
.description( OptionDescription.of( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.scaleTimeInTicks.desc", "time it takes for particle to shrink and dissapear, in ticks") ) )
.binding( DefaultConfigValues.falling_block_particle__scaleTimeInTicks, () -> ConfigValues.falling_block_particle__scaleTimeInTicks, (newVal) -> ConfigValues.falling_block_particle__scaleTimeInTicks = newVal )
.controller( opt -> IntegerSliderControllerBuilder.create(opt).range(0, 512).step(1) )
.build())
// scale delay
.option( Option.<Integer>createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.scaleDelayInTicks", "scale Delay (ticks)") )
.description( OptionDescription.of( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.scaleDelayInTicks.desc", "deblay before the particle starts to shrink and disapear, in ticks") ) )
.binding( DefaultConfigValues.falling_block_particle__scaleDelayInTicks, () -> ConfigValues.falling_block_particle__scaleDelayInTicks, (newVal) -> ConfigValues.falling_block_particle__scaleDelayInTicks = newVal )
.controller( opt -> IntegerSliderControllerBuilder.create(opt).range(0, 512).step(1) )
.build())
// general group
.group( OptionGroup.createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle", "falling block dust particle") )
// particle rarity
.option( Option.<Integer>createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.rarity", "particle spawn chance") )
.description( OptionDescription.of( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.rarity.desc", "higher values reduce the chance of particles spawning") ) )
.binding( DefaultConfigValues.falling_block_particle__rarity, () -> ConfigValues.falling_block_particle__rarity, (newVal) -> ConfigValues.falling_block_particle__rarity = newVal )
.controller( opt -> IntegerSliderControllerBuilder.create(opt).range(1, 64).step(1) )
.build())
// min age
.option( Option.<Integer>createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.minAgeInTicks", "min particle lifespan (ticks)") )
.description( OptionDescription.of( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.minAgeInTicks.desc", "minimum amount of time particles can live for, in ticks") ) )
.binding( DefaultConfigValues.falling_block_particle__minAgeInTicks, () -> ConfigValues.falling_block_particle__minAgeInTicks, (newVal) -> ConfigValues.falling_block_particle__minAgeInTicks = newVal )
.controller( opt -> IntegerSliderControllerBuilder.create(opt).range(0, 512).step(1) )
.build())
// max age
.option( Option.<Integer>createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.maxAgeInTicks", "max particle lifespan (ticks)") )
.description( OptionDescription.of( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.maxAgeInTicks.desc", "maximum amount of time particles can live for, in ticks") ) )
.binding( DefaultConfigValues.falling_block_particle__maxAgeInTicks, () -> ConfigValues.falling_block_particle__maxAgeInTicks, (newVal) -> ConfigValues.falling_block_particle__maxAgeInTicks = newVal )
.controller( opt -> IntegerSliderControllerBuilder.create(opt).range(0, 512).step(1) )
.build())
// scale time
.option( Option.<Integer>createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.scaleTimeInTicks", "scale time (ticks)") )
.description( OptionDescription.of( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.scaleTimeInTicks.desc", "time it takes for particle to shrink and disappear, in ticks") ) )
.binding( DefaultConfigValues.falling_block_particle__scaleTimeInTicks, () -> ConfigValues.falling_block_particle__scaleTimeInTicks, (newVal) -> ConfigValues.falling_block_particle__scaleTimeInTicks = newVal )
.controller( opt -> IntegerSliderControllerBuilder.create(opt).range(0, 512).step(1) )
.build())
// scale delay
.option( Option.<Integer>createBuilder()
.name( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.scaleDelayInTicks", "scale Delay (ticks)") )
.description( OptionDescription.of( Text.translatableWithFallback(translationStart + ".config.group.falling_block_particle.option.scaleDelayInTicks.desc", "delay before the particle starts to shrink and disappear, in ticks") ) )
.binding( DefaultConfigValues.falling_block_particle__scaleDelayInTicks, () -> ConfigValues.falling_block_particle__scaleDelayInTicks, (newVal) -> ConfigValues.falling_block_particle__scaleDelayInTicks = newVal )
.controller( opt -> IntegerSliderControllerBuilder.create(opt).range(0, 512).step(1) )
.build())

.build())
.build())

.build())
.build())

.save(new Runnable() {
@Override
public void run() {
ConfigFileHandling.saveConfig();
}
})
.build().generateScreen(parent);
}
.save(new Runnable() {
@Override
public void run() {
ConfigFileHandling.saveConfig();
}
})
.build().generateScreen(parent);
}
}

0 comments on commit a282973

Please sign in to comment.