11package xyz .jpenilla .squaremap .common .config ;
22
3- import io .leangen .geantyref .TypeToken ;
4- import java .util .HashMap ;
53import java .util .List ;
64import java .util .Map ;
7- import org .spongepowered .configurate .ConfigurationNode ;
85import org .spongepowered .configurate .NodePath ;
96import org .spongepowered .configurate .transformation .ConfigurationTransformation ;
107import xyz .jpenilla .squaremap .common .data .DirectoryProvider ;
118import xyz .jpenilla .squaremap .common .util .ReflectionUtil ;
129
1310@ SuppressWarnings ("unused" )
1411public final class Advanced extends AbstractConfig {
15- private static final int LATEST_VERSION = 3 ;
12+ private static final int LATEST_VERSION = 4 ;
1613
1714 Advanced (final DirectoryProvider directoryProvider ) {
1815 super (directoryProvider .dataDirectory (), Advanced .class , "advanced.yml" , LATEST_VERSION );
1916 }
2017
2118 @ Override
2219 protected void addVersions (ConfigurationTransformation .VersionedBuilder versionedBuilder ) {
23- final ConfigurationTransformation oneToTwo = ConfigurationTransformation .builder ()
24- .addAction (NodePath .path ("world-settings" , "default" , "color-overrides" ), (path , node ) -> {
25- final TypeToken <Map <String , String >> type = new TypeToken <>() {};
26-
27- final ConfigurationNode foliageNode = node .node ("biomes" , "foliage" );
28- final Map <String , String > foliageMap = foliageNode .get (type , new HashMap <>());
29- foliageMap .put ("minecraft:mangrove_swamp" , "#6f9623" );
30- foliageNode .set (type , foliageMap );
20+ final NodePath defaultColorOverridesPath = NodePath .path ("world-settings" , "default" , "color-overrides" );
3121
32- final ConfigurationNode blocksNode = node .node ("blocks" );
33- final Map <String , String > blocksMap = blocksNode .get (type , new HashMap <>());
34- blocksMap .put ("minecraft:pink_petals" , "#FFB4DB" );
35- blocksNode .set (type , blocksMap );
36- return null ;
37- })
22+ final ConfigurationTransformation oneToTwo = ConfigurationTransformation .builder ()
23+ .addAction (
24+ defaultColorOverridesPath .withAppendedChild ("biomes" ).withAppendedChild ("foliage" ),
25+ Transformations .modifyStringMap (map -> {
26+ map .put ("minecraft:mangrove_swamp" , "#6f9623" );
27+ })
28+ )
29+ .addAction (
30+ defaultColorOverridesPath .withAppendedChild ("blocks" ),
31+ Transformations .modifyStringMap (map -> {
32+ map .put ("minecraft:pink_petals" , "#FFB4DB" );
33+ })
34+ )
3835 .build ();
3936 final ConfigurationTransformation twoToThree = ConfigurationTransformation .builder ()
4037 .addAction (NodePath .path ("world-settings" ), Transformations .eachMapChild (worldSection -> {
@@ -50,9 +47,17 @@ protected void addVersions(ConfigurationTransformation.VersionedBuilder versione
5047 );
5148 }))
5249 .build ();
50+ final ConfigurationTransformation threeToFour = ConfigurationTransformation .builder ()
51+ .addAction (
52+ defaultColorOverridesPath .withAppendedChild ("blocks" ),
53+ Transformations .modifyStringMap (map -> {
54+ map .put ("minecraft:pale_oak_leaves" , "#626760" );
55+ }))
56+ .build ();
5357
5458 versionedBuilder .addVersion (2 , oneToTwo );
55- versionedBuilder .addVersion (LATEST_VERSION , twoToThree );
59+ versionedBuilder .addVersion (3 , twoToThree );
60+ versionedBuilder .addVersion (LATEST_VERSION , threeToFour );
5661 }
5762
5863 static Advanced config ;
0 commit comments