1
0
mirror of https://github.com/Zrips/Jobs.git synced 2025-02-28 02:01:22 +01:00

Option to disable quest while keeping its record

This commit is contained in:
Zrips 2023-01-05 18:29:43 +02:00
parent 2da51e65b1
commit 31c8b1d719
4 changed files with 25 additions and 25 deletions

View File

@ -37,14 +37,8 @@ public class PermissionManager {
private final Map<String, Integer> permDelay = new HashMap<>();
private enum prm {
// jobs_join_JOBNAME(remade("jobs.join.%JOBNAME%"), 60 * 1000),
jobs_use(remade("jobs.use"), 2),
jobs_paycreative(remade("jobs.paycreative"), 2),
// jobs_boost_JOBNAME_money(remade("jobs.boost.%JOBNAME%.money"), 60 * 1000),
// jobs_boost_JOBNAME_exp(remade("jobs.boost.%JOBNAME%.exp"), 60 * 1000),
// jobs_boost_JOBNAME_points(remade("jobs.boost.%JOBNAME%.points"), 60 * 1000),
// jobs_boost_JOBNAME_all(remade("jobs.boost.%JOBNAME%.all"), 60 * 1000),
// jobs_leave_JOBNAME(remade("jobs.leave.%JOBNAME%"), 60 * 1000),
jobs_boost_JOBNAME_money_AMOUNT(remade("jobs.boost.%JOBNAME%.money.%AMOUNT%"), 60),
jobs_boost_JOBNAME_exp_AMOUNT(remade("jobs.boost.%JOBNAME%.exp.%AMOUNT%"), 60),
jobs_boost_JOBNAME_points_AMOUNT(remade("jobs.boost.%JOBNAME%.points.%AMOUNT%"), 60),
@ -81,9 +75,7 @@ public class PermissionManager {
if (t.contains("%JOBNAME%"))
t = t.replace("%JOBNAME%", oneJ.getName().toLowerCase());
t = t.replace("%AMOUNT%", "");
perms.add(t);
}
@ -174,9 +166,7 @@ public class PermissionManager {
permissionInfo permInfo = jPlayer.getPermissionsCache(perm);
if (force || getDelay(perm) + permInfo.getTime() < System.currentTimeMillis()) {
Map<String, Boolean> perms = getAll(player, perm);
for (Map.Entry<String, Boolean> permission : perms.entrySet()) {
if (!permission.getKey().startsWith(perm) || !permission.getValue())
continue;
@ -190,14 +180,10 @@ public class PermissionManager {
Jobs.getPluginLogger().log(java.util.logging.Level.WARNING, ex.getLocalizedMessage());
}
}
permInfo.setTime(System.currentTimeMillis());
permInfo.setValue(amount == Double.NEGATIVE_INFINITY ? 0D : amount);
jPlayer.addToPermissionsCache(perm, permInfo);
}
CMIDebug.d("Max: ", permInfo.getValue());
return permInfo.getValue();
}

View File

@ -238,6 +238,8 @@ public class editquests implements Cmd {
String path = quest.getJob().getName() + ".Quests." + quest.getConfigName() + ".";
cfg.set(path + "Name", quest.getQuestName());
cfg.set(path + "Enabled", quest.isEnabled());
cfg.set(path + "Chance", quest.getChance() != 100 ? quest.getChance() : null);
@ -368,7 +370,7 @@ public class editquests implements Cmd {
RawMessage rm = new RawMessage();
rm.addText("&7Name: &f" + quest.getQuestName());
rm.addText("&eName: &f" + quest.getQuestName());
rm.addHover(LC.modify_editSymbolHover.getLocale("[text]", quest.getQuestName()));
RawMessageCommand rmc = new RawMessageCommand() {
@Override
@ -392,7 +394,7 @@ public class editquests implements Cmd {
rm.addCommand(rmc);
String jobName = quest.getJob() == null ? "&c-" : quest.getJob().getName();
rm.addText(" &7Job: &f" + jobName);
rm.addText(" &eJob: &f" + jobName);
rm.addHover(LC.modify_editSymbolHover.getLocale("[text]", jobName));
rmc = new RawMessageCommand() {
@Override
@ -437,7 +439,7 @@ public class editquests implements Cmd {
};
rm.addCommand(rmc);
rm.addText(" &7Chance: &f" + quest.getChance());
rm.addText(" &eChance: &f" + quest.getChance());
rm.addHover(LC.modify_editSymbolHover.getLocale("[text]", quest.getChance()));
rmc = new RawMessageCommand() {
@Override
@ -468,9 +470,21 @@ public class editquests implements Cmd {
};
rm.addCommand(rmc);
rm.addText(" &eEnabled: &f" + (quest.isEnabled() ? LC.info_variables_True.getLocale() : LC.info_variables_False.getLocale()));
rm.addHover(LC.info_Click.getLocale());
rmc = new RawMessageCommand() {
@Override
public void run(CommandSender sender) {
quest.setEnabled(!quest.isEnabled());
updateQuestInFile(sender, quest);
mainWindow(sender, quest);
}
};
rm.addCommand(rmc);
rm.addText("\n");
rm.addText("&7Level from: &f" + quest.getMinLvl());
rm.addText("&eLevel from: &f" + quest.getMinLvl());
rm.addHover(LC.modify_editSymbolHover.getLocale("[text]", quest.getMinLvl()));
rmc = new RawMessageCommand() {
@Override
@ -505,7 +519,7 @@ public class editquests implements Cmd {
};
rm.addCommand(rmc);
rm.addText(" &7to: &f" + (quest.getMaxLvl() == null ? "-" : quest.getMaxLvl()));
rm.addText(" &eto: &f" + (quest.getMaxLvl() == null ? "-" : quest.getMaxLvl()));
rm.addHover(LC.modify_editSymbolHover.getLocale("[text]", (quest.getMaxLvl() == null ? "-" : quest.getMaxLvl())));
rmc = new RawMessageCommand() {
@Override
@ -551,7 +565,7 @@ public class editquests implements Cmd {
if (objectiveString.length() > 32)
objectiveString = objectiveString.substring(0, 32) + "..";
rm.addText((objectives.isEmpty() ? "&c" : "&7") + "Objectives" + (objectiveString.isBlank() ? "" : " - &f" + objectiveString));
rm.addText((objectives.isEmpty() ? "&c" : "&e") + "Objectives" + (objectiveString.isBlank() ? "" : " - &f" + objectiveString));
rm.addHover(LC.modify_editSymbolHover.getLocale("[text]", "Objectives"));
rmc = new RawMessageCommand() {
@Override
@ -567,7 +581,7 @@ public class editquests implements Cmd {
if (rewardsString.length() > 32)
rewardsString = rewardsString.substring(0, 30) + "..";
rm.addText((quest.getRewardCmds().isEmpty() ? "&c" : "&7") + "Reward commands" + (rewardsString.isBlank() ? "" : " - &f" + rewardsString));
rm.addText((quest.getRewardCmds().isEmpty() ? "&c" : "&e") + "Reward commands" + (rewardsString.isBlank() ? "" : " - &f" + rewardsString));
rm.addHover(LC.modify_editSymbolHover.getLocale("[text]", "Reward commands"));
rmc = new RawMessageCommand() {
@Override
@ -581,7 +595,7 @@ public class editquests implements Cmd {
String descString = CMIList.listToString(quest.getDescription(), " ");
if (descString.length() > 32)
descString = descString.substring(0, 30) + "..";
rm.addText("&7Description" + (rewardsString.isBlank() ? "" : " - &f" + descString));
rm.addText("&eDescription" + (rewardsString.isBlank() ? "" : " - &f" + descString));
rm.addHover(LC.modify_editSymbolHover.getLocale("[text]", "Description"));
rmc = new RawMessageCommand() {
@Override
@ -595,7 +609,7 @@ public class editquests implements Cmd {
String restrictedString = CMIList.listToString(quest.getRestrictedAreas(), " ");
if (restrictedString.length() > 32)
restrictedString = restrictedString.substring(0, 30) + "..";
rm.addText("&7Restricted areas" + (restrictedString.isBlank() ? "" : " - &f" + restrictedString));
rm.addText("&eRestricted areas" + (restrictedString.isBlank() ? "" : " - &f" + restrictedString));
rm.addHover(LC.modify_editSymbolHover.getLocale("[text]", "Restricted areas"));
rmc = new RawMessageCommand() {
@Override

View File

@ -610,7 +610,7 @@ public class Job {
int target = new Random(System.nanoTime()).nextInt(100);
for (Quest one : ls) {
if (one.getChance() >= target && (excludeQuests == null || !excludeQuests.contains(one.getConfigName().toLowerCase()))
if (one.isEnabled() && one.getChance() >= target && (excludeQuests == null || !excludeQuests.contains(one.getConfigName().toLowerCase()))
&& one.isInLevelRange(level)) {
return one;
}

View File

@ -1165,7 +1165,7 @@ public class JobsPlayer {
for (Entry<String, QuestProgression> one : new HashMap<>(g).entrySet()) {
QuestProgression qp = one.getValue();
if (qp.isEnded()) {
if (qp.isEnded() || !qp.getQuest().isEnabled()) {
g.remove(one.getKey().toLowerCase());
skippedQuests = 0;
}