mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-02 16:49:03 +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_test_version": 2.3,
|
||||
"gui_enabled": true,
|
||||
"gui_enabled": false,
|
||||
"website_link": "https://2006Scape.org",
|
||||
"server_debug": false,
|
||||
"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>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<properties>
|
||||
<kotlin.version>1.6.10</kotlin.version>
|
||||
<kotlin.compiler.incremental>true</kotlin.compiler.incremental>
|
||||
</properties>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>libs-local</id>
|
||||
@@ -23,11 +18,6 @@
|
||||
</repositories>
|
||||
|
||||
<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 -->
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
@@ -165,31 +155,13 @@
|
||||
|
||||
<build>
|
||||
<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>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.5.1</version>
|
||||
<configuration>
|
||||
<generatedSourcesDirectory>${project.basedir}/plugins</generatedSourcesDirectory>
|
||||
<generatedSourcesDirectory>${project.basedir}/src/main/java</generatedSourcesDirectory>
|
||||
<source>8</source>
|
||||
<target>8</target>
|
||||
<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