1
1
package net .hypixel .resourcepack ;
2
2
3
3
import com .google .gson .Gson ;
4
+ import com .google .gson .GsonBuilder ;
4
5
import joptsimple .OptionSet ;
5
6
import net .hypixel .resourcepack .impl .*;
6
7
import net .hypixel .resourcepack .pack .Pack ;
13
14
14
15
public class PackConverter {
15
16
16
- public static final Gson GSON = new Gson ();
17
17
public static final boolean DEBUG = true ;
18
18
19
19
protected final OptionSet optionSet ;
20
+ protected final Gson gson ;
21
+
20
22
protected final Map <Class <? extends Converter >, Converter > converters = new LinkedHashMap <>();
21
23
22
24
public PackConverter (OptionSet optionSet ) {
23
25
this .optionSet = optionSet ;
24
26
27
+ GsonBuilder gsonBuilder = new GsonBuilder ();
28
+ if (!this .optionSet .has (Options .MINIFY )) gsonBuilder .setPrettyPrinting ();
29
+ this .gson = gsonBuilder .create ();
30
+
25
31
// this needs to be run first, other converters might reference new directory names
26
- this .registerConverter (new NameConverter ());
32
+ this .registerConverter (new NameConverter (this ));
27
33
28
- this .registerConverter (new PackMetaConverter ());
34
+ this .registerConverter (new PackMetaConverter (this ));
29
35
30
- this .registerConverter (new ModelConverter ());
31
- this .registerConverter (new SpacesConverter ());
32
- this .registerConverter (new SoundsConverter ());
33
- this .registerConverter (new ParticleConverter ());
34
- this .registerConverter (new BlockStateConverter ());
35
- this .registerConverter (new AnimationConverter ());
36
- this .registerConverter (new MapIconConverter ());
36
+ this .registerConverter (new ModelConverter (this ));
37
+ this .registerConverter (new SpacesConverter (this ));
38
+ this .registerConverter (new SoundsConverter (this ));
39
+ this .registerConverter (new ParticleConverter (this ));
40
+ this .registerConverter (new BlockStateConverter (this ));
41
+ this .registerConverter (new AnimationConverter (this ));
42
+ this .registerConverter (new MapIconConverter (this ));
37
43
}
38
44
39
45
public void registerConverter (Converter converter ) {
@@ -58,7 +64,7 @@ public void run() throws IOException {
58
64
System .out .println (" Running Converters" );
59
65
for (Converter converter : converters .values ()) {
60
66
if (PackConverter .DEBUG ) System .out .println (" Running " + converter .getClass ().getSimpleName ());
61
- converter .convert (this , pack );
67
+ converter .convert (pack );
62
68
}
63
69
64
70
pack .getHandler ().finish ();
@@ -69,6 +75,10 @@ public void run() throws IOException {
69
75
});
70
76
}
71
77
78
+ public Gson getGson () {
79
+ return gson ;
80
+ }
81
+
72
82
@ Override
73
83
public String toString () {
74
84
return "PackConverter{" +
0 commit comments