Relates to #2104. Adds user.displayName() as a placeholder option (#2108)

* Relates to #2104. Adds user.displayName() as a placeholder option

* Fix test
This commit is contained in:
tastybento 2023-03-18 10:27:50 -07:00 committed by GitHub
parent 3285ef1ad2
commit ca604f893c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 99 additions and 71 deletions

View File

@ -112,8 +112,8 @@ public class IslandBanCommand extends CompositeCommand {
}
// Event is not cancelled
if (island.ban(issuer.getUniqueId(), target.getUniqueId())) {
issuer.sendMessage("commands.island.ban.player-banned", TextVariables.NAME, target.getName());
target.sendMessage("commands.island.ban.owner-banned-you", TextVariables.NAME, issuer.getName());
issuer.sendMessage("commands.island.ban.player-banned", TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
target.sendMessage("commands.island.ban.owner-banned-you", TextVariables.NAME, issuer.getName(), TextVariables.DISPLAY_NAME, issuer.getDisplayName());
// If the player is online, has an island and on the banned island, move them home immediately
if (target.isOnline() && getIslands().hasIsland(getWorld(), target.getUniqueId()) && island.onIsland(target.getLocation())) {
getIslands().homeTeleportAsync(getWorld(), target.getPlayer());

View File

@ -116,17 +116,17 @@ public class IslandExpelCommand extends CompositeCommand {
return false;
}
target.sendMessage("commands.island.expel.player-expelled-you", TextVariables.NAME, user.getName());
target.sendMessage("commands.island.expel.player-expelled-you", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
island.getWorld().playSound(target.getLocation(), Sound.ENTITY_GENERIC_EXPLODE, 1F, 1F);
if (getIslands().hasIsland(getWorld(), target) || getIslands().inTeam(getWorld(), target.getUniqueId())) {
// Success
user.sendMessage(SUCCESS, TextVariables.NAME, target.getName());
user.sendMessage(SUCCESS, TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
// Teleport home
getIslands().homeTeleportAsync(getWorld(), target.getPlayer());
return true;
} else if (getIslands().getSpawn(getWorld()).isPresent()){
// Success
user.sendMessage(SUCCESS, TextVariables.NAME, target.getName());
user.sendMessage(SUCCESS, TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
getIslands().spawnTeleport(getWorld(), target.getPlayer());
return true;
} else if (getIWM().getAddon(getWorld())
@ -136,7 +136,7 @@ public class IslandExpelCommand extends CompositeCommand {
.orElse(false)
&& target.performCommand(this.getTopLabel() + " create")) {
getAddon().logWarning("Expel: " + target.getName() + " had no island, so one was created");
user.sendMessage(SUCCESS, TextVariables.NAME, target.getName());
user.sendMessage(SUCCESS, TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
return true;
}

View File

@ -94,8 +94,8 @@ public class IslandUnbanCommand extends CompositeCommand {
}
// Event is not cancelled
if (island.unban(user.getUniqueId(), target.getUniqueId())) {
user.sendMessage("commands.island.unban.player-unbanned", TextVariables.NAME, target.getName());
target.sendMessage("commands.island.unban.you-are-unbanned", TextVariables.NAME, user.getName());
user.sendMessage("commands.island.unban.player-unbanned", TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
target.sendMessage("commands.island.unban.you-are-unbanned", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
// Set cooldown
if (getSettings().getBanCooldown() > 0 && getParent() != null) {
getParent().getSubCommand("ban").ifPresent(subCommand ->

View File

@ -105,8 +105,8 @@ public class IslandTeamCoopCommand extends CompositeCommand {
}
island.setRank(target, RanksManager.COOP_RANK);
user.sendMessage("commands.island.team.coop.success", TextVariables.NAME, target.getName());
target.sendMessage("commands.island.team.coop.you-are-a-coop-member", TextVariables.NAME, user.getName());
user.sendMessage("commands.island.team.coop.success", TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
target.sendMessage("commands.island.team.coop.you-are-a-coop-member", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
}
return true;
} else {

View File

@ -111,10 +111,10 @@ public class IslandTeamInviteAcceptCommand extends ConfirmableCommand {
.rankChange(island.getRank(user), RanksManager.TRUSTED_RANK)
.build();
if (inviter.isOnline()) {
inviter.sendMessage("commands.island.team.trust.success", TextVariables.NAME, user.getName());
inviter.sendMessage("commands.island.team.trust.success", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
}
if (inviter.isPlayer()) {
user.sendMessage("commands.island.team.trust.you-are-trusted", TextVariables.NAME, inviter.getName());
user.sendMessage("commands.island.team.trust.you-are-trusted", TextVariables.NAME, inviter.getName(), TextVariables.DISPLAY_NAME, inviter.getDisplayName());
}
}
}
@ -138,10 +138,10 @@ public class IslandTeamInviteAcceptCommand extends ConfirmableCommand {
.rankChange(island.getRank(user), RanksManager.COOP_RANK)
.build();
if (inviter.isOnline()) {
inviter.sendMessage("commands.island.team.coop.success", TextVariables.NAME, user.getName());
inviter.sendMessage("commands.island.team.coop.success", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
}
if (inviter.isPlayer()) {
user.sendMessage("commands.island.team.coop.you-are-a-coop-member", TextVariables.NAME, inviter.getName());
user.sendMessage("commands.island.team.coop.you-are-a-coop-member", TextVariables.NAME, inviter.getName(), TextVariables.DISPLAY_NAME, inviter.getDisplayName());
}
}
}
@ -188,7 +188,7 @@ public class IslandTeamInviteAcceptCommand extends ConfirmableCommand {
user.sendMessage("commands.island.team.invite.accept.you-joined-island", TextVariables.LABEL, getTopLabel());
User inviter = User.getInstance(invite.getInviter());
if (inviter.isOnline()) {
inviter.sendMessage("commands.island.team.invite.accept.name-joined-your-island", TextVariables.NAME, user.getName());
inviter.sendMessage("commands.island.team.invite.accept.name-joined-your-island", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
}
getIslands().save(teamIsland);
// Fire event

View File

@ -129,9 +129,9 @@ public class IslandTeamInviteCommand extends CompositeCommand {
// Put the invited player (key) onto the list with inviter (value)
// If someone else has invited a player, then this invite will overwrite the previous invite!
itc.addInvite(Invite.Type.TEAM, user.getUniqueId(), invitedPlayer.getUniqueId());
user.sendMessage("commands.island.team.invite.invitation-sent", TextVariables.NAME, invitedPlayer.getName());
user.sendMessage("commands.island.team.invite.invitation-sent", TextVariables.NAME, invitedPlayer.getName(), TextVariables.DISPLAY_NAME, invitedPlayer.getDisplayName());
// Send message to online player
invitedPlayer.sendMessage("commands.island.team.invite.name-has-invited-you", TextVariables.NAME, user.getName());
invitedPlayer.sendMessage("commands.island.team.invite.name-has-invited-you", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
invitedPlayer.sendMessage("commands.island.team.invite.to-accept-or-reject", TextVariables.LABEL, getTopLabel());
if (getIslands().hasIsland(getWorld(), invitedPlayer.getUniqueId())) {
invitedPlayer.sendMessage("commands.island.team.invite.you-will-lose-your-island");

View File

@ -42,9 +42,9 @@ public class IslandTeamInviteRejectCommand extends CompositeCommand {
}
Optional.ofNullable(itc.getInviter(playerUUID))
.map(User::getInstance)
.ifPresent(inviter ->
inviter.sendMessage("commands.island.team.invite.reject.name-rejected-your-invite", TextVariables.NAME, user.getName())
.map(User::getInstance)
.ifPresent(inviter ->
inviter.sendMessage("commands.island.team.invite.reject.name-rejected-your-invite", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName())
);
// Remove this player from the global invite list

View File

@ -70,11 +70,11 @@ public class IslandTeamKickCommand extends ConfirmableCommand {
int targetRank = Objects.requireNonNull(island).getRank(targetUUID);
if (rank <= targetRank) {
user.sendMessage("commands.island.team.kick.cannot-kick-rank",
TextVariables.NAME, getPlayers().getName(targetUUID));
user.sendMessage("commands.island.team.kick.cannot-kick-rank",
TextVariables.NAME, getPlayers().getName(targetUUID));
return false;
}
if (!getSettings().isKickConfirmation()) {
kick(user, targetUUID);
return true;
@ -96,15 +96,15 @@ public class IslandTeamKickCommand extends ConfirmableCommand {
if (event.isCancelled()) {
return;
}
target.sendMessage("commands.island.team.kick.player-kicked",
TextVariables.GAMEMODE, getAddon().getDescription().getName(),
TextVariables.NAME, user.getName());
target.sendMessage("commands.island.team.kick.player-kicked",
TextVariables.GAMEMODE, getAddon().getDescription().getName(),
TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
getIslands().removePlayer(getWorld(), targetUUID);
// Clean the target player
getPlayers().cleanLeavingPlayer(getWorld(), target, true, oldIsland);
user.sendMessage("commands.island.team.kick.success", TextVariables.NAME, target.getName());
user.sendMessage("commands.island.team.kick.success", TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
IslandEvent.builder()
.island(oldIsland)
.involvedPlayer(user.getUniqueId())

View File

@ -78,7 +78,7 @@ public class IslandTeamLeaveCommand extends ConfirmableCommand {
}
UUID ownerUUID = getIslands().getOwner(getWorld(), user.getUniqueId());
if (ownerUUID != null) {
User.getInstance(ownerUUID).sendMessage("commands.island.team.leave.left-your-island", TextVariables.NAME, user.getName());
User.getInstance(ownerUUID).sendMessage("commands.island.team.leave.left-your-island", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
}
getIslands().setLeaveTeam(getWorld(), user.getUniqueId());
// Clean the player

View File

@ -82,7 +82,7 @@ public class IslandTeamPromoteCommand extends CompositeCommand {
if (nextRank != RanksManager.OWNER_RANK && nextRank > currentRank) {
getIslands().getIsland(getWorld(), user.getUniqueId()).setRank(target, nextRank);
String rankName = user.getTranslation(getPlugin().getRanksManager().getRank(nextRank));
user.sendMessage("commands.island.team.promote.success", TextVariables.NAME, target.getName(), TextVariables.RANK, rankName);
user.sendMessage("commands.island.team.promote.success", TextVariables.NAME, target.getName(), TextVariables.RANK, rankName, TextVariables.DISPLAY_NAME, target.getDisplayName());
IslandEvent.builder()
.island(island)
.involvedPlayer(user.getUniqueId())
@ -102,7 +102,7 @@ public class IslandTeamPromoteCommand extends CompositeCommand {
if (prevRank >= RanksManager.MEMBER_RANK && prevRank < currentRank) {
getIslands().getIsland(getWorld(), user.getUniqueId()).setRank(target, prevRank);
String rankName = user.getTranslation(getPlugin().getRanksManager().getRank(prevRank));
user.sendMessage("commands.island.team.demote.success", TextVariables.NAME, target.getName(), TextVariables.RANK, rankName);
user.sendMessage("commands.island.team.demote.success", TextVariables.NAME, target.getName(), TextVariables.RANK, rankName, TextVariables.DISPLAY_NAME, target.getDisplayName());
IslandEvent.builder()
.island(island)
.involvedPlayer(user.getUniqueId())

View File

@ -96,9 +96,9 @@ public class IslandTeamTrustCommand extends CompositeCommand {
// Put the invited player (key) onto the list with inviter (value)
// If someone else has invited a player, then this invite will overwrite the previous invite!
itc.addInvite(Type.TRUST, user.getUniqueId(), target.getUniqueId());
user.sendMessage("commands.island.team.invite.invitation-sent", TextVariables.NAME, target.getName());
user.sendMessage("commands.island.team.invite.invitation-sent", TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
// Send message to online player
target.sendMessage("commands.island.team.trust.name-has-invited-you", TextVariables.NAME, user.getName());
target.sendMessage("commands.island.team.trust.name-has-invited-you", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
target.sendMessage("commands.island.team.invite.to-accept-or-reject", TextVariables.LABEL, getTopLabel());
} else {
if (island.getMemberSet(RanksManager.TRUSTED_RANK, false).size() >= getIslands().getMaxMembers(island, RanksManager.TRUSTED_RANK)) {
@ -107,8 +107,8 @@ public class IslandTeamTrustCommand extends CompositeCommand {
}
island.setRank(target, RanksManager.TRUSTED_RANK);
user.sendMessage("commands.island.team.trust.success", TextVariables.NAME, target.getName());
target.sendMessage("commands.island.team.trust.you-are-trusted", TextVariables.NAME, user.getName());
user.sendMessage("commands.island.team.trust.success", TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
target.sendMessage("commands.island.team.trust.you-are-trusted", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
}
return true;
} else {

View File

@ -84,8 +84,8 @@ public class IslandTeamUncoopCommand extends CompositeCommand {
Island island = getIslands().getIsland(getWorld(), user.getUniqueId());
if (island != null) {
island.removeMember(targetUUID);
user.sendMessage("commands.island.team.uncoop.success", TextVariables.NAME, target.getName());
target.sendMessage("commands.island.team.uncoop.you-are-no-longer-a-coop-member", TextVariables.NAME, user.getName());
user.sendMessage("commands.island.team.uncoop.success", TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
target.sendMessage("commands.island.team.uncoop.you-are-no-longer-a-coop-member", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
// Set cooldown
if (getSettings().getCoopCooldown() > 0 && getParent() != null) {
getParent().getSubCommand("coop").ifPresent(subCommand ->

View File

@ -84,8 +84,8 @@ public class IslandTeamUntrustCommand extends CompositeCommand {
Island island = getIslands().getIsland(getWorld(), user.getUniqueId());
if (island != null) {
island.removeMember(targetUUID);
user.sendMessage("commands.island.team.untrust.success", TextVariables.NAME, target.getName());
target.sendMessage("commands.island.team.untrust.you-are-no-longer-trusted", TextVariables.NAME, user.getName());
user.sendMessage("commands.island.team.untrust.success", TextVariables.NAME, target.getName(), TextVariables.DISPLAY_NAME, target.getDisplayName());
target.sendMessage("commands.island.team.untrust.you-are-no-longer-trusted", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
// Set cooldown
if (getSettings().getTrustCooldown() > 0 && getParent() != null) {
getParent().getSubCommand("trust").ifPresent(subCommand ->

View File

@ -9,6 +9,7 @@ public class TextVariables {
private TextVariables() {}
public static final String NAME = "[name]";
public static final String DISPLAY_NAME = "[display_name]";
public static final String DESCRIPTION = "[description]";
public static final String NUMBER = "[number]";
public static final String RANK = "[rank]";

View File

@ -230,6 +230,16 @@ public class User implements MetaDataAble {
return player != null ? player.getName() : plugin.getPlayers().getName(playerUUID);
}
/**
* Get the user's display name
* @return player's display name if the player is online otherwise just their name
* @since 1.22.1
*/
@NonNull
public String getDisplayName() {
return player != null ? player.getDisplayName() : plugin.getPlayers().getName(playerUUID);
}
/**
* Check if the User is a player before calling this method. {@link #isPlayer()}
* @return the player
@ -353,7 +363,7 @@ public class User implements MetaDataAble {
if (permissions.isEmpty()) return defaultValue;
return iteratePerms(permissions, permPrefix, defaultValue);
}
private int iteratePerms(List<String> permissions, String permPrefix, int defaultValue) {
@ -474,7 +484,7 @@ public class User implements MetaDataAble {
}
private String replaceVars(String reference, String[] variables) {
// Then replace variables
if (variables.length > 1) {
for (int i = 0; i < variables.length; i += 2) {
@ -486,7 +496,7 @@ public class User implements MetaDataAble {
if (player != null) {
reference = plugin.getPlaceholdersManager().replacePlaceholders(player, reference);
}
// If no translation has been found, return the reference for debug purposes.
return reference;
}

View File

@ -104,6 +104,7 @@ public class IslandBanCommandTest {
when(user.getUniqueId()).thenReturn(uuid);
when(user.getPlayer()).thenReturn(p);
when(user.getName()).thenReturn("tastybento");
when(user.getDisplayName()).thenReturn("&Ctastybento");
when(user.getPermissionValue(anyString(), anyInt())).thenReturn(-1);
when(user.getTranslation(any())).thenAnswer(invocation -> invocation.getArgument(0, String.class));
@ -157,6 +158,7 @@ public class IslandBanCommandTest {
UUID uuid = UUID.randomUUID();
when(pm.getUUID(anyString())).thenReturn(uuid);
when(targetPlayer.getName()).thenReturn("bill");
when(targetPlayer.getDisplayName()).thenReturn("&Cbill");
when(targetPlayer.getUniqueId()).thenReturn(uuid);
when(targetPlayer.isOp()).thenReturn(false);
when(targetPlayer.isOnline()).thenReturn(true);
@ -278,7 +280,7 @@ public class IslandBanCommandTest {
when(island.ban(any(), any())).thenReturn(true);
// Run execute
assertTrue(ibc.execute(user, ibc.getLabel(), Collections.singletonList("bill")));
verify(user).sendMessage("commands.island.ban.player-banned", "[name]", "bill");
verify(user).sendMessage("commands.island.ban.player-banned", TextVariables.NAME, "bill", TextVariables.DISPLAY_NAME, "&Cbill");
verify(targetPlayer).sendMessage("commands.island.ban.owner-banned-you");
}
@ -290,7 +292,7 @@ public class IslandBanCommandTest {
when(island.ban(any(), any())).thenReturn(true);
assertTrue(ibc.execute(user, ibc.getLabel(), Collections.singletonList("bill")));
verify(user).sendMessage("commands.island.ban.player-banned", "[name]", "bill");
verify(user).sendMessage("commands.island.ban.player-banned", TextVariables.NAME, "bill", TextVariables.DISPLAY_NAME, "&Cbill");
verify(targetPlayer).sendMessage("commands.island.ban.owner-banned-you");
}
@ -302,7 +304,7 @@ public class IslandBanCommandTest {
when(island.ban(any(), any())).thenReturn(false);
assertFalse(ibc.execute(user, ibc.getLabel(), Collections.singletonList("bill")));
verify(user, never()).sendMessage("commands.island.ban.player-banned", TextVariables.NAME, targetPlayer.getName());
verify(user, never()).sendMessage("commands.island.ban.player-banned", TextVariables.NAME, targetPlayer.getName(), TextVariables.DISPLAY_NAME, targetPlayer.getDisplayName());
verify(targetPlayer, never()).sendMessage("commands.island.ban.owner-banned-you");
}

View File

@ -111,6 +111,7 @@ public class IslandExpelCommandTest {
when(p.getServer()).thenReturn(server);
when(user.getPlayer()).thenReturn(p);
when(user.getName()).thenReturn("tastybento");
when(user.getDisplayName()).thenReturn("&Ctastybento");
when(user.getTranslation(any())).thenAnswer(invocation -> invocation.getArgument(0, String.class));
// Parent command has no aliases
@ -365,6 +366,7 @@ public class IslandExpelCommandTest {
when(t.getLocation()).thenReturn(mock(Location.class));
when(t.performCommand(anyString())).thenReturn(true);
when(t.getName()).thenReturn("target");
when(t.getDisplayName()).thenReturn("&Ctarget");
when(t.getServer()).thenReturn(server);
when(server.getOnlinePlayers()).thenReturn(Collections.emptySet());
User.getInstance(t);
@ -381,7 +383,7 @@ public class IslandExpelCommandTest {
public void testExecuteUserStringListOfStringHasIsland() {
testCanExecute();
assertTrue(iec.execute(user, "", Collections.singletonList("tasty")));
verify(user).sendMessage("commands.island.expel.success", TextVariables.NAME, "target");
verify(user).sendMessage("commands.island.expel.success", TextVariables.NAME, "target", TextVariables.DISPLAY_NAME, "&Ctarget");
verify(im).homeTeleportAsync(any(), any());
}
@ -395,7 +397,7 @@ public class IslandExpelCommandTest {
testCanExecute();
when(im.hasIsland(any(), any(User.class))).thenReturn(false);
assertTrue(iec.execute(user, "", Collections.singletonList("tasty")));
verify(user).sendMessage("commands.island.expel.success", TextVariables.NAME, "target");
verify(user).sendMessage("commands.island.expel.success", TextVariables.NAME, "target", TextVariables.DISPLAY_NAME, "&Ctarget");
verify(im).spawnTeleport(any(), any());
}
@ -415,7 +417,7 @@ public class IslandExpelCommandTest {
testCanExecute();
when(im.hasIsland(any(), any(User.class))).thenReturn(false);
assertTrue(iec.execute(user, "", Collections.singletonList("tasty")));
verify(user).sendMessage("commands.island.expel.success", TextVariables.NAME, "target");
verify(user).sendMessage("commands.island.expel.success", TextVariables.NAME, "target", TextVariables.DISPLAY_NAME, "&Ctarget");
verify(addon).logWarning(eq("Expel: target had no island, so one was created"));
}

View File

@ -92,6 +92,7 @@ public class IslandUnbanCommandTest {
when(user.getUniqueId()).thenReturn(uuid);
when(user.getPlayer()).thenReturn(p);
when(user.getName()).thenReturn("tastybento");
when(user.getDisplayName()).thenReturn("&Ctastybento");
when(user.getTranslation(any())).thenAnswer(invocation -> invocation.getArgument(0, String.class));
// Parent command has no aliases
@ -240,6 +241,8 @@ public class IslandUnbanCommandTest {
when(targetUser.isOp()).thenReturn(false);
when(targetUser.isPlayer()).thenReturn(true);
when(targetUser.isOnline()).thenReturn(false);
when(targetUser.getName()).thenReturn("target");
when(targetUser.getDisplayName()).thenReturn("&Ctarget");
when(User.getInstance(any(UUID.class))).thenReturn(targetUser);
// Mark as banned
when(island.isBanned(eq(targetUUID))).thenReturn(true);
@ -248,8 +251,8 @@ public class IslandUnbanCommandTest {
when(island.unban(any(), any())).thenReturn(true);
assertTrue(iubc.canExecute(user, iubc.getLabel(), Collections.singletonList("bill")));
assertTrue(iubc.execute(user, iubc.getLabel(), Collections.singletonList("bill")));
verify(user).sendMessage("commands.island.unban.player-unbanned", TextVariables.NAME, targetUser.getName());
verify(targetUser).sendMessage("commands.island.unban.you-are-unbanned", TextVariables.NAME, user.getName());
verify(user).sendMessage("commands.island.unban.player-unbanned", TextVariables.NAME, targetUser.getName(), TextVariables.DISPLAY_NAME, targetUser.getDisplayName());
verify(targetUser).sendMessage("commands.island.unban.you-are-unbanned", TextVariables.NAME, user.getName(), TextVariables.DISPLAY_NAME, user.getDisplayName());
}
/**

View File

@ -95,6 +95,7 @@ public class IslandTeamCoopCommandTest {
when(user.getUniqueId()).thenReturn(uuid);
when(user.getPlayer()).thenReturn(p);
when(user.getName()).thenReturn("tastybento");
when(user.getDisplayName()).thenReturn("&Ctastybento");
when(user.getTranslation(any())).thenAnswer(invocation -> invocation.getArgument(0, String.class));
User.setPlugin(plugin);
@ -304,6 +305,8 @@ public class IslandTeamCoopCommandTest {
public void testExecuteSuccess() {
Player p = mock(Player.class);
when(p.getUniqueId()).thenReturn(notUUID);
when(p.getName()).thenReturn("target");
when(p.getDisplayName()).thenReturn("&Ctarget");
User target = User.getInstance(p);
// Can execute
when(pm.getUUID(any())).thenReturn(notUUID);
@ -315,7 +318,7 @@ public class IslandTeamCoopCommandTest {
// Execute
when(im.getIsland(any(), any(UUID.class))).thenReturn(island);
assertTrue(itl.execute(user, itl.getLabel(), Collections.singletonList("tastybento")));
verify(user).sendMessage("commands.island.team.coop.success", TextVariables.NAME, null);
verify(user).sendMessage("commands.island.team.coop.success", TextVariables.NAME, "target", TextVariables.DISPLAY_NAME, "&Ctarget");
verify(island).setRank(target, RanksManager.COOP_RANK);
}
}

View File

@ -101,6 +101,7 @@ public class IslandTeamInviteCommandTest {
when(user.getUniqueId()).thenReturn(uuid);
when(user.getPlayer()).thenReturn(p);
when(user.getName()).thenReturn("tastybento");
when(user.getDisplayName()).thenReturn("&Ctastbento");
when(user.isOnline()).thenReturn(true);
// Permission to invite 3 more players
when(user.getPermissionValue(anyString(), anyInt())).thenReturn(3);
@ -116,6 +117,7 @@ public class IslandTeamInviteCommandTest {
when(target.getPlayer()).thenReturn(p);
when(target.isOnline()).thenReturn(true);
when(target.getName()).thenReturn("target");
when(target.getDisplayName()).thenReturn("&Ctarget");
when(User.getInstance(eq(notUUID))).thenReturn(target);
@ -297,10 +299,10 @@ public class IslandTeamInviteCommandTest {
verify(pim).callEvent(any(IslandBaseEvent.class));
verify(user, never()).sendMessage(eq("commands.island.team.invite.removing-invite"));
verify(ic).addInvite(eq(Invite.Type.TEAM), eq(uuid), eq(notUUID));
verify(user).sendMessage(eq("commands.island.team.invite.invitation-sent"), eq(TextVariables.NAME), eq("target"));
verify(target).sendMessage(eq("commands.island.team.invite.name-has-invited-you"), eq(TextVariables.NAME), eq("tastybento"));
verify(target).sendMessage(eq("commands.island.team.invite.to-accept-or-reject"), eq(TextVariables.LABEL), eq("island"));
verify(target).sendMessage(eq("commands.island.team.invite.you-will-lose-your-island"));
verify(user).sendMessage("commands.island.team.invite.invitation-sent", TextVariables.NAME, "target", TextVariables.DISPLAY_NAME, "&Ctarget");
verify(target).sendMessage("commands.island.team.invite.name-has-invited-you", TextVariables.NAME, "tastybento", TextVariables.DISPLAY_NAME, "&Ctastbento");
verify(target).sendMessage("commands.island.team.invite.to-accept-or-reject", TextVariables.LABEL, "island");
verify(target).sendMessage("commands.island.team.invite.you-will-lose-your-island");
}
@ -312,12 +314,12 @@ public class IslandTeamInviteCommandTest {
testCanExecuteSuccess();
assertTrue(itl.execute(user, itl.getLabel(), Collections.singletonList("target")));
verify(pim).callEvent(any(IslandBaseEvent.class));
verify(user, never()).sendMessage(eq("commands.island.team.invite.removing-invite"));
verify(ic).addInvite(eq(Invite.Type.TEAM), eq(uuid), eq(notUUID));
verify(user).sendMessage(eq("commands.island.team.invite.invitation-sent"), eq(TextVariables.NAME), eq("target"));
verify(target).sendMessage(eq("commands.island.team.invite.name-has-invited-you"), eq(TextVariables.NAME), eq("tastybento"));
verify(target).sendMessage(eq("commands.island.team.invite.to-accept-or-reject"), eq(TextVariables.LABEL), eq("island"));
verify(target, never()).sendMessage(eq("commands.island.team.invite.you-will-lose-your-island"));
verify(user, never()).sendMessage("commands.island.team.invite.removing-invite");
verify(ic).addInvite(Invite.Type.TEAM, uuid, notUUID);
verify(user).sendMessage("commands.island.team.invite.invitation-sent", TextVariables.NAME, "target", TextVariables.DISPLAY_NAME, "&Ctarget");
verify(target).sendMessage("commands.island.team.invite.name-has-invited-you", TextVariables.NAME, "tastybento", TextVariables.DISPLAY_NAME, "&Ctastbento");
verify(target).sendMessage("commands.island.team.invite.to-accept-or-reject", TextVariables.LABEL, "island");
verify(target, never()).sendMessage("commands.island.team.invite.you-will-lose-your-island");
}
@ -328,16 +330,16 @@ public class IslandTeamInviteCommandTest {
public void testExecuteTargetAlreadyInvited() {
testCanExecuteSuccess();
when(ic.isInvited(eq(notUUID))).thenReturn(true);
when(ic.isInvited(notUUID)).thenReturn(true);
// Set up invite
when(ic.getInviter(eq(notUUID))).thenReturn(uuid);
when(ic.getInviter(notUUID)).thenReturn(uuid);
Invite invite = mock(Invite.class);
when(invite.getType()).thenReturn(Type.TEAM);
when(ic.getInvite(eq(notUUID))).thenReturn(invite);
when(ic.getInvite(notUUID)).thenReturn(invite);
assertTrue(itl.execute(user, itl.getLabel(), Collections.singletonList("target")));
verify(pim).callEvent(any(IslandBaseEvent.class));
verify(ic).removeInvite(eq(notUUID));
verify(user).sendMessage(eq("commands.island.team.invite.removing-invite"));
verify(ic).removeInvite(notUUID);
verify(user).sendMessage("commands.island.team.invite.removing-invite");
}
}

View File

@ -113,11 +113,13 @@ public class IslandTeamKickCommandTest {
when(target.getUniqueId()).thenReturn(notUUID);
when(target.isOnline()).thenReturn(true);
when(target.getName()).thenReturn("poslovitch");
when(target.getDisplayName()).thenReturn("&Cposlovich");
// Set the target user
User.getInstance(target);
when(user.getUniqueId()).thenReturn(uuid);
when(user.getPlayer()).thenReturn(player);
when(user.getName()).thenReturn("tastybento");
when(user.getDisplayName()).thenReturn("&Ctastybento");
when(user.getTranslation(any())).thenAnswer(invocation -> invocation.getArgument(0, String.class));
User.setPlugin(plugin);
@ -263,7 +265,7 @@ public class IslandTeamKickCommandTest {
IslandTeamKickCommand itl = new IslandTeamKickCommand(ic);
assertTrue(itl.execute(user, itl.getLabel(), Collections.singletonList("poslovitch")));
verify(im).removePlayer(any(), eq(notUUID));
verify(user).sendMessage("commands.island.team.kick.success", TextVariables.NAME, "poslovitch");
verify(user).sendMessage("commands.island.team.kick.success", TextVariables.NAME, "poslovitch", TextVariables.DISPLAY_NAME, "&Cposlovich");
}
/**
@ -353,7 +355,7 @@ public class IslandTeamKickCommandTest {
IslandTeamKickCommand itl = new IslandTeamKickCommand(ic);
assertTrue(itl.execute(user, itl.getLabel(), Collections.singletonList("poslovitch")));
verify(im).removePlayer(any(), eq(notUUID));
verify(user).sendMessage("commands.island.team.kick.success", TextVariables.NAME, "poslovitch");
verify(user).sendMessage("commands.island.team.kick.success", TextVariables.NAME, "poslovitch", TextVariables.DISPLAY_NAME, "&Cposlovich");
}
/**
@ -375,7 +377,7 @@ public class IslandTeamKickCommandTest {
IslandTeamKickCommand itl = new IslandTeamKickCommand(ic);
assertTrue(itl.execute(user, itl.getLabel(), Collections.singletonList("poslovitch")));
verify(im).removePlayer(any(), eq(notUUID));
verify(user).sendMessage("commands.island.team.kick.success", TextVariables.NAME, "poslovitch");
verify(user).sendMessage("commands.island.team.kick.success", TextVariables.NAME, "poslovitch", TextVariables.DISPLAY_NAME, "&Cposlovich");
verify(target, Mockito.never()).getInventory();
}
@ -403,7 +405,7 @@ public class IslandTeamKickCommandTest {
IslandTeamKickCommand itl = new IslandTeamKickCommand(ic);
assertTrue(itl.execute(user, itl.getLabel(), Collections.singletonList("poslovitch")));
verify(im).removePlayer(any(), eq(notUUID));
verify(user).sendMessage("commands.island.team.kick.success", TextVariables.NAME, "poslovitch");
verify(user).sendMessage("commands.island.team.kick.success", TextVariables.NAME, "poslovitch", TextVariables.DISPLAY_NAME, "&Cposlovich");
verify(target, Mockito.never()).getInventory();
verify(pm).cleanLeavingPlayer(any(), any(User.class), eq(true), eq(island));
}

View File

@ -100,11 +100,13 @@ public class IslandTeamTrustCommandTest {
when(user.getUniqueId()).thenReturn(uuid);
when(user.getPlayer()).thenReturn(p);
when(user.getName()).thenReturn("tastybento");
when(user.getDisplayName()).thenReturn("&Ctastybento");
when(user.getTranslation(any())).thenAnswer(invocation -> invocation.getArgument(0, String.class));
User.setPlugin(plugin);
// Target player
when(targetPlayer.getUniqueId()).thenReturn(notUUID);
when(targetPlayer.getName()).thenReturn("target");
when(targetPlayer.getDisplayName()).thenReturn("&Cposlovich");
User.getInstance(targetPlayer);
// Parent command has no aliases
@ -311,7 +313,7 @@ public class IslandTeamTrustCommandTest {
// Execute
when(im.getIsland(any(), Mockito.any(UUID.class))).thenReturn(island);
assertTrue(itl.execute(user, itl.getLabel(), Collections.singletonList("target")));
verify(user).sendMessage(eq("commands.island.team.trust.success"), eq(TextVariables.NAME), eq("target"));
verify(user).sendMessage("commands.island.team.trust.success", TextVariables.NAME, "target", TextVariables.DISPLAY_NAME, "&Cposlovich");
verify(island).setRank(target, RanksManager.TRUSTED_RANK);
verify(targetPlayer).sendMessage("commands.island.team.trust.you-are-trusted");
}
@ -333,7 +335,7 @@ public class IslandTeamTrustCommandTest {
// Execute
when(im.getIsland(any(), Mockito.any(UUID.class))).thenReturn(island);
assertTrue(itl.execute(user, itl.getLabel(), Collections.singletonList("target")));
verify(user).sendMessage(eq("commands.island.team.invite.invitation-sent"), eq(TextVariables.NAME), eq("target"));
verify(user).sendMessage("commands.island.team.invite.invitation-sent", TextVariables.NAME, "target", TextVariables.DISPLAY_NAME, "&Cposlovich");
// Send message to online player
verify(targetPlayer).sendMessage(eq("commands.island.team.trust.name-has-invited-you"));
verify(targetPlayer).sendMessage(eq("commands.island.team.invite.to-accept-or-reject"));

View File

@ -90,6 +90,7 @@ public class IslandTeamUntrustCommandTest {
when(user.getUniqueId()).thenReturn(uuid);
when(user.getPlayer()).thenReturn(p);
when(user.getName()).thenReturn("tastybento");
when(user.getDisplayName()).thenReturn("&Ctastybento");
when(user.getTranslation(any())).thenAnswer(invocation -> invocation.getArgument(0, String.class));
User.setPlugin(plugin);