Komplettes G-Earth Paket inkl. JRE, Extensions und Tools. Extensions: - G-BuildTools, G-Click Ultimate, G-Loader, G-Manipulate - G-Presets, G-Translator, G-Trigger, G-itemViewer - Market Utils, Packet Info Explorer, Plants - RandomRoomVisitor, RoomLogger, Sanbovir Photo Inspector - SpyFriends, WallAligner, XabboScripter, xabbo
145 lines
3.9 KiB
Java
145 lines
3.9 KiB
Java
/*
|
|
* Decompiled with CFR 0.152.
|
|
*/
|
|
package gearth.extensions;
|
|
|
|
import gearth.extensions.InternalExtension;
|
|
import gearth.misc.HostInfo;
|
|
import gearth.protocol.HMessage;
|
|
import gearth.protocol.HPacket;
|
|
import gearth.protocol.connection.HClient;
|
|
import gearth.services.extension_handler.extensions.ExtensionType;
|
|
import gearth.services.extension_handler.extensions.GEarthExtension;
|
|
import gearth.services.packet_info.PacketInfoManager;
|
|
|
|
public class InternalExtensionBuilder
|
|
extends GEarthExtension {
|
|
private final InternalExtension extension;
|
|
|
|
public InternalExtensionBuilder(InternalExtension extension) {
|
|
this.extension = extension;
|
|
extension.setCommunicator(new InternalExtension.InternalExtensionCommunicator(){
|
|
|
|
@Override
|
|
public void sendToClient(HPacket packet) {
|
|
InternalExtensionBuilder.this.sendMessage(HMessage.Direction.TOCLIENT, packet);
|
|
}
|
|
|
|
@Override
|
|
public void sendToServer(HPacket packet) {
|
|
InternalExtensionBuilder.this.sendMessage(HMessage.Direction.TOSERVER, packet);
|
|
}
|
|
|
|
@Override
|
|
public void writeToConsole(String s) {
|
|
InternalExtensionBuilder.this.log(s);
|
|
}
|
|
});
|
|
}
|
|
|
|
@Override
|
|
public String getAuthor() {
|
|
return this.extension.getInfoAnnotations().Author();
|
|
}
|
|
|
|
@Override
|
|
public String getDescription() {
|
|
return this.extension.getInfoAnnotations().Description();
|
|
}
|
|
|
|
@Override
|
|
public String getTitle() {
|
|
return this.extension.getInfoAnnotations().Title();
|
|
}
|
|
|
|
@Override
|
|
public String getVersion() {
|
|
return this.extension.getInfoAnnotations().Version();
|
|
}
|
|
|
|
@Override
|
|
public boolean isFireButtonUsed() {
|
|
for (Class<?> c = this.extension.getClass(); c != InternalExtension.class; c = c.getSuperclass()) {
|
|
try {
|
|
c.getDeclaredMethod("onClick", new Class[0]);
|
|
return true;
|
|
}
|
|
catch (NoSuchMethodException noSuchMethodException) {
|
|
continue;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public boolean isDeleteButtonVisible() {
|
|
return this.extension.canDelete();
|
|
}
|
|
|
|
@Override
|
|
public boolean isLeaveButtonVisible() {
|
|
return this.extension.canLeave();
|
|
}
|
|
|
|
@Override
|
|
public boolean isInstalledExtension() {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public void doubleclick() {
|
|
this.extension.onClick();
|
|
}
|
|
|
|
@Override
|
|
public void packetIntercept(HMessage hMessage) {
|
|
this.extension.modifyMessage(hMessage);
|
|
this.sendManipulatedPacket(hMessage);
|
|
}
|
|
|
|
@Override
|
|
public void provideFlags(String[] flags) {
|
|
}
|
|
|
|
@Override
|
|
public void connectionStart(String host, int port, String hotelVersion, String clientIdentifier, HClient clientType, PacketInfoManager packetInfoManager) {
|
|
this.extension.setPacketInfoManager(packetInfoManager);
|
|
this.extension.getOnConnectionObservable().fireEvent(l -> l.onConnection(host, port, hotelVersion, clientIdentifier, clientType));
|
|
this.extension.onStartConnection();
|
|
}
|
|
|
|
@Override
|
|
public void connectionEnd() {
|
|
this.extension.onEndConnection();
|
|
}
|
|
|
|
@Override
|
|
public void init(boolean isConnected, HostInfo hostInfo) {
|
|
this.extension.initExtension();
|
|
this.extension.updateHostInfo(hostInfo);
|
|
}
|
|
|
|
@Override
|
|
public void close() {
|
|
}
|
|
|
|
@Override
|
|
public void updateHostInfo(HostInfo hostInfo) {
|
|
this.extension.updateHostInfo(hostInfo);
|
|
}
|
|
|
|
@Override
|
|
public void packetToStringResponse(String string, String expression) {
|
|
}
|
|
|
|
@Override
|
|
public void stringToPacketResponse(HPacket packet) {
|
|
}
|
|
|
|
@Override
|
|
public ExtensionType extensionType() {
|
|
return ExtensionType.INTERNAL;
|
|
}
|
|
}
|
|
|