5
5
import arc .struct .ObjectMap ;
6
6
import arc .util .Log ;
7
7
import mindustry .Vars ;
8
- import mindustry .ai .UnitCommand ;
9
8
import mindustry .core .Version ;
10
9
import mindustry .logic .LAccess ;
11
10
import mindustry .logic .LAssembler ;
14
13
import mindustry .world .blocks .distribution .ItemBridge ;
15
14
import mindustry .world .blocks .distribution .MassDriver ;
16
15
import mindustry .world .blocks .logic .LogicBlock ;
17
- import mindustry .world .blocks .payloads .PayloadMassDriver ;
18
16
import mindustry .world .blocks .power .PowerNode ;
19
17
import mindustry .world .blocks .units .UnitFactory ;
20
18
import mindustry .world .meta .BuildVisibility ;
24
22
import java .util .IdentityHashMap ;
25
23
import java .util .Map ;
26
24
import java .util .Scanner ;
25
+ import java .util .Set ;
27
26
28
27
public class MindustryMetadataExtractor extends Mod {
29
28
30
- private final int expectedVersion = 7 ;
29
+ private final int expectedVersion = 6 ;
31
30
private final String newLine = System .lineSeparator ();
32
31
private final StringBuilder sbr = new StringBuilder ();
33
32
@@ -44,15 +43,13 @@ public void init() {
44
43
writeItems ();
45
44
writeLiquids ();
46
45
writeUnits ();
47
- writeCommands ();
48
46
writeLAccess ();
49
47
writeVars ();
50
- writeSounds ();
51
48
}
52
49
}
53
50
54
51
private void writeToFile (String file ) {
55
- Fi fi = Core .files .local ("mimex" + expectedVersion + " -" + file + ".txt" );
52
+ Fi fi = Core .files .local ("mimex-" + file + ".txt" );
56
53
fi .writeString (sbr .toString ());
57
54
Log .info ("Created local file " + fi .absolutePath ());
58
55
sbr .setLength (0 );
@@ -85,7 +82,6 @@ private void writeIcons() {
85
82
visibilityMap .put (BuildVisibility .campaignOnly , "campaignOnly" );
86
83
visibilityMap .put (BuildVisibility .lightingOnly , "lightingOnly" );
87
84
visibilityMap .put (BuildVisibility .ammoOnly , "ammoOnly" );
88
- visibilityMap .put (BuildVisibility .fogOnly , "fogOnly" );
89
85
}
90
86
91
87
private double getRange (Block block ) {
@@ -95,8 +91,6 @@ private double getRange(Block block) {
95
91
return b .range ;
96
92
} else if (block instanceof MassDriver d ) {
97
93
return d .range / Vars .tilesize ;
98
- } else if (block instanceof PayloadMassDriver d ) {
99
- return d .range / Vars .tilesize ;
100
94
} else if (block instanceof LogicBlock l ) {
101
95
return l .range / Vars .tilesize ;
102
96
} else {
@@ -144,7 +138,7 @@ private void writeBlocks() {
144
138
145
139
Vars .content .blocks ().each (block -> {
146
140
sbr .append (block .name )
147
- .append (';' ).append (Vars . logicVars . lookupLogicId ( block ) )
141
+ .append (';' ).append ("" )
148
142
.append (';' ).append (visibilityMap .get (block .buildVisibility ))
149
143
.append (';' ).append (block .size )
150
144
.append (';' ).append (block .subclass .getSimpleName ())
@@ -153,18 +147,18 @@ private void writeBlocks() {
153
147
.append (';' ).append (getRange (block ))
154
148
.append (';' ).append (block .hasItems )
155
149
.append (';' ).append (block .acceptsItems )
156
- .append (';' ).append (block . separateItemCapacity )
150
+ .append (';' ).append ("" )
157
151
.append (';' ).append (block .itemCapacity )
158
- .append (';' ).append (block . noSideBlend )
152
+ .append (';' ).append ("" )
159
153
.append (';' ).append (block .unloadable )
160
154
.append (';' ).append (block .hasLiquids )
161
155
.append (';' ).append (block .outputsLiquid )
162
156
.append (';' ).append (block .liquidCapacity )
163
157
.append (';' ).append (block .hasPower )
164
158
.append (';' ).append (block .consumesPower )
165
159
.append (';' ).append (block .outputsPower )
166
- .append (';' ).append (block . connectedPower )
167
- .append (';' ).append (block . conductivePower )
160
+ .append (';' ).append ("" )
161
+ .append (';' ).append ("" )
168
162
.append (';' ).append (block instanceof PowerNode p ? p .maxNodes : 0 )
169
163
.append (';' ).append (block .outputFacing )
170
164
.append (';' ).append (block .rotate )
@@ -186,7 +180,7 @@ private void writeItems() {
186
180
.append (newLine );
187
181
188
182
Vars .content .items ().each (item -> sbr .append (item .name )
189
- .append (';' ).append (Vars . logicVars . lookupLogicId ( item ) )
183
+ .append (';' ).append (- 1 )
190
184
.append (newLine ));
191
185
192
186
writeToFile ("items" );
@@ -200,7 +194,7 @@ private void writeLiquids() {
200
194
.append (newLine );
201
195
202
196
Vars .content .liquids ().each (liquid -> sbr .append (liquid .name )
203
- .append (';' ).append (Vars . logicVars . lookupLogicId ( liquid ) )
197
+ .append (';' ).append (- 1 )
204
198
.append (newLine ));
205
199
206
200
writeToFile ("liquids" );
@@ -214,27 +208,13 @@ private void writeUnits() {
214
208
.append (newLine );
215
209
216
210
Vars .content .units ().each (unit -> sbr .append (unit .name )
217
- .append (';' ).append (Vars . logicVars . lookupLogicId ( unit ) )
211
+ .append (';' ).append (- 1 )
218
212
.append (newLine ));
219
213
220
214
writeToFile ("units" );
221
215
}
222
216
223
217
224
- private void writeCommands () {
225
- sbr .append ("// DO NOT EDIT! Generated by mimex - Mindustry Metadata Extractor" ).append (newLine );
226
-
227
- sbr .append ("name" )
228
- .append (';' ).append ("id" )
229
- .append (newLine );
230
-
231
- UnitCommand .all .each (command -> sbr .append (command .name )
232
- .append (';' ).append (command .id )
233
- .append (newLine ));
234
-
235
- writeToFile ("commands" );
236
- }
237
-
238
218
private void writeLAccess () {
239
219
sbr .append ("// DO NOT EDIT! Generated by mimex - Mindustry Metadata Extractor" ).append (newLine );
240
220
@@ -246,15 +226,14 @@ private void writeLAccess() {
246
226
.append (newLine );
247
227
248
228
249
- HashSet <LAccess > senseable = new HashSet <>(Arrays .asList (LAccess .senseable ));
250
- HashSet <LAccess > controls = new HashSet <>(Arrays .asList (LAccess .controls ));
251
- HashSet <LAccess > settable = new HashSet <>(Arrays .asList (LAccess .settable ));
229
+ Set <LAccess > senseable = new HashSet <>(Arrays .asList (LAccess .senseable ));
230
+ Set <LAccess > controls = new HashSet <>(Arrays .asList (LAccess .controls ));
252
231
253
232
for (LAccess l : LAccess .all ) {
254
233
sbr .append (l .name ())
255
234
.append (';' ).append (senseable .contains (l ))
256
235
.append (';' ).append (controls .contains (l ))
257
- .append (';' ).append (settable . contains ( l ) )
236
+ .append (';' ).append ("" )
258
237
.append (';' ).append (String .join ("," , l .params ))
259
238
.append (newLine );
260
239
}
@@ -263,42 +242,29 @@ private void writeLAccess() {
263
242
}
264
243
265
244
private void writeVars () {
266
- // try {
267
- sbr .append ("// DO NOT EDIT! Generated by mimex - Mindustry Metadata Extractor" ).append (newLine );
268
-
269
- LAssembler lAssembler = LAssembler .assemble ("noop" , true );
270
- ObjectMap <String , LAssembler .BVar > lvars = lAssembler .vars ;
245
+ sbr .append ("// DO NOT EDIT! Generated by mimex - Mindustry Metadata Extractor" ).append (newLine );
271
246
272
- sbr .append ("name" )
273
- .append (';' ).append ("global" )
274
- .append (';' ).append ("isobj" )
275
- .append (';' ).append ("constant" )
276
- .append (';' ).append ("numval" )
277
- .append (newLine );
247
+ LAssembler lAssembler = LAssembler .assemble ("noop" );
248
+ ObjectMap <String , LAssembler .BVar > lvars = lAssembler .vars ;
278
249
279
- lAssembler .vars .forEach (e -> sbr .append (e .key )
280
- .append (';' ).append ("global" )
281
- .append (';' ).append (false )
282
- .append (';' ).append (e .value .constant )
283
- .append (';' ).append (0.0 )
284
- .append (newLine ));
285
-
286
- // lvars.values().forEach(e -> sbr.append(e.name)
287
- // .append(';').append("global")
288
- // .append(';').append(e.isobj)
289
- // .append(';').append(e.constant)
290
- // .append(';').append(e.numval)
291
- // .append(newLine));
292
-
293
- writeToFile ("vars" );
294
- // } catch (NoSuchFieldException | IllegalAccessException e) {
295
- // throw new RuntimeException(e);
296
- // }
297
- }
250
+ sbr .append ("name" )
251
+ .append (';' ).append ("global" )
252
+ .append (';' ).append ("isobj" )
253
+ .append (';' ).append ("constant" )
254
+ .append (';' ).append ("numval" )
255
+ .append (newLine );
298
256
299
- private void writeSounds () {
300
- // sbr.append("// DO NOT EDIT! Generated by mimex - Mindustry Metadata Extractor").append(newLine);
301
- // GlobalVars.soundNames.each(e -> sbr.append(e).append(newLine));
302
- // writeToFile("sounds");
257
+ lvars .keys ().forEach (e -> {
258
+ LAssembler .BVar var = lvars .get (e );
259
+ sbr .append (e )
260
+ .append (';' ).append ("" )
261
+ .append (';' ).append (var .value instanceof Number )
262
+ .append (';' ).append (var .constant )
263
+ .append (';' ).append (var .value )
264
+ .append (newLine );
265
+ }
266
+ );
267
+
268
+ writeToFile ("vars" );
303
269
}
304
270
}
0 commit comments