Code/net/minecraft/client/main/GameConfig.java

99 lines
3.5 KiB
Java
Raw Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.client.main;
import com.mojang.authlib.properties.PropertyMap;
import com.mojang.blaze3d.platform.DisplayData;
import java.io.File;
import java.net.Proxy;
import java.nio.file.Path;
import javax.annotation.Nullable;
import net.minecraft.client.User;
import net.minecraft.client.resources.IndexedAssetSource;
import net.minecraft.util.StringUtil;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public class GameConfig {
public final GameConfig.UserData user;
public final DisplayData display;
public final GameConfig.FolderData location;
public final GameConfig.GameData game;
public final GameConfig.QuickPlayData quickPlay;
public GameConfig(
GameConfig.UserData p_279448_,
DisplayData p_279368_,
GameConfig.FolderData p_279174_,
GameConfig.GameData p_279138_,
GameConfig.QuickPlayData p_279425_
) {
this.user = p_279448_;
this.display = p_279368_;
this.location = p_279174_;
this.game = p_279138_;
this.quickPlay = p_279425_;
}
@OnlyIn(Dist.CLIENT)
public static class FolderData {
public final File gameDirectory;
public final File resourcePackDirectory;
public final File assetDirectory;
@Nullable
public final String assetIndex;
public FolderData(File p_101921_, File p_101922_, File p_101923_, @Nullable String p_101924_) {
this.gameDirectory = p_101921_;
this.resourcePackDirectory = p_101922_;
this.assetDirectory = p_101923_;
this.assetIndex = p_101924_;
}
public Path getExternalAssetSource() {
return this.assetIndex == null ? this.assetDirectory.toPath() : IndexedAssetSource.createIndexFs(this.assetDirectory.toPath(), this.assetIndex);
}
}
@OnlyIn(Dist.CLIENT)
public static class GameData {
public final boolean demo;
public final String launchVersion;
public final String versionType;
public final boolean disableMultiplayer;
public final boolean disableChat;
public final boolean captureTracyImages;
public final boolean renderDebugLabels;
public GameData(boolean p_101932_, String p_101933_, String p_101934_, boolean p_101935_, boolean p_101936_, boolean p_370094_, boolean p_392577_) {
this.demo = p_101932_;
this.launchVersion = p_101933_;
this.versionType = p_101934_;
this.disableMultiplayer = p_101935_;
this.disableChat = p_101936_;
this.captureTracyImages = p_370094_;
this.renderDebugLabels = p_392577_;
}
}
@OnlyIn(Dist.CLIENT)
public record QuickPlayData(@Nullable String path, @Nullable String singleplayer, @Nullable String multiplayer, @Nullable String realms) {
public boolean isEnabled() {
return !StringUtil.isBlank(this.singleplayer) || !StringUtil.isBlank(this.multiplayer) || !StringUtil.isBlank(this.realms);
}
}
@OnlyIn(Dist.CLIENT)
public static class UserData {
public final User user;
public final PropertyMap userProperties;
public final PropertyMap profileProperties;
public final Proxy proxy;
public UserData(User p_101947_, PropertyMap p_101948_, PropertyMap p_101949_, Proxy p_101950_) {
this.user = p_101947_;
this.userProperties = p_101948_;
this.profileProperties = p_101949_;
this.proxy = p_101950_;
}
}
}