mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 02:03:59 +00:00
Add beautify json command (bulk project)
This commit is contained in:
parent
a234823d0a
commit
1019419d85
@ -42,6 +42,9 @@ public class CommandIrisStudio extends MortarCommand
|
||||
@Command
|
||||
private CommandIrisStudioExplorer exp;
|
||||
|
||||
@Command
|
||||
private CommandIrisStudioBeautify beautify;
|
||||
|
||||
@Command
|
||||
private CommandIrisStudioExplorerGenerator generator;
|
||||
|
||||
|
@ -0,0 +1,96 @@
|
||||
package com.volmit.iris.manager.command.studio;
|
||||
|
||||
import com.volmit.iris.Iris;
|
||||
import com.volmit.iris.IrisSettings;
|
||||
import com.volmit.iris.util.*;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
public class CommandIrisStudioBeautify extends MortarCommand
|
||||
{
|
||||
public CommandIrisStudioBeautify()
|
||||
{
|
||||
super("beautify", "prettify");
|
||||
requiresPermission(Iris.perm.studio);
|
||||
setDescription("Prettify the project by cleaning up json.");
|
||||
setCategory("Studio");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTabOptions(MortarSender sender, String[] args, KList<String> list) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handle(MortarSender sender, String[] args)
|
||||
{
|
||||
if(!IrisSettings.get().isStudio())
|
||||
{
|
||||
sender.sendMessage("To use Iris Studio, please enable studio in Iris/settings.json");
|
||||
return true;
|
||||
}
|
||||
|
||||
File clean = null;
|
||||
|
||||
if(args.length == 0)
|
||||
{
|
||||
if(!Iris.proj.isProjectOpen())
|
||||
{
|
||||
sender.sendMessage("No open project. Either use /iris std beautify <project> or have a project open.");
|
||||
return true;
|
||||
}
|
||||
|
||||
clean = Iris.proj.getActiveProject().getPath();
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
clean = Iris.instance.getDataFolder("packs", args[0]);
|
||||
|
||||
if(!clean.exists())
|
||||
{
|
||||
sender.sendMessage("Not a valid project.");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
sender.sendMessage("Cleaned " + Form.f(clean(sender, clean)) + " JSON Files");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private int clean(MortarSender s, File clean) {
|
||||
int c = 0;
|
||||
if(clean.isDirectory())
|
||||
{
|
||||
for(File i : clean.listFiles())
|
||||
{
|
||||
c+=clean(s, i);
|
||||
}
|
||||
}
|
||||
|
||||
else if(clean.getName().endsWith(".json"))
|
||||
{
|
||||
try {
|
||||
IO.writeAll(clean, new JSONObject(IO.readAll(clean)).toString(4));
|
||||
} catch (Throwable e) {
|
||||
Iris.error("Failed to beautify " + clean.getAbsolutePath() + " You may have errors in your json!");
|
||||
}
|
||||
|
||||
c++;
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getArgsUsage()
|
||||
{
|
||||
return "[project]";
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user