2323import io .github .ImpactDevelopment .installer .impact .ImpactJsonVersion ;
2424import io .github .ImpactDevelopment .installer .libraries .ILibrary ;
2525import io .github .ImpactDevelopment .installer .libraries .MavenResolver ;
26+ import io .github .ImpactDevelopment .installer .profiles .VanillaProfiles ;
2627import io .github .ImpactDevelopment .installer .setting .InstallationConfig ;
2728import io .github .ImpactDevelopment .installer .setting .settings .ImpactVersionSetting ;
2829import io .github .ImpactDevelopment .installer .setting .settings .MinecraftDirectorySetting ;
@@ -122,6 +123,15 @@ public static void populateLib(ILibrary lib, JsonArray libraries) {
122123
123124 @ Override
124125 public void apply () throws IOException {
126+ System .out .println ("Installing impact " + getId ());
127+ System .out .println ("Info:" );
128+ version .printInfo ();
129+ installVersionJson ();
130+ installProfiles ();
131+ }
132+
133+ private void installVersionJson () throws IOException {
134+ System .out .println ("Creating vanilla version" );
125135 Path directory = config .getSettingValue (MinecraftDirectorySetting .INSTANCE ).resolve ("versions" ).resolve (id );
126136 if (!Files .exists (directory )) {
127137 try {
@@ -134,6 +144,16 @@ public void apply() throws IOException {
134144 Files .write (directory .resolve (id + ".json" ), Installer .gson .toJson (populate ()).getBytes (StandardCharsets .UTF_8 ));
135145 }
136146
147+ private void installProfiles () throws IOException {
148+ System .out .println ("Loading existing vanilla profiles" );
149+ VanillaProfiles profiles = new VanillaProfiles (config );
150+ System .out .println ("Injecting impact version..." );
151+
152+ profiles .addOrMutate (version .name + " " + version .version + " for " + version .mcVersion , getId ());
153+ System .out .println ("Saving vanilla profiles" );
154+ profiles .saveToDisk ();
155+ }
156+
137157 public String getId () {
138158 return id ;
139159 }
0 commit comments