From 5db6da334db786c8ed0697a54830bb089f2786b7 Mon Sep 17 00:00:00 2001 From: Josh Shippam Date: Sun, 5 Feb 2023 22:30:52 +0000 Subject: [PATCH] Kotlin -> Java (#586) * Convert All Plugins To Java * Convert Rest Of Kt To Java & Remove Kt From Maven --- 2006Scape Server/ServerConfig.Sample.json | 2 +- .../plugins/plugin/buttons/ButtonClick.java | 18 ++ .../plugins/plugin/buttons/ButtonClick.kt | 17 -- .../buttons/gameframe/BrightnessButtons.java | 35 ++++ .../buttons/gameframe/BrightnessButtons.kt | 25 --- .../buttons/gameframe/LogoutButton.java | 27 +++ .../plugin/buttons/gameframe/LogoutButton.kt | 20 -- .../buttons/gameframe/MusicVolumeButtons.java | 38 ++++ .../buttons/gameframe/MusicVolumeButtons.kt | 32 ---- .../buttons/gameframe/ToggleRunButtons.java | 36 ++++ .../buttons/gameframe/ToggleRunButtons.kt | 34 ---- .../gameframe/ToggleSplitChatButtons.java | 34 ++++ .../gameframe/ToggleSplitChatButtons.kt | 32 ---- .../plugin/click/item/ItemFirstClick.java | 29 +++ .../plugin/click/item/ItemFirstClick.kt | 29 --- .../plugins/plugin/click/item/ItemOnItem.java | 27 +++ .../plugins/plugin/click/item/ItemOnItem.kt | 26 --- .../plugins/plugin/click/item/ItemOnNpc.java | 19 ++ .../plugins/plugin/click/item/ItemOnNpc.kt | 21 --- .../plugin/click/item/ItemOnObject.java | 29 +++ .../plugins/plugin/click/item/ItemOnObject.kt | 30 --- .../plugin/click/item/ItemSecondClick.java | 29 +++ .../plugin/click/item/ItemSecondClick.kt | 28 --- .../plugin/click/item/ItemThirdClick.java | 30 +++ .../plugin/click/item/ItemThirdClick.kt | 29 --- .../plugin/click/magic/MagicOnItem.java | 28 +++ .../plugins/plugin/click/magic/MagicOnItem.kt | 26 --- .../plugin/click/npc/NpcFirstClick.java | 38 ++++ .../plugins/plugin/click/npc/NpcFirstClick.kt | 34 ---- .../plugin/click/npc/NpcSecondClick.java | 25 +++ .../plugin/click/npc/NpcSecondClick.kt | 30 --- .../plugin/click/npc/NpcThirdClick.java | 19 ++ .../plugins/plugin/click/npc/NpcThirdClick.kt | 24 --- .../plugin/click/obj/ObjectFirstClick.java | 32 ++++ .../plugin/click/obj/ObjectFirstClick.kt | 36 ---- .../plugin/click/obj/ObjectFourthClick.java | 27 +++ .../plugin/click/obj/ObjectFourthClick.kt | 31 ---- .../plugin/click/obj/ObjectSecondClick.java | 30 +++ .../plugin/click/obj/ObjectSecondClick.kt | 35 ---- .../plugin/click/obj/ObjectThirdClick.java | 38 ++++ .../plugin/click/obj/ObjectThirdClick.kt | 36 ---- .../plugins/plugin/npc/fadli/SecondClick.java | 21 +++ .../plugins/plugin/npc/fadli/SecondClick.kt | 18 -- 2006Scape Server/pom.xml | 32 +--- .../src/main/java/com/rs2/ConfigLoader.java | 112 ++++++++++++ .../src/main/java/com/rs2/GameConstants.java | 88 +++++++++ .../integrations/discord/DiscordActivity.java | 39 ++++ .../rs2/integrations/discord/JavaCord.java | 75 ++++++++ .../integrations/discord/WelcomeMessage.java | 16 ++ .../discord/commands/Commands.java | 33 ++++ .../integrations/discord/commands/Forum.java | 19 ++ .../discord/commands/Hiscores.java | 18 ++ .../integrations/discord/commands/Issues.java | 18 ++ .../integrations/discord/commands/Link.java | 17 ++ .../integrations/discord/commands/Online.java | 18 ++ .../discord/commands/Players.java | 21 +++ .../integrations/discord/commands/Vote.java | 20 ++ .../discord/commands/Website.java | 19 ++ .../discord/commands/admin/AdminCommands.java | 31 ++++ .../discord/commands/admin/GameKick.java | 34 ++++ .../discord/commands/admin/MoveHome.java | 31 ++++ .../discord/commands/admin/Pin.java | 39 ++++ .../discord/commands/admin/Purge.java | 40 ++++ .../discord/commands/admin/Update.java | 24 +++ .../src/main/kotlin/com/rs2/ConfigLoader.kt | 83 --------- .../src/main/kotlin/com/rs2/GameConstants.kt | 171 ------------------ .../integrations/discord/DiscordActivity.kt | 38 ---- .../com/rs2/integrations/discord/JavaCord.kt | 74 -------- .../integrations/discord/commands/Commands.kt | 33 ---- .../integrations/discord/commands/Forum.kt | 20 -- .../integrations/discord/commands/Hiscores.kt | 19 -- .../integrations/discord/commands/Issues.kt | 20 -- .../rs2/integrations/discord/commands/Link.kt | 14 -- .../integrations/discord/commands/Online.kt | 15 -- .../integrations/discord/commands/Players.kt | 19 -- .../rs2/integrations/discord/commands/Vote.kt | 16 -- .../integrations/discord/commands/Website.kt | 20 -- .../discord/commands/admin/AdminCommands.kt | 31 ---- .../discord/commands/admin/GameKick.kt | 30 --- .../discord/commands/admin/MoveHome.kt | 29 --- .../discord/commands/admin/Pin.kt | 36 ---- .../discord/commands/admin/Purge.kt | 39 ---- .../discord/commands/admin/Update.kt | 23 --- 83 files changed, 1324 insertions(+), 1354 deletions(-) create mode 100644 2006Scape Server/plugins/plugin/buttons/ButtonClick.java delete mode 100644 2006Scape Server/plugins/plugin/buttons/ButtonClick.kt create mode 100644 2006Scape Server/plugins/plugin/buttons/gameframe/BrightnessButtons.java delete mode 100644 2006Scape Server/plugins/plugin/buttons/gameframe/BrightnessButtons.kt create mode 100644 2006Scape Server/plugins/plugin/buttons/gameframe/LogoutButton.java delete mode 100644 2006Scape Server/plugins/plugin/buttons/gameframe/LogoutButton.kt create mode 100644 2006Scape Server/plugins/plugin/buttons/gameframe/MusicVolumeButtons.java delete mode 100644 2006Scape Server/plugins/plugin/buttons/gameframe/MusicVolumeButtons.kt create mode 100644 2006Scape Server/plugins/plugin/buttons/gameframe/ToggleRunButtons.java delete mode 100644 2006Scape Server/plugins/plugin/buttons/gameframe/ToggleRunButtons.kt create mode 100644 2006Scape Server/plugins/plugin/buttons/gameframe/ToggleSplitChatButtons.java delete mode 100644 2006Scape Server/plugins/plugin/buttons/gameframe/ToggleSplitChatButtons.kt create mode 100644 2006Scape Server/plugins/plugin/click/item/ItemFirstClick.java delete mode 100644 2006Scape Server/plugins/plugin/click/item/ItemFirstClick.kt create mode 100644 2006Scape Server/plugins/plugin/click/item/ItemOnItem.java delete mode 100644 2006Scape Server/plugins/plugin/click/item/ItemOnItem.kt create mode 100644 2006Scape Server/plugins/plugin/click/item/ItemOnNpc.java delete mode 100644 2006Scape Server/plugins/plugin/click/item/ItemOnNpc.kt create mode 100644 2006Scape Server/plugins/plugin/click/item/ItemOnObject.java delete mode 100644 2006Scape Server/plugins/plugin/click/item/ItemOnObject.kt create mode 100644 2006Scape Server/plugins/plugin/click/item/ItemSecondClick.java delete mode 100644 2006Scape Server/plugins/plugin/click/item/ItemSecondClick.kt create mode 100644 2006Scape Server/plugins/plugin/click/item/ItemThirdClick.java delete mode 100644 2006Scape Server/plugins/plugin/click/item/ItemThirdClick.kt create mode 100644 2006Scape Server/plugins/plugin/click/magic/MagicOnItem.java delete mode 100644 2006Scape Server/plugins/plugin/click/magic/MagicOnItem.kt create mode 100644 2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.java delete mode 100644 2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.kt create mode 100644 2006Scape Server/plugins/plugin/click/npc/NpcSecondClick.java delete mode 100644 2006Scape Server/plugins/plugin/click/npc/NpcSecondClick.kt create mode 100644 2006Scape Server/plugins/plugin/click/npc/NpcThirdClick.java delete mode 100644 2006Scape Server/plugins/plugin/click/npc/NpcThirdClick.kt create mode 100644 2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.java delete mode 100644 2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.kt create mode 100644 2006Scape Server/plugins/plugin/click/obj/ObjectFourthClick.java delete mode 100644 2006Scape Server/plugins/plugin/click/obj/ObjectFourthClick.kt create mode 100644 2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.java delete mode 100644 2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.kt create mode 100644 2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.java delete mode 100644 2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.kt create mode 100644 2006Scape Server/plugins/plugin/npc/fadli/SecondClick.java delete mode 100644 2006Scape Server/plugins/plugin/npc/fadli/SecondClick.kt create mode 100644 2006Scape Server/src/main/java/com/rs2/ConfigLoader.java create mode 100644 2006Scape Server/src/main/java/com/rs2/GameConstants.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/DiscordActivity.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/JavaCord.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/WelcomeMessage.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Commands.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Forum.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Hiscores.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Issues.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Link.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Online.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Players.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Vote.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Website.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/AdminCommands.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/GameKick.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/MoveHome.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Pin.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Purge.java create mode 100644 2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Update.java delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/ConfigLoader.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/GameConstants.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/DiscordActivity.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/JavaCord.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Commands.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Forum.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Hiscores.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Issues.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Link.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Online.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Players.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Vote.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Website.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/AdminCommands.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/GameKick.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/MoveHome.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Pin.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Purge.kt delete mode 100644 2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Update.kt diff --git a/2006Scape Server/ServerConfig.Sample.json b/2006Scape Server/ServerConfig.Sample.json index e6097fc9..3c1cf8f5 100644 --- a/2006Scape Server/ServerConfig.Sample.json +++ b/2006Scape Server/ServerConfig.Sample.json @@ -1,7 +1,7 @@ { "server_name": "2006Scape", "server_test_version": 2.3, - "gui_enabled": true, + "gui_enabled": false, "website_link": "https://2006Scape.org", "server_debug": false, "file_server": true, diff --git a/2006Scape Server/plugins/plugin/buttons/ButtonClick.java b/2006Scape Server/plugins/plugin/buttons/ButtonClick.java new file mode 100644 index 00000000..0f543bfc --- /dev/null +++ b/2006Scape Server/plugins/plugin/buttons/ButtonClick.java @@ -0,0 +1,18 @@ +package plugin.buttons; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.impl.ButtonActionEvent; +import com.rs2.game.players.Player; + +public abstract class ButtonClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ButtonActionEvent event) { + execute(player, event); + } + + protected abstract void execute(Player player, ButtonActionEvent event); + + public abstract boolean test(ButtonActionEvent event); +} diff --git a/2006Scape Server/plugins/plugin/buttons/ButtonClick.kt b/2006Scape Server/plugins/plugin/buttons/ButtonClick.kt deleted file mode 100644 index e66b89ce..00000000 --- a/2006Scape Server/plugins/plugin/buttons/ButtonClick.kt +++ /dev/null @@ -1,17 +0,0 @@ -package plugin.buttons - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.impl.ButtonActionEvent -import com.rs2.game.players.Player - - -abstract class ButtonClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ButtonActionEvent) { - execute(player, event) - } - - abstract fun execute(player : Player, event : ButtonActionEvent); - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/buttons/gameframe/BrightnessButtons.java b/2006Scape Server/plugins/plugin/buttons/gameframe/BrightnessButtons.java new file mode 100644 index 00000000..9e9980f1 --- /dev/null +++ b/2006Scape Server/plugins/plugin/buttons/gameframe/BrightnessButtons.java @@ -0,0 +1,35 @@ +package plugin.buttons.gameframe; + +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ButtonActionEvent; +import com.rs2.game.items.impl.LightSources; +import com.rs2.game.players.Player; +import plugin.buttons.ButtonClick; + +@SubscribesTo(ButtonActionEvent.class) +public final class BrightnessButtons extends ButtonClick { + + @Override + protected void execute(Player player, ButtonActionEvent event) { + switch (event.getButton()) { + case 3138: + LightSources.brightness1(player); + break; + case 3140: + LightSources.brightness2(player); + break; + case 3142: + LightSources.brightness3(player); + break; + case 3144: + LightSources.brightness4(player); + break; + + } + } + + @Override + public boolean test(ButtonActionEvent event) { + return event.getButton() == 3138 || event.getButton() == 3140 || event.getButton() == 3142 || event.getButton() == 3144; + } +} diff --git a/2006Scape Server/plugins/plugin/buttons/gameframe/BrightnessButtons.kt b/2006Scape Server/plugins/plugin/buttons/gameframe/BrightnessButtons.kt deleted file mode 100644 index 2989580b..00000000 --- a/2006Scape Server/plugins/plugin/buttons/gameframe/BrightnessButtons.kt +++ /dev/null @@ -1,25 +0,0 @@ -package plugin.buttons.gameframe - -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ButtonActionEvent -import com.rs2.game.items.impl.LightSources -import com.rs2.game.players.Player -import plugin.buttons.ButtonClick - -@SubscribesTo(ButtonActionEvent::class) -class BrightnessButtons : ButtonClick() { - - override fun execute(player: Player, event: ButtonActionEvent) { - when (event.button) { - 3138 -> LightSources.brightness1(player) - 3140 -> LightSources.brightness2(player) - 3142 -> LightSources.brightness3(player) - 3144 -> LightSources.brightness4(player) - } - } - - override fun test(event: ButtonActionEvent): Boolean { - return event.button == 3138 || event.button == 3140 || event.button == 3142 || event.button == 912 - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/buttons/gameframe/LogoutButton.java b/2006Scape Server/plugins/plugin/buttons/gameframe/LogoutButton.java new file mode 100644 index 00000000..55717e3d --- /dev/null +++ b/2006Scape Server/plugins/plugin/buttons/gameframe/LogoutButton.java @@ -0,0 +1,27 @@ +package plugin.buttons.gameframe; + +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ButtonActionEvent; +import com.rs2.game.players.Player; +import plugin.buttons.ButtonClick; + +@SubscribesTo(ButtonActionEvent.class) +public final class LogoutButton extends ButtonClick { + + @Override + protected void execute(Player player, ButtonActionEvent event) { + switch (event.getButton()) { + + case 9154: + player.logout(); + break; + + } + } + + @Override + public boolean test(ButtonActionEvent event) { + return event.getButton() == 9154; + } + +} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/buttons/gameframe/LogoutButton.kt b/2006Scape Server/plugins/plugin/buttons/gameframe/LogoutButton.kt deleted file mode 100644 index 123c45b9..00000000 --- a/2006Scape Server/plugins/plugin/buttons/gameframe/LogoutButton.kt +++ /dev/null @@ -1,20 +0,0 @@ -package plugin.buttons.gameframe - -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ButtonActionEvent - -import com.rs2.game.players.Player -import plugin.buttons.ButtonClick - -@SubscribesTo(ButtonActionEvent::class) -class LogoutButton : ButtonClick() { - - override fun execute(player: Player, event: ButtonActionEvent) { - player.logout() - } - - override fun test(event: ButtonActionEvent): Boolean { - return event.button == 9154 - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/buttons/gameframe/MusicVolumeButtons.java b/2006Scape Server/plugins/plugin/buttons/gameframe/MusicVolumeButtons.java new file mode 100644 index 00000000..adb769bc --- /dev/null +++ b/2006Scape Server/plugins/plugin/buttons/gameframe/MusicVolumeButtons.java @@ -0,0 +1,38 @@ +package plugin.buttons.gameframe; + +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ButtonActionEvent; +import com.rs2.game.content.music.Music; +import com.rs2.game.players.Player; +import plugin.buttons.ButtonClick; + +@SubscribesTo(ButtonActionEvent.class) +public final class MusicVolumeButtons extends ButtonClick { + + @Override + protected void execute(Player player, ButtonActionEvent event) { + switch (event.getButton()) { + + case 3162: + if (player.musicOn) { + player.musicOn = false; + } else { + player.getPacketSender().sendMessage("Your music is already turned off."); + } + break; + case 3163: + case 3164: + case 3165: + case 3166: + Music.playMusic(player); + player.musicOn = true; + break; + } + } + + @Override + public boolean test(ButtonActionEvent event) { + return event.getButton() == 3162 || event.getButton() == 3163 || event.getButton() == 3164 || event.getButton() == 3165 || event.getButton() == 3166; + } + +} diff --git a/2006Scape Server/plugins/plugin/buttons/gameframe/MusicVolumeButtons.kt b/2006Scape Server/plugins/plugin/buttons/gameframe/MusicVolumeButtons.kt deleted file mode 100644 index 950d4e0b..00000000 --- a/2006Scape Server/plugins/plugin/buttons/gameframe/MusicVolumeButtons.kt +++ /dev/null @@ -1,32 +0,0 @@ -package plugin.buttons.gameframe - -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ButtonActionEvent -import com.rs2.game.content.music.Music -import com.rs2.game.players.Player -import plugin.buttons.ButtonClick - -@SubscribesTo(ButtonActionEvent::class) -class MusicVolumeButtons : ButtonClick() { - - override fun execute(player: Player, event: ButtonActionEvent) { - when (event.button) { - 3162 -> { - if (player.musicOn) { - player.musicOn = false - } else { - player.packetSender.sendMessage("Your music is already turned off.") - } - } - 3163,3164,3165,3166 -> { - Music.playMusic(player) - player.musicOn = true - } - } - } - - override fun test(event: ButtonActionEvent): Boolean { - return event.button == 3162 || event.button == 3163 || event.button == 3164 || event.button == 3165 || event.button == 3166 - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleRunButtons.java b/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleRunButtons.java new file mode 100644 index 00000000..83d64cf8 --- /dev/null +++ b/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleRunButtons.java @@ -0,0 +1,36 @@ +package plugin.buttons.gameframe; + +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ButtonActionEvent; +import com.rs2.game.players.Player; +import plugin.buttons.ButtonClick; + +@SubscribesTo(ButtonActionEvent.class) +public final class ToggleRunButtons extends ButtonClick { + + @Override + protected void execute(Player player, ButtonActionEvent event) { + switch (event.getButton()) { + + case 152: + player.getPacketSender().sendConfig(173, 0); + player.isRunning = false; + player.isRunning2 = false; + break; + case 153: + if (player.tutorialProgress == 11) { + player.getDialogueHandler().sendDialogues(3041, 0); + } + player.getPacketSender().sendConfig(173, 1); + player.isRunning = true; + player.isRunning2 = true; + break; + } + } + + @Override + public boolean test(ButtonActionEvent event) { + return event.getButton() == 152 || event.getButton() == 153; + } + +} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleRunButtons.kt b/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleRunButtons.kt deleted file mode 100644 index 62f9c791..00000000 --- a/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleRunButtons.kt +++ /dev/null @@ -1,34 +0,0 @@ -package plugin.buttons.gameframe - -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ButtonActionEvent -import com.rs2.game.players.Player -import plugin.buttons.ButtonClick - - -@SubscribesTo(ButtonActionEvent::class) -class ToggleRunButtons : ButtonClick() { - - override fun execute(player: Player, event: ButtonActionEvent) { - when (event.button) { - 152 -> { - player.packetSender.sendConfig(173, 0) - player.isRunning = false - player.isRunning2 = false - - } - - 153 -> { - if (player.tutorialProgress == 11) { - player.dialogueHandler.sendDialogues(3041, 0) - } - player.packetSender.sendConfig(173, 1) - player.isRunning = true - player.isRunning2 = true - } - } - } - override fun test(event: ButtonActionEvent): Boolean { - return event.button == 152 || event.button == 153 - } -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleSplitChatButtons.java b/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleSplitChatButtons.java new file mode 100644 index 00000000..2ce5896f --- /dev/null +++ b/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleSplitChatButtons.java @@ -0,0 +1,34 @@ +package plugin.buttons.gameframe; + +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ButtonActionEvent; +import com.rs2.game.players.Player; +import plugin.buttons.ButtonClick; + +@SubscribesTo(ButtonActionEvent.class) +public final class ToggleSplitChatButtons extends ButtonClick { + + @Override + protected void execute(Player player, ButtonActionEvent event) { + switch (event.getButton()) { + + case 3189: + player.getPacketSender().sendConfig(502, 1); + player.getPacketSender().sendConfig(287, 1); + player.splitChat = true; + break; + case 3190: + player.getPacketSender().sendConfig(502, 0); + player.getPacketSender().sendConfig(287, 0); + player.splitChat = false; + break; + + } + } + + @Override + public boolean test(ButtonActionEvent event) { + return event.getButton() == 3189 || event.getButton() == 3190; + } + +} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleSplitChatButtons.kt b/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleSplitChatButtons.kt deleted file mode 100644 index 706f265b..00000000 --- a/2006Scape Server/plugins/plugin/buttons/gameframe/ToggleSplitChatButtons.kt +++ /dev/null @@ -1,32 +0,0 @@ -package plugin.buttons.gameframe - -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ButtonActionEvent -import com.rs2.game.players.Player -import plugin.buttons.ButtonClick - - -@SubscribesTo(ButtonActionEvent::class) -class ToggleSplitChatButtons : ButtonClick() { - - override fun execute(player: Player, event: ButtonActionEvent) { - when (event.button) { - 3189 -> { - player.packetSender.sendConfig(502, 1) - player.packetSender.sendConfig(287, 1) - player.splitChat = true - } - - 3190 -> { - player.packetSender.sendConfig(502, 0) - player.packetSender.sendConfig(287, 0) - player.splitChat = false - } - } - } - - override fun test(event: ButtonActionEvent): Boolean { - return event.button == 3189 || event.button == 3190 - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/item/ItemFirstClick.java b/2006Scape Server/plugins/plugin/click/item/ItemFirstClick.java new file mode 100644 index 00000000..0ef1df35 --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/item/ItemFirstClick.java @@ -0,0 +1,29 @@ +package plugin.click.item; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ItemFirstClickEvent; +import com.rs2.game.players.Player; + +import static com.rs2.game.content.StaticItemList.YOYO; + +@SubscribesTo(ItemFirstClickEvent.class) +public final class ItemFirstClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ItemFirstClickEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[ItemClick#1] - Item: " + event.getItem()); + } + + switch (event.getItem()) { + + case YOYO: + player.startAnimation(1457); + break; + + } + } + +} diff --git a/2006Scape Server/plugins/plugin/click/item/ItemFirstClick.kt b/2006Scape Server/plugins/plugin/click/item/ItemFirstClick.kt deleted file mode 100644 index 0d5ac043..00000000 --- a/2006Scape Server/plugins/plugin/click/item/ItemFirstClick.kt +++ /dev/null @@ -1,29 +0,0 @@ -package plugin.click.item - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ItemFirstClickEvent -import com.rs2.game.content.StaticItemList.YOYO -import com.rs2.game.players.Player - - -@SubscribesTo(ItemFirstClickEvent::class) -class ItemFirstClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ItemFirstClickEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[ItemClick#1] - Item: ${event.item}") - } - - when(event.item) { - - YOYO -> player.startAnimation(1457) - - } - - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/item/ItemOnItem.java b/2006Scape Server/plugins/plugin/click/item/ItemOnItem.java new file mode 100644 index 00000000..aa1c9374 --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/item/ItemOnItem.java @@ -0,0 +1,27 @@ +package plugin.click.item; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ItemOnItemEvent; +import com.rs2.game.players.Player; + +import static com.rs2.game.content.StaticItemList.*; + +@SubscribesTo(ItemOnItemEvent.class) +public final class ItemOnItem implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ItemOnItemEvent event) { + + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[ItemOnItem] - used: " + event.getUsed() + " with: " + event.getUsedWith()); + } + + if (event.getUsed() == BLACK_CANDLE && event.getUsedWith() == TINDERBOX) { + player.getItemAssistant().addItem(LIT_BLACK_CANDLE, 1); + player.getItemAssistant().deleteItem(BLACK_CANDLE, 1); + } + } + +} diff --git a/2006Scape Server/plugins/plugin/click/item/ItemOnItem.kt b/2006Scape Server/plugins/plugin/click/item/ItemOnItem.kt deleted file mode 100644 index d3d345f5..00000000 --- a/2006Scape Server/plugins/plugin/click/item/ItemOnItem.kt +++ /dev/null @@ -1,26 +0,0 @@ -package plugin.click.item - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ItemOnItemEvent -import com.rs2.game.content.StaticItemList.* -import com.rs2.game.players.Player - -@SubscribesTo(ItemOnItemEvent::class) -class ItemOnItem : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ItemOnItemEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[ItemOnItem] - used: ${event.used} with: ${event.usedWith}") - } - - if (event.used == BLACK_CANDLE && event.usedWith == TINDERBOX) { - player.itemAssistant.addItem(LIT_BLACK_CANDLE, 1) - player.itemAssistant.deleteItem(BLACK_CANDLE, 1) - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/item/ItemOnNpc.java b/2006Scape Server/plugins/plugin/click/item/ItemOnNpc.java new file mode 100644 index 00000000..b4946267 --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/item/ItemOnNpc.java @@ -0,0 +1,19 @@ +package plugin.click.item; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ItemOnNpcEvent; +import com.rs2.game.players.Player; + +@SubscribesTo(ItemOnNpcEvent.class) +public final class ItemOnNpc implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ItemOnNpcEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[ItemOnNpc] - itemId: " + event.getItem() + " npcId: " + event.getNpc()); + } + } + +} diff --git a/2006Scape Server/plugins/plugin/click/item/ItemOnNpc.kt b/2006Scape Server/plugins/plugin/click/item/ItemOnNpc.kt deleted file mode 100644 index b1b673a4..00000000 --- a/2006Scape Server/plugins/plugin/click/item/ItemOnNpc.kt +++ /dev/null @@ -1,21 +0,0 @@ -package plugin.click.item - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ItemOnNpcEvent -import com.rs2.game.npcs.NpcHandler -import com.rs2.game.players.Player - -@SubscribesTo(ItemOnNpcEvent::class) -class ItemOnNpc : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ItemOnNpcEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[ItemOnNpc] - itemId: ${event.item} npcId: ${event.npc}") - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/item/ItemOnObject.java b/2006Scape Server/plugins/plugin/click/item/ItemOnObject.java new file mode 100644 index 00000000..b5bb2528 --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/item/ItemOnObject.java @@ -0,0 +1,29 @@ +package plugin.click.item; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ItemOnObjectEvent; +import com.rs2.game.items.impl.Fillables; +import com.rs2.game.players.Player; + +@SubscribesTo(ItemOnObjectEvent.class) +public final class ItemOnObject implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ItemOnObjectEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[ItemOnObject] - itemId: " + event.getItem() + " objectId: " + event.getGameObject() + " Location: x: " + player.objectX + "y: " + player.objectY); + } + + if (Fillables.canFill(event.getItem(), event.getGameObject()) && player.getItemAssistant().playerHasItem(event.getItem())) { + //val amount = player.itemAssistant.getItemAmount(event.item) + player.getItemAssistant().deleteItem(event.getItem(), 1); + player.getItemAssistant().addItem(Fillables.counterpart(event.getItem()), 1); + player.getPacketSender().sendMessage(Fillables.fillMessage(event.getItem(), event.getGameObject())); + player.startAnimation(832); + return; + } + } + +} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/item/ItemOnObject.kt b/2006Scape Server/plugins/plugin/click/item/ItemOnObject.kt deleted file mode 100644 index b8e05364..00000000 --- a/2006Scape Server/plugins/plugin/click/item/ItemOnObject.kt +++ /dev/null @@ -1,30 +0,0 @@ -package plugin.click.item - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ItemOnObjectEvent -import com.rs2.game.items.impl.Fillables -import com.rs2.game.players.Player - - -@SubscribesTo(ItemOnObjectEvent::class) -class ItemOnObject : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ItemOnObjectEvent) { - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[ItemOnObject] - itemId: ${event.item} objectId: ${event.gameObject} Location: x: ${player.objectX}, x: ${player.objectY}") - } - - if (Fillables.canFill(event.item, event.gameObject) && player.itemAssistant.playerHasItem(event.item)) { - //val amount = player.itemAssistant.getItemAmount(event.item) - player.itemAssistant.deleteItem(event.item, 1) - player.itemAssistant.addItem(Fillables.counterpart(event.item), 1) - player.packetSender.sendMessage(Fillables.fillMessage(event.item, event.gameObject)) - player.startAnimation(832) - return - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/item/ItemSecondClick.java b/2006Scape Server/plugins/plugin/click/item/ItemSecondClick.java new file mode 100644 index 00000000..ee0275fa --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/item/ItemSecondClick.java @@ -0,0 +1,29 @@ +package plugin.click.item; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ItemSecondClickEvent; +import com.rs2.game.players.Player; + +import static com.rs2.game.content.StaticItemList.YOYO; + +@SubscribesTo(ItemSecondClickEvent.class) +public final class ItemSecondClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ItemSecondClickEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[ItemClick#2] - ItemId: " + event.getId()); + } + + switch (event.getId()) { + + case YOYO: + player.startAnimation(1459); + break; + + } + } + +} diff --git a/2006Scape Server/plugins/plugin/click/item/ItemSecondClick.kt b/2006Scape Server/plugins/plugin/click/item/ItemSecondClick.kt deleted file mode 100644 index 2a33b327..00000000 --- a/2006Scape Server/plugins/plugin/click/item/ItemSecondClick.kt +++ /dev/null @@ -1,28 +0,0 @@ -package plugin.click.item - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ItemSecondClickEvent -import com.rs2.game.content.StaticItemList.YOYO -import com.rs2.game.players.Player - -@SubscribesTo(ItemSecondClickEvent::class) -class ItemSecondClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ItemSecondClickEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[ItemClick#2] - ItemId: ${event.id}") - } - - when(event.id) { - - YOYO -> player.startAnimation(1459) - - } - - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/item/ItemThirdClick.java b/2006Scape Server/plugins/plugin/click/item/ItemThirdClick.java new file mode 100644 index 00000000..eda07e3d --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/item/ItemThirdClick.java @@ -0,0 +1,30 @@ +package plugin.click.item; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ItemThirdClickEvent; +import com.rs2.game.players.Player; + +import static com.rs2.game.content.StaticItemList.YOYO; + +@SubscribesTo(ItemThirdClickEvent.class) +public final class ItemThirdClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ItemThirdClickEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[ItemClick#3] - ItemId: " + event.getId()); + } + + switch (event.getId()) { + + case YOYO: + player.startAnimation(1460); + break; + + + } + } + +} diff --git a/2006Scape Server/plugins/plugin/click/item/ItemThirdClick.kt b/2006Scape Server/plugins/plugin/click/item/ItemThirdClick.kt deleted file mode 100644 index 29cf6997..00000000 --- a/2006Scape Server/plugins/plugin/click/item/ItemThirdClick.kt +++ /dev/null @@ -1,29 +0,0 @@ -package plugin.click.item - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ItemThirdClickEvent -import com.rs2.game.content.StaticItemList.YOYO -import com.rs2.game.players.Player - -@SubscribesTo(ItemThirdClickEvent::class) -class ItemThirdClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ItemThirdClickEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[ItemClick#3] - ItemId: ${event.id}") - } - - when(event.id) { - - YOYO -> player.startAnimation(1460) - - - } - - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/magic/MagicOnItem.java b/2006Scape Server/plugins/plugin/click/magic/MagicOnItem.java new file mode 100644 index 00000000..d2249bdb --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/magic/MagicOnItem.java @@ -0,0 +1,28 @@ +package plugin.click.magic; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.MagicOnItemEvent; +import com.rs2.game.content.skills.smithing.Superheat; +import com.rs2.game.players.Player; + +@SubscribesTo(MagicOnItemEvent.class) +public final class MagicOnItem implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, MagicOnItemEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[MagicOnItem] - ItemId: " + event.getItemId() + " Slot: " + event.getSlot() + " SpellId: " + event.getSpellId()); + } + + switch (event.getSpellId()) { + case 1173: + if (!Superheat.superHeatItem(player, event.getItemId())) { + return; + } + break; + } + } + +} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/magic/MagicOnItem.kt b/2006Scape Server/plugins/plugin/click/magic/MagicOnItem.kt deleted file mode 100644 index 56ec141f..00000000 --- a/2006Scape Server/plugins/plugin/click/magic/MagicOnItem.kt +++ /dev/null @@ -1,26 +0,0 @@ -package plugin.click.magic - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.MagicOnItemEvent -import com.rs2.game.content.skills.smithing.Superheat -import com.rs2.game.players.Player - -@SubscribesTo(MagicOnItemEvent::class) -class MagicOnItem : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: MagicOnItemEvent) { - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[MagicOnItem] - ItemId: ${event.itemId} Slot: ${event.slot} SpellId: ${event.spellId}"); - } - - when(event.spellId) { - 1173 -> if (!Superheat.superHeatItem(player, event.itemId)) { - return; - } - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.java b/2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.java new file mode 100644 index 00000000..c71a8be9 --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.java @@ -0,0 +1,38 @@ +package plugin.click.npc; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.NpcFirstClickEvent; +import com.rs2.game.players.Player; +import com.rs2.util.Misc; + +import static com.rs2.game.content.StaticNpcList.*; + +@SubscribesTo(NpcFirstClickEvent.class) +public final class NpcFirstClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, NpcFirstClickEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[click= npc], [type = first], [id= " + event.getNpc() + "], [Type= " + event.getNpc() + "]"); + } + + switch (event.getNpc()) { + + case MAN: + case MAN_2: + case MAN_3: + case WOMAN: + case WOMAN_5: + case WOMAN_6: + if (Misc.random(10) <= 5) { + player.getDialogueHandler().sendDialogues(3869, player.npcType); + } else { + player.getDialogueHandler().sendDialogues(3872, player.npcType); + } + break; + } + } + +} diff --git a/2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.kt b/2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.kt deleted file mode 100644 index 9350485f..00000000 --- a/2006Scape Server/plugins/plugin/click/npc/NpcFirstClick.kt +++ /dev/null @@ -1,34 +0,0 @@ -package plugin.click.npc - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.NpcFirstClickEvent -import com.rs2.game.content.StaticNpcList.* -import com.rs2.game.players.Player -import com.rs2.util.Misc - - -@SubscribesTo(NpcFirstClickEvent::class) -class NpcFirstClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: NpcFirstClickEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[click= npc], [type = first], [id= ${event.npc}], [Type= ${event.npc}]"); - } - - when(event.npc) { - - MAN,MAN_2,MAN_3,WOMAN,WOMAN_5,WOMAN_6 -> if (Misc.random(10) <= 5) { - player.dialogueHandler.sendDialogues(3869, player.npcType) - } else { - player.dialogueHandler.sendDialogues(3872, player.npcType) - } - - //else -> - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/npc/NpcSecondClick.java b/2006Scape Server/plugins/plugin/click/npc/NpcSecondClick.java new file mode 100644 index 00000000..fdccd71c --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/npc/NpcSecondClick.java @@ -0,0 +1,25 @@ +package plugin.click.npc; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.NpcSecondClickEvent; +import com.rs2.game.content.skills.thieving.Pickpocket; +import com.rs2.game.players.Player; + +@SubscribesTo(NpcSecondClickEvent.class) +public final class NpcSecondClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, NpcSecondClickEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[click= npc], [type = second], [id= " + event.getNpc() + "], [Type= " + event.getNpc() + "]"); + } + + if (Pickpocket.isNPC(player, player.npcType)) { + Pickpocket.attemptPickpocket(player, player.npcType); + return; + } + } + +} diff --git a/2006Scape Server/plugins/plugin/click/npc/NpcSecondClick.kt b/2006Scape Server/plugins/plugin/click/npc/NpcSecondClick.kt deleted file mode 100644 index 75a77468..00000000 --- a/2006Scape Server/plugins/plugin/click/npc/NpcSecondClick.kt +++ /dev/null @@ -1,30 +0,0 @@ -package plugin.click.npc - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.NpcSecondClickEvent -import com.rs2.game.content.skills.thieving.Pickpocket -import com.rs2.game.players.Player - -@SubscribesTo(NpcSecondClickEvent::class) -class NpcSecondClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: NpcSecondClickEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[click= npc], [type = second], [id= ${event.npc}], [Type= ${event.npc}]"); - } - - if (Pickpocket.isNPC(player, player.npcType)) { - Pickpocket.attemptPickpocket(player, player.npcType) - return - } - - when(event.npc) { - - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/npc/NpcThirdClick.java b/2006Scape Server/plugins/plugin/click/npc/NpcThirdClick.java new file mode 100644 index 00000000..429b87f6 --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/npc/NpcThirdClick.java @@ -0,0 +1,19 @@ +package plugin.click.npc; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.NpcThirdClickEvent; +import com.rs2.game.players.Player; + +@SubscribesTo(NpcThirdClickEvent.class) +public final class NpcThirdClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, NpcThirdClickEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[click= npc], [type = third], [id= " + event.getNpc() + "], [Type= " + event.getNpc() + "]"); + } + } + +} diff --git a/2006Scape Server/plugins/plugin/click/npc/NpcThirdClick.kt b/2006Scape Server/plugins/plugin/click/npc/NpcThirdClick.kt deleted file mode 100644 index 59304133..00000000 --- a/2006Scape Server/plugins/plugin/click/npc/NpcThirdClick.kt +++ /dev/null @@ -1,24 +0,0 @@ -package plugin.click.npc - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.NpcThirdClickEvent -import com.rs2.game.players.Player - -@SubscribesTo(NpcThirdClickEvent::class) -class NpcThirdClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: NpcThirdClickEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[click= npc], [type = third], [id= ${event.npc}], [Type= ${event.npc}]"); - } - - when(event.npc) { - - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.java b/2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.java new file mode 100644 index 00000000..953b0e0c --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.java @@ -0,0 +1,32 @@ +package plugin.click.obj; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ObjectFirstClickEvent; +import com.rs2.game.content.skills.core.Mining; +import com.rs2.game.players.Player; +import com.rs2.world.clip.Region; + +@SubscribesTo(ObjectFirstClickEvent.class) +public final class ObjectFirstClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ObjectFirstClickEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[click= object], [type= first], [id= " + player.objectId + "], [location= x:" + player.objectX + " y:" + player.objectY + "]"); + } + + if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { + return; + } + + // if its a rock we can mine, mine it + if (Mining.rockExists(event.getGameObject())) { + player.getMining().startMining(player, event.getGameObject(), player.objectX, player.objectY, player.clickObjectType); + return; + } + + } + +} diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.kt b/2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.kt deleted file mode 100644 index 77d7ad43..00000000 --- a/2006Scape Server/plugins/plugin/click/obj/ObjectFirstClick.kt +++ /dev/null @@ -1,36 +0,0 @@ -package plugin.click.obj - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ObjectFirstClickEvent -import com.rs2.game.content.skills.core.Mining -import com.rs2.game.players.Player -import com.rs2.world.clip.Region - -@SubscribesTo(ObjectFirstClickEvent::class) -class ObjectFirstClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ObjectFirstClickEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[click= object], [type= first], [id= ${player.objectId}], [location= x:${player.objectX} y:${player.objectY} ]") - } - - if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { - return - } - - // if its a rock we can mine, mine it - if (Mining.rockExists(event.gameObject)) { - player.mining.startMining(player, event.gameObject, player.objectX, player.objectY, player.clickObjectType) - return - } - - when (event.gameObject) { - - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectFourthClick.java b/2006Scape Server/plugins/plugin/click/obj/ObjectFourthClick.java new file mode 100644 index 00000000..9f046096 --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/obj/ObjectFourthClick.java @@ -0,0 +1,27 @@ +package plugin.click.obj; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ObjectFourthClickEvent; +import com.rs2.game.content.skills.farming.Farming; +import com.rs2.game.players.Player; +import com.rs2.world.clip.Region; + +@SubscribesTo(ObjectFourthClickEvent.class) +public final class ObjectFourthClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ObjectFourthClickEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[click= object], [type= fourth], [id= " + player.objectId + "], [location= x:" + player.objectX + " y:" + player.objectY + "]"); + } + + if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { + return; + } + + Farming.guide(player, player.objectX, player.objectY); + } + +} diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectFourthClick.kt b/2006Scape Server/plugins/plugin/click/obj/ObjectFourthClick.kt deleted file mode 100644 index 37e454e0..00000000 --- a/2006Scape Server/plugins/plugin/click/obj/ObjectFourthClick.kt +++ /dev/null @@ -1,31 +0,0 @@ -package plugin.click.obj - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ObjectFourthClickEvent -import com.rs2.game.content.skills.farming.Farming -import com.rs2.game.players.Player -import com.rs2.world.clip.Region - -@SubscribesTo(ObjectFourthClickEvent::class) -class ObjectFourthClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ObjectFourthClickEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[click= object], [type= fourth], [id= ${player.objectId}], [location= x:${player.objectX} y:${player.objectY} ], [PLUGIN]"); - } - - if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { - return - } - - Farming.guide(player, player.objectX, player.objectY) - - when (event.gameObject) { - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.java b/2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.java new file mode 100644 index 00000000..f21c8e45 --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.java @@ -0,0 +1,30 @@ +package plugin.click.obj; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ObjectSecondClickEvent; +import com.rs2.game.content.skills.thieving.Stalls; +import com.rs2.game.players.Player; +import com.rs2.world.clip.Region; + +@SubscribesTo(ObjectSecondClickEvent.class) +public final class ObjectSecondClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ObjectSecondClickEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[click= object], [type= second], [id= " + player.objectId + "], [location= x:" + player.objectX + " y:" + player.objectY + "]"); + } + + if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { + return; + } + + if (Stalls.isObject(event.getGameObject())) { + Stalls.attemptStall(player, event.getGameObject(), player.objectX, player.objectY); + return; + } + } + +} diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.kt b/2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.kt deleted file mode 100644 index 1b06e169..00000000 --- a/2006Scape Server/plugins/plugin/click/obj/ObjectSecondClick.kt +++ /dev/null @@ -1,35 +0,0 @@ -package plugin.click.obj - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ObjectSecondClickEvent -import com.rs2.game.content.skills.thieving.Stalls -import com.rs2.game.players.Player -import com.rs2.world.clip.Region - -@SubscribesTo(ObjectSecondClickEvent::class) -class ObjectSecondClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ObjectSecondClickEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[click= object], [type= second], [id= ${player.objectId}], [location= x:${player.objectX} y:${player.objectY} ]"); - } - - if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { - return - } - - if (Stalls.isObject(event.gameObject)) { - Stalls.attemptStall(player, event.gameObject, player.objectX, player.objectY) - return - } - - when (event.gameObject) { - - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.java b/2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.java new file mode 100644 index 00000000..23e19203 --- /dev/null +++ b/2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.java @@ -0,0 +1,38 @@ +package plugin.click.obj; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.ObjectThirdClickEvent; +import com.rs2.game.content.skills.thieving.Stalls; +import com.rs2.game.players.Player; +import com.rs2.world.clip.Region; + +import static com.rs2.game.content.StaticObjectList.IRON_LADDER_10177; + +@SubscribesTo(ObjectThirdClickEvent.class) +public final class ObjectThirdClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, ObjectThirdClickEvent event) { + if (player.playerRights == 3) { + player.getPacketSender().sendMessage("[click= object], [type= third], [id= " + player.objectId + "], [location= x:" + player.objectX + " y:" + player.objectY + "]"); + } + + if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { + return; + } + + if (Stalls.isObject(event.getGameObject())) { + Stalls.attemptStall(player, event.getGameObject(), player.objectX, player.objectY); + return; + } + + switch (event.getGameObject()) { + case IRON_LADDER_10177: + player.getPlayerAssistant().movePlayer(1798, 4407, 3); + break; + } + } + +} diff --git a/2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.kt b/2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.kt deleted file mode 100644 index 5de7c5be..00000000 --- a/2006Scape Server/plugins/plugin/click/obj/ObjectThirdClick.kt +++ /dev/null @@ -1,36 +0,0 @@ -package plugin.click.obj - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.ObjectThirdClickEvent -import com.rs2.game.content.StaticObjectList.IRON_LADDER_10177 -import com.rs2.game.content.skills.thieving.Stalls -import com.rs2.game.players.Player -import com.rs2.world.clip.Region - -@SubscribesTo(ObjectThirdClickEvent::class) -class ObjectThirdClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: ObjectThirdClickEvent) { - - if (player.playerRights >= 3) { - player.packetSender.sendMessage("[click= object], [type= third], [id= ${player.objectId}], [location= x:${player.objectX} y:${player.objectY} ], [PLUGIN]"); - } - - if (!Region.objectExists(player.objectId, player.objectX, player.objectY, player.heightLevel)) { - return - } - - if (Stalls.isObject(event.gameObject)) { - Stalls.attemptStall(player, event.gameObject, player.objectX, player.objectY) - return - } - - when (event.gameObject) { - IRON_LADDER_10177 -> player.playerAssistant.movePlayer(1798, 4407, 3); - } - - } - -} \ No newline at end of file diff --git a/2006Scape Server/plugins/plugin/npc/fadli/SecondClick.java b/2006Scape Server/plugins/plugin/npc/fadli/SecondClick.java new file mode 100644 index 00000000..e04cb9dd --- /dev/null +++ b/2006Scape Server/plugins/plugin/npc/fadli/SecondClick.java @@ -0,0 +1,21 @@ +package plugin.npc.fadli; + +import com.rs2.event.EventContext; +import com.rs2.event.EventSubscriber; +import com.rs2.event.SubscribesTo; +import com.rs2.event.impl.NpcSecondClickEvent; +import com.rs2.game.players.Player; + +import static com.rs2.game.content.StaticNpcList.FADLI; + +@SubscribesTo(NpcSecondClickEvent.class) +public final class SecondClick implements EventSubscriber { + + @Override + public void subscribe(EventContext context, Player player, NpcSecondClickEvent event) { + if (event.getNpc() == FADLI) { + player.getPacketSender().openUpBank(); + } + } + +} diff --git a/2006Scape Server/plugins/plugin/npc/fadli/SecondClick.kt b/2006Scape Server/plugins/plugin/npc/fadli/SecondClick.kt deleted file mode 100644 index b922a681..00000000 --- a/2006Scape Server/plugins/plugin/npc/fadli/SecondClick.kt +++ /dev/null @@ -1,18 +0,0 @@ -package plugin.npc.fadli - -import com.rs2.event.EventContext -import com.rs2.event.EventSubscriber -import com.rs2.event.SubscribesTo -import com.rs2.event.impl.NpcSecondClickEvent -import com.rs2.game.players.Player -import com.rs2.game.content.StaticNpcList.FADLI - -@SubscribesTo(NpcSecondClickEvent::class) -class SecondClick : EventSubscriber { - - override fun subscribe(context: EventContext, player: Player, event: NpcSecondClickEvent) { - if (event.npc == FADLI) { - player.packetSender.openUpBank() - } - } -} \ No newline at end of file diff --git a/2006Scape Server/pom.xml b/2006Scape Server/pom.xml index 9c16fa66..39bb4cd0 100644 --- a/2006Scape Server/pom.xml +++ b/2006Scape Server/pom.xml @@ -9,11 +9,6 @@ 1.0 jar - - 1.6.10 - true - - libs-local @@ -23,11 +18,6 @@ - - org.jetbrains.kotlin - kotlin-stdlib - ${kotlin.version} - org.apache.commons @@ -165,31 +155,13 @@ - - org.jetbrains.kotlin - kotlin-maven-plugin - ${kotlin.version} - - - compile - - compile - - - - ${project.basedir}/plugins - ${project.basedir}/src/main/java - ${project.basedir}/src/main/kotlin - - - - - org.apache.maven.plugins maven-compiler-plugin 3.5.1 + ${project.basedir}/plugins + ${project.basedir}/src/main/java 8 8 UTF-8 diff --git a/2006Scape Server/src/main/java/com/rs2/ConfigLoader.java b/2006Scape Server/src/main/java/com/rs2/ConfigLoader.java new file mode 100644 index 00000000..7d15fe35 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/ConfigLoader.java @@ -0,0 +1,112 @@ +package com.rs2; + +import com.rs2.integrations.PlayersOnlineWebsite; +import com.rs2.integrations.RegisteredAccsWebsite; +import com.rs2.integrations.discord.JavaCord; +import org.json.JSONArray; +import org.json.JSONObject; + +import java.io.*; +import java.util.stream.Collectors; + +public class ConfigLoader { + + public static void loadSettings(String config) throws IOException { + BufferedReader br = new BufferedReader(new FileReader(config)); + String out = br.lines().collect(Collectors.joining("\n")); + JSONObject obj = new JSONObject(out); + + if(obj.has("server_name")) + GameConstants.SERVER_NAME = obj.getString("server_name"); + if(obj.has("server_test_version")) + GameConstants.TEST_VERSION = obj.getDouble("server_test_version"); + if(obj.has("gui_enabled")) + GameConstants.GUI_ENABLED = obj.getBoolean("gui_enabled"); + if(obj.has("website_link")) + GameConstants.WEBSITE_LINK = obj.getString("website_link"); + if(obj.has("server_debug")) + GameConstants.SERVER_DEBUG = obj.getBoolean("server_debug"); + if(obj.has("file_server")) + GameConstants.FILE_SERVER = obj.getBoolean("file_server"); + if(obj.has("world_id")) + GameConstants.WORLD = obj.getInt("world_id"); + if(obj.has("members_only")) + GameConstants.MEMBERS_ONLY = obj.getBoolean("members_only"); + if(obj.has("tutorial_island_enabled")) + GameConstants.TUTORIAL_ISLAND = obj.getBoolean("tutorial_island_enabled"); + if(obj.has("party_room_enabled")) + GameConstants.PARTY_ROOM_DISABLED = !obj.getBoolean("party_room_enabled"); + if(obj.has("clues_enabled")) + GameConstants.CLUES_ENABLED = obj.getBoolean("clues_enabled"); + if(obj.has("admin_can_trade")) + GameConstants.ADMIN_CAN_TRADE = obj.getBoolean("admin_can_trade"); + if(obj.has("admin_can_drop_items")) + GameConstants.ADMIN_DROP_ITEMS = obj.getBoolean("admin_can_drop_items"); + if(obj.has("admin_can_sell")) + GameConstants.ADMIN_CAN_SELL_ITEMS = obj.getBoolean("admin_can_sell"); + if(obj.has("respawn_x")) + GameConstants.RESPAWN_X = obj.getInt("respawn_x"); + if(obj.has("respawn_y")) + GameConstants.RESPAWN_Y = obj.getInt("respawn_y"); + if(obj.has("save_timer")) + GameConstants.SAVE_TIMER = obj.getInt("save_timer"); + if(obj.has("timeout")) + GameConstants.TIMEOUT = obj.getInt("timeout"); + if(obj.has("item_requirements")) + GameConstants.ITEM_REQUIREMENTS = obj.getBoolean("item_requirements"); + if(obj.has("variable_xp_rate")) + GameConstants.VARIABLE_XP_RATE = obj.getBoolean("variable_xp_rate"); + if(obj.has("xp_rate")) + GameConstants.XP_RATE = obj.getDouble("xp_rate"); + if(obj.has("max_players")) + GameConstants.MAX_PLAYERS = obj.getInt("max_players"); + if (obj.has("variable_xp_rates")) { + JSONArray rates = obj.optJSONArray("variable_xp_rates"); + for (int i = 0; i < rates.length(); ++i) { + GameConstants.VARIABLE_XP_RATES[i] = rates.optInt(i); + } + } + if(obj.has("website_integration")) + GameConstants.WEBSITE_INTEGRATION = obj.getBoolean("website_integration"); + } + + private static void initialize() { + JSONObject main = new JSONObject(); + main + .put("bot-token", "") + .put("websitepass", "") + .put("erssecret", ""); + try { + BufferedWriter br = new BufferedWriter(new FileWriter("data/secrets.json")); + br.write(main.toString()); + br.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static void loadSecrets() throws IOException { + if (!new File("data/secrets.json").exists()) { + initialize(); + System.out.println("Please open \"data/secrets.json\" file and enter your discord token bot there!"); + System.out.println("Please open \"data/secrets.json\" file and enter your Website Password there!"); + + } else { + BufferedReader br = new BufferedReader(new FileReader("data/secrets.json")); + String out = br.lines().collect(Collectors.joining("\n")); + JSONObject obj = new JSONObject(out); + + /* + * Sets External Services Vars + */ + if(obj.has("bot-token")) + JavaCord.token = obj.getString("bot-token"); + if(obj.has("websitepass")) + PlayersOnlineWebsite.password = obj.getString("websitepass"); + RegisteredAccsWebsite.password = obj.getString("websitepass"); + if(obj.has("erssecret")) + GameEngine.ersSecret = obj.getString("erssecret"); + + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/GameConstants.java b/2006Scape Server/src/main/java/com/rs2/GameConstants.java new file mode 100644 index 00000000..8a0b513d --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/GameConstants.java @@ -0,0 +1,88 @@ +package com.rs2; + +public class GameConstants { + + /** + * The Variables Below Can Be Also Changed On Server Startup By Using The ConfigLoader + * + * SERVER_NAME Sets The Name The Server Will Use + * WEBSITE_LINK Defines The Server Website Links + * WORLD Sets The Servers World ID + * GUI_ENABLED Enables/Disables The Server Control Panel + * MAX_PLAYERS Sets The Maximum Amount Of Players Allow To Be Logged In At Once + * TIMEOUT Sets The Amount Of Time Before A Player Timeouts From A Bad Connection + * SAVE_TIMER Sets In Seconds How Often The Server Shouls Auto-Save All Characters + * RESPAWN_X Sets The X Coordinate That You Will Respawn At After Death + * RESPAWN_Y Sets The Y Coordinate That You Will Respawn At After Death + * FILE_SERVER Sets Whether The FileServer Should Run With The Server + * SERVER_DEBUG Sets Whether The Server Should Start In Debug Mode + * MEMBERS_ONLY Sets Whether The World Is Members Only + * TUTORIAL_ISLAND Enables/Disables Tutorial Island For Players On First Login + * PARTY_ROOM_DISABLED Enables/Disables The Party Room Should Be Disabled + * CLUES_ENABLED Enables/Disables Clue Scrolls + * ITEM_REQUIREMENTS Enables/Disables Item Requirements for All Players + * ADMIN_CAN_TRADE Defines Whether Admins Can Trade + * ADMIN_DROP_ITEMS Defines Whether Admins Can Drop Items + * ADMIN_CAN_SELL_ITEMS Defines Whether Admins Can Sell Items + * VARIABLE_XP_RATE Allows Players To Choose An XP Rate Set In VARIABLE_XP_RATES + * VARIABLE_XP_RATES Defines The XP Rates That Should Be Available To Players When VARIABLE_XP_RATES is true(Array Must Contain Four Entries) + * XP_RATE Sets The XP Rate Multiplier For All Players/Skills If VARIABLE_XP_RATES is false + * WEBSITE_INTEGRATION Enables/Disables Website Features(Total Accounts Registered & Players Online) + */ + public static String SERVER_NAME = "2006Scape", WEBSITE_LINK = "https://2006Scape.org"; + public static int WORLD = 1, MAX_PLAYERS = 200, TIMEOUT = 60, SAVE_TIMER = 120, + RESPAWN_X = 3222, RESPAWN_Y = 3218; + public static boolean GUI_ENABLED = false, FILE_SERVER = true, SERVER_DEBUG = false, MEMBERS_ONLY = false, TUTORIAL_ISLAND = false, + PARTY_ROOM_DISABLED = false, CLUES_ENABLED = true, ITEM_REQUIREMENTS = true, + ADMIN_CAN_TRADE = false, ADMIN_DROP_ITEMS = false, ADMIN_CAN_SELL_ITEMS = false, VARIABLE_XP_RATE = false, + WEBSITE_INTEGRATION = false; + public static int[] VARIABLE_XP_RATES = new int[] {1, 2, 5, 10}; + public static double TEST_VERSION = 2.3, XP_RATE = 1.0; + + + /** + * The Variables Below Should Only Be Changed If You Understand What You Are Doing + */ + public final static int ITEM_LIMIT = 15000, MAXITEM_AMOUNT = Integer.MAX_VALUE, + IPS_ALLOWED = 250, CONNECTION_DELAY = 100; + + public final static boolean sendServerPackets = false, SOUND = true, GUILDS = true; + + public static int[] SIDEBARS = { 2423, 3917, 638, 3213, 1644, 5608, 1151, + 18128, 5065, 5715, 2449, 904, 147, 962 }; + + public final static int[] FUN_WEAPONS = { 2460, 2461, 2462, 2463, 2464, + 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2471, 2473, 2474, 2475, + 2476, 2477 }; // fun weapons for dueling + + + public final static int DUELING_RESPAWN_X = 3362; + + public final static int DUELING_RESPAWN_Y = 3263; + + public final static int NO_TELEPORT_WILD_LEVEL = 20; + + public final static int NPC_RANDOM_WALK_DISTANCE = 5; + + public final static int NPC_FOLLOW_DISTANCE = 10; + + public final static String[] UNDEAD = { + "armoured zombie", "ankous", "banshee", "crawling hand", "dried zombie", "ghost", "ghostly warrior", "ghast", + "mummy", "mighty banshee", "reventant imp", "reventant goblin", "reventant icefiend", "reventant pyrefiend", + "reventant hobgoblin", "reventant vampyre", "reventant werewolf", "reventant cyclops", "reventant darkbeast", + "reventant demon", "reventant ork", "reventant hellhound", "reventant knight", "reventant dragon", + "shade", "skeleton", "skeleton brute", "skeleton thug", "skeleton warload", "summoned zombie", + "skorge", "tortured soul", "undead chicken", "undead cow", "undead one", "undead troll", "zombie", "zombie rat", "zogre" + }; + + public final static int CYCLE_TIME = 600; + + public final static int BUFFER_SIZE = 10000; + + public final static int ATTACK = 0, DEFENCE = 1, STRENGTH = 2, + HITPOINTS = 3, RANGED = 4, PRAYER = 5, MAGIC = 6, COOKING = 7, + WOODCUTTING = 8, FLETCHING = 9, FISHING = 10, FIREMAKING = 11, + CRAFTING = 12, SMITHING = 13, MINING = 14, HERBLORE = 15, + AGILITY = 16, THIEVING = 17, SLAYER = 18, FARMING = 19, + RUNECRAFTING = 20; +} \ No newline at end of file diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/DiscordActivity.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/DiscordActivity.java new file mode 100644 index 00000000..2cc4e8e3 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/DiscordActivity.java @@ -0,0 +1,39 @@ +package com.rs2.integrations.discord; + +import com.rs2.game.players.PlayerHandler; + +public class DiscordActivity { + + public static Boolean playerCount = false; + private static int count = 50; + + public static void updateActivity() { + try { + if (JavaCord.token != null && !JavaCord.token.equals("")) { + if (count == 0) { + if (PlayerHandler.getPlayerCount() != 1) { + JavaCord.api.updateActivity(PlayerHandler.getPlayerCount() + " Players Online"); + System.out.println("Discord Activity Updated"); + count = 100; + } else { + JavaCord.api.updateActivity(PlayerHandler.getPlayerCount() + " Player Online"); + System.out.println("Discord Activity Updated"); + count = 100; + } + } else { + count--; + } + } + + } catch (Exception e) { + System.out.println("Could not set Discord activity: " + e); + System.out.println("Null checks"); + try { + System.out.println("JavaCord.api: " + JavaCord.api); + System.out.println("PlayerHandler.getPlayerCount: " + PlayerHandler.getPlayerCount()); + } catch (Exception e2) { + System.out.println(e2); + } + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/JavaCord.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/JavaCord.java new file mode 100644 index 00000000..16efe793 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/JavaCord.java @@ -0,0 +1,75 @@ +package com.rs2.integrations.discord; + +import com.rs2.GameConstants; +import com.rs2.integrations.discord.commands.*; +import com.rs2.integrations.discord.commands.admin.*; +import org.javacord.api.DiscordApi; +import org.javacord.api.DiscordApiBuilder; +import org.javacord.api.entity.channel.TextChannel; +import org.javacord.api.entity.message.MessageBuilder; +import org.javacord.api.util.logging.ExceptionLogger; + +import java.io.IOException; + +/** + * @author Patrity || https://www.rune-server.ee/members/patrity/ + */ + +public class JavaCord { + + public static String serverName = GameConstants.SERVER_NAME; + public static String commandPrefix = "::w" + GameConstants.WORLD; + public static String token; + public static DiscordApi api = null; + + public static void init() throws IOException { + if (token != null && !token.equals("")) { //If the token was loaded by loadSettings: + new DiscordApiBuilder().setToken(token).login().thenAccept(api -> { + try { + JavaCord.api = api; + //System.out.println("You can invite the bot by using the following url: " + api.createBotInvite()); + api.addListener(new Commands()); + api.addListener(new Forum()); + api.addListener(new Hiscores()); + api.addListener(new Issues()); + api.addListener(new Link()); + api.addListener(new Online()); + api.addListener(new Players()); + api.addListener(new Vote()); + api.addListener(new Website()); + //Admin Commands + api.addListener(new AdminCommands()); + api.addListener(new GameKick()); + api.addListener(new MoveHome()); + api.addListener(new Update()); + api.addListener(new Pin()); + api.addListener(new Purge()); + //api.addListener(new Link()); + //api.addListener(new WelcomeMessage()); + if(!DiscordActivity.playerCount) { + api.updateActivity(GameConstants.WEBSITE_LINK); + } + api.addMessageCreateListener(event -> { + }); + + } catch (Exception e) { + e.printStackTrace(); + } + }) + // Log exceptions (might not work now that we try(catch) + .exceptionally(ExceptionLogger.get()); + } else { + System.out.println("Discord Token Not Set So Bot Not Loaded"); + } + } + + public static void sendMessage(String channel, String msg) { + try { + new MessageBuilder() + .append(msg) + .send((TextChannel) api.getTextChannelsByNameIgnoreCase(channel).toArray()[0]); + } catch (Exception e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/WelcomeMessage.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/WelcomeMessage.java new file mode 100644 index 00000000..21d71cfb --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/WelcomeMessage.java @@ -0,0 +1,16 @@ +package com.rs2.integrations.discord; + +import com.rs2.GameConstants; +import org.javacord.api.event.server.member.ServerMemberJoinEvent; +import org.javacord.api.listener.server.member.ServerMemberJoinListener; + +public class WelcomeMessage implements ServerMemberJoinListener { + @Override + public void onServerMemberJoin(ServerMemberJoinEvent event) { + String welcomeMessageChannel = "655143683083206667"; + if (GameConstants.WORLD == 1) { + event.getApi().getTextChannelById(welcomeMessageChannel).get(). + sendMessage("Hello " + event.getUser().getMentionTag() + " And Welcome To " + JavaCord.serverName + "."); + } + } +} \ No newline at end of file diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Commands.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Commands.java new file mode 100644 index 00000000..3fde1f21 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Commands.java @@ -0,0 +1,33 @@ +package com.rs2.integrations.discord.commands; + +import com.rs2.integrations.discord.JavaCord; +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class Commands implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase(JavaCord.commandPrefix + " commands")) { + event.getChannel().sendMessage("```fix" + + System.lineSeparator() + + "::link" + + System.lineSeparator() + + "::forum/::forums" + + System.lineSeparator() + + JavaCord.commandPrefix + " gamekick(if account id linked)" + + System.lineSeparator() + + JavaCord.commandPrefix + " hiscores/" + JavaCord.commandPrefix + " highscores" + + System.lineSeparator() + + "::issues/::bugs" + + System.lineSeparator() + + JavaCord.commandPrefix + " online" + + System.lineSeparator() + + "::vote" + + System.lineSeparator() + + "::website/::site" + + "```"); + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Forum.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Forum.java new file mode 100644 index 00000000..46d26e08 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Forum.java @@ -0,0 +1,19 @@ +package com.rs2.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +import com.rs2.GameConstants; + +public class Forum implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::forum") || message.getContent().equalsIgnoreCase("::forums")) { + if (GameConstants.WORLD == 1) { + event.getChannel().sendMessage(GameConstants.WEBSITE_LINK + "/forums/index.php"); + } + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Hiscores.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Hiscores.java new file mode 100644 index 00000000..fc72e2bb --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Hiscores.java @@ -0,0 +1,18 @@ +package com.rs2.integrations.discord.commands; + +import com.rs2.integrations.discord.JavaCord; +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +import com.rs2.GameConstants; + +public class Hiscores implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase(JavaCord.commandPrefix + " hiscores") || message.getContent().equalsIgnoreCase(JavaCord.commandPrefix + " highscores")) { + event.getChannel().sendMessage(GameConstants.WEBSITE_LINK + "/hiscores.html"); + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Issues.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Issues.java new file mode 100644 index 00000000..7a8c52ff --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Issues.java @@ -0,0 +1,18 @@ +package com.rs2.integrations.discord.commands; + +import com.rs2.GameConstants; +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class Issues implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::issues") || message.getContent().equalsIgnoreCase("::bugs")) { + if (GameConstants.WORLD == 1) { + event.getChannel().sendMessage("https://github.com/2006-Scape/2006Scape/issues"); + } + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Link.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Link.java new file mode 100644 index 00000000..273b689b --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Link.java @@ -0,0 +1,17 @@ +package com.rs2.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.entity.user.User; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class Link implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::link")) { + event.getChannel().sendMessage(message.getAuthor().asUser().get().getMentionTag() + ", Please check your DM's to continue."); + message.getAuthor().asUser().get().sendMessage("Please copy/paste the following in-game to link your Discord account: \n ```::link " + message.getAuthor().asUser().get().getIdAsString() + "```"); + } + } +} \ No newline at end of file diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Online.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Online.java new file mode 100644 index 00000000..cf0376b5 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Online.java @@ -0,0 +1,18 @@ +package com.rs2.integrations.discord.commands; + +import com.rs2.GameConstants; +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +import com.rs2.integrations.discord.JavaCord; + +public class Online implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase(JavaCord.commandPrefix + " online")) { + event.getChannel().sendMessage(":tada: " + JavaCord.serverName + " World:" + GameConstants.WORLD + " is Online! :tada:"); + } + } +} \ No newline at end of file diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Players.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Players.java new file mode 100644 index 00000000..b5e7eaca --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Players.java @@ -0,0 +1,21 @@ +package com.rs2.integrations.discord.commands; + +import com.rs2.game.players.PlayerHandler; +import com.rs2.integrations.discord.JavaCord; +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class Players implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase(JavaCord.commandPrefix + " players")) { + if (PlayerHandler.getPlayerCount() != 1) { + event.getChannel().sendMessage("There are currently " + PlayerHandler.getPlayerCount() + " players online (" + PlayerHandler.getNonPlayerCount() + " staff online)."); + } else { + event.getChannel().sendMessage("There is currently " + PlayerHandler.getPlayerCount() + " player online (" + PlayerHandler.getNonPlayerCount() + " staff online)."); + } + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Vote.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Vote.java new file mode 100644 index 00000000..56bcb940 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Vote.java @@ -0,0 +1,20 @@ +package com.rs2.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +import com.rs2.GameConstants; + +public class Vote implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::vote")) { + if (GameConstants.WORLD == 1) { + event.getChannel().sendMessage("Visit " + GameConstants.WEBSITE_LINK + "/vote.html then type \"::claimvote\" in-game to receive your reward!"); + } + } + } +} + diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Website.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Website.java new file mode 100644 index 00000000..f820c865 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/Website.java @@ -0,0 +1,19 @@ +package com.rs2.integrations.discord.commands; + +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +import com.rs2.GameConstants; + +public class Website implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase("::website") || message.getContent().equalsIgnoreCase("::site")) { + if (GameConstants.WORLD == 1) { + event.getChannel().sendMessage(GameConstants.WEBSITE_LINK); + } + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/AdminCommands.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/AdminCommands.java new file mode 100644 index 00000000..2374c2bf --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/AdminCommands.java @@ -0,0 +1,31 @@ +package com.rs2.integrations.discord.commands.admin; + +import com.rs2.integrations.discord.JavaCord; +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class AdminCommands implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().equalsIgnoreCase(JavaCord.commandPrefix + " admincommands")) { + if (event.getMessageAuthor().isServerAdmin()) { + event.getChannel().sendMessage("```fix" + + System.lineSeparator() + + "::pin/::unpin(Pins/Un-Pins The Replied Mesage)" + + System.lineSeparator() + + "::purge(Purges The Specified Amount Of Messages From Discord Channel)" + + System.lineSeparator() + + JavaCord.commandPrefix + " gamekick(Kicks The Specified Player From The GameServer)" + + System.lineSeparator() + + JavaCord.commandPrefix + " movehome(Moves The Specified Player To Lumbridge)" + + System.lineSeparator() + + JavaCord.commandPrefix + " update(Triggers A GameServer Update In The Specified Amount Of Seconds)" + + "```"); + } else { + event.getChannel().sendMessage("You do not have permission to perform this command"); + } + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/GameKick.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/GameKick.java new file mode 100644 index 00000000..40bc72dd --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/GameKick.java @@ -0,0 +1,34 @@ +package com.rs2.integrations.discord.commands.admin; + +import com.rs2.game.players.Client; +import com.rs2.game.players.Player; +import com.rs2.game.players.PlayerHandler; +import com.rs2.integrations.discord.JavaCord; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +import java.util.Objects; + +public class GameKick implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + if (event.getMessageContent().startsWith(JavaCord.commandPrefix + " gamekick")) { + String playerToKick = event.getMessageContent().replace( JavaCord.commandPrefix + " gamekick ", ""); + for (Player player2 : PlayerHandler.players) { + if (player2 != null) { + if (player2.playerName.equalsIgnoreCase(playerToKick)) { + Client c2 = (Client) player2; + if (event.getMessageAuthor().isServerAdmin() || Objects.equals(event.getMessageAuthor().getIdAsString(), c2.discordCode)) { + event.getChannel().sendMessage(playerToKick + " was kicked by " + event.getMessageAuthor().getDisplayName() + "."); + c2.disconnected = true; + c2.logout(true); + } else { + event.getChannel().sendMessage("You do not have permission to perform this command"); + } + break; + } + } + } + } + } +} \ No newline at end of file diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/MoveHome.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/MoveHome.java new file mode 100644 index 00000000..1dfba022 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/MoveHome.java @@ -0,0 +1,31 @@ +package com.rs2.integrations.discord.commands.admin; + +import com.rs2.GameConstants; +import com.rs2.game.players.Client; +import com.rs2.game.players.PlayerHandler; +import com.rs2.integrations.discord.JavaCord; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class MoveHome implements MessageCreateListener { + + @Override + public void onMessageCreate(MessageCreateEvent event) { + if (event.getMessageContent().startsWith(JavaCord.commandPrefix + " movehome")) { + if (event.getMessageAuthor().isServerAdmin()) { + String teleToMe = event.getMessageContent().replace( JavaCord.commandPrefix + " movehome ", ""); + for (int i = 0; i < PlayerHandler.players.length; i++) { + if (PlayerHandler.players[i] != null) { + if (PlayerHandler.players[i].playerName.equalsIgnoreCase(teleToMe)) { + Client p = (Client) PlayerHandler.players[i]; + event.getChannel().sendMessage(p.playerName + " has been moved to Lumbridge."); + p.getPlayerAssistant().movePlayer(GameConstants.RESPAWN_X, GameConstants.RESPAWN_Y, 0); + } + } + } + } else { + event.getChannel().sendMessage("You do not have permission to perform this command"); + } + } + } +} \ No newline at end of file diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Pin.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Pin.java new file mode 100644 index 00000000..2473e377 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Pin.java @@ -0,0 +1,39 @@ +package com.rs2.integrations.discord.commands.admin; + +import com.rs2.GameConstants; +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class Pin implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().startsWith("::pin")) { + if (event.getMessageAuthor().isServerAdmin()) { + if(GameConstants.WORLD == 1) { + if (message.getReferencedMessage().isPresent()) { + Message messageToPin = message.getReferencedMessage().get(); + messageToPin.pin(); + } + } + } else { + event.getChannel().sendMessage("You do not have permission to perform this command"); + } + } + if (message.getContent().startsWith("::unpin")) { + if (event.getMessageAuthor().isServerAdmin()) { + if(GameConstants.WORLD == 1) { + if (message.getReferencedMessage().isPresent()) { + Message messageToUnpin = message.getReferencedMessage().get(); + messageToUnpin.unpin(); + event.getChannel().sendMessage("Un-Pinned Message: " + messageToUnpin.getLink()); + + } + } + } else { + event.getChannel().sendMessage("You do not have permission to perform this command"); + } + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Purge.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Purge.java new file mode 100644 index 00000000..78838258 --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Purge.java @@ -0,0 +1,40 @@ +package com.rs2.integrations.discord.commands.admin; + +import com.rs2.GameConstants; +import org.javacord.api.entity.message.Message; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; + +public class Purge implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + Message message = event.getMessage(); + if (message.getContent().startsWith("::purge")) { + if (event.getMessageAuthor().isServerAdmin()) { + if(GameConstants.WORLD == 1) { + int messagesToPurge = Integer.parseInt(event.getMessageContent().replace("::purge ", "")); + if (messagesToPurge > 50) { + event.getChannel().sendMessage("Can't purge more than 50 messages at once."); + return; + } + try { + event.getChannel().sendMessage("Purging " + messagesToPurge + " Messages."); + message.getMessagesBefore(messagesToPurge).get().deleteAll(); + Message Purge = message.getMessagesAfter(1).get().getNewestMessage().get(); + Purge.edit("Purged " + messagesToPurge + " Messages."); + TimeUnit.SECONDS.sleep(5); + message.delete(); + Purge.delete(); + } catch (InterruptedException | ExecutionException e) { + e.printStackTrace(); + } + } + } else { + event.getChannel().sendMessage("You do not have permission to perform this command"); + } + } + } +} diff --git a/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Update.java b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Update.java new file mode 100644 index 00000000..dc7be48f --- /dev/null +++ b/2006Scape Server/src/main/java/com/rs2/integrations/discord/commands/admin/Update.java @@ -0,0 +1,24 @@ +package com.rs2.integrations.discord.commands.admin; + +import com.rs2.game.players.PlayerHandler; +import com.rs2.integrations.discord.JavaCord; +import org.javacord.api.event.message.MessageCreateEvent; +import org.javacord.api.listener.message.MessageCreateListener; + +public class Update implements MessageCreateListener { + @Override + public void onMessageCreate(MessageCreateEvent event) { + String seconds = event.getMessageContent().replace(JavaCord.commandPrefix + " update ", ""); + if (event.getMessageContent().startsWith(JavaCord.commandPrefix + " update")) { + if (event.getMessageAuthor().isServerAdmin()) { + PlayerHandler.updateSeconds = Integer.parseInt(seconds); + PlayerHandler.updateAnnounced = false; + PlayerHandler.updateRunning = true; + PlayerHandler.updateStartTime = System.currentTimeMillis(); + event.getChannel().sendMessage("Server update will begin in " + seconds + " seconds."); + } else { + event.getChannel().sendMessage("You do not have permission to perform this command"); + } + } + } +} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/ConfigLoader.kt b/2006Scape Server/src/main/kotlin/com/rs2/ConfigLoader.kt deleted file mode 100644 index dfd0323a..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/ConfigLoader.kt +++ /dev/null @@ -1,83 +0,0 @@ -package com.rs2 - -import com.rs2.integrations.PlayersOnlineWebsite -import com.rs2.integrations.RegisteredAccsWebsite -import com.rs2.integrations.discord.JavaCord -import org.json.JSONObject -import java.io.* -import java.util.stream.Collectors - -object ConfigLoader { - @JvmStatic - @Throws(IOException::class) - fun loadSettings(config: String?) { - val br = config?.let { FileReader(it) }?.let { BufferedReader(it) } - val out = br?.lines()?.collect(Collectors.joining("\n")) - val obj = JSONObject(out) - if (obj.has("server_name")) GameConstants.SERVER_NAME = obj.getString("server_name") - if (obj.has("server_test_version")) GameConstants.TEST_VERSION = obj.getDouble("server_test_version") - if (obj.has("gui_enabled")) GameConstants.GUI_ENABLED = obj.getBoolean("gui_enabled") - if (obj.has("website_link")) GameConstants.WEBSITE_LINK = obj.getString("website_link") - if (obj.has("server_debug")) GameConstants.SERVER_DEBUG = obj.getBoolean("server_debug") - if (obj.has("file_server")) GameConstants.FILE_SERVER = obj.getBoolean("file_server") - if (obj.has("world_id")) GameConstants.WORLD = obj.getInt("world_id") - if (obj.has("members_only")) GameConstants.MEMBERS_ONLY = obj.getBoolean("members_only") - if (obj.has("tutorial_island_enabled")) GameConstants.TUTORIAL_ISLAND = obj.getBoolean("tutorial_island_enabled") - if (obj.has("party_room_enabled")) GameConstants.PARTY_ROOM_DISABLED = !obj.getBoolean("party_room_enabled") - if (obj.has("clues_enabled")) GameConstants.CLUES_ENABLED = obj.getBoolean("clues_enabled") - if (obj.has("admin_can_trade")) GameConstants.ADMIN_CAN_TRADE = obj.getBoolean("admin_can_trade") - if (obj.has("admin_can_drop_items")) GameConstants.ADMIN_DROP_ITEMS = obj.getBoolean("admin_can_drop_items") - if (obj.has("admin_can_sell")) GameConstants.ADMIN_CAN_SELL_ITEMS = obj.getBoolean("admin_can_sell") - if (obj.has("respawn_x")) GameConstants.RESPAWN_X = obj.getInt("respawn_x") - if (obj.has("respawn_y")) GameConstants.RESPAWN_Y = obj.getInt("respawn_y") - if (obj.has("save_timer")) GameConstants.SAVE_TIMER = obj.getInt("save_timer") - if (obj.has("timeout")) GameConstants.TIMEOUT = obj.getInt("timeout") - if (obj.has("item_requirements")) GameConstants.ITEM_REQUIREMENTS = obj.getBoolean("item_requirements") - if (obj.has("variable_xp_rate")) GameConstants.VARIABLE_XP_RATE = obj.getBoolean("variable_xp_rate") - if (obj.has("xp_rate")) GameConstants.XP_RATE = obj.getDouble("xp_rate") - if (obj.has("max_players")) GameConstants.MAX_PLAYERS = obj.getInt("max_players") - if (obj.has("variable_xp_rates")) { - val rates = obj.optJSONArray("variable_xp_rates") - for (i in 0 until rates.length()) { - GameConstants.VARIABLE_XP_RATES[i] = rates.optInt(i) - } - } - if (obj.has("website_integration")) GameConstants.WEBSITE_INTEGRATION = obj.getBoolean("website_integration") - } - - private fun initialize() { - val main = JSONObject() - main - .put("bot-token", "") - .put("websitepass", "") - .put("erssecret", "") - try { - val br = BufferedWriter(FileWriter("data/secrets.json")) - br.write(main.toString()) - br.close() - } catch (e: IOException) { - e.printStackTrace() - } - } - - @JvmStatic - @Throws(IOException::class) - fun loadSecrets() { - if (!File("data/secrets.json").exists()) { - initialize() - println("Please open \"data/secrets.json\" file and enter your discord token bot there!") - println("Please open \"data/secrets.json\" file and enter your Website Password there!") - } else { - val br = BufferedReader(FileReader("data/secrets.json")) - val out = br.lines().collect(Collectors.joining("\n")) - val obj = JSONObject(out) - - /* - * Sets External Services Vars - */if (obj.has("bot-token")) JavaCord.token = obj.getString("bot-token") - if (obj.has("websitepass")) PlayersOnlineWebsite.password = obj.getString("websitepass") - RegisteredAccsWebsite.password = obj.getString("websitepass") - if (obj.has("erssecret")) GameEngine.ersSecret = obj.getString("erssecret") - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/GameConstants.kt b/2006Scape Server/src/main/kotlin/com/rs2/GameConstants.kt deleted file mode 100644 index 58e81771..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/GameConstants.kt +++ /dev/null @@ -1,171 +0,0 @@ -package com.rs2 - -object GameConstants { - /** - * The Variables Below Can Be Also Changed On Server Startup By Using The ConfigLoader - * - * SERVER_NAME Sets The Name The Server Will Use - * WEBSITE_LINK Defines The Server Website Links - * WORLD Sets The Servers World ID - * GUI_ENABLED Enables/Disables The Server Control Panel - * MAX_PLAYERS Sets The Maximum Amount Of Players Allow To Be Logged In At Once - * TIMEOUT Sets The Amount Of Time Before A Player Timeouts From A Bad Connection - * SAVE_TIMER Sets In Seconds How Often The Server Shouls Auto-Save All Characters - * RESPAWN_X Sets The X Coordinate That You Will Respawn At After Death - * RESPAWN_Y Sets The Y Coordinate That You Will Respawn At After Death - * FILE_SERVER Sets Whether The FileServer Should Run With The Server - * SERVER_DEBUG Sets Whether The Server Should Start In Debug Mode - * MEMBERS_ONLY Sets Whether The World Is Members Only - * TUTORIAL_ISLAND Enables/Disables Tutorial Island For Players On First Login - * PARTY_ROOM_DISABLED Enables/Disables The Party Room Should Be Disabled - * CLUES_ENABLED Enables/Disables Clue Scrolls - * ITEM_REQUIREMENTS Enables/Disables Item Requirements for All Players - * ADMIN_CAN_TRADE Defines Whether Admins Can Trade - * ADMIN_DROP_ITEMS Defines Whether Admins Can Drop Items - * ADMIN_CAN_SELL_ITEMS Defines Whether Admins Can Sell Items - * VARIABLE_XP_RATE Allows Players To Choose An XP Rate Set In VARIABLE_XP_RATES - * VARIABLE_XP_RATES Defines The XP Rates That Should Be Available To Players When VARIABLE_XP_RATES is true(Array Must Contain Four Entries) - * XP_RATE Sets The XP Rate Multiplier For All Players/Skills If VARIABLE_XP_RATES is false - * WEBSITE_INTEGRATION Enables/Disables Website Features(Total Accounts Registered & Players Online) - */ - @JvmField - var SERVER_NAME = "2006Scape" - @JvmField - var WEBSITE_LINK = "https://2006Scape.org" - @JvmField - var WORLD = 1 - @JvmField - var GUI_ENABLED: Boolean = false - @JvmField - var MAX_PLAYERS = 200 - @JvmField - var TIMEOUT = 60 - @JvmField - var SAVE_TIMER = 120 - @JvmField - var RESPAWN_X = 3222 - @JvmField - var RESPAWN_Y = 3218 - @JvmField - var FILE_SERVER = true - @JvmField - var SERVER_DEBUG = false - @JvmField - var MEMBERS_ONLY = false - @JvmField - var TUTORIAL_ISLAND = false - @JvmField - var PARTY_ROOM_DISABLED = false - @JvmField - var CLUES_ENABLED = true - @JvmField - var ITEM_REQUIREMENTS = true - @JvmField - var ADMIN_CAN_TRADE = false - @JvmField - var ADMIN_DROP_ITEMS = false - @JvmField - var ADMIN_CAN_SELL_ITEMS = false - @JvmField - var VARIABLE_XP_RATE = false - @JvmField - var WEBSITE_INTEGRATION = false - @JvmField - var VARIABLE_XP_RATES = intArrayOf(1, 2, 5, 10) - @JvmField - var TEST_VERSION = 2.3 - @JvmField - var XP_RATE = 1.0 - - /** - * The Variables Below Should Only Be Changed If You Understand What You Are Doing - */ - const val ITEM_LIMIT = 15000 - const val MAXITEM_AMOUNT = Int.MAX_VALUE - const val IPS_ALLOWED = 250 - const val CONNECTION_DELAY = 100 - const val sendServerPackets = false - const val SOUND = true - const val GUILDS = true - @JvmField - var SIDEBARS = intArrayOf( - 2423, 3917, 638, 3213, 1644, 5608, 1151, - 18128, 5065, 5715, 2449, 904, 147, 962 - ) - @JvmField - val FUN_WEAPONS = intArrayOf( - 2460, 2461, 2462, 2463, 2464, - 2465, 2466, 2467, 2468, 2469, 2470, 2471, 2471, 2473, 2474, 2475, - 2476, 2477 - ) // fun weapons for dueling - const val DUELING_RESPAWN_X = 3362 - const val DUELING_RESPAWN_Y = 3263 - const val NO_TELEPORT_WILD_LEVEL = 20 - const val NPC_RANDOM_WALK_DISTANCE = 5 - const val NPC_FOLLOW_DISTANCE = 10 - @JvmField - val UNDEAD = arrayOf( - "armoured zombie", - "ankous", - "banshee", - "crawling hand", - "dried zombie", - "ghost", - "ghostly warrior", - "ghast", - "mummy", - "mighty banshee", - "reventant imp", - "reventant goblin", - "reventant icefiend", - "reventant pyrefiend", - "reventant hobgoblin", - "reventant vampyre", - "reventant werewolf", - "reventant cyclops", - "reventant darkbeast", - "reventant demon", - "reventant ork", - "reventant hellhound", - "reventant knight", - "reventant dragon", - "shade", - "skeleton", - "skeleton brute", - "skeleton thug", - "skeleton warload", - "summoned zombie", - "skorge", - "tortured soul", - "undead chicken", - "undead cow", - "undead one", - "undead troll", - "zombie", - "zombie rat", - "zogre" - ) - const val CYCLE_TIME = 600 - const val BUFFER_SIZE = 10000 - const val ATTACK = 0 - const val DEFENCE = 1 - const val STRENGTH = 2 - const val HITPOINTS = 3 - const val RANGED = 4 - const val PRAYER = 5 - const val MAGIC = 6 - const val COOKING = 7 - const val WOODCUTTING = 8 - const val FLETCHING = 9 - const val FISHING = 10 - const val FIREMAKING = 11 - const val CRAFTING = 12 - const val SMITHING = 13 - const val MINING = 14 - const val HERBLORE = 15 - const val AGILITY = 16 - const val THIEVING = 17 - const val SLAYER = 18 - const val FARMING = 19 - const val RUNECRAFTING = 20 -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/DiscordActivity.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/DiscordActivity.kt deleted file mode 100644 index b6308fa6..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/DiscordActivity.kt +++ /dev/null @@ -1,38 +0,0 @@ -package com.rs2.integrations.discord - -import com.rs2.game.players.PlayerHandler - -object DiscordActivity { - @JvmField - var playerCount = false - private var count = 50 - @JvmStatic - fun updateActivity() { - try { - if (JavaCord.token != null && JavaCord.token != "") { - if (count == 0) { - if (PlayerHandler.getPlayerCount() != 1) { - JavaCord.api!!.updateActivity(PlayerHandler.getPlayerCount().toString() + " Players Online") - println("Discord Activity Updated") - count = 100 - } else { - JavaCord.api!!.updateActivity(PlayerHandler.getPlayerCount().toString() + " Player Online") - println("Discord Activity Updated") - count = 100 - } - } else { - count-- - } - } - } catch (e: Exception) { - println("Could not set Discord activity: $e") - println("Null checks") - try { - println("JavaCord.api: " + JavaCord.api) - println("PlayerHandler.getPlayerCount: " + PlayerHandler.getPlayerCount()) - } catch (e2: Exception) { - println(e2) - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/JavaCord.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/JavaCord.kt deleted file mode 100644 index e5e97b69..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/JavaCord.kt +++ /dev/null @@ -1,74 +0,0 @@ -package com.rs2.integrations.discord - -import com.rs2.GameConstants -import com.rs2.integrations.discord.commands.* -import com.rs2.integrations.discord.commands.admin.* -import org.javacord.api.DiscordApi -import org.javacord.api.DiscordApiBuilder -import org.javacord.api.entity.channel.TextChannel -import org.javacord.api.entity.message.MessageBuilder -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.util.logging.ExceptionLogger -import java.io.IOException -import java.util.* - - -/** - * @author Patrity || https://www.rune-server.ee/members/patrity/ - */ -object JavaCord { - var serverName: String = GameConstants.SERVER_NAME - var commandPrefix = "::w" + GameConstants.WORLD - @JvmField - var token: String? = null - var api: DiscordApi? = null - @JvmStatic - @Throws(IOException::class) - fun init() { - if (token != null && token != "") { //If the token was loaded by loadSettings: - DiscordApiBuilder().setToken(token).login().thenAccept { api: DiscordApi -> - try { - JavaCord.api = api - //System.out.println("You can invite the bot by using the following url: " + api.createBotInvite()); - api.addListener(Commands()) - api.addListener(Forum()) - api.addListener(Hiscores()) - api.addListener(Issues()) - api.addListener(Link()) - api.addListener(Online()) - api.addListener(Players()) - api.addListener(Vote()) - api.addListener(Website()) - //Admin Commands - api.addListener(AdminCommands()) - api.addListener(GameKick()) - api.addListener(MoveHome()) - api.addListener(Update()) - api.addListener(Pin()) - api.addListener(Purge()) - //api.addListener(new Link()); - //api.addListener(new WelcomeMessage()); - if (!DiscordActivity.playerCount) { - api.updateActivity(GameConstants.WEBSITE_LINK) - } - api.addMessageCreateListener { event: MessageCreateEvent? -> } - } catch (e: Exception) { - e.printStackTrace() - } - } // Log exceptions (might not work now that we try(catch) - .exceptionally(ExceptionLogger.get()) - } else { - println("Discord Token Not Set So Bot Not Loaded") - } - } - - fun sendMessage(channel: String?, msg: String?) { - try { - MessageBuilder() - .append(msg) - .send(api!!.getTextChannelsByNameIgnoreCase(channel).toTypedArray()[0] as TextChannel) - } catch (e: Exception) { - e.printStackTrace() - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Commands.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Commands.kt deleted file mode 100644 index 4edf4d61..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Commands.kt +++ /dev/null @@ -1,33 +0,0 @@ -package com.rs2.integrations.discord.commands - -import com.rs2.integrations.discord.JavaCord -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Commands : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.equals(JavaCord.commandPrefix + " commands", ignoreCase = true)) { - event.channel.sendMessage( - "```fix" - + System.lineSeparator() + - "::link" - + System.lineSeparator() + - "::forum/::forums" - + System.lineSeparator() + - JavaCord.commandPrefix + " gamekick(if account id linked)" - + System.lineSeparator() + - JavaCord.commandPrefix + " hiscores/" + JavaCord.commandPrefix + " highscores" - + System.lineSeparator() + - "::issues/::bugs" - + System.lineSeparator() + - JavaCord.commandPrefix + " online" - + System.lineSeparator() + - "::vote" - + System.lineSeparator() + - "::website/::site" - + "```" - ) - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Forum.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Forum.kt deleted file mode 100644 index 3356df73..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Forum.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.rs2.integrations.discord.commands - -import com.rs2.GameConstants -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Forum : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.equals("::forum", ignoreCase = true) || message.content.equals( - "::forums", - ignoreCase = true - ) - ) { - if (GameConstants.WORLD == 1) { - event.channel.sendMessage(GameConstants.WEBSITE_LINK + "/forums/index.php") - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Hiscores.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Hiscores.kt deleted file mode 100644 index 47c61dea..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Hiscores.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.rs2.integrations.discord.commands - -import com.rs2.GameConstants -import com.rs2.integrations.discord.JavaCord -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Hiscores : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.equals(JavaCord.commandPrefix + " hiscores", ignoreCase = true) || message.content.equals( - JavaCord.commandPrefix + " highscores", - ignoreCase = true - ) - ) { - event.channel.sendMessage(GameConstants.WEBSITE_LINK + "/hiscores.html") - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Issues.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Issues.kt deleted file mode 100644 index fc277241..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Issues.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.rs2.integrations.discord.commands - -import com.rs2.GameConstants -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Issues : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.equals("::issues", ignoreCase = true) || message.content.equals( - "::bugs", - ignoreCase = true - ) - ) { - if (GameConstants.WORLD == 1) { - event.channel.sendMessage("https://github.com/2006-Scape/2006Scape/issues") - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Link.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Link.kt deleted file mode 100644 index 72db8290..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Link.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.rs2.integrations.discord.commands - -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Link : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.equals("::link", ignoreCase = true)) { - event.channel.sendMessage(message.author.asUser().get().mentionTag + ", Please check your DM's to continue.") - message.author.asUser().get().sendMessage("Please copy/paste the following in-game to link your Discord account: \n ```::link " + message.author.asUser().get().idAsString + "```") - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Online.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Online.kt deleted file mode 100644 index b3ff5854..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Online.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.rs2.integrations.discord.commands - -import com.rs2.GameConstants -import com.rs2.integrations.discord.JavaCord -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Online : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.equals(JavaCord.commandPrefix + " online", ignoreCase = true)) { - event.channel.sendMessage(":tada: " + JavaCord.serverName + " World:" + GameConstants.WORLD + " is Online! :tada:") - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Players.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Players.kt deleted file mode 100644 index 6194d715..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Players.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.rs2.integrations.discord.commands - -import com.rs2.game.players.PlayerHandler -import com.rs2.integrations.discord.JavaCord -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Players : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.equals(JavaCord.commandPrefix + " players", ignoreCase = true)) { - if (PlayerHandler.getPlayerCount() != 1) { - event.channel.sendMessage("There are currently " + PlayerHandler.getPlayerCount() + " players online (" + PlayerHandler.getNonPlayerCount() + " staff online).") - } else { - event.channel.sendMessage("There is currently " + PlayerHandler.getPlayerCount() + " player online (" + PlayerHandler.getNonPlayerCount() + " staff online).") - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Vote.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Vote.kt deleted file mode 100644 index 26a9ad0a..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Vote.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.rs2.integrations.discord.commands - -import com.rs2.GameConstants -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Vote : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.equals("::vote", ignoreCase = true)) { - if (GameConstants.WORLD == 1) { - event.channel.sendMessage("Visit " + GameConstants.WEBSITE_LINK + "/vote.html then type \"::claimvote\" in-game to receive your reward!") - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Website.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Website.kt deleted file mode 100644 index 46dc7f4d..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/Website.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.rs2.integrations.discord.commands - -import com.rs2.GameConstants -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Website : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.equals("::website", ignoreCase = true) || message.content.equals( - "::site", - ignoreCase = true - ) - ) { - if (GameConstants.WORLD == 1) { - event.channel.sendMessage(GameConstants.WEBSITE_LINK) - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/AdminCommands.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/AdminCommands.kt deleted file mode 100644 index dc3b6036..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/AdminCommands.kt +++ /dev/null @@ -1,31 +0,0 @@ -package com.rs2.integrations.discord.commands.admin - -import com.rs2.integrations.discord.JavaCord -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class AdminCommands : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.equals(JavaCord.commandPrefix + " admincommands", ignoreCase = true)) { - if (event.messageAuthor.isServerAdmin) { - event.channel.sendMessage( - "```fix" - + System.lineSeparator() + - "::pin/::unpin(Pins/Un-Pins The Replied Mesage)" - + System.lineSeparator() + - "::purge(Purges The Specified Amount Of Messages From Discord Channel)" - + System.lineSeparator() + - JavaCord.commandPrefix + " gamekick(Kicks The Specified Player From The GameServer)" - + System.lineSeparator() + - JavaCord.commandPrefix + " movehome(Moves The Specified Player To Lumbridge)" - + System.lineSeparator() + - JavaCord.commandPrefix + " update(Triggers A GameServer Update In The Specified Amount Of Seconds)" - + "```" - ) - } else { - event.channel.sendMessage("You do not have permission to perform this command") - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/GameKick.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/GameKick.kt deleted file mode 100644 index 342d2273..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/GameKick.kt +++ /dev/null @@ -1,30 +0,0 @@ -package com.rs2.integrations.discord.commands.admin - -import com.rs2.game.players.Client -import com.rs2.game.players.PlayerHandler -import com.rs2.integrations.discord.JavaCord -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class GameKick : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - if (event.messageContent.startsWith(JavaCord.commandPrefix + " gamekick")) { - val playerToKick = event.messageContent.replace(JavaCord.commandPrefix + " gamekick ", "") - for (player2 in PlayerHandler.players) { - if (player2 != null) { - if (player2.playerName.equals(playerToKick, ignoreCase = true)) { - val c2 = player2 as Client - if (event.messageAuthor.isServerAdmin || event.messageAuthor.idAsString == c2.discordCode) { - event.channel.sendMessage(playerToKick + " was kicked by " + event.messageAuthor.displayName + ".") - c2.disconnected = true - c2.logout(true) - } else { - event.channel.sendMessage("You do not have permission to perform this command") - } - break - } - } - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/MoveHome.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/MoveHome.kt deleted file mode 100644 index 466c66c0..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/MoveHome.kt +++ /dev/null @@ -1,29 +0,0 @@ -package com.rs2.integrations.discord.commands.admin - -import com.rs2.GameConstants -import com.rs2.game.players.Client -import com.rs2.game.players.PlayerHandler -import com.rs2.integrations.discord.JavaCord -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class MoveHome : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - if (event.messageContent.startsWith(JavaCord.commandPrefix + " movehome")) { - if (event.messageAuthor.isServerAdmin) { - val teleToMe = event.messageContent.replace(JavaCord.commandPrefix + " movehome ", "") - for (i in PlayerHandler.players.indices) { - if (PlayerHandler.players[i] != null) { - if (PlayerHandler.players[i].playerName.equals(teleToMe, ignoreCase = true)) { - val p = PlayerHandler.players[i] as Client - event.channel.sendMessage(p.playerName + " has been moved to Lumbridge.") - p.playerAssistant.movePlayer(GameConstants.RESPAWN_X, GameConstants.RESPAWN_Y, 0) - } - } - } - } else { - event.channel.sendMessage("You do not have permission to perform this command") - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Pin.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Pin.kt deleted file mode 100644 index da5bc181..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Pin.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.rs2.integrations.discord.commands.admin - -import com.rs2.GameConstants -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Pin : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.startsWith("::pin")) { - if (event.messageAuthor.isServerAdmin) { - if (GameConstants.WORLD == 1) { - if (message.referencedMessage.isPresent) { - val messageToPin = message.referencedMessage.get() - messageToPin.pin() - } - } - } else { - event.channel.sendMessage("You do not have permission to perform this command") - } - } - if (message.content.startsWith("::unpin")) { - if (event.messageAuthor.isServerAdmin) { - if (GameConstants.WORLD == 1) { - if (message.referencedMessage.isPresent) { - val messageToUnpin = message.referencedMessage.get() - messageToUnpin.unpin() - event.channel.sendMessage("Un-Pinned Message: " + messageToUnpin.link) - } - } - } else { - event.channel.sendMessage("You do not have permission to perform this command") - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Purge.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Purge.kt deleted file mode 100644 index 54cd61ff..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Purge.kt +++ /dev/null @@ -1,39 +0,0 @@ -package com.rs2.integrations.discord.commands.admin - -import com.rs2.GameConstants -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener -import java.util.concurrent.ExecutionException -import java.util.concurrent.TimeUnit - -class Purge : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val message = event.message - if (message.content.startsWith("::purge")) { - if (event.messageAuthor.isServerAdmin) { - if (GameConstants.WORLD == 1) { - val messagesToPurge = event.messageContent.replace("::purge ", "").toInt() - if (messagesToPurge > 50) { - event.channel.sendMessage("Can't purge more than 50 messages at once.") - return - } - try { - event.channel.sendMessage("Purging $messagesToPurge Messages.") - message.getMessagesBefore(messagesToPurge).get().deleteAll() - val Purge = message.getMessagesAfter(1).get().newestMessage.get() - Purge.edit("Purged $messagesToPurge Messages.") - TimeUnit.SECONDS.sleep(5) - message.delete() - Purge.delete() - } catch (e: InterruptedException) { - e.printStackTrace() - } catch (e: ExecutionException) { - e.printStackTrace() - } - } - } else { - event.channel.sendMessage("You do not have permission to perform this command") - } - } - } -} \ No newline at end of file diff --git a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Update.kt b/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Update.kt deleted file mode 100644 index 73ce6f33..00000000 --- a/2006Scape Server/src/main/kotlin/com/rs2/integrations/discord/commands/admin/Update.kt +++ /dev/null @@ -1,23 +0,0 @@ -package com.rs2.integrations.discord.commands.admin - -import com.rs2.game.players.PlayerHandler -import com.rs2.integrations.discord.JavaCord -import org.javacord.api.event.message.MessageCreateEvent -import org.javacord.api.listener.message.MessageCreateListener - -class Update : MessageCreateListener { - override fun onMessageCreate(event: MessageCreateEvent) { - val seconds = event.messageContent.replace(JavaCord.commandPrefix + " update ", "") - if (event.messageContent.startsWith(JavaCord.commandPrefix + " update")) { - if (event.messageAuthor.isServerAdmin) { - PlayerHandler.updateSeconds = seconds.toInt() - PlayerHandler.updateAnnounced = false - PlayerHandler.updateRunning = true - PlayerHandler.updateStartTime = System.currentTimeMillis() - event.channel.sendMessage("Server update will begin in $seconds seconds.") - } else { - event.channel.sendMessage("You do not have permission to perform this command") - } - } - } -} \ No newline at end of file