mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-02 16:49:03 +00:00
Update README & Start Converting Java To Kotlin (#539)
* Rename .java to .kt * DiscordBot Java -> Kotlin * Rename .java to .kt * ConfigLoader Java -> Kotlin * Update ReadMe For Latest Using Parabot Locally * Rename .java to .kt * GameConstants Java -> Kotlin * Add Missing "server_test_version" Field To ServerConfig.Sample.json
This commit is contained in:
@@ -21,7 +21,7 @@ public class ClientSettings {
|
||||
* You don't have to change this, the client will automatically connect to the server
|
||||
* on localhost (Assuming you're running Client and LocalGame respectively)
|
||||
*/
|
||||
public static String SERVER_IP = "server.2006Scape.org";
|
||||
public static String SERVER_IP = "localhost";
|
||||
/**
|
||||
* The Servers World
|
||||
* This Determines The Port The Server Will Connect On
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"server_name": "2006Scape",
|
||||
"server_test_version": 2.3,
|
||||
"website_link": "https://2006Scape.org",
|
||||
"server_debug": false,
|
||||
"file_server": true,
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
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("website_link"))
|
||||
GameConstants.WEBSITE_LINK = obj.getString("website_link");
|
||||
if(obj.has("debug"))
|
||||
GameConstants.SERVER_DEBUG = obj.getBoolean("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,83 @@
|
||||
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("website_link")) GameConstants.WEBSITE_LINK = obj.getString("website_link")
|
||||
if (obj.has("debug")) GameConstants.SERVER_DEBUG = obj.getBoolean("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,87 +0,0 @@
|
||||
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
|
||||
* 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 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,168 @@
|
||||
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
|
||||
* 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 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,39 +0,0 @@
|
||||
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,38 @@
|
||||
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,75 +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.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,74 @@
|
||||
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,16 +0,0 @@
|
||||
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 + ".");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
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,33 @@
|
||||
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,19 +0,0 @@
|
||||
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,20 @@
|
||||
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,18 +0,0 @@
|
||||
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,19 @@
|
||||
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,18 +0,0 @@
|
||||
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,20 @@
|
||||
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,18 +0,0 @@
|
||||
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();
|
||||
User user = message.getAuthor().asUser().get();
|
||||
if (message.getContent().equalsIgnoreCase("::link")) {
|
||||
event.getChannel().sendMessage(user.getMentionTag() + ", Please check your DM's to continue.");
|
||||
user.sendMessage("Please copy/paste the following in-game to link your Discord account: \n ```::link " + user.getIdAsString() + "```");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
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
|
||||
val user = message.author.asUser().get()
|
||||
if (message.content.equals("::link", ignoreCase = true)) {
|
||||
event.channel.sendMessage(user.mentionTag + ", Please check your DM's to continue.")
|
||||
user.sendMessage("Please copy/paste the following in-game to link your Discord account: \n ```::link " + user.idAsString + "```")
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
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,15 @@
|
||||
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,21 +0,0 @@
|
||||
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.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
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.")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
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,16 @@
|
||||
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,19 +0,0 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
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.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");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
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")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
-31
@@ -1,31 +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;
|
||||
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
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,39 +0,0 @@
|
||||
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,36 @@
|
||||
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,40 +0,0 @@
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
-24
@@ -1,24 +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;
|
||||
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
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")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -22,31 +22,14 @@
|
||||
|
||||
To compile any module from the command line, run `mvn clean install`
|
||||
|
||||
## Using Parabot with your local server: (OUTDATED)
|
||||
- **1:** Download the latest `localhost_2006Scape.jar` from [here](https://github.com/2006-Scape/2006Scape/releases) (or, if testing server changes, compile it yourself like [this](https://i.imgur.com/uDrF0gl.png))
|
||||
- **2:** Download the latest `Provider-version.jar` file from [here](http://v3.bdn.parabot.org/api/bot/download/default-provider?nightly=false)
|
||||
- **3:** Create a file called `localhost.json` in `{user}\Documents\Parabot\servers`
|
||||
- **4:** Put the following in the file
|
||||
```json
|
||||
{
|
||||
"name": "localhost",
|
||||
"author": "RedSparr0w",
|
||||
"version": 1.0,
|
||||
"client-class": "LocalGame",
|
||||
"locations":{
|
||||
"provider": "pathToYourJar/Provider-1.21.5.jar",
|
||||
"server": "pathToYourJar/localhost_2006Scape.jar",
|
||||
"hooks": "http://bdn.parabot.org/data/hooks/carmeuses/2006rebotted_hooks.xml"
|
||||
}
|
||||
}
|
||||
```
|
||||
_(you will need to put the path to the jar files yourself)_
|
||||
- 5: Run the parabot client with the following args:
|
||||
## Using Parabot with your local server:
|
||||
- **1:** Download the latest Parabot Client from [here](https://github.com/2006-Scape/Parabot/releases)
|
||||
- **2:** Run the parabot client with the following arg:
|
||||
```fix
|
||||
java -jar Client-2.8.1.jar -login username password -loadlocal -v -clearcache
|
||||
java -jar Parabot.jar -local
|
||||
```
|
||||
- **6:** ???
|
||||
- **7:** PROFIT
|
||||
- **3:** ???
|
||||
- **4:** PROFIT
|
||||
|
||||
### Server source layout
|
||||
|
||||
|
||||
Reference in New Issue
Block a user