Skip to content

Commit

Permalink
Versions - extract from Version
Browse files Browse the repository at this point in the history
  • Loading branch information
ShaneBeee committed Oct 4, 2024
1 parent b7decc5 commit d975e9b
Show file tree
Hide file tree
Showing 7 changed files with 180 additions and 169 deletions.
12 changes: 7 additions & 5 deletions src/main/java/com/shanebeestudios/mcdeob/McDeob.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import com.shanebeestudios.mcdeob.app.App;
import com.shanebeestudios.mcdeob.util.Logger;
import com.shanebeestudios.mcdeob.util.Util;
import com.shanebeestudios.mcdeob.version.Version;
import com.shanebeestudios.mcdeob.version.Versions;
import joptsimple.OptionException;
import joptsimple.OptionParser;
import joptsimple.OptionSet;
Expand Down Expand Up @@ -61,24 +63,24 @@ public static void main(String[] args) {
}

// Initialize versions after help might have been used
Version.initVersions();
Versions.initVersions();
if (options.has("versions")) {
System.out.println("Available Minecraft versions to deobfuscate:");
for (Version version : Version.getAllVersions()) {
for (Version version : Versions.getAllVersions()) {
System.out.println(" - " + version.getVersion() + " (" + version.getReleaseType().getName() + ")");
}
System.exit(0);
}
if (options.has("releases")) {
System.out.println("Available Minecraft full releases to deobfuscate:");
for (Version version : Version.getReleaseVersions()) {
for (Version version : Versions.getReleaseVersions()) {
System.out.println(" - " + version.getVersion());
}
System.exit(0);
}
if (options.has("snapshots")) {
System.out.println("Available Minecraft snapshots to deobfuscate:");
for (Version version : Version.getSnapshotVersions()) {
for (Version version : Versions.getSnapshotVersions()) {
System.out.println(" - " + version.getVersion());
}
System.exit(0);
Expand Down Expand Up @@ -109,7 +111,7 @@ public static void main(String[] args) {
return;
}

Version version = Version.getByVersion(versionString);
Version version = Versions.getByVersion(versionString);
if (version == null) {
Logger.error("Invalid or unsupported version was specified: '%s'", versionString);
Logger.warn("See '-versions' for available versions");
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/shanebeestudios/mcdeob/Processor.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.shanebeestudios.mcdeob.util.Logger;
import com.shanebeestudios.mcdeob.util.TimeStamp;
import com.shanebeestudios.mcdeob.util.Util;
import com.shanebeestudios.mcdeob.version.Version;
import net.md_5.specialsource.Jar;
import net.md_5.specialsource.JarMapping;
import net.md_5.specialsource.JarRemapper;
Expand Down
160 changes: 0 additions & 160 deletions src/main/java/com/shanebeestudios/mcdeob/Version.java

This file was deleted.

7 changes: 4 additions & 3 deletions src/main/java/com/shanebeestudios/mcdeob/app/App.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package com.shanebeestudios.mcdeob.app;

import com.shanebeestudios.mcdeob.Processor;
import com.shanebeestudios.mcdeob.Version;
import com.shanebeestudios.mcdeob.app.listener.SnapshotButtonListener;
import com.shanebeestudios.mcdeob.app.listener.StartButtonListener;
import com.shanebeestudios.mcdeob.util.Util;
import com.shanebeestudios.mcdeob.version.Version;
import com.shanebeestudios.mcdeob.version.Versions;

import javax.swing.*;
import java.awt.*;
Expand All @@ -29,7 +30,7 @@ public App() {
startSetup();

// Initialize versions
Version.initVersions();
Versions.initVersions();

// Update window after versions initialized
finishSetup();
Expand Down Expand Up @@ -108,7 +109,7 @@ private void createTypeButton() {

public void setupVersions(boolean showSnapshots) {
this.versionBox.removeAllItems();
for (Version version : showSnapshots ? Version.getSnapshotVersions() : Version.getReleaseVersions()) {
for (Version version : showSnapshots ? Versions.getSnapshotVersions() : Versions.getReleaseVersions()) {
this.versionBox.addItem(version);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.shanebeestudios.mcdeob.app.listener;

import com.shanebeestudios.mcdeob.Version;
import com.shanebeestudios.mcdeob.version.Version;
import com.shanebeestudios.mcdeob.app.App;

import java.awt.*;
Expand Down
94 changes: 94 additions & 0 deletions src/main/java/com/shanebeestudios/mcdeob/version/Version.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
package com.shanebeestudios.mcdeob.version;

import com.shanebeestudios.mcdeob.util.Util;
import org.json.JSONObject;

import java.util.Locale;

public class Version {

private final String version;
private final ReleaseType releaseType;
private final String url;
private final boolean searge;

private Type type;
private String jarURL;
private String mapURL;

public Version(String version, ReleaseType releaseType, String url, boolean searge) {
this.version = version;
this.releaseType = releaseType;
this.url = url;
this.searge = searge;
}

public boolean prepareVersion() {
JSONObject versionInfo = Util.getJsonFromURL(this.url);
JSONObject downloads = versionInfo.getJSONObject("downloads");
if (downloads.has("server_mappings")) {
String typeName = this.type.getName();
this.jarURL = downloads.getJSONObject(typeName).getString("url");
this.mapURL = downloads.getJSONObject(typeName + "_mappings").getString("url");
return true;
} else if (this.searge) {
String typeName = this.type.getName();
this.jarURL = downloads.getJSONObject(typeName).getString("url");
this.mapURL = String.format("https://raw.githubusercontent.com/ShaneBeeStudios/Mappings/refs/heads/main/mappings/mappings_%s_%s.txt", typeName, this.version);
return true;
}
return false;
}

public String getVersion() {
return this.version;
}

public ReleaseType getReleaseType() {
return this.releaseType;
}

public Type getType() {
return this.type;
}

public void setType(Type type) {
this.type = type;
}

public String getJarURL() {
return this.jarURL;
}

public String getMapURL() {
return this.mapURL;
}

public boolean isSearge() {
return this.searge;
}

public enum Type {
SERVER,
CLIENT;

public String getName() {
return name().toLowerCase(Locale.ROOT);
}
}

public enum ReleaseType {
RELEASE,
SNAPSHOT;

public String getName() {
return name().toLowerCase(Locale.ROOT);
}
}

@Override
public String toString() {
return this.version;
}

}
Loading

0 comments on commit d975e9b

Please sign in to comment.