mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-04-02 21:47:42 -05:00
Select jar configuration based on which sides are present (#1182)
* auto select jar configuration based on which sides are present * move logic into jar configuration property convention
This commit is contained in:
@@ -68,8 +68,10 @@ import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpecBuil
|
||||
import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingsFactory;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.ManifestLocations;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftJarConfiguration;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftMetadataProvider;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftSourceSets;
|
||||
import net.fabricmc.loom.task.GenerateSourcesTask;
|
||||
import net.fabricmc.loom.util.Constants;
|
||||
import net.fabricmc.loom.util.DeprecationHelper;
|
||||
import net.fabricmc.loom.util.MirrorUtil;
|
||||
import net.fabricmc.loom.util.fmj.FabricModJson;
|
||||
@@ -151,7 +153,23 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA
|
||||
this.minecraftJarProcessors.finalizeValueOnRead();
|
||||
|
||||
//noinspection unchecked
|
||||
this.minecraftJarConfiguration = project.getObjects().property((Class<MinecraftJarConfiguration<?, ?, ?>>) (Class<?>) MinecraftJarConfiguration.class).convention(MinecraftJarConfiguration.MERGED);
|
||||
this.minecraftJarConfiguration = project.getObjects().property((Class<MinecraftJarConfiguration<?, ?, ?>>) (Class<?>) MinecraftJarConfiguration.class)
|
||||
.convention(project.provider(() -> {
|
||||
final LoomGradleExtension extension = LoomGradleExtension.get(project);
|
||||
final MinecraftMetadataProvider metadataProvider = extension.getMetadataProvider();
|
||||
|
||||
// if no configuration is selected by the user, attempt to select one
|
||||
// based on the mc version and which sides are present for it
|
||||
if (!metadataProvider.getVersionMeta().downloads().containsKey("server")) {
|
||||
return MinecraftJarConfiguration.CLIENT_ONLY;
|
||||
} else if (!metadataProvider.getVersionMeta().downloads().containsKey("client")) {
|
||||
return MinecraftJarConfiguration.SERVER_ONLY;
|
||||
} else if (metadataProvider.getVersionMeta().isVersionOrNewer(Constants.RELEASE_TIME_1_3)) {
|
||||
return MinecraftJarConfiguration.MERGED;
|
||||
} else {
|
||||
return MinecraftJarConfiguration.LEGACY_MERGED;
|
||||
}
|
||||
}));
|
||||
this.minecraftJarConfiguration.finalizeValueOnRead();
|
||||
|
||||
this.accessWidener.finalizeValueOnRead();
|
||||
|
||||
Reference in New Issue
Block a user