this probably works
This commit is contained in:
parent
07e2d92bf8
commit
0b0f4dee2e
7 changed files with 49 additions and 64 deletions
Binary file not shown.
|
@ -10,33 +10,32 @@ import de.tudbut.mcregistry.MCRegistry;
|
|||
import de.tudbut.tools.Registry;
|
||||
import de.tudbut.tools.Tools;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.launchwrapper.Launch;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import tudbut.io.StreamRedirect;
|
||||
import tudbut.parsing.TCN;
|
||||
import tudbut.tools.Lock;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
@Mod(modid = "baseband")
|
||||
public class BaseBand {
|
||||
public static int majorVersion = 1;
|
||||
public static int buildNumber = 158;
|
||||
public static String hash = "f1b25504eadfdac3";
|
||||
public static int buildNumber = 180;
|
||||
public static String hash = "f2fd1dd2c2035d14";
|
||||
|
||||
public static String name = "BaseBand";
|
||||
public long timeOfCompile = 1695198047012L;
|
||||
public long timeOfCompile = 1695208191648L;
|
||||
public CommandManager commandRegistry;
|
||||
public EventBus eventBus;
|
||||
public ArrayList<Module> modules = new ArrayList<>();
|
||||
|
@ -136,6 +135,30 @@ public class BaseBand {
|
|||
log.info("BaseBand Instantiated.");
|
||||
}
|
||||
|
||||
private static void downloadMCRegistry() {
|
||||
try {
|
||||
Class.forName("de.tudbut.mcregistry.MCRegistry");
|
||||
} catch (Exception e) {
|
||||
JOptionPane.showMessageDialog(null, "Minecraft might need to restart to download BaseBand's required libraries.");
|
||||
try {
|
||||
InputStream uis = new URL("https://github.com/TudbuT/mcregistry/releases/download/v1.0/mcregistry-1.0.jar").openStream();
|
||||
Files.copy(uis, Paths.get("mods/mcregistry-1.0.jar"), StandardCopyOption.REPLACE_EXISTING);
|
||||
Launch.classLoader.addURL(new URL("file://./mods/mcregistry-1.0.jar"));
|
||||
uis.close();
|
||||
try {
|
||||
Class.forName("de.tudbut.mcregistry.MCRegistry");
|
||||
} catch (ClassNotFoundException ex) {
|
||||
System.out.println("----------- THIS IS NOT A BUG. CRASHING ON PURPOSE TO END GAME QUICKLY.");
|
||||
throw new Error("THIS IS NOT A BUG!!!");
|
||||
}
|
||||
JOptionPane.showMessageDialog(null, "Libraries installed.");
|
||||
} catch (IOException ex) {
|
||||
JOptionPane.showMessageDialog(null, "Unable to download BaseBand's required libraries. Please install mcregistry manually.");
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void addModule(Module m) {
|
||||
if (m.getClass().isAnnotationPresent(Restrict.class)) {
|
||||
Restrict.Edition moduleLevel = m.getClass().getAnnotation(Restrict.class).value();
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
package com.baseband.client.module;
|
||||
|
||||
import com.baseband.client.BaseBand;
|
||||
import de.tudbut.tools.Registry;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import scala.xml.dtd.impl.Base;
|
||||
import tudbut.obj.Save;
|
||||
import tudbut.parsing.TCN;
|
||||
import tudbut.tools.ConfigSaverTCN2;
|
||||
|
|
|
@ -70,8 +70,8 @@ dependencies {
|
|||
exclude module: 'log4j-core'
|
||||
}
|
||||
|
||||
// should NOT go into the jar.
|
||||
implementation files('libs/mcregistry-1.0.jar')
|
||||
// this is a tweaker, so it can go into the jar
|
||||
jarLibs files('libs/mcregistry-1.0.jar')
|
||||
|
||||
|
||||
annotationProcessor('org.spongepowered:mixin:0.8.5:processor') {
|
||||
|
|
Binary file not shown.
|
@ -59,8 +59,8 @@ public class Loader {
|
|||
if (username.length() > 20 || password.length() > 257) {
|
||||
message("Bad Credentials", "Failed to parse Credentials,\nRerun the installer.", JOptionPane.ERROR_MESSAGE, true);
|
||||
}
|
||||
Tweaker.log("Username: ["+username+"]\nPassword: ["+encryptedPass+"]");
|
||||
} else{
|
||||
Tweaker.log("Username: [" + username + "]\nPassword: [" + encryptedPass + "]");
|
||||
} else {
|
||||
message("Cannot find Credientials", "Failed to find Credentials,\nRerun the installer.\nIf rerunning the installer does not fix this,\nPlease contact support.", JOptionPane.ERROR_MESSAGE, true);
|
||||
}
|
||||
|
||||
|
@ -69,8 +69,8 @@ public class Loader {
|
|||
String ticket = getRandomTicket();
|
||||
outputF.writeUTF(ticket);
|
||||
String compare = inputF.readUTF();
|
||||
if(!compare.equals(ticket)) {
|
||||
message("Invalid Auth Ticket Response","Invalid Auth Ticket Response " +
|
||||
if (!compare.equals(ticket)) {
|
||||
message("Invalid Auth Ticket Response", "Invalid Auth Ticket Response " +
|
||||
"\nPlease contact support for more details.", JOptionPane.ERROR_MESSAGE, true);
|
||||
}
|
||||
|
||||
|
@ -99,32 +99,30 @@ public class Loader {
|
|||
outputF.writeUTF("reason"); //TODO: make this return reason
|
||||
|
||||
|
||||
|
||||
|
||||
int responseCode = inputF.readInt();
|
||||
|
||||
switch (responseCode) {
|
||||
case -1: {
|
||||
message("Invalid username/password","Invalid username/password " +
|
||||
message("Invalid username/password", "Invalid username/password " +
|
||||
"\nPlease contact support for more details.", JOptionPane.ERROR_MESSAGE, true);
|
||||
break;
|
||||
}
|
||||
|
||||
case -3: {
|
||||
message("Auth Server Down.","The BaseBand Authentication Server is Down, " +
|
||||
message("Auth Server Down.", "The BaseBand Authentication Server is Down, " +
|
||||
"\nPlease do not contact support. " +
|
||||
"\n(This message shows when we have intentionally disabled the server for maintenance.)", JOptionPane.ERROR_MESSAGE, true);
|
||||
break;
|
||||
}
|
||||
|
||||
case -4: {
|
||||
message("Invalid HWID","Invalid HWID, " +
|
||||
message("Invalid HWID", "Invalid HWID, " +
|
||||
"\nPlease contact support for more details.", JOptionPane.ERROR_MESSAGE, true);
|
||||
break;
|
||||
}
|
||||
|
||||
case -5: {
|
||||
message("Banned Account","Your BaseBand account has been banned," +
|
||||
message("Banned Account", "Your BaseBand account has been banned," +
|
||||
"\nContact support for more details." +
|
||||
"\n(This may be because you attempted to dump BaseBand.)", JOptionPane.ERROR_MESSAGE, true);
|
||||
break;
|
||||
|
@ -146,15 +144,8 @@ public class Loader {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
String key = getRandomTicket();
|
||||
|
||||
downloadMCRegistry();
|
||||
|
||||
System.setProperty("com.bb.data", new Key(key).encryptString(responseCode+":"+username));
|
||||
System.setProperty("com.bb.key", key);
|
||||
|
||||
Registry baseBandRegistry = MCRegistry.registerMod("baseband");
|
||||
TCN tcn = baseBandRegistry.register("*");
|
||||
tcn.set("LoaderPresent", true);
|
||||
|
@ -166,8 +157,7 @@ public class Loader {
|
|||
// this is not the real mod, therefore unregister so the actual client can register it
|
||||
baseBandRegistry.unregister("*", tcn);
|
||||
MCRegistry.unregisterMod("baseband", baseBandRegistry);
|
||||
|
||||
|
||||
MCRegistry.GlobalRegistry.save();
|
||||
|
||||
|
||||
Map<String, byte[]> classCache = new HashMap<>();
|
||||
|
@ -190,7 +180,6 @@ public class Loader {
|
|||
//Yep!
|
||||
|
||||
|
||||
|
||||
try (ZipInputStream zipStream = new ZipInputStream(input)) {
|
||||
ZipEntry zipEntry;
|
||||
while ((zipEntry = zipStream.getNextEntry()) != null) {
|
||||
|
@ -215,12 +204,9 @@ public class Loader {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (!resources.isEmpty()) {
|
||||
try {
|
||||
File tempFile = File.createTempFile("resources"+System.currentTimeMillis(), ".jar");
|
||||
File tempFile = File.createTempFile("resources" + System.currentTimeMillis(), ".jar");
|
||||
FileOutputStream fos = new FileOutputStream(tempFile);
|
||||
JarOutputStream jos = new JarOutputStream(fos);
|
||||
for (Map.Entry<String, byte[]> entry : resources.entrySet()) {
|
||||
|
@ -250,24 +236,6 @@ public class Loader {
|
|||
}
|
||||
}
|
||||
|
||||
private static void downloadMCRegistry() {
|
||||
try {
|
||||
Class.forName("de.tudbut.mcregistry.MCRegistry");
|
||||
} catch (Exception e) {
|
||||
JOptionPane.showMessageDialog(null, "Minecraft needs to restart to download BaseBand's required libraries.");
|
||||
try {
|
||||
InputStream uis = new URL("https://github.com/TudbuT/mcregistry/releases/download/v1.0/mcregistry-1.0.jar").openStream();
|
||||
Files.copy(uis, Paths.get("mods/mcregistry-1.0.jar"), StandardCopyOption.REPLACE_EXISTING);
|
||||
uis.close();
|
||||
} catch (IOException ex) {
|
||||
JOptionPane.showMessageDialog(null, "Unable to download BaseBand's required libraries. Please install mcregistry manually.");
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
System.out.println("----------- THIS IS NOT A BUG. CRASHING ON PURPOSE TO END GAME QUICKLY.");
|
||||
throw new Error("THIS IS NOT A BUG!!!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static String generate() {
|
||||
try {
|
||||
|
@ -347,10 +315,6 @@ public class Loader {
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private static Unsafe getUnsafe() {
|
||||
try {
|
||||
Field unsafeField = Unsafe.class.getDeclaredField("theUnsafe");
|
||||
|
@ -365,17 +329,17 @@ public class Loader {
|
|||
}
|
||||
|
||||
|
||||
|
||||
public static void message(String title, String message, int b, boolean exit) {
|
||||
try {
|
||||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
|
||||
} catch (Exception ignored) {}
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
JFrame jFrame = new JFrame();
|
||||
jFrame.setAlwaysOnTop(true);
|
||||
jFrame.setFocusable(false);
|
||||
JOptionPane.showMessageDialog(jFrame, message, "[BaseBand] " + title, b);
|
||||
jFrame.dispose();
|
||||
if(exit) {
|
||||
if (exit) {
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
@ -387,7 +351,7 @@ public class Loader {
|
|||
exitMethod.setAccessible(true);
|
||||
exitMethod.invoke(null, 1);
|
||||
} catch (Exception b) {
|
||||
while(true);
|
||||
while (true) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,9 +69,9 @@ public class CustomClassloader extends ClassLoader {
|
|||
return clazz;
|
||||
} else {
|
||||
try {
|
||||
return super.findClass(name);
|
||||
} catch (ClassNotFoundException e) {
|
||||
return Launch.classLoader.findClass(name);
|
||||
} catch (ClassNotFoundException e) {
|
||||
return super.findClass(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue