Refactor playtime and make playback private

This commit is contained in:
Heliosares
2023-03-07 15:54:27 -05:00
parent 73c89bc203
commit 9ec5103a54
3 changed files with 13 additions and 6 deletions

View File

@@ -197,18 +197,18 @@ public class Parameters implements Cloneable {
}
parameters.table = Table.AUXPROTECT_MAIN;
}
if (parameters.flags.contains(Flag.BW)) {
if (parameters.flags.contains(Flag.COMBINE_USER_TARGET)) {
parameters.uids.addAll(parameters.targets);
parameters.targets.addAll(parameters.uids);
}
if (parameters.flags.contains(Flag.ACTIVITY) || parameters.flags.contains(Flag.PT)) {
if (parameters.flags.contains(Flag.ACTIVITY) || parameters.flags.contains(Flag.PLAYTIME)) {
if (parameters.users.size() > 1) {
throw new ParseException(Language.L.COMMAND__LOOKUP__PLAYTIME__TOOMANYUSERS);
} else if (parameters.uids.size() == 0) {
throw new ParseException(Language.L.COMMAND__LOOKUP__PLAYTIME__NOUSER);
}
}
if (parameters.flags.contains(Flag.PT)) {
if (parameters.flags.contains(Flag.PLAYTIME)) {
parameters.actions.clear();
parameters.actions.add(EntryAction.SESSION.id);
parameters.actions.add(EntryAction.SESSION.idPos);
@@ -1053,7 +1053,7 @@ public class Parameters implements Cloneable {
}
public enum Flag {
COUNT(null), COUNT_ONLY(null), PT(APPermission.LOOKUP_PLAYTIME), XRAY(APPermission.LOOKUP_XRAY), BW(null),
COUNT(null), COUNT_ONLY(null), PLAYTIME(APPermission.LOOKUP_PLAYTIME), XRAY(APPermission.LOOKUP_XRAY), COMBINE_USER_TARGET(null),
MONEY(APPermission.LOOKUP_MONEY), ACTIVITY(APPermission.LOOKUP_ACTIVITY), PLAYBACK(APPermission.LOOKUP_PLAYBACK), INCREMENTAL_POS(APPermission.LOOKUP_PLAYBACK),
RETENTION(APPermission.LOOKUP_RETENTION), HIDE_COORDS(null), RADIUS_HORIZONTAL_ONLY(null);
@@ -1069,6 +1069,11 @@ public class Parameters implements Cloneable {
}
return perm.hasPermission(sender);
}
public boolean isEnabled() {
if (this == PLAYBACK) return AuxProtectAPI.getInstance().getAPConfig().isPrivate();
return true;
}
}
}

View File

@@ -350,7 +350,7 @@ public class LookupCommand extends Command {
sender.sendMessageRaw(msg);
}
return;
} else if (params.getFlags().contains(Flag.PT)) {
} else if (params.getFlags().contains(Flag.PLAYTIME)) {
Set<String> users = params.getUsers();
if (users.size() == 0) {
sender.sendLang(Language.L.COMMAND__LOOKUP__PLAYTIME__NOUSER);

View File

@@ -4,6 +4,8 @@ import dev.heliosares.auxprotect.adapters.sender.SenderAdapter;
import dev.heliosares.auxprotect.core.APPermission;
import dev.heliosares.auxprotect.core.Command;
import dev.heliosares.auxprotect.core.IAuxProtect;
import dev.heliosares.auxprotect.core.Parameters;
import dev.heliosares.auxprotect.database.EntryAction;
import dev.heliosares.auxprotect.exceptions.CommandException;
import dev.heliosares.auxprotect.exceptions.SyntaxException;
@@ -20,7 +22,7 @@ public class PlaytimeCommand extends Command {
if (args.length != 2 && args.length != 3) {
throw new SyntaxException();
}
String cmd = String.format(plugin.getCommandPrefix() + " lookup #pt user:%s action:session time:", args[1]);
String cmd = String.format(plugin.getCommandPrefix() + " lookup #" + Parameters.Flag.PLAYTIME.toString().toLowerCase() + " user:%s action:" + EntryAction.SESSION + " time:", args[1]);
if (args.length > 2) {
cmd += args[2];
} else {