mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-03-28 04:07:01 -05:00
Fix @Environment(EnvType.CLIENT) not being added to the named minecraft client only jar.
This commit is contained in:
@@ -46,6 +46,7 @@ import net.fabricmc.loom.configuration.providers.minecraft.MinecraftProvider;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftSourceSets;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.SignatureFixerApplyVisitor;
|
||||
import net.fabricmc.loom.extension.LoomFiles;
|
||||
import net.fabricmc.loom.util.SidedClassVisitor;
|
||||
import net.fabricmc.loom.util.TinyRemapperHelper;
|
||||
import net.fabricmc.tinyremapper.OutputConsumerPath;
|
||||
import net.fabricmc.tinyremapper.TinyRemapper;
|
||||
@@ -196,6 +197,17 @@ public abstract class AbstractMappedMinecraftProvider<M extends MinecraftProvide
|
||||
protected void configureRemapper(RemappedJars remappedJars, TinyRemapper.Builder tinyRemapperBuilder) {
|
||||
}
|
||||
|
||||
// Configure the remapper to add the client @Environment annotation to all classes in the client jar.
|
||||
public static void configureSplitRemapper(RemappedJars remappedJars, TinyRemapper.Builder tinyRemapperBuilder) {
|
||||
final MinecraftJar outputJar = remappedJars.outputJar();
|
||||
assert !outputJar.isMerged();
|
||||
|
||||
if (outputJar.includesClient()) {
|
||||
assert !outputJar.includesServer();
|
||||
tinyRemapperBuilder.extraPostApplyVisitor(SidedClassVisitor.CLIENT);
|
||||
}
|
||||
}
|
||||
|
||||
private void cleanOutputs(List<RemappedJars> remappedJars) throws IOException {
|
||||
for (RemappedJars remappedJar : remappedJars) {
|
||||
Files.deleteIfExists(remappedJar.outputJarPath());
|
||||
|
||||
@@ -29,12 +29,10 @@ import java.util.List;
|
||||
import net.fabricmc.loom.api.mappings.layered.MappingsNamespace;
|
||||
import net.fabricmc.loom.configuration.ConfigContext;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.MergedMinecraftProvider;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftJar;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftProvider;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.SingleJarEnvType;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.SingleJarMinecraftProvider;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.SplitMinecraftProvider;
|
||||
import net.fabricmc.loom.util.SidedClassVisitor;
|
||||
import net.fabricmc.tinyremapper.TinyRemapper;
|
||||
|
||||
public abstract sealed class IntermediaryMinecraftProvider<M extends MinecraftProvider> extends AbstractMappedMinecraftProvider<M> permits IntermediaryMinecraftProvider.MergedImpl, IntermediaryMinecraftProvider.SingleJarImpl, IntermediaryMinecraftProvider.SplitImpl {
|
||||
@@ -80,13 +78,7 @@ public abstract sealed class IntermediaryMinecraftProvider<M extends MinecraftPr
|
||||
|
||||
@Override
|
||||
protected void configureRemapper(RemappedJars remappedJars, TinyRemapper.Builder tinyRemapperBuilder) {
|
||||
final MinecraftJar outputJar = remappedJars.outputJar();
|
||||
assert !outputJar.isMerged();
|
||||
|
||||
if (outputJar.includesClient()) {
|
||||
assert !outputJar.includesServer();
|
||||
tinyRemapperBuilder.extraPostApplyVisitor(SidedClassVisitor.CLIENT);
|
||||
}
|
||||
configureSplitRemapper(remappedJars, tinyRemapperBuilder);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,6 @@ import net.fabricmc.loom.configuration.providers.minecraft.MinecraftProvider;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.SingleJarEnvType;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.SingleJarMinecraftProvider;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.SplitMinecraftProvider;
|
||||
import net.fabricmc.loom.util.SidedClassVisitor;
|
||||
import net.fabricmc.tinyremapper.TinyRemapper;
|
||||
|
||||
public abstract class NamedMinecraftProvider<M extends MinecraftProvider> extends AbstractMappedMinecraftProvider<M> {
|
||||
@@ -84,9 +83,7 @@ public abstract class NamedMinecraftProvider<M extends MinecraftProvider> extend
|
||||
|
||||
@Override
|
||||
protected void configureRemapper(RemappedJars remappedJars, TinyRemapper.Builder tinyRemapperBuilder) {
|
||||
if (remappedJars.outputJar().equals(getClientOnlyJar())) {
|
||||
tinyRemapperBuilder.extraPostApplyVisitor(SidedClassVisitor.CLIENT);
|
||||
}
|
||||
configureSplitRemapper(remappedJars, tinyRemapperBuilder);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user