Add warning to /npc reload
This commit is contained in:
parent
979d6f95fa
commit
8612e329b6
|
@ -140,6 +140,7 @@ public class Settings {
|
|||
NPC_SKIN_VIEW_DISTANCE("npc.skins.view-distance", 100D),
|
||||
PACKET_UPDATE_DELAY("npc.packets.update-delay", 30),
|
||||
PLACEHOLDER_SKIN_UPDATE_FREQUENCY("npc.skins.placeholder-update-frequency-ticks", 5 * 60 * 20),
|
||||
RELOAD_INSTANTLY("general.reload-warning-enabled", true),
|
||||
REMOVE_PLAYERS_FROM_PLAYER_LIST("npc.player.remove-from-list", true),
|
||||
SAVE_TASK_DELAY("storage.save-task.delay", 20 * 60 * 60),
|
||||
SELECTION_ITEM("npc.selection.item", "stick"),
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
package net.citizensnpcs.commands;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.WeakHashMap;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import net.citizensnpcs.Citizens;
|
||||
import net.citizensnpcs.Settings.Setting;
|
||||
import net.citizensnpcs.api.command.Command;
|
||||
import net.citizensnpcs.api.command.CommandContext;
|
||||
import net.citizensnpcs.api.command.Requirements;
|
||||
|
@ -16,6 +20,7 @@ import net.citizensnpcs.util.StringHelper;
|
|||
@Requirements
|
||||
public class AdminCommands {
|
||||
private final Citizens plugin;
|
||||
private final Map<CommandSender, Long> reloadTimeouts = new WeakHashMap<CommandSender, Long>();
|
||||
|
||||
public AdminCommands(Citizens plugin) {
|
||||
this.plugin = plugin;
|
||||
|
@ -39,6 +44,14 @@ public class AdminCommands {
|
|||
max = 1,
|
||||
permission = "citizens.admin")
|
||||
public void reload(CommandContext args, CommandSender sender, NPC npc) throws CommandException {
|
||||
if (!Setting.RELOAD_INSTANTLY.asBoolean()) {
|
||||
Long timeout = reloadTimeouts.get(sender);
|
||||
if (timeout == null || System.currentTimeMillis() > timeout) {
|
||||
Messaging.sendErrorTr(sender, Messages.CITIZENS_RELOAD_WARNING);
|
||||
reloadTimeouts.put(sender, System.currentTimeMillis() + 5000);
|
||||
return;
|
||||
}
|
||||
}
|
||||
Messaging.sendTr(sender, Messages.CITIZENS_RELOADING);
|
||||
try {
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ public class Messages {
|
|||
public static final String CITIZENS_INCOMPATIBLE = "citizens.notifications.incompatible-version";
|
||||
public static final String CITIZENS_INVALID_COMMAND_CLASS = "citizens.commands.invalid.class";
|
||||
public static final String CITIZENS_RELOAD_ERROR = "citizens.notifications.error-reloading";
|
||||
public static final String CITIZENS_RELOAD_WARNING = "citizens.notifications.reload-warning";
|
||||
public static final String CITIZENS_RELOADED = "citizens.notifications.reloaded";
|
||||
public static final String CITIZENS_RELOADING = "citizens.notifications.reloading";
|
||||
public static final String CITIZENS_SAVED = "citizens.notifications.saved";
|
||||
|
|
|
@ -398,6 +398,7 @@ citizens.notifications.npcs-loaded=Loaded {0} NPCs.
|
|||
citizens.notifications.reloaded=Citizens reloaded.
|
||||
citizens.notifications.reloading=Reloading Citizens...
|
||||
citizens.notifications.saved=Citizens saved.
|
||||
citizens.notifications.reload-warning=WARNING: this command will load all data from disk without saving first. Please retype /npc reload to confirm. You can disable this warning in settings.
|
||||
citizens.notifications.saving=Saving Citizens...
|
||||
citizens.notifications.skipping-broken-trait=Skipped broken or missing trait {0} while loading ID {1}. Has the name changed?
|
||||
citizens.notifications.skipping-invalid-pose=Skipping pose {0} - invalid yaw/pitch ({1}).
|
||||
|
|
Loading…
Reference in New Issue