Skip to content

Commit b65fe95

Browse files
committed
Simplify Messages#seen
1 parent 81a90e9 commit b65fe95

File tree

2 files changed

+15
-19
lines changed

2 files changed

+15
-19
lines changed

src/main/java/pro/cloudnode/smp/smpcore/Messages.java

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -144,28 +144,27 @@ public Messages() {
144144
.ofNullable(alt.player().getName()).orElse(alt.player().getUniqueId().toString())));
145145
}
146146

147-
public @NotNull Component seenOnline(final @NotNull OfflinePlayer player) {
147+
public @NotNull Component seen(final @NotNull Member member) {
148+
final @NotNull Date lastSeen = new Date(member.player().getLastSeen());
148149
return MiniMessage.miniMessage()
149-
.deserialize(Objects.requireNonNull(config.getString("seen.online")), Placeholder.unparsed("player", Optional
150-
.ofNullable(player.getName()).orElse(player.getUniqueId().toString())));
151-
}
152-
153-
public @NotNull Component seen(final @NotNull Member player, final boolean active, final @NotNull Date lastSeen, final @NotNull Component lastSeenRelative) {
154-
return MiniMessage.miniMessage()
155-
.deserialize(Objects.requireNonNull(config.getString(active ? "seen.active" : "seen.inactive")), Placeholder.unparsed("player", Optional
156-
.ofNullable(player.player().getName())
157-
.orElse(player.uuid.toString())), Formatter.date("last-seen", lastSeen.toInstant()
150+
.deserialize(Objects.requireNonNull(config.getString(member.isActive() ? "seen.active" : "seen.inactive")), Placeholder.unparsed("player", Optional
151+
.ofNullable(member.player().getName())
152+
.orElse(member.uuid.toString())), Formatter.date("last-seen", lastSeen.toInstant()
158153
.atZone(ZoneOffset.UTC)
159-
.toLocalDateTime()), Placeholder.component("last-seen-relative", lastSeenRelative));
154+
.toLocalDateTime()), Placeholder.component("last-seen-relative", SMPCore.relativeTime(lastSeen)));
160155
}
161156

162-
public @NotNull Component seen(final @NotNull OfflinePlayer player, final @NotNull Date lastSeen, final @NotNull Component lastSeenRelative) {
157+
public @NotNull Component seen(final @NotNull OfflinePlayer player) {
158+
if (player.isOnline()) return MiniMessage.miniMessage()
159+
.deserialize(Objects.requireNonNull(config.getString("seen.online")), Placeholder.unparsed("player", Optional
160+
.ofNullable(player.getName()).orElse(player.getUniqueId().toString())));
161+
final @NotNull Date lastSeen = new Date(player.getLastSeen());
163162
return MiniMessage.miniMessage()
164163
.deserialize(Objects.requireNonNull(config.getString("seen.non-member")), Placeholder.unparsed("player", Optional
165164
.ofNullable(player.getName())
166165
.orElse(player.getUniqueId().toString())), Formatter.date("last-seen", lastSeen.toInstant()
167166
.atZone(ZoneOffset.UTC)
168-
.toLocalDateTime()), Placeholder.component("last-seen-relative", lastSeenRelative));
167+
.toLocalDateTime()), Placeholder.component("last-seen-relative", SMPCore.relativeTime(lastSeen)));
169168
}
170169

171170
// errors

src/main/java/pro/cloudnode/smp/smpcore/command/SeenCommand.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import pro.cloudnode.smp.smpcore.Permission;
88
import pro.cloudnode.smp.smpcore.SMPCore;
99

10-
import java.util.Date;
1110
import java.util.List;
1211
import java.util.Optional;
1312

@@ -20,15 +19,13 @@ public boolean run(@NotNull CommandSender sender, @NotNull String label, @NotNul
2019
if (args.length != 1) return sendMessage(sender, SMPCore.messages().usage(label, "<player>"));
2120

2221
final @NotNull OfflinePlayer player = sender.getServer().getOfflinePlayer(args[0]);
23-
if (player.isOnline()) return sendMessage(sender, SMPCore.messages().seenOnline(player));
2422

2523
if (!player.hasPlayedBefore()) return sendMessage(sender, SMPCore.messages().errorNeverJoined(player));
24+
if (player.isOnline()) return sendMessage(sender, SMPCore.messages().seen(player));
2625

2726
final @NotNull Optional<@NotNull Member> member = Member.get(player.getUniqueId());
28-
29-
return member.map(value -> sendMessage(sender, SMPCore.messages()
30-
.seen(value, value.isActive(), new Date(member.get().player().getLastSeen()), SMPCore.relativeTime(new Date(member.get().player().getLastSeen())))))
31-
.orElseGet(() -> sendMessage(sender, SMPCore.messages().seen(player, new Date(player.getLastSeen()), SMPCore.relativeTime(new Date(player.getLastSeen())))));
27+
return member.map(m -> sendMessage(sender, SMPCore.messages().seen(m)))
28+
.orElseGet(() -> sendMessage(sender, SMPCore.messages().seen(player)));
3229
}
3330

3431
@Override

0 commit comments

Comments
 (0)