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.
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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.