Party PR Updates.
This commit is contained in:
parent
67a185acc9
commit
96261c1a6d
@ -7,50 +7,19 @@ public class InviteData
|
||||
{
|
||||
|
||||
private String _invitedTo;
|
||||
private String _invitedBy;
|
||||
private long _timeStamp;
|
||||
private long _expires;
|
||||
private String _serverFrom;
|
||||
|
||||
public InviteData(String invitedBy, String invitedTo, long timeStamp, String serverFrom)
|
||||
public InviteData(String invitedTo, String serverFrom)
|
||||
{
|
||||
_invitedBy = invitedBy;
|
||||
_invitedTo = invitedTo;
|
||||
_timeStamp = timeStamp;
|
||||
_expires = timeStamp + 60000;
|
||||
_serverFrom = serverFrom;
|
||||
}
|
||||
|
||||
public long getTimeRemaining()
|
||||
{
|
||||
return _expires - System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public boolean hasExpired()
|
||||
{
|
||||
return System.currentTimeMillis() >= _expires;
|
||||
}
|
||||
|
||||
public String getInvitedTo()
|
||||
{
|
||||
return _invitedTo;
|
||||
}
|
||||
|
||||
public String getInvitedBy()
|
||||
{
|
||||
return _invitedBy;
|
||||
}
|
||||
|
||||
public long getTimeStamp()
|
||||
{
|
||||
return _timeStamp;
|
||||
}
|
||||
|
||||
public long getExpires()
|
||||
{
|
||||
return _expires;
|
||||
}
|
||||
|
||||
public String getServerFrom()
|
||||
{
|
||||
return _serverFrom;
|
||||
|
@ -1,7 +1,6 @@
|
||||
package mineplex.core.party;
|
||||
|
||||
import mineplex.core.common.util.C;
|
||||
import mineplex.core.common.util.F;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
@ -58,45 +57,21 @@ public enum Lang
|
||||
|
||||
public void send(Player player, String... args)
|
||||
{
|
||||
String color = C.mBody;
|
||||
|
||||
if(args.length == 0)
|
||||
{
|
||||
player.sendMessage(F.main("Party", _message));
|
||||
return;
|
||||
}
|
||||
|
||||
if(_message.startsWith("Error:"))
|
||||
{
|
||||
color = C.cRed;
|
||||
}
|
||||
|
||||
int firstIndex = _message.indexOf("{");
|
||||
|
||||
String[] coloredArgs = new String[args.length];
|
||||
|
||||
for(int i = 0; i < args.length; i++)
|
||||
{
|
||||
coloredArgs[i] = C.cYellow + args[i] + color;
|
||||
}
|
||||
|
||||
String message = MessageFormat.format(_message, coloredArgs);
|
||||
|
||||
String coloredRest = message.substring(firstIndex);
|
||||
|
||||
message = color + message.substring(0, firstIndex) + coloredRest;
|
||||
|
||||
player.sendMessage(C.mHead + "Party> " + message);
|
||||
player.sendMessage(C.mHead + "Party> " + getFormatted(args));
|
||||
}
|
||||
|
||||
public void send(Party party, String... args)
|
||||
{
|
||||
party.sendMessage(C.mHead + "Party> " + getFormatted(args));
|
||||
}
|
||||
|
||||
private String getFormatted(String[] args)
|
||||
{
|
||||
String color = C.mBody;
|
||||
|
||||
if(args.length == 0)
|
||||
{
|
||||
party.sendMessage(F.main("Party", _message));
|
||||
return;
|
||||
return _message;
|
||||
}
|
||||
|
||||
if(_message.startsWith("Error:"))
|
||||
@ -118,9 +93,7 @@ public enum Lang
|
||||
String coloredRest = message.substring(firstIndex);
|
||||
|
||||
message = color + message.substring(0, firstIndex) + coloredRest;
|
||||
|
||||
party.sendMessage(C.mHead + "Party> " + message);
|
||||
return message;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -31,14 +31,14 @@ public class Party
|
||||
private transient boolean _alreadyTeamed = false;
|
||||
|
||||
/**
|
||||
* The standard _size for parties, for ALL {@code {@link mineplex.core.common.Rank}}
|
||||
* The standard size for parties, for ALL {@code {@link mineplex.core.common.Rank}}
|
||||
*/
|
||||
private transient final int PARTY_MIN_SIZE = 5;
|
||||
private static final int PARTY_MIN_SIZE = 5;
|
||||
|
||||
/**
|
||||
* An upgrade _size for the party, given to donators and staff.
|
||||
* An upgraded size for the party, given to donators and staff.
|
||||
*/
|
||||
private transient final int PARTY_MAX_SIZE = 10;
|
||||
private static final int PARTY_MAX_SIZE = 10;
|
||||
|
||||
/**
|
||||
* The current leader of this party
|
||||
@ -158,7 +158,8 @@ public class Party
|
||||
}
|
||||
_members.add(player);
|
||||
Lang.ADD_MEMBER.send(this, player);
|
||||
getMembers().stream().forEach(s -> {
|
||||
getMembers().forEach(s ->
|
||||
{
|
||||
Player player1 = Bukkit.getPlayer(s);
|
||||
player1.playSound(player1.getLocation(), Sound.NOTE_PLING, 1.0F, 10.0F);
|
||||
});
|
||||
|
@ -22,7 +22,7 @@ public class PartyCommand extends CommandBase<PartyManager>
|
||||
F.main("Party", "Party Commands (Click the command!)"),
|
||||
help("", "Brings up the Party GUI"),
|
||||
help("<player>", "Send an invitation to a player."),
|
||||
help("leave", "Send an invitation to a player."),
|
||||
help("leave", "Leave your current party."),
|
||||
C.cBlue + "Party> " + C.cWhite + "#<message> " + C.cGray + "- Send a message to your party.",
|
||||
C.cGreenB + "All party functions have been moved to the GUI!",
|
||||
C.cGreenB + "Click the NameTag in your hotbar to get started!"
|
||||
|
@ -8,14 +8,16 @@ import mineplex.core.common.util.F;
|
||||
public enum JoinResponseReason
|
||||
{
|
||||
|
||||
CANNOT_JOIN_FULL(F.main("Party", "Your party cannot join full servers!")),
|
||||
SUCCESS("");
|
||||
CANNOT_JOIN_FULL(F.main("Party", "Your party cannot join full servers!"), "no"),
|
||||
SUCCESS("", "yes");
|
||||
|
||||
private String _message;
|
||||
private String _code;
|
||||
|
||||
JoinResponseReason(String message)
|
||||
JoinResponseReason(String message, String code)
|
||||
{
|
||||
_message = message;
|
||||
_code = code;
|
||||
}
|
||||
|
||||
public String getMessage()
|
||||
@ -23,4 +25,8 @@ public enum JoinResponseReason
|
||||
return _message;
|
||||
}
|
||||
|
||||
public String getCode()
|
||||
{
|
||||
return _code;
|
||||
}
|
||||
}
|
||||
|
@ -5,30 +5,11 @@ package mineplex.core.party.constants;
|
||||
*/
|
||||
public enum PartyRemoveReason
|
||||
{
|
||||
KICKED(1, "kicked"),
|
||||
LEFT(2, "left"),
|
||||
OTHER(3, "other"),
|
||||
DISBANDED(4, "disbanded"),
|
||||
DISBANDED_BY_OWNER(5, "disbandedByOwner"),
|
||||
;
|
||||
KICKED,
|
||||
LEFT,
|
||||
OTHER,
|
||||
DISBANDED,
|
||||
DISBANDED_BY_OWNER,;
|
||||
|
||||
private int _id;
|
||||
private String _name;
|
||||
|
||||
PartyRemoveReason(int id, String name)
|
||||
{
|
||||
_id = id;
|
||||
_name = name;
|
||||
}
|
||||
|
||||
public int getId()
|
||||
{
|
||||
return _id;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return _name;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -209,7 +209,7 @@ public class PartyInviteManager
|
||||
*/
|
||||
public void inviteTo(UUID player, String invitedBy, String party, String server)
|
||||
{
|
||||
addToInvite(player, invitedBy, party, System.currentTimeMillis(), server);
|
||||
addToInvite(player, invitedBy, party, server);
|
||||
_tasks.put(player, new BukkitRunnable()
|
||||
{
|
||||
@Override
|
||||
@ -338,17 +338,16 @@ public class PartyInviteManager
|
||||
* @param invited The invited players UUUD
|
||||
* @param invitedBy The person who invited him
|
||||
* @param party The name of the party invited to
|
||||
* @param currentTime The time which this invite was initiated
|
||||
* @param server The server the request is from
|
||||
*/
|
||||
private void addToInvite(UUID invited, String invitedBy, String party, long currentTime, String server)
|
||||
private void addToInvite(UUID invited, String invitedBy, String party, String server)
|
||||
{
|
||||
List<InviteData> inviteDatas = _activeInvites.get(invited);
|
||||
if (inviteDatas == null)
|
||||
{
|
||||
inviteDatas = Lists.newArrayList();
|
||||
}
|
||||
InviteData inviteData = new InviteData(invitedBy, party, currentTime, server);
|
||||
InviteData inviteData = new InviteData(party, server);
|
||||
inviteDatas.add(inviteData);
|
||||
_invitedBy.put(invited, invitedBy);
|
||||
_activeInvites.put(invited, inviteDatas);
|
||||
|
@ -21,9 +21,6 @@ import java.util.stream.Collectors;
|
||||
public class PartyJoinManager
|
||||
{
|
||||
|
||||
private final String CANNOT_JOIN = "no";
|
||||
private final String CAN_JOIN = "yes";
|
||||
|
||||
private final PartyManager _plugin;
|
||||
private final int _maxPLayers;
|
||||
private final List<UUID> _transferring;
|
||||
@ -74,12 +71,12 @@ public class PartyJoinManager
|
||||
//Max number of people on.
|
||||
if (!canJoinFull)
|
||||
{
|
||||
_plugin.getRedisManager().publish(serverFrom, RedisMessageType.PREJOIN_SERVER_RESPONSE, initiator, JoinResponseReason.CANNOT_JOIN_FULL.name(), CANNOT_JOIN, _plugin.getServerName());
|
||||
_plugin.getRedisManager().publish(serverFrom, RedisMessageType.PREJOIN_SERVER_RESPONSE, initiator, JoinResponseReason.CANNOT_JOIN_FULL.name(), JoinResponseReason.CANNOT_JOIN_FULL.getCode(), _plugin.getServerName());
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
_plugin.getRedisManager().publish(serverFrom, RedisMessageType.PREJOIN_SERVER_RESPONSE, initiator, JoinResponseReason.SUCCESS.name(), CAN_JOIN, _plugin.getServerName());
|
||||
_plugin.getRedisManager().publish(serverFrom, RedisMessageType.PREJOIN_SERVER_RESPONSE, initiator, JoinResponseReason.SUCCESS.name(), JoinResponseReason.SUCCESS.getCode(), _plugin.getServerName());
|
||||
|
||||
}
|
||||
|
||||
@ -103,7 +100,7 @@ public class PartyJoinManager
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (response.equalsIgnoreCase(CANNOT_JOIN))
|
||||
if (response.equalsIgnoreCase(JoinResponseReason.CANNOT_JOIN_FULL.getCode()))
|
||||
{
|
||||
party.sendMessage(reason.getMessage());
|
||||
return;
|
||||
|
@ -95,61 +95,64 @@ public class PartyRedisManager
|
||||
String first = contents[0];
|
||||
String second = contents[1];
|
||||
String third = contents[2];
|
||||
switch (messageType)
|
||||
{
|
||||
case INVITE_PLAYER_REQUEST:
|
||||
_plugin.getInviteManager().handleInviteRequest(second, third, first);
|
||||
break;
|
||||
Bukkit.getScheduler().runTask(_plugin.getPlugin(), () -> {
|
||||
switch (messageType)
|
||||
{
|
||||
case INVITE_PLAYER_REQUEST:
|
||||
_plugin.getInviteManager().handleInviteRequest(second, third, first);
|
||||
break;
|
||||
|
||||
case INVITE_PLAYER_RESPONSE:
|
||||
_plugin.getInviteManager().handleInviteResponse(first, second, UUID.fromString(third), InviteResponse.valueOf(contents[3].toUpperCase()));
|
||||
break;
|
||||
case INVITE_PLAYER_RESPONSE:
|
||||
_plugin.getInviteManager().handleInviteResponse(first, second, UUID.fromString(third), InviteResponse.valueOf(contents[3].toUpperCase()));
|
||||
break;
|
||||
|
||||
case PLAYER_FIND_REQUEST:
|
||||
Player player = Bukkit.getPlayer(second);
|
||||
case PLAYER_FIND_REQUEST:
|
||||
Player player = Bukkit.getPlayer(second);
|
||||
|
||||
if (player == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (player == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
publish(first, RedisMessageType.PLAYER_FIND_RESPONSE, _serverName, player.getName(), player.getUniqueId().toString(), third);
|
||||
break;
|
||||
publish(first, RedisMessageType.PLAYER_FIND_RESPONSE, _serverName, player.getName(), player.getUniqueId().toString(), third);
|
||||
break;
|
||||
|
||||
case PLAYER_FIND_RESPONSE:
|
||||
UUID uuid = UUID.fromString(third);
|
||||
BukkitTask task = TASKS.remove(second);
|
||||
case PLAYER_FIND_RESPONSE:
|
||||
UUID uuid = UUID.fromString(third);
|
||||
BukkitTask task = TASKS.remove(second);
|
||||
|
||||
if (task != null)
|
||||
{
|
||||
task.cancel();
|
||||
}
|
||||
if (task != null)
|
||||
{
|
||||
task.cancel();
|
||||
}
|
||||
|
||||
Player inviter = Bukkit.getPlayerExact(contents[3]);
|
||||
if (_plugin.getInviteManager().isInvitedTo(uuid, inviter.getName()))
|
||||
{
|
||||
Lang.ALREADY_INVITED.send(inviter, second);
|
||||
return;
|
||||
}
|
||||
if (_plugin.getParty(inviter) == null)
|
||||
{
|
||||
Lang.INVITE_SUCCESS_PLAYER.send(inviter, second);
|
||||
} else
|
||||
{
|
||||
Lang.SUCCESS_INVITE.send(_plugin.getParty(inviter), inviter.getName(), second);
|
||||
}
|
||||
_plugin.getInviteManager().inviteTo(uuid, inviter.getName(), inviter.getName(), _plugin.getServerName());
|
||||
publish(first, INVITE_PLAYER_REQUEST, _serverName, inviter.getName(), second);
|
||||
break;
|
||||
Player inviter = Bukkit.getPlayerExact(contents[3]);
|
||||
if (_plugin.getInviteManager().isInvitedTo(uuid, inviter.getName()))
|
||||
{
|
||||
Lang.ALREADY_INVITED.send(inviter, second);
|
||||
return;
|
||||
}
|
||||
if (_plugin.getParty(inviter) == null)
|
||||
{
|
||||
Lang.INVITE_SUCCESS_PLAYER.send(inviter, second);
|
||||
} else
|
||||
{
|
||||
Lang.SUCCESS_INVITE.send(_plugin.getParty(inviter), inviter.getName(), second);
|
||||
}
|
||||
_plugin.getInviteManager().inviteTo(uuid, inviter.getName(), inviter.getName(), _plugin.getServerName());
|
||||
publish(first, INVITE_PLAYER_REQUEST, _serverName, inviter.getName(), second);
|
||||
break;
|
||||
|
||||
case PREJOIN_SERVER_REQUEST:
|
||||
_plugin.getJoinManager().handleJoinRequest(first, Integer.valueOf(third), second, Boolean.valueOf(contents[3]));
|
||||
break;
|
||||
case PREJOIN_SERVER_REQUEST:
|
||||
_plugin.getJoinManager().handleJoinRequest(first, Integer.valueOf(third), second, Boolean.valueOf(contents[3]));
|
||||
break;
|
||||
|
||||
case PREJOIN_SERVER_RESPONSE:
|
||||
_plugin.getJoinManager().handleJoinResponse(first, third, contents[3], JoinResponseReason.valueOf(second.toUpperCase()));
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
case PREJOIN_SERVER_RESPONSE:
|
||||
_plugin.getJoinManager().handleJoinResponse(first, third, contents[3], JoinResponseReason.valueOf(second.toUpperCase()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user