Skip to content

Commit c9c846f

Browse files
committed
Version 6
1 parent 31e3d42 commit c9c846f

File tree

4 files changed

+40
-96
lines changed

4 files changed

+40
-96
lines changed

build.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
@echo off
22
call gradlew.bat jar
3-
copy build\libs\mimexDesktop.jar "%APPDATA%\Mindustry\mods\mimexDesktop7.jar" /y
3+
copy build\libs\mimexDesktop.jar "%APPDATA%\Mindustry\mods\mimexDesktop6.jar" /y

build.gradle

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ java{
1717

1818
ext{
1919
//the build number that this mod is made for
20-
mindustryVersion = 'v146'
20+
mindustryVersion = 'v126.2'
2121
jabelVersion = "93fde537c7"
2222
//windows sucks
2323
isWindows = System.getProperty("os.name").toLowerCase().contains("windows")
@@ -48,27 +48,6 @@ configurations.all{
4848
}
4949
}
5050

51-
task jarAndroid{
52-
dependsOn "jar"
53-
54-
doLast{
55-
if(!sdkRoot || !new File(sdkRoot).exists()) throw new GradleException("No valid Android SDK found. Ensure that ANDROID_HOME is set to your Android SDK directory.");
56-
57-
def platformRoot = new File("$sdkRoot/platforms/").listFiles().sort().reverse().find{ f -> new File(f, "android.jar").exists()}
58-
59-
if(!platformRoot) throw new GradleException("No android.jar found. Ensure that you have an Android platform installed.")
60-
61-
//collect dependencies needed for desugaring
62-
def dependencies = (configurations.compileClasspath.asList() + configurations.runtimeClasspath.asList() + [new File(platformRoot, "android.jar")]).collect{ "--classpath $it.path" }.join(" ")
63-
64-
def d8 = isWindows ? "d8.bat" : "d8"
65-
66-
//dex and desugar files - this requires d8 in your PATH
67-
"$d8 $dependencies --min-api 14 --output ${project.archivesBaseName}Android.jar ${project.archivesBaseName}Desktop.jar"
68-
.execute(null, new File("$buildDir/libs")).waitForProcessOutput(System.out, System.err)
69-
}
70-
}
71-
7251
jar{
7352
archiveFileName = "${base.archivesBaseName}Desktop.jar"
7453

@@ -86,7 +65,6 @@ jar{
8665
}
8766

8867
task deploy(type: Jar){
89-
dependsOn jarAndroid
9068
dependsOn jar
9169
archiveFileName = "${base.archivesBaseName}.jar"
9270

mod.hjson

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
displayName: "Mindustry Metadata Extractor"
2-
name: "mindustry-metadata-extractor"
1+
displayName: "Mindustry Metadata Extractor, ver 6"
2+
name: "mindustry-metadata-extractor-6"
33
author: "Cardillan"
44
main: "mimex.MindustryMetadataExtractor"
55
description: "Mindustry Metadata Extractor. Does not have any useful content."
66
version: 1.0
7-
minGameVersion: 146
7+
minGameVersion: 126
88
java: true
99
hidden: true

src/mimex/MindustryMetadataExtractor.java

Lines changed: 35 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import arc.struct.ObjectMap;
66
import arc.util.Log;
77
import mindustry.Vars;
8-
import mindustry.ai.UnitCommand;
98
import mindustry.core.Version;
109
import mindustry.logic.LAccess;
1110
import mindustry.logic.LAssembler;
@@ -14,7 +13,6 @@
1413
import mindustry.world.blocks.distribution.ItemBridge;
1514
import mindustry.world.blocks.distribution.MassDriver;
1615
import mindustry.world.blocks.logic.LogicBlock;
17-
import mindustry.world.blocks.payloads.PayloadMassDriver;
1816
import mindustry.world.blocks.power.PowerNode;
1917
import mindustry.world.blocks.units.UnitFactory;
2018
import mindustry.world.meta.BuildVisibility;
@@ -24,10 +22,11 @@
2422
import java.util.IdentityHashMap;
2523
import java.util.Map;
2624
import java.util.Scanner;
25+
import java.util.Set;
2726

2827
public class MindustryMetadataExtractor extends Mod {
2928

30-
private final int expectedVersion = 7;
29+
private final int expectedVersion = 6;
3130
private final String newLine = System.lineSeparator();
3231
private final StringBuilder sbr = new StringBuilder();
3332

@@ -44,15 +43,13 @@ public void init() {
4443
writeItems();
4544
writeLiquids();
4645
writeUnits();
47-
writeCommands();
4846
writeLAccess();
4947
writeVars();
50-
writeSounds();
5148
}
5249
}
5350

5451
private void writeToFile(String file) {
55-
Fi fi = Core.files.local("mimex" + expectedVersion + "-" + file + ".txt");
52+
Fi fi = Core.files.local("mimex-" + file + ".txt");
5653
fi.writeString(sbr.toString());
5754
Log.info("Created local file " + fi.absolutePath());
5855
sbr.setLength(0);
@@ -85,7 +82,6 @@ private void writeIcons() {
8582
visibilityMap.put(BuildVisibility.campaignOnly, "campaignOnly");
8683
visibilityMap.put(BuildVisibility.lightingOnly, "lightingOnly");
8784
visibilityMap.put(BuildVisibility.ammoOnly, "ammoOnly");
88-
visibilityMap.put(BuildVisibility.fogOnly, "fogOnly");
8985
}
9086

9187
private double getRange(Block block) {
@@ -95,8 +91,6 @@ private double getRange(Block block) {
9591
return b.range;
9692
} else if (block instanceof MassDriver d) {
9793
return d.range / Vars.tilesize;
98-
} else if (block instanceof PayloadMassDriver d) {
99-
return d.range / Vars.tilesize;
10094
} else if (block instanceof LogicBlock l) {
10195
return l.range / Vars.tilesize;
10296
} else {
@@ -144,7 +138,7 @@ private void writeBlocks() {
144138

145139
Vars.content.blocks().each(block -> {
146140
sbr.append(block.name)
147-
.append(';').append(Vars.logicVars.lookupLogicId(block))
141+
.append(';').append("")
148142
.append(';').append(visibilityMap.get(block.buildVisibility))
149143
.append(';').append(block.size)
150144
.append(';').append(block.subclass.getSimpleName())
@@ -153,18 +147,18 @@ private void writeBlocks() {
153147
.append(';').append(getRange(block))
154148
.append(';').append(block.hasItems)
155149
.append(';').append(block.acceptsItems)
156-
.append(';').append(block.separateItemCapacity)
150+
.append(';').append("")
157151
.append(';').append(block.itemCapacity)
158-
.append(';').append(block.noSideBlend)
152+
.append(';').append("")
159153
.append(';').append(block.unloadable)
160154
.append(';').append(block.hasLiquids)
161155
.append(';').append(block.outputsLiquid)
162156
.append(';').append(block.liquidCapacity)
163157
.append(';').append(block.hasPower)
164158
.append(';').append(block.consumesPower)
165159
.append(';').append(block.outputsPower)
166-
.append(';').append(block.connectedPower)
167-
.append(';').append(block.conductivePower)
160+
.append(';').append("")
161+
.append(';').append("")
168162
.append(';').append(block instanceof PowerNode p ? p.maxNodes : 0)
169163
.append(';').append(block.outputFacing)
170164
.append(';').append(block.rotate)
@@ -186,7 +180,7 @@ private void writeItems() {
186180
.append(newLine);
187181

188182
Vars.content.items().each(item -> sbr.append(item.name)
189-
.append(';').append(Vars.logicVars.lookupLogicId(item))
183+
.append(';').append(-1)
190184
.append(newLine));
191185

192186
writeToFile("items");
@@ -200,7 +194,7 @@ private void writeLiquids() {
200194
.append(newLine);
201195

202196
Vars.content.liquids().each(liquid -> sbr.append(liquid.name)
203-
.append(';').append(Vars.logicVars.lookupLogicId(liquid))
197+
.append(';').append(-1)
204198
.append(newLine));
205199

206200
writeToFile("liquids");
@@ -214,27 +208,13 @@ private void writeUnits() {
214208
.append(newLine);
215209

216210
Vars.content.units().each(unit -> sbr.append(unit.name)
217-
.append(';').append(Vars.logicVars.lookupLogicId(unit))
211+
.append(';').append(-1)
218212
.append(newLine));
219213

220214
writeToFile("units");
221215
}
222216

223217

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-
238218
private void writeLAccess() {
239219
sbr.append("// DO NOT EDIT! Generated by mimex - Mindustry Metadata Extractor").append(newLine);
240220

@@ -246,15 +226,14 @@ private void writeLAccess() {
246226
.append(newLine);
247227

248228

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));
252231

253232
for (LAccess l : LAccess.all) {
254233
sbr.append(l.name())
255234
.append(';').append(senseable.contains(l))
256235
.append(';').append(controls.contains(l))
257-
.append(';').append(settable.contains(l))
236+
.append(';').append("")
258237
.append(';').append(String.join(",", l.params))
259238
.append(newLine);
260239
}
@@ -263,42 +242,29 @@ private void writeLAccess() {
263242
}
264243

265244
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);
271246

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;
278249

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);
298256

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");
303269
}
304270
}

0 commit comments

Comments
 (0)