mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 08:39:04 +00:00
Move Kotlin Files To src/main/kotlin (#583)
This commit is contained in:
@@ -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")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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