Skip to content

Commit

Permalink
Fixed #153
Browse files Browse the repository at this point in the history
  • Loading branch information
huanghongxun committed Jun 24, 2017
1 parent cfa7b48 commit 2f3c828
Show file tree
Hide file tree
Showing 8 changed files with 38 additions and 43 deletions.
36 changes: 18 additions & 18 deletions HMCL/src/main/java/org/jackhuang/hmcl/setting/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,24 @@ public final class Config implements Cloneable {
@SerializedName("fontSize")
private int fontSize;

public Config() {
clientToken = UUID.randomUUID().toString();
logintype = downloadtype = 0;
enableAnimation = enableBlur = true;
if (OS.os() == OS.WINDOWS)
enableShadow = true;
theme = LAFTheme.BLUE.id;
decorated = OS.os() == OS.LINUX;
auth = new HashMap<>();
Font font = Font.decode("Consolas");
if (font == null)
font = Font.decode("Monospace");
if (font != null)
fontFamily = font.getFamily();
fontSize = 12;
commonpath = MCUtils.getLocation().getPath();
}

public List<JdkVersion> getJava() {
return java == null ? java = new ArrayList<>() : java;
}
Expand Down Expand Up @@ -222,24 +240,6 @@ public void setAuthenticatorConfig(String authId, Map map) {
Settings.save();
}

public Config() {
clientToken = UUID.randomUUID().toString();
logintype = downloadtype = 0;
enableAnimation = enableBlur = true;
if (OS.os() == OS.WINDOWS)
enableShadow = true;
theme = LAFTheme.BLUE.id;
decorated = OS.os() == OS.LINUX;
auth = new HashMap<>();
Font font = Font.decode("Consolas");
if (font == null)
font = Font.decode("Monospace");
if (font != null)
fontFamily = font.getFamily();
fontSize = 12;
commonpath = MCUtils.getLocation().getPath();
}

public DownloadType getDownloadSource() {
if (downloadtype >= DownloadType.values().length || downloadtype < 0) {
downloadtype = 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public HMCLAssetService(IMinecraftService service) {
}

private boolean useSelf(String assetId) {
return new File(service.baseDirectory(), "assets/indexes/" + assetId + ".json").exists() || ((HMCLMinecraftService) service).p.isNoCommon();
return new File(service.baseDirectory(), "assets/indexes/" + assetId + ".json").exists() || ((HMCLMinecraftService) service).getProfile().isNoCommon();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,25 @@
*
* @author huangyuhui
*/
public class HMCLGameProvider extends MinecraftVersionManager {
public class HMCLGameProvider extends MinecraftVersionManager<HMCLMinecraftService> {

public HMCLGameProvider(HMCLMinecraftService p) {
super(p);
}

@Override
public File getLibraryFile(MinecraftVersion version, IMinecraftLibrary lib) {
VersionSetting vs = ((HMCLMinecraftService) service).getVersionSetting(version.id);
VersionSetting vs = service.getProfile().getVersionSetting(version.id);
File self = super.getLibraryFile(version, lib);
if (self.exists() || (vs != null && ((HMCLMinecraftService) service).p.isNoCommon()))
if (self.exists() || (vs != null && service.getProfile().isNoCommon()))
return self;
else
return lib.getFilePath(new File(Settings.getInstance().getCommonpath()));
}

@Override
public File getRunDirectory(String id) {
VersionSetting vs = ((HMCLMinecraftService) service).getVersionSetting(id);
VersionSetting vs = service.getProfile().getVersionSetting(id);
if (vs == null)
return super.getRunDirectory(id);
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,8 @@
package org.jackhuang.hmcl.util;

import org.jackhuang.hmcl.core.service.IMinecraftService;
import org.jackhuang.hmcl.core.service.IMinecraftAssetService;
import org.jackhuang.hmcl.core.service.IMinecraftLoader;
import org.jackhuang.hmcl.core.service.IMinecraftDownloadService;
import org.jackhuang.hmcl.core.service.IMinecraftProvider;
import org.jackhuang.hmcl.core.service.IMinecraftModService;
import org.jackhuang.hmcl.core.service.IMinecraftInstallerService;
import com.google.gson.JsonSyntaxException;
import java.io.File;
import java.util.HashMap;
Expand All @@ -35,7 +31,6 @@
import org.jackhuang.hmcl.api.event.version.RefreshingVersionsEvent;
import org.jackhuang.hmcl.core.GameException;
import org.jackhuang.hmcl.core.install.MinecraftInstallerService;
import org.jackhuang.hmcl.core.asset.MinecraftAssetService;
import org.jackhuang.hmcl.api.auth.UserProfileProvider;
import org.jackhuang.hmcl.core.download.MinecraftDownloadService;
import org.jackhuang.hmcl.api.game.LaunchOptions;
Expand All @@ -55,7 +50,7 @@
*/
public class HMCLMinecraftService extends IMinecraftService {

Profile p;
private Profile p;
final Map<String, VersionSetting> versionSettings = new HashMap<>();

public HMCLMinecraftService(Profile p) {
Expand Down Expand Up @@ -143,10 +138,10 @@ public File baseDirectory() {
return p.getGameDir();
}

protected IMinecraftProvider provider;
protected HMCLGameProvider provider;

@Override
public IMinecraftProvider version() {
public HMCLGameProvider version() {
return provider;
}

Expand All @@ -160,21 +155,21 @@ public IMinecraftModService mod() {
protected MinecraftDownloadService mds;

@Override
public IMinecraftDownloadService download() {
public MinecraftDownloadService download() {
return mds;
}

final MinecraftAssetService mas;
final HMCLAssetService mas;

@Override
public IMinecraftAssetService asset() {
public HMCLAssetService asset() {
return mas;
}

protected MinecraftInstallerService mis;

@Override
public IMinecraftInstallerService install() {
public MinecraftInstallerService install() {
return mis;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@
* org.jackhuang.hmcl.core.version.MinecraftVersionManager
* @author huangyuhui
*/
public abstract class IMinecraftProvider {
public abstract class IMinecraftProvider<T extends IMinecraftService> {

protected IMinecraftService service;
protected T service;

public IMinecraftProvider(IMinecraftService service) {
public IMinecraftProvider(T service) {
this.service = service;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public Object clone() {
}

@Override
public MinecraftVersion resolve(IMinecraftProvider manager, Set<String> resolvedSoFar) {
public MinecraftVersion resolve(IMinecraftProvider<?> manager, Set<String> resolvedSoFar) {
return this;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,11 @@ public Object clone() {
}
}

public MinecraftVersion resolve(IMinecraftProvider provider) throws GameException {
public MinecraftVersion resolve(IMinecraftProvider<?> provider) throws GameException {
return resolve(provider, new HashSet<>());
}

protected MinecraftVersion resolve(IMinecraftProvider provider, Set<String> resolvedSoFar) throws GameException {
protected MinecraftVersion resolve(IMinecraftProvider<?> provider, Set<String> resolvedSoFar) throws GameException {
if (inheritsFrom == null)
return this;
if (!resolvedSoFar.add(id))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,15 @@
*
* @author huangyuhui
*/
public class MinecraftVersionManager extends IMinecraftProvider {
public class MinecraftVersionManager<T extends IMinecraftService> extends IMinecraftProvider<T> {

final Map<String, MinecraftVersion> versions = new TreeMap<>();

/**
*
* @param p
*/
public MinecraftVersionManager(IMinecraftService p) {
public MinecraftVersionManager(T p) {
super(p);
}

Expand Down

0 comments on commit 2f3c828

Please sign in to comment.