Skip to content

Commit 366848b

Browse files
committed
Update dependencies + JSONs
1 parent 0e82625 commit 366848b

12 files changed

Lines changed: 82 additions & 69 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,5 @@ out
3232
# generated
3333
repo/
3434
bin/
35+
36+
run/

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ plugins {
77
def ENV = System.getenv()
88

99
group = 'org.mcphackers'
10-
version = '1.2.1'
10+
version = '1.2.2'
1111
if(!ENV.RELEASE.equals('1')) {
1212
project.version += '-SNAPSHOT'
1313
}
1414

15-
def asm_version = '9.7.1'
15+
def asm_version = '9.9'
1616
def depends = [
1717
"org.ow2.asm:asm:${asm_version}",
1818
// "org.ow2.asm:asm-util:${asm_version}",
1919
"org.ow2.asm:asm-tree:${asm_version}",
2020
"org.ow2.asm:asm-commons:${asm_version}",
21-
"org.json:json:20240303",
21+
"org.json:json:20250517",
2222
]
2323

2424
dependencies {

doc/MultiMC.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,19 @@ Edit "LaunchWrapper" component and modify `libraries` array:
3333
```diff
3434
"libraries": [
3535
{
36-
"name": "org.mcphackers:launchwrapper:1.1.3",
36+
"name": "org.mcphackers:launchwrapper:1.2.2",
3737
"url": "https://maven.glass-launcher.net/releases/"
3838
},
3939
- {
40-
- "name": "org.ow2.asm:asm:9.7.1",
40+
- "name": "org.ow2.asm:asm:9.9",
4141
- "url": "https://maven.fabricmc.net/"
4242
- },
4343
- {
44-
- "name": "org.ow2.asm:asm-tree:9.7.1",
44+
- "name": "org.ow2.asm:asm-tree:9.9",
4545
- "url": "https://maven.fabricmc.net/"
4646
- },
4747
{
48-
"name": "org.json:json:20240303",
48+
"name": "org.json:json:20250517",
4949
"url": "https://repo1.maven.org/maven2/"
5050
}
5151
],

doc/org.mcphackers.launchwrapper.fabric.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
"formatVersion": 1,
33
"name": "LaunchWrapper Fabric Compat",
44
"uid": "org.mcphackers.launchwrapper.fabric",
5-
"version": "1.1.2",
5+
"version": "1.2.2",
66
"libraries": [
77
{
8-
"name": "org.mcphackers:launchwrapper-fabric:1.1.2",
8+
"name": "org.mcphackers:launchwrapper-fabric:1.2.2",
99
"url": "https://maven.glass-launcher.net/releases/"
1010
}
1111
],

doc/org.mcphackers.launchwrapper.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,19 @@
44
],
55
"libraries": [
66
{
7-
"name": "org.mcphackers:launchwrapper:1.1.3",
7+
"name": "org.mcphackers:launchwrapper:1.2.2",
88
"url": "https://maven.glass-launcher.net/releases/"
99
},
1010
{
11-
"name": "org.ow2.asm:asm:9.7.1",
11+
"name": "org.ow2.asm:asm:9.9",
1212
"url": "https://maven.fabricmc.net/"
1313
},
1414
{
15-
"name": "org.ow2.asm:asm-tree:9.7.1",
15+
"name": "org.ow2.asm:asm-tree:9.9",
1616
"url": "https://maven.fabricmc.net/"
1717
},
1818
{
19-
"name": "org.json:json:20240303",
19+
"name": "org.json:json:20250517",
2020
"url": "https://repo1.maven.org/maven2/"
2121
}
2222
],
@@ -30,5 +30,5 @@
3030
"formatVersion": 1,
3131
"name": "LaunchWrapper",
3232
"uid": "org.mcphackers.launchwrapper",
33-
"version": "1.1.2"
33+
"version": "1.2.2"
3434
}

doc/org.mcphackers.launchwrapper.micromixin.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
"formatVersion": 1,
33
"name": "LaunchWrapper Micromixin",
44
"uid": "org.mcphackers.launchwrapper.micromixin",
5-
"version": "1.1.2",
5+
"version": "1.2.2",
66
"libraries": [
77
{
8-
"name": "org.mcphackers:launchwrapper-micromixin:1.1.2",
8+
"name": "org.mcphackers:launchwrapper-micromixin:1.2.2",
99
"url": "https://maven.glass-launcher.net/releases/"
1010
},
1111
{
@@ -29,27 +29,27 @@
2929
"url": "https://stianloader.org/maven/"
3030
},
3131
{
32-
"name": "net.fabricmc:mapping-io:0.3.0",
32+
"name": "net.fabricmc:mapping-io:0.7.1",
3333
"url": "https://maven.fabricmc.net/"
3434
},
3535
{
3636
"name": "net.fabricmc:access-widener:2.1.0",
3737
"url": "https://maven.fabricmc.net/"
3838
},
3939
{
40-
"name": "org.json:json:20230311",
40+
"name": "org.json:json:20250517",
4141
"url": "https://repo1.maven.org/maven2/"
4242
},
4343
{
44-
"name": "org.ow2.asm:asm:9.7.1",
44+
"name": "org.ow2.asm:asm:9.9",
4545
"url": "https://maven.fabricmc.net/"
4646
},
4747
{
48-
"name": "org.ow2.asm:asm-tree:9.7.1",
48+
"name": "org.ow2.asm:asm-tree:9.9",
4949
"url": "https://maven.fabricmc.net/"
5050
},
5151
{
52-
"name": "org.ow2.asm:asm-util:9.7.1",
52+
"name": "org.ow2.asm:asm-util:9.9",
5353
"url": "https://maven.fabricmc.net/"
5454
}
5555
],

launchwrapper-fabric/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ compileJava {
1212
}
1313

1414
dependencies {
15-
implementation "net.fabricmc:fabric-loader:0.16.10"
16-
runtimeOnly "net.fabricmc:sponge-mixin:0.15.4+mixin.0.8.7"
17-
runtimeOnly "org.ow2.asm:asm-commons:9.7.1"
15+
implementation "net.fabricmc:fabric-loader:0.17.2"
16+
runtimeOnly "net.fabricmc:sponge-mixin:0.16.4+mixin.0.8.7"
17+
runtimeOnly "org.ow2.asm:asm-commons:9.9"
1818
}

launchwrapper-fabric/src/main/java/org/mcphackers/launchwrapper/inject/LWGameProvider.java

Lines changed: 52 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,7 @@
77
import java.nio.file.Path;
88
import java.nio.file.Paths;
99
import java.security.CodeSource;
10-
import java.util.ArrayList;
11-
import java.util.Collection;
12-
import java.util.Collections;
13-
import java.util.HashMap;
14-
import java.util.List;
15-
import java.util.Locale;
16-
import java.util.Map;
10+
import java.util.*;
1711

1812
import net.fabricmc.api.EnvType;
1913
import net.fabricmc.loader.api.ObjectShare;
@@ -29,6 +23,7 @@
2923
import net.fabricmc.loader.impl.game.minecraft.McVersionLookup;
3024
import net.fabricmc.loader.impl.game.patch.GameTransformer;
3125
import net.fabricmc.loader.impl.launch.FabricLauncher;
26+
import net.fabricmc.loader.impl.launch.MappingConfiguration;
3227
import net.fabricmc.loader.impl.metadata.BuiltinModMetadata;
3328
import net.fabricmc.loader.impl.metadata.ContactInformationImpl;
3429
import net.fabricmc.loader.impl.metadata.ModDependencyImpl;
@@ -45,6 +40,9 @@
4540
import org.mcphackers.launchwrapper.util.ClassNodeSource;
4641

4742
public class LWGameProvider implements GameProvider {
43+
private static final Set<BuiltinTransform> TRANSFORM_WIDENALL_STRIPENV_CLASSTWEAKS = EnumSet.of(BuiltinTransform.WIDEN_ALL_PACKAGE_ACCESS, BuiltinTransform.STRIP_ENVIRONMENT, BuiltinTransform.CLASS_TWEAKS);
44+
private static final Set<BuiltinTransform> TRANSFORM_WIDENALL_CLASSTWEAKS = EnumSet.of(BuiltinTransform.WIDEN_ALL_PACKAGE_ACCESS, BuiltinTransform.CLASS_TWEAKS);
45+
private static final Set<BuiltinTransform> TRANSFORM_STRIPENV = EnumSet.of(BuiltinTransform.STRIP_ENVIRONMENT);
4846

4947
public LaunchConfig config = FabricBridge.getInstance().config;
5048
public MainLaunchTarget target = null;
@@ -85,6 +83,11 @@ public void launch(ClassLoader loader) {
8583
}
8684
}
8785

86+
@Override
87+
public boolean displayCrash(Throwable exception, String context) {
88+
return GameProvider.super.displayCrash(exception, context);
89+
}
90+
8891
private Path getLaunchwrapperSource() {
8992
CodeSource source = Launch.class.getProtectionDomain().getCodeSource();
9093
if (source != null) {
@@ -209,6 +212,7 @@ public Collection<BuiltinMod> getBuiltinMods() {
209212
.setEnvironment(ModEnvironment.CLIENT)
210213
.setDescription("Launch wrapper for legacy Minecraft")
211214
.addAuthor("lassebq", Collections.emptyMap())
215+
.addContributor("Zero_DSRS_VX", Collections.emptyMap())
212216
.addIcon(16, "icon_16x16.png")
213217
.addIcon(32, "icon_32x32.png")
214218
.addIcon(48, "icon_48x48.png")
@@ -244,13 +248,27 @@ public Path getGameJar() {
244248
}
245249

246250
@Override
247-
public boolean isObfuscated() {
248-
return true;
251+
public boolean requiresUrlClassLoader() {
252+
return hasModLoader;
249253
}
250254

251255
@Override
252-
public boolean requiresUrlClassLoader() {
253-
return hasModLoader;
256+
public Set<BuiltinTransform> getBuiltinTransforms(String className) {
257+
boolean isMinecraftClass = className.startsWith("net.minecraft.") // unobf classes in indev and later
258+
|| className.startsWith("com.mojang.minecraft.") // unobf classes in classic
259+
|| className.startsWith("com.mojang.rubydung.") // unobf classes in pre-classic
260+
|| className.startsWith("com.mojang.blaze3d.") // unobf blaze3d classes
261+
|| className.indexOf('.') < 0; // obf classes
262+
263+
if (isMinecraftClass) {
264+
if (FabricLoaderImpl.INSTANCE.isDevelopmentEnvironment()) { // combined client+server jar, strip back down to production equivalent
265+
return TRANSFORM_WIDENALL_STRIPENV_CLASSTWEAKS;
266+
} else { // environment specific jar, inherently env stripped
267+
return TRANSFORM_WIDENALL_CLASSTWEAKS;
268+
}
269+
} else { // mod class TODO: exclude game libs
270+
return TRANSFORM_STRIPENV;
271+
}
254272
}
255273

256274
@Override
@@ -267,12 +285,28 @@ public boolean hasAwtSupport() {
267285
public void initialize(FabricLauncher launcher) {
268286
launcher.setValidParentClassPath(validParentClassPath);
269287

270-
if (isObfuscated()) {
288+
289+
String gameNs = System.getProperty(SystemProperties.GAME_MAPPING_NAMESPACE);
290+
291+
if (gameNs == null) {
292+
List<String> mappingNamespaces;
293+
294+
if (launcher.isDevelopment()) {
295+
gameNs = MappingConfiguration.NAMED_NAMESPACE;
296+
} else if ((mappingNamespaces = launcher.getMappingConfiguration().getNamespaces()) == null
297+
|| mappingNamespaces.contains(MappingConfiguration.OFFICIAL_NAMESPACE)) {
298+
gameNs = MappingConfiguration.OFFICIAL_NAMESPACE;
299+
} else {
300+
gameNs = envType == EnvType.CLIENT ? MappingConfiguration.CLIENT_OFFICIAL_NAMESPACE : MappingConfiguration.SERVER_OFFICIAL_NAMESPACE;
301+
}
302+
}
303+
304+
if (!gameNs.equals(launcher.getMappingConfiguration().getRuntimeNamespace())) { // game is obfuscated / in another namespace -> remap
271305
Map<String, Path> obfJars = new HashMap<>(1);
272306
String clientSide = envType.name().toLowerCase(Locale.ENGLISH);
273307
obfJars.put(clientSide, gameJar);
274308

275-
obfJars = GameProviderHelper.deobfuscate(obfJars,
309+
obfJars = GameProviderHelper.deobfuscate(obfJars, gameNs,
276310
getGameId(), getNormalizedGameVersion(),
277311
getLaunchDirectory(),
278312
launcher);
@@ -302,6 +336,11 @@ public String[] getLaunchArguments(boolean sanitize) {
302336
return config.getArgs();
303337
}
304338

339+
@Override
340+
public String getRuntimeNamespace(String defaultNs) {
341+
return GameProvider.super.getRuntimeNamespace(defaultNs);
342+
}
343+
305344
@Override
306345
public boolean canOpenErrorGui() {
307346
return envType == EnvType.CLIENT;

launchwrapper-micromixin/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ dependencies {
2121
implementation "org.stianloader:micromixin-annotations:0.6.5-a20240922"
2222
implementation "org.stianloader:micromixin-remapper:0.2.0-a20240908" // For remapping mixin annotations
2323
implementation "org.stianloader:stianloader-remapper:0.1.0-a20240601" // For remapping classes and references
24-
implementation "net.fabricmc:mapping-io:0.3.0"
24+
implementation "net.fabricmc:mapping-io:0.7.1"
2525
implementation "net.fabricmc:access-widener:2.1.0"
2626
}

src/main/java/org/mcphackers/launchwrapper/Launch.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
public class Launch {
88

9-
public static final String VERSION = "1.2.1";
9+
public static final String VERSION = "1.2.2";
1010
public static final Logger LOGGER = new Logger();
1111

1212
/**

0 commit comments

Comments
 (0)