mirror of
https://gitlab.com/SamB440/rpgregions-2.git
synced 2025-12-29 03:39:08 +00:00
Add /rpgregions save
This commit is contained in:
@@ -53,7 +53,8 @@ public final class RPGRegions extends JavaPlugin implements RPGRegionsAPI, Langu
|
||||
public void onDisable() {
|
||||
// Save all player data (quit event not called for shutdown)
|
||||
Bukkit.getOnlinePlayers().forEach(player -> {
|
||||
if (plugin.getManagers().getStorageManager().getCachedAccounts().containsKey(player.getUniqueId())) this.getManagers().getStorageManager().removeCachedAccount(player.getUniqueId());
|
||||
if (managers.getStorageManager().getCachedAccounts().containsKey(player.getUniqueId()))
|
||||
this.getManagers().getStorageManager().removeCachedAccount(player.getUniqueId());
|
||||
});
|
||||
|
||||
// Save all region configs
|
||||
|
||||
@@ -15,6 +15,7 @@ import net.islandearth.rpgregions.rewards.ItemReward;
|
||||
import net.islandearth.rpgregions.translation.Translations;
|
||||
import net.islandearth.rpgregions.utils.ItemStackBuilder;
|
||||
import net.islandearth.rpgregions.utils.StringUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@@ -23,6 +24,7 @@ import org.bukkit.inventory.ItemFlag;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.io.Reader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -193,6 +195,9 @@ public class RPGRegionsCommand extends BaseCommand {
|
||||
String region = args[0];
|
||||
ConfiguredRegion configuredRegion = plugin.getManagers().getRegionsCache().getConfiguredRegion(region);
|
||||
if (configuredRegion != null) {
|
||||
System.out.println(player.getInventory().getItemInMainHand().getData());
|
||||
System.out.println(player.getInventory().getItemInMainHand().getItemMeta());
|
||||
System.out.println(plugin.getGson().toJson(player.getInventory().getItemInMainHand()));
|
||||
configuredRegion.getRewards().add(new ItemReward(player.getInventory().getItemInMainHand()));
|
||||
player.sendMessage(ChatColor.GREEN + "Item added to configuration!");
|
||||
} else {
|
||||
@@ -215,7 +220,7 @@ public class RPGRegionsCommand extends BaseCommand {
|
||||
try {
|
||||
Reader reader = new FileReader(file);
|
||||
ConfiguredRegion region = plugin.getGson().fromJson(reader, ConfiguredRegion.class);
|
||||
plugin.getManagers().getRegionsCache().addConfiguredRegion(region);
|
||||
if (!region.getId().equals("exampleconfig")) plugin.getManagers().getRegionsCache().addConfiguredRegion(region);
|
||||
reader.close();
|
||||
} catch (Exception e) {
|
||||
plugin.getLogger().severe("Error loading region config " + file.getName() + ":");
|
||||
@@ -228,4 +233,30 @@ public class RPGRegionsCommand extends BaseCommand {
|
||||
long totalTime = endTime - startTime;
|
||||
sender.sendMessage(ChatColor.GREEN + "Done! (" + totalTime + "ms)");
|
||||
}
|
||||
|
||||
@Subcommand("save")
|
||||
@CommandPermission("rpgregions.save")
|
||||
public void onSave(CommandSender sender, String[] args) {
|
||||
sender.sendMessage(ChatColor.GREEN + "Saving data...");
|
||||
long startTime = System.currentTimeMillis();
|
||||
|
||||
// Save all player data (quit event not called for shutdown)
|
||||
Bukkit.getOnlinePlayers().forEach(player -> {
|
||||
if (plugin.getManagers().getStorageManager().getCachedAccounts().containsKey(player.getUniqueId()))
|
||||
plugin.getManagers().getStorageManager().removeCachedAccount(player.getUniqueId());
|
||||
});
|
||||
|
||||
// Save all region configs
|
||||
plugin.getManagers().getRegionsCache().getConfiguredRegions().forEach((id, region) -> {
|
||||
try {
|
||||
region.save(plugin);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
|
||||
long endTime = System.currentTimeMillis();
|
||||
long totalTime = endTime - startTime;
|
||||
sender.sendMessage(ChatColor.GREEN + "Done! (" + totalTime + "ms)");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user