mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-25 22:56:45 +01:00
Fixed the WordWrap function. So now /who works properly.
This commit is contained in:
parent
8a86cef94a
commit
b92bd3b65d
@ -1,3 +1,4 @@
|
|||||||
|
import java.util.ArrayList;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@ -32,51 +33,38 @@ public class vminecraftChat {
|
|||||||
//=====================================================================
|
//=====================================================================
|
||||||
public static String[] wordWrap(String msg){
|
public static String[] wordWrap(String msg){
|
||||||
//Split each word apart
|
//Split each word apart
|
||||||
String[] array = msg.split(" ");
|
String[] split = msg.split(" ");
|
||||||
//Create the output array
|
//Create the output array
|
||||||
String[] out = new String[0];
|
int length = (int)msgLength(msg) / 316;
|
||||||
|
|
||||||
|
ArrayList<String> out = new ArrayList<String>();
|
||||||
|
|
||||||
//While i is less than the length of the array of words
|
//While i is less than the length of the array of words
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while(i < array.length){
|
while(i < split.length){
|
||||||
int len = 0;
|
int len = 0;
|
||||||
int j = i;
|
int j = i;
|
||||||
|
|
||||||
//Loop through the words finding their length and increasing
|
//Loop through the words finding their length and increasing
|
||||||
//j, the end point for the sub string
|
//j, the end point for the sub string
|
||||||
while(len <= 316 && j < array.length)
|
while(len <= 316 && i < split.length)
|
||||||
{
|
{
|
||||||
len += msgLength(array[j]) + 4;
|
len += msgLength(split[i]) + 4;
|
||||||
if( len <= 316)
|
if( len <= 316)
|
||||||
j++;
|
i++;
|
||||||
|
|
||||||
}
|
}
|
||||||
String[] temp = new String[j - i];
|
String[] temp = new String[i - j];
|
||||||
|
|
||||||
//If it's not the end yet
|
|
||||||
if(j < array.length)
|
|
||||||
{
|
|
||||||
//Copy the words in the selection into a new array
|
//Copy the words in the selection into a new array
|
||||||
System.arraycopy(array, i, temp, 0, j);
|
System.arraycopy(split, j, temp, 0, i - j);
|
||||||
|
|
||||||
//Merge them and add them to the output array
|
//Merge them and add them to the output array
|
||||||
String[] tempOut = new String[out.length + 1];
|
out.add( etc.combineSplit(0, temp, " ") );
|
||||||
System.arraycopy(out, 0, tempOut, 0, out.length);
|
|
||||||
tempOut[tempOut.length - 1] = etc.combineSplit(0, temp, " ");
|
|
||||||
out = tempOut;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
String[] tempout = new String[out.size()];
|
||||||
{
|
out.toArray(tempout);
|
||||||
//Merge the rest and add them to the output array
|
return tempout;
|
||||||
String[] tempOut = new String[out.length + 1];
|
|
||||||
System.arraycopy(out, 0, tempOut, 0, out.length);
|
|
||||||
tempOut[tempOut.length - 1] = etc.combineSplit(i, array, " ");
|
|
||||||
out = tempOut;
|
|
||||||
}
|
|
||||||
//Make the old front equal to the old end
|
|
||||||
i = j;
|
|
||||||
}
|
|
||||||
return out;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//=====================================================================
|
//=====================================================================
|
||||||
|
@ -36,8 +36,6 @@ public class vminecraftCommands{
|
|||||||
cl.register("/ezmodo", "invuln", "Toggle invulnerability");
|
cl.register("/ezmodo", "invuln", "Toggle invulnerability");
|
||||||
cl.register("/ezlist", "ezlist", "List invulnerable players");
|
cl.register("/ezlist", "ezlist", "List invulnerable players");
|
||||||
cl.registerAlias("/playerlist", "/who");
|
cl.registerAlias("/playerlist", "/who");
|
||||||
cl.registerAlias("/it", "/i", new String[] {"%0", "100"});
|
|
||||||
cl.registerAlias("/wood", "/i", new String[] {"wood"});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -215,7 +213,7 @@ public class vminecraftCommands{
|
|||||||
String[] message = vminecraftChat.wordWrap(player, str);
|
String[] message = vminecraftChat.wordWrap(player, str);
|
||||||
|
|
||||||
//Output the first line
|
//Output the first line
|
||||||
vminecraftChat.gmsg( "<" + vminecraftChat.nameColor(player) + "> "
|
vminecraftChat.gmsg( "<" + vminecraftChat.nameColor(player) + Colors.White + "> "
|
||||||
+ vminecraftChat.rainbow(message[0]));
|
+ vminecraftChat.rainbow(message[0]));
|
||||||
|
|
||||||
//Get the rest of the lines and display them.
|
//Get the rest of the lines and display them.
|
||||||
@ -261,8 +259,8 @@ public class vminecraftCommands{
|
|||||||
player.sendMessage(Colors.Blue + "Whois results for " +
|
player.sendMessage(Colors.Blue + "Whois results for " +
|
||||||
vminecraftChat.nameColor(playerTarget));
|
vminecraftChat.nameColor(playerTarget));
|
||||||
//Group
|
//Group
|
||||||
player.sendMessage(Colors.Blue + "Groups: " +
|
for(String group: playerTarget.getGroups())
|
||||||
playerTarget.getGroups());
|
player.sendMessage(Colors.Blue + "Groups: " + group);
|
||||||
//Admin
|
//Admin
|
||||||
player.sendMessage(Colors.Blue+"Admin: " +
|
player.sendMessage(Colors.Blue+"Admin: " +
|
||||||
String.valueOf(playerTarget.canIgnoreRestrictions()));
|
String.valueOf(playerTarget.canIgnoreRestrictions()));
|
||||||
@ -303,7 +301,7 @@ public class vminecraftCommands{
|
|||||||
if(count == 0)
|
if(count == 0)
|
||||||
tempList += vminecraftChat.nameColor(p);
|
tempList += vminecraftChat.nameColor(p);
|
||||||
else
|
else
|
||||||
tempList += ", " + vminecraftChat.nameColor(p);
|
tempList += Colors.White + ", " + vminecraftChat.nameColor(p);
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user