Added Messages debugging and moved to Maven

This commit is contained in:
JKetelaar
2015-09-13 22:55:23 +02:00
parent 0d97513e8d
commit 2da56102c9
64 changed files with 3738 additions and 3680 deletions
+103
View File
@@ -0,0 +1,103 @@
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;
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() {
}
}