/mmocore savedata

This commit is contained in:
Jules 2023-01-22 21:58:17 +01:00
parent d4a5011b41
commit c1a231e8e1
2 changed files with 38 additions and 0 deletions

View File

@ -21,6 +21,7 @@ public class AdminCommandTreeNode extends CommandTreeNode {
addChild(new LevelCommandTreeNode(this));
addChild(new AttributeCommandTreeNode(this));
addChild(new SkillCommandTreeNode(this));
addChild(new SaveDataTreeNode(this));
addChild(new PointsCommandTreeNode("skill", this, PlayerData::setSkillPoints, PlayerData::giveSkillPoints, PlayerData::getSkillPoints));
addChild(new PointsCommandTreeNode("class", this, PlayerData::setClassPoints, PlayerData::giveClassPoints, PlayerData::getClassPoints));

View File

@ -0,0 +1,37 @@
package net.Indyuce.mmocore.command.rpg.admin;
import io.lumine.mythic.lib.command.api.CommandTreeNode;
import io.lumine.mythic.lib.command.api.Parameter;
import net.Indyuce.mmocore.MMOCore;
import net.Indyuce.mmocore.api.player.PlayerData;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
/**
* Saves player data
*/
public class SaveDataTreeNode extends CommandTreeNode {
public SaveDataTreeNode(CommandTreeNode parent) {
super(parent, "savedata");
addParameter(Parameter.PLAYER);
}
@Override
public CommandResult execute(CommandSender sender, String[] args) {
if (args.length < 3)
return CommandResult.THROW_USAGE;
Player player = Bukkit.getPlayer(args[2]);
if (player == null) {
sender.sendMessage(ChatColor.RED + "Could not find the player called " + args[2] + ".");
return CommandResult.FAILURE;
}
MMOCore.plugin.dataProvider.getDataManager().saveData(PlayerData.get(player), false);
return CommandResult.SUCCESS;
}
}