mirror of
https://gitlab.com/SamB440/rpgregions-2.git
synced 2025-12-28 03:09:14 +00:00
Add /rpgregions delete <user>
This commit is contained in:
@@ -220,4 +220,19 @@ public class RPGRegionsCommand extends BaseCommand {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@Subcommand("delete")
|
||||
@CommandPermission("rpgregions.delete")
|
||||
public void onDelete(CommandSender sender, String[] args) {
|
||||
if (args.length > 0) {
|
||||
Player player = Bukkit.getPlayer(args[0]);
|
||||
if (player != null) {
|
||||
plugin.getManagers().getStorageManager().deleteAccount(player.getUniqueId());
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "That player cannot be found.");
|
||||
}
|
||||
} else {
|
||||
sender.sendMessage(ChatColor.RED + "Usage: /rpgregions delete <player>");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ public interface StorageManager {
|
||||
*/
|
||||
void clearDiscovery(UUID uuid, String regionId);
|
||||
|
||||
void deleteAccount(UUID uuid);
|
||||
/**
|
||||
* Removes an account from the storage cache and saves its data.
|
||||
* @param uuid player's UUID
|
||||
|
||||
@@ -92,6 +92,12 @@ public class SqlStorage implements StorageManager {
|
||||
DB.executeUpdateAsync(DELETE_DISCOVERY, getDatabaseUuid(uuid), regionId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAccount(UUID uuid) {
|
||||
this.clearDiscoveries(uuid);
|
||||
cachedAccounts.remove(uuid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeCachedAccount(UUID uuid) {
|
||||
RPGRegionsAccount account = cachedAccounts.get(uuid);
|
||||
|
||||
@@ -110,6 +110,14 @@ public class YamlStorage implements StorageManager {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAccount(UUID uuid) {
|
||||
this.clearDiscoveries(uuid);
|
||||
File file = new File(plugin.getDataFolder() + "/accounts/" + uuid.toString() + ".yml");
|
||||
file.delete();
|
||||
cachedAccounts.remove(uuid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeCachedAccount(UUID uuid) {
|
||||
RPGRegionsAccount account = cachedAccounts.get(uuid);
|
||||
|
||||
Reference in New Issue
Block a user