From f5251fbb736444e917393b6c6e67966c60068c0b Mon Sep 17 00:00:00 2001 From: Kam Date: Fri, 2 Jun 2023 02:09:53 -0400 Subject: [PATCH] Added PlayerData Convert Command for Generating a new data set --- .../java/kamkeel/command/ConfigCommand.java | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/main/java/kamkeel/command/ConfigCommand.java b/src/main/java/kamkeel/command/ConfigCommand.java index b6765345d..5c54027ba 100644 --- a/src/main/java/kamkeel/command/ConfigCommand.java +++ b/src/main/java/kamkeel/command/ConfigCommand.java @@ -13,6 +13,7 @@ import noppes.npcs.Server; import noppes.npcs.config.ConfigMain; import noppes.npcs.constants.EnumPacketClient; import noppes.npcs.controllers.ChunkController; +import noppes.npcs.controllers.PlayerDataController; import java.util.Arrays; import java.util.Set; @@ -172,6 +173,51 @@ public class ConfigCommand extends CommandKamkeelBase { sendResult(sender, "ChunkLoaders: \u00A7c" + ChunkController.instance.size() + "\u00A77/\u00A7c" + ConfigMain.ChunkLoaders); } } + + @SubCommand( + desc = "Generate PlayerData to JSON/DAT", + usage = " convert", + permission = 4 + ) + public void playerdata(ICommandSender sender, String[] args) throws CommandException{ + String fileType; + if(ConfigMain.DatFormat){ + fileType = "DAT"; + } + else { + fileType = "JSON"; + } + if(args.length == 0){ + sendResult(sender, "PlayerData Filetype: \u00A7c" + fileType); + } + else if(args.length == 1){ + sendResult(sender, "Please write the word 'convert' at the end to confirm. \u00A7c convert"); + } + else{ + if(args.length > 2){ + sendError(sender, "Two many arguments"); + return; + } + String formatType = args[1].toLowerCase(); + if(!formatType.equals("dat") && !formatType.equals("json")){ + sendError(sender, "Invalid Format Type - Please use dat or json"); + return; + } + + boolean convertToDat = false; + if(formatType.equals(".dat")){ + convertToDat = true; + } + + EntityPlayerMP send = null; + if(sender instanceof EntityPlayerMP){ + send = (EntityPlayerMP) sender; + } + + sendResult(sender, "Started Conversion Process for PlayerData"); + PlayerDataController.instance.convertPlayerFiles(send, convertToDat); + } + } @SubCommand( desc = "Get/Set font",