mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
Kotlin -> Java (#586)
* Convert All Plugins To Java * Convert Rest Of Kt To Java & Remove Kt From Maven
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"server_name": "2006Scape",
|
"server_name": "2006Scape",
|
||||||
"server_test_version": 2.3,
|
"server_test_version": 2.3,
|
||||||
"gui_enabled": true,
|
"gui_enabled": false,
|
||||||
"website_link": "https://2006Scape.org",
|
"website_link": "https://2006Scape.org",
|
||||||
"server_debug": false,
|
"server_debug": false,
|
||||||
"file_server": true,
|
"file_server": true,
|
||||||
|
|||||||
@@ -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<ButtonActionEvent> {
|
||||||
|
|
||||||
|
@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);
|
||||||
|
}
|
||||||
@@ -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<ButtonActionEvent> {
|
|
||||||
|
|
||||||
override fun subscribe(context: EventContext, player: Player, event: ButtonActionEvent) {
|
|
||||||
execute(player, event)
|
|
||||||
}
|
|
||||||
|
|
||||||
abstract fun execute(player : Player, event : ButtonActionEvent);
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<ItemFirstClickEvent> {
|
||||||
|
|
||||||
|
@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;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ItemFirstClickEvent> {
|
|
||||||
|
|
||||||
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)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<ItemOnItemEvent> {
|
||||||
|
|
||||||
|
@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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ItemOnItemEvent> {
|
|
||||||
|
|
||||||
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)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<ItemOnNpcEvent> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void subscribe(EventContext context, Player player, ItemOnNpcEvent event) {
|
||||||
|
if (player.playerRights == 3) {
|
||||||
|
player.getPacketSender().sendMessage("[ItemOnNpc] - itemId: " + event.getItem() + " npcId: " + event.getNpc());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ItemOnNpcEvent> {
|
|
||||||
|
|
||||||
override fun subscribe(context: EventContext, player: Player, event: ItemOnNpcEvent) {
|
|
||||||
|
|
||||||
if (player.playerRights >= 3) {
|
|
||||||
player.packetSender.sendMessage("[ItemOnNpc] - itemId: ${event.item} npcId: ${event.npc}")
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<ItemOnObjectEvent> {
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ItemOnObjectEvent> {
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<ItemSecondClickEvent> {
|
||||||
|
|
||||||
|
@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;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ItemSecondClickEvent> {
|
|
||||||
|
|
||||||
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)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<ItemThirdClickEvent> {
|
||||||
|
|
||||||
|
@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;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ItemThirdClickEvent> {
|
|
||||||
|
|
||||||
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)
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<MagicOnItemEvent> {
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<MagicOnItemEvent> {
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<NpcFirstClickEvent> {
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<NpcFirstClickEvent> {
|
|
||||||
|
|
||||||
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 ->
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<NpcSecondClickEvent> {
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<NpcSecondClickEvent> {
|
|
||||||
|
|
||||||
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) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<NpcThirdClickEvent> {
|
||||||
|
|
||||||
|
@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() + "]");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<NpcThirdClickEvent> {
|
|
||||||
|
|
||||||
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) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<ObjectFirstClickEvent> {
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ObjectFirstClickEvent> {
|
|
||||||
|
|
||||||
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) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<ObjectFourthClickEvent> {
|
||||||
|
|
||||||
|
@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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ObjectFourthClickEvent> {
|
|
||||||
|
|
||||||
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) {
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<ObjectSecondClickEvent> {
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ObjectSecondClickEvent> {
|
|
||||||
|
|
||||||
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) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<ObjectThirdClickEvent> {
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ObjectThirdClickEvent> {
|
|
||||||
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -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<NpcSecondClickEvent> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void subscribe(EventContext context, Player player, NpcSecondClickEvent event) {
|
||||||
|
if (event.getNpc() == FADLI) {
|
||||||
|
player.getPacketSender().openUpBank();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<NpcSecondClickEvent> {
|
|
||||||
|
|
||||||
override fun subscribe(context: EventContext, player: Player, event: NpcSecondClickEvent) {
|
|
||||||
if (event.npc == FADLI) {
|
|
||||||
player.packetSender.openUpBank()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -9,11 +9,6 @@
|
|||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<properties>
|
|
||||||
<kotlin.version>1.6.10</kotlin.version>
|
|
||||||
<kotlin.compiler.incremental>true</kotlin.compiler.incremental>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>libs-local</id>
|
<id>libs-local</id>
|
||||||
@@ -23,11 +18,6 @@
|
|||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
|
||||||
<groupId>org.jetbrains.kotlin</groupId>
|
|
||||||
<artifactId>kotlin-stdlib</artifactId>
|
|
||||||
<version>${kotlin.version}</version>
|
|
||||||
</dependency>
|
|
||||||
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->
|
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.commons</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
@@ -165,31 +155,13 @@
|
|||||||
|
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
|
||||||
<groupId>org.jetbrains.kotlin</groupId>
|
|
||||||
<artifactId>kotlin-maven-plugin</artifactId>
|
|
||||||
<version>${kotlin.version}</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>compile</id>
|
|
||||||
<goals>
|
|
||||||
<goal>compile</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<sourceDirs>
|
|
||||||
<sourceDir>${project.basedir}/plugins</sourceDir>
|
|
||||||
<sourceDir>${project.basedir}/src/main/java</sourceDir>
|
|
||||||
<sourceDir>${project.basedir}/src/main/kotlin</sourceDir>
|
|
||||||
</sourceDirs>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>3.5.1</version>
|
<version>3.5.1</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
|
<generatedSourcesDirectory>${project.basedir}/plugins</generatedSourcesDirectory>
|
||||||
|
<generatedSourcesDirectory>${project.basedir}/src/main/java</generatedSourcesDirectory>
|
||||||
<source>8</source>
|
<source>8</source>
|
||||||
<target>8</target>
|
<target>8</target>
|
||||||
<encoding>UTF-8</encoding>
|
<encoding>UTF-8</encoding>
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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 + ".");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
+ "```");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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() + "```");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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:");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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).");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+31
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+34
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+31
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+24
@@ -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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
|
||||||
}
|
|
||||||
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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"
|
|
||||||
+ "```"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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 + "```")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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:")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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).")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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!")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-31
@@ -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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-30
@@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-29
@@ -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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-23
@@ -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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user