From a0072ccd5a5b6bb4e86d61f84dd4c40ab1d7f988 Mon Sep 17 00:00:00 2001 From: KrewsOrg Date: Tue, 11 Jun 2019 17:28:20 +0100 Subject: [PATCH] Initial Commit --- .idea/.name | 1 + .idea/compiler.xml | 18 + .idea/encodings.xml | 4 + .../Maven__com_eu_habbo_Habbo_1_16_0.xml | 13 + ...Maven__com_google_code_gson_gson_2_8_4.xml | 13 + .../Maven__com_zaxxer_HikariCP_3_1_0.xml | 13 + ...Maven__io_netty_netty_all_4_1_24_Final.xml | 13 + ...en__io_netty_netty_buffer_4_1_24_Final.xml | 13 + ...ven__io_netty_netty_codec_4_1_24_Final.xml | 13 + ...o_netty_netty_codec_http2_4_1_24_Final.xml | 13 + ...io_netty_netty_codec_http_4_1_24_Final.xml | 13 + ...en__io_netty_netty_common_4_1_24_Final.xml | 13 + ...n__io_netty_netty_handler_4_1_24_Final.xml | 13 + ...__io_netty_netty_resolver_4_1_24_Final.xml | 13 + ..._io_netty_netty_transport_4_1_24_Final.xml | 13 + .../Maven__joda_time_joda_time_2_9_9.xml | 13 + ...ven__mysql_mysql_connector_java_5_1_46.xml | 13 + .../Maven__net_sf_trove4j_trove4j_3_0_3.xml | 13 + ...__org_apache_commons_commons_lang3_3_7.xml | 13 + ...org_apache_commons_commons_math3_3_6_1.xml | 13 + .../Maven__org_jsoup_jsoup_1_11_3.xml | 13 + .../Maven__org_slf4j_slf4j_api_1_7_25.xml | 13 + .../Maven__org_slf4j_slf4j_simple_1_7_25.xml | 13 + .idea/misc.xml | 40 ++ .idea/modules.xml | 9 + .idea/uiDesigner.xml | 124 +++++ .idea/vcs.xml | 6 + .idea/workspace.xml | 429 ++++++++++++++++++ README.md | 9 + pom.xml | 30 ++ src/main/java/org/krews/apollyon/Main.java | 89 ++++ .../incoming/CameraPublishToWebEvent.java | 62 +++ .../incoming/CameraPurchaseEvent.java | 50 ++ .../incoming/CameraRoomPictureEvent.java | 72 +++ .../incoming/CameraRoomThumbnailEvent.java | 63 +++ src/main/resources/Apollyon.iml | 32 ++ src/main/resources/plugin.json | 5 + src/main/resources/target/Apollyon-1.jar | Bin 0 -> 1545 bytes .../target/maven-archiver/pom.properties | 5 + target/Apollyon-1.jar | Bin 0 -> 15163 bytes target/classes/Apollyon.iml | 32 ++ target/classes/org/krews/apollyon/Main.class | Bin 0 -> 4031 bytes .../incoming/CameraPublishToWebEvent.class | Bin 0 -> 4648 bytes .../incoming/CameraPurchaseEvent.class | Bin 0 -> 4634 bytes .../incoming/CameraRoomPictureEvent.class | Bin 0 -> 4344 bytes .../incoming/CameraRoomThumbnailEvent.class | Bin 0 -> 3337 bytes target/classes/plugin.json | 5 + target/classes/target/Apollyon-1.jar | Bin 0 -> 1545 bytes .../target/maven-archiver/pom.properties | 5 + target/maven-archiver/pom.properties | 5 + .../compile/default-compile/createdFiles.lst | 5 + .../compile/default-compile/inputFiles.lst | 5 + 52 files changed, 1365 insertions(+) create mode 100644 .idea/.name create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/libraries/Maven__com_eu_habbo_Habbo_1_16_0.xml create mode 100644 .idea/libraries/Maven__com_google_code_gson_gson_2_8_4.xml create mode 100644 .idea/libraries/Maven__com_zaxxer_HikariCP_3_1_0.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_all_4_1_24_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_buffer_4_1_24_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_codec_4_1_24_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_codec_http2_4_1_24_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_codec_http_4_1_24_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_common_4_1_24_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_handler_4_1_24_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_resolver_4_1_24_Final.xml create mode 100644 .idea/libraries/Maven__io_netty_netty_transport_4_1_24_Final.xml create mode 100644 .idea/libraries/Maven__joda_time_joda_time_2_9_9.xml create mode 100644 .idea/libraries/Maven__mysql_mysql_connector_java_5_1_46.xml create mode 100644 .idea/libraries/Maven__net_sf_trove4j_trove4j_3_0_3.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml create mode 100644 .idea/libraries/Maven__org_apache_commons_commons_math3_3_6_1.xml create mode 100644 .idea/libraries/Maven__org_jsoup_jsoup_1_11_3.xml create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_25.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/uiDesigner.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 README.md create mode 100644 pom.xml create mode 100644 src/main/java/org/krews/apollyon/Main.java create mode 100644 src/main/java/org/krews/apollyon/incoming/CameraPublishToWebEvent.java create mode 100644 src/main/java/org/krews/apollyon/incoming/CameraPurchaseEvent.java create mode 100644 src/main/java/org/krews/apollyon/incoming/CameraRoomPictureEvent.java create mode 100644 src/main/java/org/krews/apollyon/incoming/CameraRoomThumbnailEvent.java create mode 100644 src/main/resources/Apollyon.iml create mode 100644 src/main/resources/plugin.json create mode 100644 src/main/resources/target/Apollyon-1.jar create mode 100644 src/main/resources/target/maven-archiver/pom.properties create mode 100644 target/Apollyon-1.jar create mode 100644 target/classes/Apollyon.iml create mode 100644 target/classes/org/krews/apollyon/Main.class create mode 100644 target/classes/org/krews/apollyon/incoming/CameraPublishToWebEvent.class create mode 100644 target/classes/org/krews/apollyon/incoming/CameraPurchaseEvent.class create mode 100644 target/classes/org/krews/apollyon/incoming/CameraRoomPictureEvent.class create mode 100644 target/classes/org/krews/apollyon/incoming/CameraRoomThumbnailEvent.class create mode 100644 target/classes/plugin.json create mode 100644 target/classes/target/Apollyon-1.jar create mode 100644 target/classes/target/maven-archiver/pom.properties create mode 100644 target/maven-archiver/pom.properties create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..b5bf2f8 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +arcturusplugin \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..c13476c --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..15a15b2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_eu_habbo_Habbo_1_16_0.xml b/.idea/libraries/Maven__com_eu_habbo_Habbo_1_16_0.xml new file mode 100644 index 0000000..c9ede76 --- /dev/null +++ b/.idea/libraries/Maven__com_eu_habbo_Habbo_1_16_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_google_code_gson_gson_2_8_4.xml b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_4.xml new file mode 100644 index 0000000..73b6ba3 --- /dev/null +++ b/.idea/libraries/Maven__com_google_code_gson_gson_2_8_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_zaxxer_HikariCP_3_1_0.xml b/.idea/libraries/Maven__com_zaxxer_HikariCP_3_1_0.xml new file mode 100644 index 0000000..3f79c94 --- /dev/null +++ b/.idea/libraries/Maven__com_zaxxer_HikariCP_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_all_4_1_24_Final.xml b/.idea/libraries/Maven__io_netty_netty_all_4_1_24_Final.xml new file mode 100644 index 0000000..8df40fc --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_all_4_1_24_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_buffer_4_1_24_Final.xml b/.idea/libraries/Maven__io_netty_netty_buffer_4_1_24_Final.xml new file mode 100644 index 0000000..d9d2a6b --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_buffer_4_1_24_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_4_1_24_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_4_1_24_Final.xml new file mode 100644 index 0000000..475d3cc --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_4_1_24_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_http2_4_1_24_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_http2_4_1_24_Final.xml new file mode 100644 index 0000000..1bb5d68 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_http2_4_1_24_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_24_Final.xml b/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_24_Final.xml new file mode 100644 index 0000000..cd96ec0 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_24_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_common_4_1_24_Final.xml b/.idea/libraries/Maven__io_netty_netty_common_4_1_24_Final.xml new file mode 100644 index 0000000..be5b5a3 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_common_4_1_24_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_handler_4_1_24_Final.xml b/.idea/libraries/Maven__io_netty_netty_handler_4_1_24_Final.xml new file mode 100644 index 0000000..f73cc10 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_handler_4_1_24_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_resolver_4_1_24_Final.xml b/.idea/libraries/Maven__io_netty_netty_resolver_4_1_24_Final.xml new file mode 100644 index 0000000..221f14b --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_resolver_4_1_24_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__io_netty_netty_transport_4_1_24_Final.xml b/.idea/libraries/Maven__io_netty_netty_transport_4_1_24_Final.xml new file mode 100644 index 0000000..30a3db4 --- /dev/null +++ b/.idea/libraries/Maven__io_netty_netty_transport_4_1_24_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__joda_time_joda_time_2_9_9.xml b/.idea/libraries/Maven__joda_time_joda_time_2_9_9.xml new file mode 100644 index 0000000..a468f58 --- /dev/null +++ b/.idea/libraries/Maven__joda_time_joda_time_2_9_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_46.xml b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_46.xml new file mode 100644 index 0000000..774fddb --- /dev/null +++ b/.idea/libraries/Maven__mysql_mysql_connector_java_5_1_46.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__net_sf_trove4j_trove4j_3_0_3.xml b/.idea/libraries/Maven__net_sf_trove4j_trove4j_3_0_3.xml new file mode 100644 index 0000000..72d4d7e --- /dev/null +++ b/.idea/libraries/Maven__net_sf_trove4j_trove4j_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml new file mode 100644 index 0000000..28edf49 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_math3_3_6_1.xml b/.idea/libraries/Maven__org_apache_commons_commons_math3_3_6_1.xml new file mode 100644 index 0000000..ebfe0a8 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_math3_3_6_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_jsoup_jsoup_1_11_3.xml b/.idea/libraries/Maven__org_jsoup_jsoup_1_11_3.xml new file mode 100644 index 0000000..e0f1c32 --- /dev/null +++ b/.idea/libraries/Maven__org_jsoup_jsoup_1_11_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml new file mode 100644 index 0000000..20e8163 --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_25.xml b/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_25.xml new file mode 100644 index 0000000..8bc862b --- /dev/null +++ b/.idea/libraries/Maven__org_slf4j_slf4j_simple_1_7_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..c131721 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..4eb973c --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..eea95c5 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,429 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + messageHandler. + + + this. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1558732594090 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.8 + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..7cc7a2b --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +Apollyon. +The PNGCamera Replacement. + +RELEASES: LINK +HABBO.SWF DOWNLOAD: LINK + +** Experts Only ** +PATCHED SOURCE HABBO.SWF DOWNLOAD: LINK +HABKIT DOWNLOAD: LINK \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..f307f3d --- /dev/null +++ b/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + com.eu.habbo + Apollyon + 1 + + + + org.apache.maven.plugins + maven-compiler-plugin + + 7 + 7 + + + + + + + + com.eu.habbo + Habbo + 1.16.0 + + + \ No newline at end of file diff --git a/src/main/java/org/krews/apollyon/Main.java b/src/main/java/org/krews/apollyon/Main.java new file mode 100644 index 0000000..bd9473a --- /dev/null +++ b/src/main/java/org/krews/apollyon/Main.java @@ -0,0 +1,89 @@ +package org.krews.apollyon; +import com.eu.habbo.Emulator; +import com.eu.habbo.habbohotel.users.Habbo; +import com.eu.habbo.messages.PacketManager; +import com.eu.habbo.messages.incoming.Incoming; +import com.eu.habbo.messages.incoming.MessageHandler; +import com.eu.habbo.plugin.EventHandler; +import com.eu.habbo.plugin.EventListener; +import com.eu.habbo.plugin.HabboPlugin; +import com.eu.habbo.plugin.events.emulator.EmulatorLoadedEvent; +import gnu.trove.map.hash.THashMap; +import org.krews.apollyon.incoming.CameraPublishToWebEvent; +import org.krews.apollyon.incoming.CameraPurchaseEvent; +import org.krews.apollyon.incoming.CameraRoomPictureEvent; +import org.krews.apollyon.incoming.CameraRoomThumbnailEvent; +import java.lang.reflect.Field; + +/** + * Apollyon + * The Official Camera Plugin for Morningstar. Credits to John, Beny, Ovflowd, and Alejandro + * @author Krews.org + */ + +public class Main extends HabboPlugin implements EventListener { + + @Override + public void onEnable() throws Exception { + Emulator.getPluginManager().registerEvents(this, this); + + if(Emulator.isReady && !Emulator.isShuttingDown) { + this.onEmulatorLoadedEvent(null); + } + } + + @Override + public boolean hasPermission(Habbo habbo, String string) { + return false; + } + + @Override + public void onDisable() throws Exception { + // put the original packets back + PacketManager packetManager = Emulator.getGameServer().getPacketManager(); + Field f = PacketManager.class.getDeclaredField("incoming"); + f.setAccessible(true); + THashMap> incoming = (THashMap>)f.get(packetManager); + incoming.remove(Incoming.CameraRoomThumbnailEvent); + incoming.remove(Incoming.CameraPublishToWebEvent); + incoming.remove(Incoming.CameraPurchaseEvent); + incoming.remove(Incoming.CameraRoomThumbnailEvent); + Emulator.getGameServer().getPacketManager().registerHandler(Incoming.CameraRoomPictureEvent, CameraRoomPictureEvent.class); + Emulator.getGameServer().getPacketManager().registerHandler(Incoming.CameraPublishToWebEvent, CameraPublishToWebEvent.class); + Emulator.getGameServer().getPacketManager().registerHandler(Incoming.CameraPurchaseEvent, CameraPurchaseEvent.class); + Emulator.getGameServer().getPacketManager().registerHandler(Incoming.CameraRoomThumbnailEvent, CameraRoomThumbnailEvent.class); +} + + + @EventHandler + public void onEmulatorLoadedEvent(EmulatorLoadedEvent e) throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException, Exception { + + // Adds missing sqls if they are not found. + Emulator.getConfig().register("camera.url", "http://yourdomain.com/swfdirectory/camera/"); + Emulator.getConfig().register("imager.location.output.camera", "C:\\yourdirectory\\swfdirectory\\camera\\"); + Emulator.getConfig().register("imager.location.output.thumbnail", "C:\\yourdirectory\\swfdirectory\\camera\\thumbnails\\thumbnail_"); + + PacketManager packetManager = Emulator.getGameServer().getPacketManager(); + Field f = PacketManager.class.getDeclaredField("incoming"); + f.setAccessible(true); + THashMap> incoming = (THashMap>)f.get(packetManager); + + // Removes the current arcturus handlers for these packets + incoming.remove(Incoming.CameraRoomPictureEvent); + incoming.remove(Incoming.CameraPublishToWebEvent); + incoming.remove(Incoming.CameraPurchaseEvent); + incoming.remove(Incoming.CameraRoomThumbnailEvent); + + // Adds the PNGCamera Packet Handlers + Emulator.getGameServer().getPacketManager().registerHandler(Incoming.CameraRoomPictureEvent, CameraRoomPictureEvent.class); + Emulator.getGameServer().getPacketManager().registerHandler(Incoming.CameraPublishToWebEvent, CameraPublishToWebEvent.class); + Emulator.getGameServer().getPacketManager().registerHandler(Incoming.CameraPurchaseEvent, CameraPurchaseEvent.class); + Emulator.getGameServer().getPacketManager().registerHandler(Incoming.CameraRoomThumbnailEvent, CameraRoomThumbnailEvent.class); + + // Send the message to the Emulator that PNGCamera has started. + Emulator.getLogging().logStart("[Apollyon] Apollyon Preview 1 has hijacked the Arcturus Camera packets, and is ready to use!!"); + Emulator.getLogging().logStart("[Apollyon] Please ensure this plugin was downloaded from Krews.org and is the latest version."); + + } + +} diff --git a/src/main/java/org/krews/apollyon/incoming/CameraPublishToWebEvent.java b/src/main/java/org/krews/apollyon/incoming/CameraPublishToWebEvent.java new file mode 100644 index 0000000..8412e2a --- /dev/null +++ b/src/main/java/org/krews/apollyon/incoming/CameraPublishToWebEvent.java @@ -0,0 +1,62 @@ +package org.krews.apollyon.incoming; + +import com.eu.habbo.Emulator; +import com.eu.habbo.messages.incoming.MessageHandler; +import com.eu.habbo.messages.outgoing.camera.CameraPublishWaitMessageComposer; +import com.eu.habbo.messages.outgoing.catalog.NotEnoughPointsTypeComposer; +import com.eu.habbo.plugin.events.users.UserPublishPictureEvent; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; + +public class CameraPublishToWebEvent extends MessageHandler +{ + + + @Override + public void handle() { + if (this.client.getHabbo().getHabboInfo().getCurrencyAmount(0) < Emulator.getConfig().getInt("camera.price.points.publish")) { + this.client.sendResponse(new NotEnoughPointsTypeComposer(false, true, 0)); + return; + } + if (this.client.getHabbo().getHabboInfo().getPhotoTimestamp() != 0) { + if (!this.client.getHabbo().getHabboInfo().getPhotoJSON().isEmpty()) { + if (this.client.getHabbo().getHabboInfo().getPhotoJSON().contains(this.client.getHabbo().getHabboInfo().getPhotoTimestamp() + "")) { + int timestamp = Emulator.getIntUnixTimestamp(); + + boolean published = false; + int timeDiff = timestamp - this.client.getHabbo().getHabboInfo().getWebPublishTimestamp(); + int wait = 0; + if (timeDiff < Emulator.getConfig().getInt("camera.publish.delay")) { + wait = timeDiff - Emulator.getConfig().getInt("camera.publish.delay"); + } + else { + UserPublishPictureEvent publishPictureEvent = new UserPublishPictureEvent(this.client.getHabbo(), this.client.getHabbo().getHabboInfo().getPhotoURL(), timestamp, this.client.getHabbo().getHabboInfo().getPhotoRoomId()); + if (!Emulator.getPluginManager().fireEvent(publishPictureEvent).isCancelled()) { + try (Connection connection = Emulator.getDatabase().getDataSource().getConnection(); PreparedStatement statement = connection.prepareStatement("INSERT INTO camera_web (user_id, room_id, timestamp, url) VALUES (?, ?, ?, ?)")) { + statement.setInt(1, this.client.getHabbo().getHabboInfo().getId()); + statement.setInt(2, publishPictureEvent.roomId); + statement.setInt(3, publishPictureEvent.timestamp); + statement.setString(4, publishPictureEvent.URL); + statement.execute(); + this.client.getHabbo().getHabboInfo().setWebPublishTimestamp(timestamp); + this.client.getHabbo().givePixels(-Emulator.getConfig().getInt("camera.price.points.publish")); + published = true; + } + catch (SQLException e) + { + Emulator.getLogging().logSQLException(e); + } + } + else { + return; + } + } + + this.client.sendResponse(new CameraPublishWaitMessageComposer(published, wait, published ? this.client.getHabbo().getHabboInfo().getPhotoURL() : "")); + } + } + } + } +} \ No newline at end of file diff --git a/src/main/java/org/krews/apollyon/incoming/CameraPurchaseEvent.java b/src/main/java/org/krews/apollyon/incoming/CameraPurchaseEvent.java new file mode 100644 index 0000000..3a7e21e --- /dev/null +++ b/src/main/java/org/krews/apollyon/incoming/CameraPurchaseEvent.java @@ -0,0 +1,50 @@ +package org.krews.apollyon.incoming; + +import com.eu.habbo.Emulator; +import com.eu.habbo.habbohotel.achievements.AchievementManager; +import com.eu.habbo.habbohotel.catalog.CatalogManager; +import com.eu.habbo.habbohotel.users.HabboItem; +import com.eu.habbo.messages.incoming.MessageHandler; +import com.eu.habbo.messages.outgoing.camera.CameraPurchaseSuccesfullComposer; +import com.eu.habbo.messages.outgoing.catalog.AlertPurchaseFailedComposer; +import com.eu.habbo.messages.outgoing.catalog.NotEnoughPointsTypeComposer; +import com.eu.habbo.messages.outgoing.generic.alerts.HotelWillCloseInMinutesComposer; +import com.eu.habbo.messages.outgoing.inventory.AddHabboItemComposer; +import com.eu.habbo.messages.outgoing.inventory.InventoryRefreshComposer; +import com.eu.habbo.threading.runnables.ShutdownEmulator; + +public class CameraPurchaseEvent extends MessageHandler +{ + @Override + public void handle() { + if (Emulator.getIntUnixTimestamp() - this.client.getHabbo().getHabboStats().lastPurchaseTimestamp >= CatalogManager.PURCHASE_COOLDOWN) { + this.client.getHabbo().getHabboStats().lastPurchaseTimestamp = Emulator.getIntUnixTimestamp(); + if (ShutdownEmulator.timestamp > 0) { + this.client.sendResponse(new HotelWillCloseInMinutesComposer((ShutdownEmulator.timestamp - Emulator.getIntUnixTimestamp()) / 60)); + } else if (this.client.getHabbo().getHabboInfo().getCredits() < Emulator.getConfig().getInt("camera.price.credits") || this.client.getHabbo().getHabboInfo().getCurrencyAmount(0) < Emulator.getConfig().getInt("camera.price.points")) { + this.client.sendResponse(new NotEnoughPointsTypeComposer(this.client.getHabbo().getHabboInfo().getCredits() < Emulator.getConfig().getInt("camera.price.credits"), this.client.getHabbo().getHabboInfo().getCurrencyAmount(0) < Emulator.getConfig().getInt("camera.price.points"), 0)); + } else if (this.client.getHabbo().getHabboInfo().getPhotoTimestamp() != 0) { + HabboItem photoItem = Emulator.getGameEnvironment().getItemManager().createItem(this.client.getHabbo().getHabboInfo().getId(), Emulator.getGameEnvironment().getItemManager().getItem(Emulator.getConfig().getInt("camera.item_id")), 0, 0, this.client.getHabbo().getHabboInfo().getPhotoJSON()); + + if (photoItem != null) { + photoItem.setExtradata(photoItem.getExtradata().replace("%id%", photoItem.getId() + "")); + photoItem.needsUpdate(true); + this.client.getHabbo().getInventory().getItemsComponent().addItem(photoItem); + + this.client.sendResponse(new CameraPurchaseSuccesfullComposer()); + this.client.sendResponse(new AddHabboItemComposer(photoItem)); + this.client.sendResponse(new InventoryRefreshComposer()); + + this.client.getHabbo().giveCredits(-Emulator.getConfig().getInt("camera.price.credits")); + this.client.getHabbo().givePixels(-Emulator.getConfig().getInt("camera.price.points")); + + AchievementManager.progressAchievement(this.client.getHabbo(), Emulator.getGameEnvironment().getAchievementManager().getAchievement("CameraPhotoCount")); + } + } + } + else + { + this.client.sendResponse(new AlertPurchaseFailedComposer(AlertPurchaseFailedComposer.SERVER_ERROR).compose()); + } + } +} \ No newline at end of file diff --git a/src/main/java/org/krews/apollyon/incoming/CameraRoomPictureEvent.java b/src/main/java/org/krews/apollyon/incoming/CameraRoomPictureEvent.java new file mode 100644 index 0000000..76c8b7c --- /dev/null +++ b/src/main/java/org/krews/apollyon/incoming/CameraRoomPictureEvent.java @@ -0,0 +1,72 @@ +package org.krews.apollyon.incoming; + +import com.eu.habbo.Emulator; +import com.eu.habbo.habbohotel.catalog.CatalogManager; +import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.messages.incoming.MessageHandler; +import com.eu.habbo.messages.outgoing.camera.CameraURLComposer; +import com.eu.habbo.messages.outgoing.generic.alerts.GenericAlertComposer; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.ByteBufInputStream; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; + +public class CameraRoomPictureEvent extends MessageHandler +{ + @Override + public void handle() { + if (Emulator.getIntUnixTimestamp() - this.client.getHabbo().getHabboStats().lastPurchaseTimestamp >= CatalogManager.PURCHASE_COOLDOWN) { + this.client.getHabbo().getHabboStats().lastPurchaseTimestamp = Emulator.getIntUnixTimestamp(); + if (!this.client.getHabbo().hasPermission("acc_camera")) { + this.client.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("camera.permission"))); + return; + } + + Room room = this.client.getHabbo().getHabboInfo().getCurrentRoom(); + + if (room == null) + return; + + final int count = this.packet.readInt(); + + ByteBuf image = this.packet.getBuffer().readBytes(count); + + if (image == null) + return; + this.packet.readString(); + this.packet.readString(); + this.packet.readInt(); + this.packet.readInt(); + int timestamp = Emulator.getIntUnixTimestamp(); + + String URL = this.client.getHabbo().getHabboInfo().getId() + "_" + timestamp + ".png"; + String URL_small = this.client.getHabbo().getHabboInfo().getId() + "_" + timestamp + "_small.png"; + String base = Emulator.getConfig().getValue("camera.url"); + String json = Emulator.getConfig().getValue("camera.extradata").replace("%timestamp%", timestamp + "").replace("%room_id%", room.getId() + "").replace("%url%", base + URL); + this.client.getHabbo().getHabboInfo().setPhotoURL(base + URL); + this.client.getHabbo().getHabboInfo().setPhotoTimestamp(timestamp); + this.client.getHabbo().getHabboInfo().setPhotoRoomId(room.getId()); + this.client.getHabbo().getHabboInfo().setPhotoJSON(json); + BufferedImage theImage = null; + try { + theImage = ImageIO.read(new ByteBufInputStream(image)); + } catch (IOException e) { + e.printStackTrace(); + } + + try { + ImageIO.write(theImage, "png", new File(Emulator.getConfig().getValue("imager.location.output.camera") + URL)); + } catch (IOException e) { + e.printStackTrace(); + } + try { + ImageIO.write(theImage, "png", new File(Emulator.getConfig().getValue("imager.location.output.camera") + URL_small)); + } catch (IOException e) { + e.printStackTrace(); + } + this.client.sendResponse(new CameraURLComposer(URL)); + } + } +} \ No newline at end of file diff --git a/src/main/java/org/krews/apollyon/incoming/CameraRoomThumbnailEvent.java b/src/main/java/org/krews/apollyon/incoming/CameraRoomThumbnailEvent.java new file mode 100644 index 0000000..5694a92 --- /dev/null +++ b/src/main/java/org/krews/apollyon/incoming/CameraRoomThumbnailEvent.java @@ -0,0 +1,63 @@ +package org.krews.apollyon.incoming; + +import com.eu.habbo.Emulator; +import com.eu.habbo.habbohotel.rooms.Room; +import com.eu.habbo.messages.incoming.MessageHandler; +import com.eu.habbo.messages.outgoing.camera.CameraRoomThumbnailSavedComposer; +import com.eu.habbo.messages.outgoing.generic.alerts.GenericAlertComposer; +import io.netty.buffer.ByteBuf; +import io.netty.buffer.ByteBufInputStream; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; + +public class CameraRoomThumbnailEvent extends MessageHandler +{ + + @Override + public void handle() { + if (! this.client.getHabbo().hasPermission("acc_camera")) { + this.client.sendResponse(new GenericAlertComposer(Emulator.getTexts().getValue("camera.permission"))); + return; + } + + if (!this.client.getHabbo().getHabboInfo().getCurrentRoom().isOwner(this.client.getHabbo())) + return; + + Room room = this.client.getHabbo().getHabboInfo().getCurrentRoom(); + + if (room == null) + return; + + if (!room.isOwner(this.client.getHabbo()) && !this.client.getHabbo().hasPermission("acc_modtool_ticket_q")) + return; + + final int count = this.packet.readInt(); + + ByteBuf image = this.packet.getBuffer().readBytes(count); + + if(image == null) + return; + + this.packet.readString(); + this.packet.readString(); + this.packet.readInt(); + this.packet.readInt(); + + BufferedImage theImage = null; + try { + theImage = ImageIO.read(new ByteBufInputStream(image)); + } catch (IOException e) { + e.printStackTrace(); + } + + try { + ImageIO.write(theImage, "png", new File(Emulator.getConfig().getValue("imager.location.output.thumbnail") + room.getId() + ".png")); + } catch (IOException e) { + e.printStackTrace(); + } + + this.client.sendResponse(new CameraRoomThumbnailSavedComposer()); + } +} \ No newline at end of file diff --git a/src/main/resources/Apollyon.iml b/src/main/resources/Apollyon.iml new file mode 100644 index 0000000..9ea6452 --- /dev/null +++ b/src/main/resources/Apollyon.iml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/plugin.json b/src/main/resources/plugin.json new file mode 100644 index 0000000..d0e89ae --- /dev/null +++ b/src/main/resources/plugin.json @@ -0,0 +1,5 @@ +{ + "main" : "org.krews.apollyon.Main", + "name" : "Apollyon", + "author" : "www.krews.org" +} \ No newline at end of file diff --git a/src/main/resources/target/Apollyon-1.jar b/src/main/resources/target/Apollyon-1.jar new file mode 100644 index 0000000000000000000000000000000000000000..608ad21ac2d4818dafdbc85a6ed63d0dfa54064e GIT binary patch literal 1545 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Ð*e3J#udk3LWx^i3kry=}01FO+-l zF`47iuyp^5&)jkKsk{0B0|6@ZlJzqa@&0kcd={Zu_udqBSGCC%cMme%VvpWEg0$=~ zEDKG_%yD3I=BoCId#IIT8+RaUzGU^hW_i#Xp+c`n9haB> zi%G7hDdiH9Hwl{y}Fxc9|2_DA)xi!JdhD3b#~XOr&hja@twub19R z3QV<~_v?6`^i8`e=HwRXcI*~hY<;v?vU}IAXWqJ(d~u#9;mIN=o(g?lu+E&BKvPFs zVO7|19fdG_G4yvIk$9 zY+~Je1o?waBO=P!)!nu>E79oJJs-^%qk|@hldy_nB)`fJOPYJMw>p2~W zuxE%M!)5GB7STkqyJPHxkWY>ax;9jC?lHZIO==zyBi>bT^h;oewj9Ku3*FmR;6B#U z3T%mP78hf#dQBI0tE$RPH)v>xG%Ir4CtbX#_Obo7gQAc4BIY%V-H6fWl+uXn8_a7M zUSFI?(%4ru%L%CT(&CDEBw;DHBhDIG0D3_A5$d6nMm%6RE-VD1v&d=|+s>7E+mtwa z?T7)hiU@GXa?`%^cn+_z1wx1ff&Xg#6#yHTn<=ybA&e4(Zp<(f9K*$i?FpmWYk01S_C?%G}vvOTuY2*k&TYLfTlda$YvId@7qX>qTG6X?l!G~V=KbcU5- zaTS>(;9VTH`*nYDox!S>4Zc)DXj2zTx@%7sp>`^+0;I@_zToy<)X}L zM2V{GM|~1{cV7chq#&I=KjHv2!W^vafaLl$rY_QMyK$3zhLuRIZbt(!N79ux*|jt| zxI|szZbUF$lT|?71?Y88$(mP`$Ar)oS{B0`tdw2Yw<^3QSU6sasHoJl5?J+f?;hau z0BfBDV|?uU_yMDJgV>L8sX9yx$nEyRZa~lKlk&0WW8bTj+n24O^CZG2KB4?UZav9{ z;ryam$3f|h<qwx`5U(L!KEVmUrtPUeE_iZ; zOJIZFf~Ygk7zN7hfSJ?Hs&Hq9`4xEaCGx$B@(-HoY;GT+tSCwq(Nm}W#>|1lAqhlB zfxss$^8ZvfO=wkBC%zW{1o~Gp^+ybqvt><{{+uJ=KF3h(|1gGn&J7HmP5&)^^7cSi z$9P&HV;XXil6?6}8_t%xnwS_om!3lbQJN|$J&Xq5vP~x*PKq+R;CY|vs}d_AtJI|(cKjI-PUPL!G@4ks-J@MMu9wL9_^9F9^lfr zG1!Xnp+o44;fjzr7_@Oa4So3T#ayxYj2AK0s$5jSO}R%WRSzJZq6$-?5kK!1@q|7l zu4BTUBjIZCrmP3+mz6$%_CiQwX%pUcu?OC2OM3$Kgx>O}c zQhfU!!d+hAkaFkNlV#S&%ahU^}OuVcA#!#EiZj!;505FU<*zlZ==pb=YxAnl;?q`n3z|K@>f=*u=Mzk zE*155+xbU{Bgc;@w5d^h`0^CTdLs;XQ&GIPU=_Mo+tHyD8yC18{){v?389R2^7`HC zkZOeh5FYq^1-C+7ORbKgby!6C&GOKyjf}2HO+Lu;?jq7fXB@`qQ2XtS=+(U&{*TI| zCeXs&B3qD}2TRJhU{_{fiEtg28T;90+-WYe_i!C08#q4FfJR3lfICnZ za%~#utMf9+rhYUAtc?4@Yy9OA^%^hE$5=oa{v(>ca z)o7WbsPUfqys*`bJmR1#$Y~~7&rR$T5jNt)1yKA!(!g`bl_9=Kx!xD@%^VQxK^3qD zeD;pb>D^qJ{=QJEVcf*>pI3R{+uHNcUM<vje*Y__tHI$wobw3#wQ6P>RdYe?1I6GmMNy&!IfNFXX&f2Dj)aL$6>v9 zXVM;U%yEriI~>{Mmv)5?Fz`R;Wwn#0v>_Bq$EEe#s~4N_G{AZ%v8?E6o4tRJ+S)9p z)}lKo!*|$&4$p}1Ju?hr^WK{2q)F+mTU6zScC79&<>F@*JjxBO969epq(1}!j2D&ta&YOaKNZCHque+RooJ2WO;D~J8T zdI4yfzZ^|&^(j+Ag}YO<&DBcSVjp>6(s{}qF|qWWf&n_5iXNCXH~fW8m#z=lEPh6I z=O=d(R9!{qW~$pty6tE-)r(cB_OtSh!tG2^;j-hjw|eY*Go&Lc=|Tl*xCEm2W6Zt~Q<1{tQI z(D4|t=h4fU^y4P(h!ve%b@5O;`!p!HtQ?e+50It0H?Ox~hEKlRxc({~Lfxyamv1qn zOSAu#q8x6g?~pQE4PA#)q>9x(X*13UNB@fbJt@RoV4~lb*;uBQ7^S_hdu-6uG~9 zuGn$m+do_L* zVDrwwEgLO=LjKZgp{<0N-So%X9Pgo+m^-BKTFdl zWX8_D04BgGNxxoFq=?^QwDr{VPp5Po!KoK(aYItPVSM3W?av_g$~W9!sD7#mb$)U= zR&^nER>BDJv}g7m$>Bwl8rv4nr$|>L%DJeOCcUp4Vvgu|y^hOd{WX%yQDd8i^%2e% zSljI$vGq*3YB{kcL;!*1@dZ?6a+{N)&O8PES5BWrZTuDDUbP2;$25icF|ypfn^B;M zh|To-g5GdWQu?oWJz{>|IB9}*Kj@0i>mgMe`TBX6%{Z*Qw$Y3$9R`>KkH^+JMm2@+A$F2-X3LW7vO_UX8NvaEeC7V)Dr<=eAJ2_*OaV*CHUdK8z zN(WJc*ZR$@utXkriZaBb#Iih=da4VUDc*Asky+_%*5(GC%^78I0cF7r$2De;j2R6q`iG zV*cn3y56R|AQ*zZR={g5WsxTm2@~|E{y=M5xKub`0rkl@fBF-O~Rm5ggu2(wuljb)Wk?Nnh1QZfm zi}lD@i%G@OSk5YW$+E8Gk!O?_xDl!#n!`sBDn^r;1NPMk){5{|OvaLoS2FWp*|#hT zg(OrlQCP|&(Kw$sLr8}w;|^j-3-bN>EAqpgWi#I4mTuvv zgw+B7rR47TZZomROdHSy^c7373FC3#ZrAgVb&BTlw;@jx3g8kgEg5B~sDKam_#nq-0b$}CG-4kcWO$NZWfr3Bb2nC^H{e>!To!U))Scb?tNWDvpRzNX^)k|L6?$RsoZ?WypCX)14Yh z-u{q=ztuaBcj=x7I&Wp=>}18ebr9WXnRU@r!eDzdbj6`=Z_KaMW~#)kr2%$Y$@H3u zG15kdn>BR6;cc!tb@HLq5S^=il1i+d=8#&9NtKnkOwbzn5y_b}x^;&a9Qz?NH3YjE zf^u}a8J2RaOxo-OYO*0=M1&cAl+z6Da0?EEt^>|JtIJAB(&7fouIKyg#*g^|Di3N| zG;A>(+?NV`X!b2l`-IYWsQki2l{CkW8k+GSll$Z0R|VYnr@S_XhMWZvD)FsUXL}g2 z9$AiWq#(P-J5Cu+XKNidw`X;(irpoFyr~m4c8^o}Ff2CV==!;RctZs%7X5EeI@ zzgPiWg2_DSeHq$KoXwxa=r$3#C1n&P9Bv0*mhaX3>`7#xnL*E}+U0 z;W*#>K@ImCg9GT2WfC8R%S$O%(Xv-Mw>0hcyU0Uxjw<-pd?Ca5rB1-iKz(1_o*HkW z5*Vx;{5_nT3x9=|Ve0^m;YKuM=zeBOvK=OOgbSy4Z=4crgplC3WEnq11_^W14I7@R z*=x4*g^jeNMVU)q>2WcpWk_E2m%{1@FomX-l&9`i)4jG)Q&B&gmD1V)rl_qIC{_*T z-3>UJ7ITD^X+d^qiIypF$)6g|dA{SG2_v};D#XVvBw*itYXuQFdqeR;3tW_3Dvu2V zrKxMSuY$6$8K#)HsIhu(9b!9Rm$@8gV78*0lK5jJyAjfnRbb8~+5%HtD&S;M;z}l- zBUE;)$?QwH#Dl3sTev-8@mWkx@&In~F$C{e7C_4_rM>@A^x_Dk0mJa_vD_u`4ED8! zPIN)B7#f2JZOVtR4tM)rmb)e000^}y%C8t-Rdu6CH9|fk_bbk9Ak9o)+XV|~;Q_gD z9r4Q?k;b^><$ywFjRuIV80vMclAFdF16e&@ZeVzemNpc&95s86h`do8SGbkr6(4Kg zOncwC)~nAL@mkI+D!#SovvN_Z-|%Wwup7|HJMIJ*8PplYN1YZ!XrpYkoX_=ID+0*1*TtXDQsF5{s2! zU=)-7ht>mk@ZO82GeH>Gg$sQ;W3a1^?vFy~4roF*DSqI}kM>ZYtGjE0+-(83_%4as zXN^t18z;ZV9MH2XcolAMeXbp+Z3zZbyL;yCzLy!TYxlrMC^^y_-{z9own3QBu1 z1cNc;ok{N`qfn}1AgLdMM7XrXAeDGjwaJa)umqg+4i}AzcCPvTMmPs~o(vZ<;6pGm z&a6c|6P;l&v3-%<{zQ8gInC0 z-&i=DX!K*>2I(tX3K-t_%dI?~%RqZPFf z(1h`rchmsl7~;btSbDKE>7M+V^;p*2tHQgxrUH&wt~Tab@pHeT>@dC>xCv0(LB*9A zt32A#yi=YbhEtdN!B^=iE^iq(U}5E3xCBJw4dZynk}x*BT^)1JZ3d9wNZ}5VRe)?+ z@xb!HJs_X$JV|_3c&l^|Je*#yG(rq3Qs(+c*~*2|_fAHIAe{Y(b_Xb`QO+YZvzYb^ zFU4fdNGz9@6M(gW>OdNioFe{r+iJp%wt?zB%#Z_TX}~>KNc;8Rz(fz_9&NbQeqNW? zkY6^@0Ztn_J<&XcIA0vU4uZIQ#nO1ZC?apGS_k)`+K3K(3#FXt=OzG)>`O(0v$V9Z*ukJ%noW*P%0%fuv$M zSF0r0gl*0!9m;sypJZNPe|*gLF)U91{5UhtVP7~aOT(h0{6oTYsh+aep|vNvkpSSB$&#XP_^!EywOsyYnz2@vwXV-Xjbxwrbx4YE}=p z7N01#`q<9MaS5HAGQYZw-D}>aOg6;yuePwk_T3wjNTyAP)IiJ&z1tEW!L8ft;=Y51t=Gd`P9nN!U+rV4fDqwt8ZhaT zTZ??TAVkj3M431YrilT=fF4B;&=W=8(X7vLbCgcB3bhS5(DrF*GUrPFW<@WN;5pE) z-%3Z{!w-@slP6E9ZoNB7YtL@ljN!}ES&B&^2{D-rN`L9cZLo=ApL%?>X!NlHZ0_-w{t2j-V(fv#Tz1QH z*}Phg7+1@3#-&%^*h>4W9q|K#rg_^*)u$_Q9aRDy(NoW8+gqzPUOY&ikYFtcd8vbs zz%Cite4zBgs5lm)#@#PjiG_19VsD|+5?6$UKRT#T7iFvfk()faC+h>UiJsB*ec^-L zK()j#sMhJ{sI7-or(&CT;9UGHg!!f0b*2vg*hsqOGolG?$PpZ*6W+(^>pPXVU|cxM zZV#cY65yn*MG_+XnOj`3@g14lPgF?8SO@1Dda2yEss(RyBzm&Wk2Lzo*d9czoXFXx zlCY&Lz#6W1G&e=0(slh#zG3})0(>XDLPYqy-QD>D1mxd~YJQXq$QoMO{ZSTBp{}it zKY;Rx8)vo{9jBQG|B)QAmL3$0q86PJiUco+K?1%9EKftMCTzvbz4v(3jKKhv*PU0L zmvhgkuep7X_zV!52u*a)E=WVEKQXHJDoV!5iOc0$OM?QLDxpx$?$D)EzLJ_>sey*)N8nuI-A>%cbTZIJ+%ZdU-$SsO)Br5 zSeYtH_qepPtj9G!@)F0LEsxms_*yX6!yP%Ru_uq~`Q^PV%Qq7#Y zg6N07fUGha9;DMQE7N01X;D^k{|$_xv^{d zeo6>GP(zLT&R-zFZX&ZLXeNfHJ#HgoM~nPG&_P%f3X~JfIVU-Wr#DTwv}8HeI+iYY z7ekvzG$iRnNzn!n;WHF7I(f~JuUS(%gP$~3V2vL^sQLC3pg;$%a1h0B>CN2hK%R|GQkhSDKevGR2+hL_)JU1Y6?r$|dq*LEecT4u3H zYoSVO0JSnoUCeRtu$WM4)_pd+g@*_rCA13dT00(Z38UEtnj;|1NtdyHa}~-># z`O@-A=xDuae244E1r59#akLK(Aa`s2CZ;Q7B1I=$jewVm(X(;KDh+klFaH57GqI$% z@0(_midnl8{bxzr2YSDOCXCH*HG}RDp(BPG1e{~^{k8k5D##dS-MdKbQYaW4KB8bxto@5f2`QoZ*NPW8nr)e&GWR*OdHRTdDww_wHLLZD-DkfCy znEZN3QYf^wYH&cRn&Suze^8&3!7Bif>jUhYRnPH2QXE>57SIcT0%KtOGO=;u07kp) zd<0`b&8|1bR%qlFHmR1N@cZsE+Mvk=10l6R82ry$LMU9br?vf}KE!(P2*;k87jDQ> z>a)k<>84d@Ft8amN_*{n#R{>~&hUVP6tF|CS`%(%Kk8BiSNO!Um&!R^pBH+ZOu`~A zm&kzmEc%nR>VmXs z)HUjEZ>|=)jkw`N^d@oov+XGeT8GiKlO98Bw;$}Pba3pv9$Q*Ik)J~{XD_1XgylUY zzk=HxFSs@@X4eTq ztSBeYxu(5F$7a2gK0C@tq3-*x`Dkw=mGBq^xvST*Yi| z{kYEin>P?FToD2p!h$hYR&VHL1u!q7{FWf$V0^Nk_ReIiPT(_mljAerte757*RYT- z$|jf0Lh3|c^8z9HMikehTrc_@ooMq`KZmM`P-GvCn_Ay2FH5K+-VHY6BKZbp-G0(L z*|OzR68UoSX;ntwcv07m4i6zBSMQs^n>{CXzBE*$8Xf&aWca;UHrSfTWkuAqIQ}RR z{0X5v&M;VSq77~#6R3z`$Xut0rco!?FoDYHPEP7GhHuIe2$Wd`5*Ei_I)eB1zZtp( zY`uF4MtRfC9>I7~E^Ud8I((5|pF6=3j~B#!#dVwG& z2W~{V{1I61rKTagL)Y~v@aJzhN95OzJP0_~fk!v=%VgE?#~gY+YfW`Asb{dA;TXqQ zX#TjcH`JH116W@GTp$E94}SRma)*ArNUzjML11@0l~h1#Gt4aj7@-?hY5Vh=cwBgt zUoW42sm1$V8S2zhPcHtP-5EZg@Xx1%jjQ>yAGLC}w=3J-QBqJCmK_~cR;pG~7-p23 zA7PN9XPlF!8=M#_8J(EEfE+sTPu?NlEeuTN7ADWxj3^+-xfL~de}3*%4EicB$)nlo zm-p7+^(n4nQ&@mMXO+*HCC0P9KTBNyDoCYgX0S4Jf(M$JZ5V-ou2fDx=V1P5;l8>e z_^$llmcN3380Nxu@gD|b-D%td^OSu>7g#@PPE_>hq?{J@v*Zvugf(h#f-zV8$2 zJ&J(9(~GMJf?hE=c7ParDOmne$@`6Oe^pa-87&EE@0RyWuB-sf7giqAKESYw)AgEO zY{O!!?;6}hiC^P&v(9Q?8t^U7sy15CINzqG(tZz5yy{JfobILGQ`PomA!K(#0b_1c2HDFPUG2vC*bo5u0<+(i({NEw70hB>}ab9?Mot+byEUl zU&^V_XVZ-1ib?0rPguU#P~U32Eo_*6Q~2aZoS3oN_krW>x7d?rt*y93+3XHM2hYZL zLH0p=K_!awdbWI@nnMjwgg#yx3Pay|n9l8sQBn?J(y4puRZs&9Yt9ZUJP+_q2Ovo* zuWZyyUaaMD&L{aw@~(A@QC@&uSOtk%#{`wjx1DU)e72;z<9e-oW-j_RZ?-qTt|-^9 zQTtN$T6VeAtai;Y=w#V6-ny;s%Dlt3S>$d)X|ZtItBhP9@`awa+J|eeDMQ zIY*$$b}*VkDj$qlPsTfUdt0!i3j<>ILW}~%YfR}1-3U7@9Z7Z^COKC7)U?eVxw>@II)n}z=gA;rd7qu_NR;^ zQyeiRCLe;eX)eBkss<+}LIVdVn<2mWZ7HZGY*4j$Hc6}JlkBHy{#ID-U~kLd;AHP$ z>f~Z+>a6T0KPF8tMJFk%C{d~cl%gaBE6Uh?SvDa7|F_OP{yQP!0QyhQh1tFpM$vzRT`)WFh@ zrqE_PBkf=r=0Si2b6I(8hpDh`l|4br@IGzdBeeVEqkd)~-C(FRx`~kQ_!=@E5^aah z&%0gTZp%|ZNNPl0%4U0^XLK{B!3xeWq)`Q=oM}zmIQh9tlE`1-;Ba?#rq& z6nK8U{`xcz2B}(dJy~n+ux2o#9HgQfs!9#D8wnA=oL<}5h`^zUY|on-`8Xh8b}7po z#%%yuV>Y^x?2URGLnb?Pei%}BfH0>6r#Dk>1*;P8;7J66Kr=JOmI@{Dtw*#FPrT9C zu-1JTPpo%rd;*TH@~>5@2r~_VuK0aZQ=XL z`u}t9{{PH_g{7K>P0axgNs)<#seXHh=1*b{`}U3$<1iyVP^L!q7oW1XBSl9uBqJ@u z04l|WxxKfovI~v~`D`GdVCdlANi+ZX)PJW8{c#|JoCtlt`e6e<#r~c`^rsw1egNgK zV!sfIej@xm%jXY-?~41MFaO~D{P(W@F@Wzf-zE0{l=zDS^xx&avw;3MzRMv$Tij2g z&W{~}U%UD{t?K*A@Do7j?*V?W5`IPco%8dZCG-=?``?g$kwuiN-t%kS@Ierj6-)*&+VTXnt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/target/classes/org/krews/apollyon/Main.class b/target/classes/org/krews/apollyon/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..92284835bf6485c9c36915f1a8477288594cf537 GIT binary patch literal 4031 zcmb_fTUQ*%5&jyGX4$NeS?h*vNrP<3fPjfC#fgDPA|MH*1z~|vETh=NZnHaLc4jjd zFo~VJbGLGHE>`aEc}V=Q;pD-`e$9`{$=5TpyR&F*Dd*&H=H~x~k^i|M}O4 z0M6sDSv-duSro94#UgI@a(^P|3o=y$m)pursJ;;HWb-3WjR)GQJ{NhcvYZh#w|&Kg9Xcxi(z$LdMoC-&7FL~Et>YK=~?P`ve^?ZAlM#WrTcjK|*2GTY{UwXbVr?w{x_slKRuuZ3IEC-(DlqZMp z2<(e^1WrGe4C3HNyvoprHksEKBd98>-UxdEgsMX)+=qHWX4V z;hx;EWic?WTGB2lq%4Q#Qh$Ntg|ZVGf#+^XqiWV@xnD6><~R~Pk{)Sy#!ju_knqzO zr&5>CJAtJ3Y4B!j)Ay&&w&T^brlFj%5ZgCrIwhL|F7i*{Fuhz2Z8LDaf@_v!>B^RL z0)eSLF09#M*>Vi2PJKfrEJg?3NfnKPf%j6oLjQvV4R31L(eO3mek*hWt14G5-(vVq zJB}NeQRE4n>Ucq9K*LCZ?6MnrMS0ayZ=qMk_PFw74rlPZhOg)F7T(tIjU2v-Z{_f9 zd?$zRs^K!GbNC+K(eV8oet;heJlhu2O?=y;MZ=GB_%VK>;ioygi~BkJ3_llm`ctAp z;Q7vin~s}L!b`(1a`+{FmBV{V=nEa*Zj)!mtV++k<+{}+s~Ciyj9|&(*Z7UV`A2gu zh3mHES61BHaypNg1qHw{S)K_4Yir@9!pe{!Cz}GU(ewW_@ltx*QS&FdslC)^d(Pj zS#n!HrxR4YV%<}TsiX%LsZV>#tD&#YL@?=bYV${RzHZ&}bx)e59X)V$Cfvb64S&kv z&-hFGJxjKvuXO47j1NjBTl`4%ZC+P$w;el53HpZTR`naIN{rK^jVqKIOdQe=^erZJ zg|NWU4lY-ZPT*u)lqcCBDg;YWZV?#lL=nYA!SVy?sGR*|D-Ab`kid!7?xMRK7AsL| zP7$1H5zO1RESvVUR}QO8W+@{5VWMJ@Ni#)qxJ|`I_7ixbEQ8pLR&^N~?wFt2$e4jU zTHQt@(C5jrg20Q=VBx;jIX$P~oa}gc8=6t3)-3;)iWTN;7T-S0U#^5fz+yH_|Fg8y zuxkvlW$Dq$0_XNx<;Y;$^)|_1lu5_(PCBE-LJP;*KzkHJ0%p1fGez#bwsZRBWd~bM zjOt=6ZdMj;)03qrE~wE^s-iY}kJQ%Q3V*aEwC#xa_%fJ|qC}M^wqZkeRQ>BFYyxM} z*W6sc$4oUjoVq6266kNqPwKmXwq@F(yvg3<$k2S6tI+|l_3>ntod%6=#79#16kw@) z8XT#u2%9JXda3G+>ugwTUq<%ATy#BY#HXPbWzi(QiS(H^w|*ie`=f?-d(=vRPifU~ z1rf|rt%6%-)1lg`j(R1>RAt~{RhqmR+by$y_2`eoX;2#eSj8Z__~*caz;1sZXLbf0 zhxp6jEY$AEKOz3XMHhxS?vFN)VT9{kOn|c( z==%Ws9w0L!>e#O&c1IHP=;8VqWN-q9a1sMlswMrYMEZC{F9xU=$RO}p{-47O9F?}0 zId^mJ>i(M=Q>vbhgz52VB1}=7#|84J)#vacM}f~b)ECD{t(3aI3$2b!A>W(N*72Ez z(VjYTqi5?l@DchJ$NIGockx6W{kO;ZGl!bX-b!=XB!~s|=N|AVpReP|WFunBA8Ktx z%=yEujYvfP2sc`gy@&(U?kqF{e~_>r!Z?l-nIWQbo~T?TF7sU7p^clg?=4#RF6~pW zj>MKFNNDWuzJQl#{Xuqt6PP3t$N9lEg)b6=i=e?{&O^8?gCx{5Edl zK9<;Ryo|r|WEZdCBYqJp*e}EYH3RTt%9|myr`ZE32Xs;LdyxaWDf^ws0XY=UM7-mF~XA-|9`yaTe4^1@!g*0?deN6951J literal 0 HcmV?d00001 diff --git a/target/classes/org/krews/apollyon/incoming/CameraPublishToWebEvent.class b/target/classes/org/krews/apollyon/incoming/CameraPublishToWebEvent.class new file mode 100644 index 0000000000000000000000000000000000000000..09ac57c76a880b3fd8e0e9bae38bb78adb596016 GIT binary patch literal 4648 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 OH?@ipI%il1#fhvz?vo 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 literal 0 HcmV?d00001 diff --git a/target/classes/plugin.json b/target/classes/plugin.json new file mode 100644 index 0000000..d0e89ae --- /dev/null +++ b/target/classes/plugin.json @@ -0,0 +1,5 @@ +{ + "main" : "org.krews.apollyon.Main", + "name" : "Apollyon", + "author" : "www.krews.org" +} \ No newline at end of file diff --git a/target/classes/target/Apollyon-1.jar b/target/classes/target/Apollyon-1.jar new file mode 100644 index 0000000000000000000000000000000000000000..608ad21ac2d4818dafdbc85a6ed63d0dfa54064e GIT binary patch literal 1545 zcmWIWW@h1H00G^u(|%wEl;8x?zOEsTx}JV+`T~t1dKY=Ub+yi&Ilno`;EM5sr$stm=T7K&>pF3;KUoqsMNIpE zO2y7OUdF{@5S1+|xFC#H2DIbqc zRRTI43-WVvD)SMRb1*Oh12Sp}w+7Jp4ELBB7<7m=q5$Zmirk#u;8_2|3L>@l*Ju2S z%ecBCGD1AQM=jdqqw+qZQ&v2zOeJ^!?d4dTz1#P#@SN&*d!NhYU91WJnBl!OG3d-A zo+X7YtP@#6W zaf#fct-CD`-=9^_2uo!g;JmUyZfj@;FwU}o*qD^KD=5k@NG&SKOf3#B^FQmY>!suA z8|bkr#BMl@%jn1qy%VMb!l$uL8gG!_tRBs5