mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-08-04 19:46:27 +00:00
Add last-message-reply-recipient-timeout setting for timing out reply-recipient in private messaging.
This commit is contained in:
parent
2d376bc72f
commit
ca387687a5
4 changed files with 16 additions and 1 deletions
|
@ -231,4 +231,6 @@ public interface ISettings extends IConf {
|
||||||
boolean isLastMessageReplyRecipient();
|
boolean isLastMessageReplyRecipient();
|
||||||
|
|
||||||
BigDecimal getMinimumPayAmount();
|
BigDecimal getMinimumPayAmount();
|
||||||
|
|
||||||
|
long getLastMessageReplyRecipientTimeout();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1125,4 +1125,8 @@ public class Settings implements net.ess3.api.ISettings {
|
||||||
@Override public BigDecimal getMinimumPayAmount() {
|
@Override public BigDecimal getMinimumPayAmount() {
|
||||||
return new BigDecimal(config.getString("minimum-pay-amount", "0.001"));
|
return new BigDecimal(config.getString("minimum-pay-amount", "0.001"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override public long getLastMessageReplyRecipientTimeout() {
|
||||||
|
return config.getLong("last-message-reply-recipient-timeout", 180);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,7 @@ public class SimpleMessageRecipient implements IMessageRecipient {
|
||||||
private final IEssentials ess;
|
private final IEssentials ess;
|
||||||
private final IMessageRecipient parent;
|
private final IMessageRecipient parent;
|
||||||
|
|
||||||
|
private long lastMessageMs;
|
||||||
private WeakReference<IMessageRecipient> replyRecipient;
|
private WeakReference<IMessageRecipient> replyRecipient;
|
||||||
|
|
||||||
public SimpleMessageRecipient(IEssentials ess, IMessageRecipient parent) {
|
public SimpleMessageRecipient(IEssentials ess, IMessageRecipient parent) {
|
||||||
|
@ -103,12 +104,15 @@ public class SimpleMessageRecipient implements IMessageRecipient {
|
||||||
if (ess.getSettings().isLastMessageReplyRecipient()) {
|
if (ess.getSettings().isLastMessageReplyRecipient()) {
|
||||||
// If this recipient doesn't have a reply recipient, initiate by setting the first
|
// If this recipient doesn't have a reply recipient, initiate by setting the first
|
||||||
// message sender to this recipient's replyRecipient.
|
// message sender to this recipient's replyRecipient.
|
||||||
if (getReplyRecipient() == null || !getReplyRecipient().isReachable()) {
|
long timeout = ess.getSettings().getLastMessageReplyRecipientTimeout() * 1000;
|
||||||
|
if (getReplyRecipient() == null || !getReplyRecipient().isReachable()
|
||||||
|
|| System.currentTimeMillis() - this.lastMessageMs > timeout) {
|
||||||
setReplyRecipient(sender);
|
setReplyRecipient(sender);
|
||||||
}
|
}
|
||||||
} else { // Old message functionality, always set the reply recipient to the last person who sent us a message.
|
} else { // Old message functionality, always set the reply recipient to the last person who sent us a message.
|
||||||
setReplyRecipient(sender);
|
setReplyRecipient(sender);
|
||||||
}
|
}
|
||||||
|
this.lastMessageMs = System.currentTimeMillis();
|
||||||
return afk ? MessageResponse.SUCCESS_BUT_AFK : MessageResponse.SUCCESS;
|
return afk ? MessageResponse.SUCCESS_BUT_AFK : MessageResponse.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -539,6 +539,11 @@ use-bukkit-permissions: false
|
||||||
# Minimum acceptable amount to be used in /pay.
|
# Minimum acceptable amount to be used in /pay.
|
||||||
minimum-pay-amount: 0.001
|
minimum-pay-amount: 0.001
|
||||||
|
|
||||||
|
# If last-message-reply-recipient is true, this specifies the duration, in seconds, that would need to elapse for the
|
||||||
|
# reply-recipient to update when receiving a message.
|
||||||
|
# Default is 180 (3 minutes)
|
||||||
|
last-message-reply-recipient-timeout: 180
|
||||||
|
|
||||||
############################################################
|
############################################################
|
||||||
# +------------------------------------------------------+ #
|
# +------------------------------------------------------+ #
|
||||||
# | EssentialsHelp | #
|
# | EssentialsHelp | #
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue