Fix mcregistry things?
This commit is contained in:
parent
cfbf62cf7d
commit
779e98bfc3
5 changed files with 56 additions and 31 deletions
Binary file not shown.
Binary file not shown.
|
@ -6,26 +6,37 @@ import com.baseband.client.event.EventBus;
|
|||
import com.baseband.client.event.FMLEventProcessor;
|
||||
import com.baseband.client.module.Module;
|
||||
import com.baseband.client.module.modules.*;
|
||||
import de.tudbut.mcregistry.MCRegistry;
|
||||
import de.tudbut.tools.Registry;
|
||||
import de.tudbut.tools.Tools;
|
||||
import net.minecraft.client.Minecraft;
|
||||
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.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
@Mod(modid = "baseband")
|
||||
public class BaseBand {
|
||||
public static int majorVersion = 1;
|
||||
public static int buildNumber = 80;
|
||||
public static String hash = "7230b537553aaf14";
|
||||
public static int buildNumber = 84;
|
||||
public static String hash = "0cfe2c39e4ab2abf";
|
||||
|
||||
public static String name = "BaseBand";
|
||||
public long timeOfCompile = 1695103883523L;
|
||||
public long timeOfCompile = 1695111349604L;
|
||||
public CommandManager commandRegistry;
|
||||
public EventBus eventBus;
|
||||
public ArrayList<Module> modules = new ArrayList<>();
|
||||
|
@ -61,21 +72,6 @@ public class BaseBand {
|
|||
public void onInit() {
|
||||
Utils.check();
|
||||
|
||||
//TODO: this is temporary and bad, Tud, figure out how the classloader can be used to not do this
|
||||
try {
|
||||
String key = System.getProperty("com.bb.key");
|
||||
|
||||
String[] data = new Key(key).decryptString(System.getProperty("com.bb.data")).split(":");
|
||||
|
||||
level = Integer.parseInt(data[0]);
|
||||
|
||||
System.clearProperty("com.bb.data");
|
||||
System.clearProperty("com.bb.key");
|
||||
}catch (Exception ignored){
|
||||
//It's fine, we already Utils.check()ed
|
||||
}
|
||||
|
||||
/*
|
||||
try {
|
||||
Registry = MCRegistry.registerMod("baseband");
|
||||
registryData = Registry.register("*");
|
||||
|
@ -84,16 +80,20 @@ public class BaseBand {
|
|||
Utils.crash();
|
||||
}
|
||||
// cant be a normal if statement because it might be null
|
||||
if(registryData.get("LoaderPresent") != Boolean.TRUE) {
|
||||
if (registryData.get("LoaderPresent") == Boolean.TRUE) {
|
||||
String key = registryData.getString("Key");
|
||||
TCN data = TCN.readMap(Tools.stringToMap(new Key(key).decryptString(registryData.getString("Data"))));
|
||||
registryData.set("Key", null);
|
||||
registryData.set("Level", null);
|
||||
|
||||
this.level = data.getInteger("level");
|
||||
} else {
|
||||
// do other stuff here later?
|
||||
log.info("No loader present, but able to start anyway ==> Debug environment detected.");
|
||||
}
|
||||
// unset so this wont be discovered and manipulated
|
||||
// unset so this won't be discovered and manipulated
|
||||
registryData.set("LoaderPresent", null);
|
||||
|
||||
*/
|
||||
//TODO: fix
|
||||
|
||||
commandRegistry = new CommandManager();
|
||||
eventBus = new EventBus();
|
||||
|
||||
|
@ -164,7 +164,6 @@ public class BaseBand {
|
|||
}
|
||||
|
||||
|
||||
|
||||
public static <T extends Module> T getModule(Class<? extends T> module) {
|
||||
for (int i = 0; i < INSTANCE.modules.size(); i++) {
|
||||
if(INSTANCE.modules.get(i).getClass() == module) {
|
||||
|
|
Binary file not shown.
|
@ -1,10 +1,14 @@
|
|||
package org.baseband.launcher.launch;
|
||||
|
||||
import de.tudbut.mcregistry.MCRegistry;
|
||||
import de.tudbut.tools.Registry;
|
||||
import net.minecraft.launchwrapper.Launch;
|
||||
import org.baseband.launcher.Tweaker;
|
||||
import org.baseband.launcher.util.CustomClassloader;
|
||||
import org.baseband.launcher.util.Key;
|
||||
import sun.misc.Unsafe;
|
||||
import tudbut.io.StreamRedirect;
|
||||
import tudbut.parsing.TCN;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.io.*;
|
||||
|
@ -12,6 +16,7 @@ import java.lang.management.ManagementFactory;
|
|||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.net.Socket;
|
||||
import java.net.URL;
|
||||
import java.security.MessageDigest;
|
||||
import java.util.*;
|
||||
import java.util.jar.JarOutputStream;
|
||||
|
@ -215,15 +220,16 @@ public class Loader {
|
|||
}
|
||||
}
|
||||
|
||||
downloadMCRegistry();
|
||||
|
||||
new CustomClassloader(classCache);
|
||||
|
||||
//Registry baseBandRegistry = MCRegistry.registerMod("baseband");
|
||||
//TCN tcn = baseBandRegistry.register("*");
|
||||
//tcn.set("LoaderPresent", true);
|
||||
// this is not the real mod, so unregister so the actual client can register it
|
||||
//baseBandRegistry.unregister("*", tcn);
|
||||
//MCRegistry.unregisterMod("baseband", baseBandRegistry);
|
||||
//TODO: fix
|
||||
Registry baseBandRegistry = MCRegistry.registerMod("baseband");
|
||||
TCN tcn = baseBandRegistry.register("*");
|
||||
tcn.set("LoaderPresent", true);
|
||||
// this is not the real mod, therefore unregister so the actual client can register it
|
||||
baseBandRegistry.unregister("*", tcn);
|
||||
MCRegistry.unregisterMod("baseband", baseBandRegistry);
|
||||
|
||||
|
||||
Tweaker.log(String.format("Loaded. (Took %s milliseconds.)", System.nanoTime() / 1000000L - startTime));
|
||||
|
@ -234,6 +240,26 @@ 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();
|
||||
FileOutputStream fos = new FileOutputStream("mods/mcregistry-1.0.jar");
|
||||
StreamRedirect.redirect(uis, fos, new HashMap<>()).waitForFinish(0);
|
||||
uis.close();
|
||||
fos.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 {
|
||||
|
|
Loading…
Add table
Reference in a new issue