mirror of
https://github.com/2006-Scape/Parabot-317-API-Minified.git
synced 2026-07-03 00:38:00 +00:00
106 lines
3.5 KiB
Java
106 lines
3.5 KiB
Java
package org.rev317.min;
|
|
|
|
import org.parabot.core.Context;
|
|
import org.parabot.core.Core;
|
|
import org.parabot.core.Directories;
|
|
import org.parabot.core.asm.ASMClassLoader;
|
|
import org.parabot.core.asm.adapters.AddInterfaceAdapter;
|
|
import org.parabot.core.asm.hooks.HookFile;
|
|
import org.parabot.core.desc.ServerProviderInfo;
|
|
import org.parabot.core.ui.components.VerboseLoader;
|
|
import org.parabot.environment.api.utils.WebUtil;
|
|
import org.parabot.environment.scripts.Script;
|
|
import org.parabot.environment.servers.ServerManifest;
|
|
import org.parabot.environment.servers.ServerProvider;
|
|
import org.parabot.environment.servers.Type;
|
|
import org.rev317.min.accessors.Client;
|
|
import org.rev317.min.script.ScriptEngine;
|
|
import org.rev317.min.ui.BotMenu;
|
|
|
|
import javax.swing.*;
|
|
import java.applet.Applet;
|
|
import java.io.File;
|
|
import java.net.URL;
|
|
|
|
/**
|
|
* @author Everel, JKetelaar
|
|
*/
|
|
@ServerManifest(author = "Everel & JKetelaar", name = "Server name here", type = Type.INJECTION, version = 2.1)
|
|
public class Loader extends ServerProvider {
|
|
private boolean extended = true;
|
|
//private HookFile hookFile = new HookFile(Context.getInstance().getServerProviderInfo().getExtendedHookFile(), HookFile.TYPE_XML);
|
|
//private HookFile hookFile = new HookFile(Context.getInstance().getServerProviderInfo().getHookFile(), HookFile.TYPE_XML);
|
|
|
|
public static Client getClient() {
|
|
return (Client) Context.getInstance().getClient();
|
|
}
|
|
|
|
@Override
|
|
public Applet fetchApplet() {
|
|
try {
|
|
final Context context = Context.getInstance();
|
|
final ASMClassLoader classLoader = context.getASMClassLoader();
|
|
final Class<?> clientClass = classLoader.loadClass(Context.getInstance().getServerProviderInfo().getClientClass());
|
|
Object instance = clientClass.newInstance();
|
|
return (Applet) instance;
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public URL getJar() {
|
|
ServerProviderInfo serverProvider = Context.getInstance().getServerProviderInfo();
|
|
|
|
File target = new File(Directories.getCachePath(), serverProvider.getClientCRC32() + ".jar");
|
|
if (!target.exists()) {
|
|
WebUtil.downloadFile(serverProvider.getClient(), target, VerboseLoader.get());
|
|
}
|
|
|
|
return WebUtil.toURL(target);
|
|
}
|
|
|
|
@Override
|
|
public void addMenuItems(JMenuBar bar) {
|
|
new BotMenu(bar);
|
|
}
|
|
|
|
@Override
|
|
public void injectHooks() {
|
|
AddInterfaceAdapter.setAccessorPackage("org/rev317/min/accessors/");
|
|
try {
|
|
super.injectHooks();
|
|
} catch (Exception e) {
|
|
if (Core.inVerboseMode()){
|
|
e.printStackTrace();
|
|
}
|
|
this.extended = false;
|
|
super.injectHooks();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void initScript(Script script) {
|
|
ScriptEngine.getInstance().setScript(script);
|
|
ScriptEngine.getInstance().init();
|
|
}
|
|
|
|
@Override
|
|
public HookFile getHookFile() {
|
|
if (this.extended){
|
|
return new HookFile(Context.getInstance().getServerProviderInfo().getExtendedHookFile(), HookFile.TYPE_XML);
|
|
}else{
|
|
return new HookFile(Context.getInstance().getServerProviderInfo().getHookFile(), HookFile.TYPE_XML);
|
|
}
|
|
}
|
|
|
|
public void unloadScript(Script script) {
|
|
ScriptEngine.getInstance().unload();
|
|
}
|
|
|
|
@Override
|
|
public void init() {
|
|
//new Downloader();
|
|
}
|
|
} |