Fixes bug in stringBetween

This commit is contained in:
Kristian Knarvik 2018-02-01 13:46:51 +01:00
parent 3a1e61c754
commit 9d18abf1ed
2 changed files with 24 additions and 44 deletions

View File

@ -62,7 +62,6 @@ class Main {
}
private static void updatePlayerList(String text, Collection collection) {
try {
if (!collection.getServer().typeName().equals("Bungee")) { //Bungee servers are not to be treated as normal servers.
String joinedPlayer = stringBetween(text, "[Server thread/INFO]: ", " joined the game");
if (!joinedPlayer.equals("")) {
@ -93,28 +92,6 @@ class Main {
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
/*
If Not ($PlayersArray = "BUNGEE") Then
$NewDataLine = StringSplit($NewData, @CRLF, 1)
For $x = 0 To UBound($NewDataLine) - 1
$NewPlayer = _StringBetween($NewDataLine[$x], "[Server thread/INFO]: ", " joined the game", 1, True)
If Not IsArray($NewPlayer) Then $NewPlayer = _StringBetween($NewDataLine[$x], "UUID of player ", " is ", 1, True)
$LeftPlayer = _StringBetween($NewDataLine[$x], "INFO]: ", " lost connection", 1, True)
If Not IsArray($LeftPlayer) Then $LeftPlayer = _StringBetween($NewDataLine[$x], "[Server thread/INFO]: ", " left the game", 1, True)
If IsArray($NewPlayer) Then
If _ArraySearch($PlayersArray, StringReplace($NewPlayer[0], " ", "")) = -1 Then
_ArrayAdd($PlayersArray, StringReplace($NewPlayer[0], " ", ""))
EndIf
EndIf
If IsArray($LeftPlayer) Then
_ArrayDelete($PlayersArray, _ArraySearch($PlayersArray, $LeftPlayer[0]))
EndIf
Next
EndIf
*/
}
/**
@ -125,11 +102,11 @@ class Main {
* @param end The substring after the wanted substring
* @return The wanted substring.
*/
private static String stringBetween(String string, String start, String end) throws StringIndexOutOfBoundsException {
int startPos = string.indexOf(start) + start.length();
if (string.indexOf(end, startPos) < startPos) {
private static String stringBetween(String string, String start, String end) {
if (!string.contains(start)) {
return "";
}
int startPos = string.indexOf(start) + start.length();
return string.substring(startPos, string.indexOf(end, startPos));
}
}

View File

@ -349,7 +349,10 @@ public class Server {
* @param end The substring after the wanted substring
* @return The wanted substring.
*/
private String stringBetween(String string, String start, String end) {
private static String stringBetween(String string, String start, String end) {
if (!string.contains(start)) {
return "";
}
int startPos = string.indexOf(start) + start.length();
return string.substring(startPos, string.indexOf(end, startPos));
}