Player brackets in chat can now be colored the same as the group prefix color, allowing quick and easy identification of a players group.

This commit is contained in:
nossr50 2011-01-09 12:35:06 -08:00
parent 5cc636f269
commit 621fe2279b
6 changed files with 72 additions and 26 deletions

2
TODO
View File

@ -1,5 +1,4 @@
vMinecraft v1 Todo:
+ Brackets with group prefix colors in chat
+ Add permission toggle for using colors
+ Guilds
+ Party Leaders
@ -33,6 +32,7 @@ vMinecraft v2 Updates!
how much longer they are probated for.
DONE
+ Brackets with group prefix colors in chat
+ Party system
+ Party Chat
+ Fix death messages

View File

@ -478,8 +478,8 @@ public class vChat {
public static boolean quote(Player player, String message)
{
//Format the name
String playerName = Colors.White + "<" + getName(player)
+ Colors.White + "> ";
String playerName = vmc.getInstance().getGroupPrefix(player) + "<" + getName(player)
+ vmc.getInstance().getGroupPrefix(player) + "> ";
if(vConfig.getInstance().greentext()) {
//Log the chat
log.log(Level.INFO, "<"+player.getName()+"> " + message);
@ -501,8 +501,8 @@ public class vChat {
public static boolean rage(Player player, String message)
{
//Format the name
String playerName = Colors.White + "<"
+ getName(player) + Colors.White +"> ";
String playerName = vmc.getInstance().getGroupPrefix(player) + "<"
+ getName(player) + vmc.getInstance().getGroupPrefix(player) +"> ";
if (vConfig.getInstance().FFF()) {
log.log(Level.INFO, "<"+player.getName()+"> "+message);
@ -523,8 +523,8 @@ public class vChat {
public static boolean quakeColors(Player player, String message)
{
//Format the name
String playerName = Colors.White + "<"
+ getName(player) + Colors.White +"> ";
String playerName = vmc.getInstance().getGroupPrefix(player) + "<"
+ getName(player) + vmc.getInstance().getGroupPrefix(player) +"> ";
if(vConfig.getInstance().quakeColors()) {
String color = vUsers.getProfile(player).getColor();

View File

@ -262,6 +262,7 @@ private static HashMap<String, Player> hidden = new HashMap<String, Player>();
{
for (Player p : playerList)
{
if(p != null){
if (vmc.getDistance(InvisiblePlayer, p) <= vConfig.range && p.getUser() != InvisiblePlayer.getUser())
{
p.getUser().a.b(new dv(InvisiblePlayer.getUser().g));
@ -269,6 +270,7 @@ private static HashMap<String, Player> hidden = new HashMap<String, Player>();
}
}
}
}
public static int party(Player player, String[] args){
if(vUsers.getProfile(player).inParty()){
player.sendMessage(Colors.Red + "You are already in a party, use /pquit to leave it");

View File

@ -18,6 +18,7 @@ public class vConfig {
//The feature settings
static boolean toggle = true,
adminChat = false,
groupcoloredbrackets = false,
partyChat = false,
greentext = false,
FFF = false,
@ -81,10 +82,12 @@ public class vConfig {
FileWriter writer = null;
try {
writer = new FileWriter(location);
writer.write("#This plugin is modular\r\n");
writer.append("#This plugin is modular\r\n");
writer.write("#Turn any features you don't want to false and they won't be running\r\n");
writer.write("#If you edit this file and save it, then use /reload it will reload the settings\r\n");
writer.write("#Chat Options\r\n");
writer.write("#Group prefix colors apply to player brackets\r\n");
writer.write("groupcoloredbrackets=true\r\n");
writer.write("#Allows the use of color codes following ^ symbol\r\n");
writer.write("ColoredChat=true\r\n");
writer.write("#Require per player permission for quakecolors\r\n");
@ -168,6 +171,7 @@ public class vConfig {
}
try {
groupcoloredbrackets = properties.getBoolean("groupcoloredbrackets",true);
adminChat = properties.getBoolean("adminchat",true);
partyChat = properties.getBoolean("partychat",true);
playerspawn = properties.getBoolean("playerspawn",true);
@ -229,6 +233,7 @@ public class vConfig {
//Use: Returns if the feature is enabled
//=====================================================================
public boolean adminchat() {return adminChat;}
public boolean groupcoloredbrackets(){return groupcoloredbrackets;}
public boolean partyChat() {return partyChat;}
public boolean adminChatToggle() {return cmdAdminToggle;}
public boolean greentext() {return greentext;}

View File

@ -14,7 +14,7 @@ public class vListener extends PluginListener {
{
if(split.length > 1){
String args = " " + etc.combineSplit(1, split, " ");
vChat.gmsg(server + args);
vChat.gmsg(server + " " + args);
return true;
}
return false;
@ -192,7 +192,7 @@ public class vListener extends PluginListener {
//Then we preceed to check if they are in the same party, the code for this is stored elsewhere
if(vUsers.getProfile(dplayer).inParty()){
//If they are in the same party we tell onDamage to return true stopping the damage code from executing
if(vmc.inSameParty(aplayer, dplayer)){
if(aplayer != null && vmc.inSameParty(aplayer, dplayer)){
return true;
//if they aren't we tell it to return false, making the damage happen
} else{

View File

@ -1,5 +1,12 @@
import java.io.*;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
public class vmc {
private static volatile vmc instance;
protected static final Logger log = Logger.getLogger("Minecraft");
private PropertiesFile properties;
String location = "groups.txt";
//Check if two players are in the same party
public static boolean inSameParty(Player playera, Player playerb){
if(vUsers.getProfile(playera).getParty().equals(vUsers.getProfile(playerb).getParty())){
@ -18,7 +25,7 @@ public class vmc {
public static void sendInvisible(Player player){
for (Player p : etc.getServer().getPlayerList())
{
if (vmc.getDistance(player, p) <= vConfig.range && p.getUser() != player.getUser())
if (getDistance(player, p) <= vConfig.range && p.getUser() != player.getUser())
{
p.getUser().a.b(new dv(player.getUser().g));
}
@ -28,10 +35,42 @@ public class vmc {
public static void sendNotInvisible(Player player){
for (Player p : etc.getServer().getPlayerList())
{
if (vmc.getDistance(player, p) < vConfig.range && p.getUser() != player.getUser())
if (getDistance(player, p) < vConfig.range && p.getUser() != player.getUser())
{
p.getUser().a.b(new d(player.getUser()));
}
}
}
public String getGroupPrefix(Player player){
String groups[] = player.getGroups();
String groupline[] = null;
String prefix = Colors.White;
if(vConfig.getInstance().groupcoloredbrackets()){
//Read the file
properties = new PropertiesFile(location);
try {
properties.load();
} catch (IOException e) {
log.log(Level.SEVERE, "Exception while loading " + location, e);
}
//Grab the line with the same group as the player
if(!groups[0].isEmpty())
groupline = properties.getString(groups[0]).split(":");
//Check if the prefix is null or not
if(groupline[0] != null)
{
//vChat.colorChange(groupline[0].charAt(0));
prefix = groupline[0];
prefix = vChat.colorChange(prefix.charAt(0));
}
}
return prefix;
}
public static vmc getInstance() {
if (instance == null) {
instance = new vmc();
}
return instance;
}
}