Iris/src/main/java/com/volmit/iris/manager/ConversionManager.java
2020-10-27 02:49:52 -04:00

129 lines
2.4 KiB
Java

package com.volmit.iris.manager;
import java.io.File;
import java.io.IOException;
import org.bukkit.Bukkit;
import com.minelazz.epicworldgenerator.structures.StructureObject;
import com.volmit.iris.Iris;
import com.volmit.iris.util.Converter;
import com.volmit.iris.util.J;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.MortarSender;
import com.volmit.iris.util.SKConversion;
public class ConversionManager
{
private KList<Converter> converters;
private File folder;
public ConversionManager()
{
folder = Iris.instance.getDataFolder("convert");
converters = new KList<>();
J.s(() ->
{
J.attemptAsync(() ->
{
if(Bukkit.getPluginManager().isPluginEnabled("WorldEdit"))
{
converters.add(new Converter()
{
@Override
public String getOutExtension()
{
return "iob";
}
@Override
public String getInExtension()
{
return "schem";
}
@Override
public void convert(File in, File out)
{
SKConversion.convertSchematic(in, out);
}
});
converters.add(new Converter()
{
@Override
public String getOutExtension()
{
return "iob";
}
@Override
public String getInExtension()
{
return "schematic";
}
@Override
public void convert(File in, File out)
{
SKConversion.convertSchematic(in, out);
}
});
}
});
}, 5);
converters.add(new Converter()
{
@Override
public String getOutExtension()
{
return "iob";
}
@Override
public String getInExtension()
{
return "ewg";
}
@Override
public void convert(File in, File out)
{
try
{
StructureObject.convert(in).write(out);
}
catch(ClassNotFoundException | IOException e)
{
e.printStackTrace();
}
}
});
}
public void check(MortarSender s)
{
int m = 0;
Iris.instance.getDataFolder("convert");
for(File i : folder.listFiles())
{
for(Converter j : converters)
{
if(i.getName().endsWith("." + j.getInExtension()))
{
File out = new File(folder, i.getName().replaceAll("\\Q." + j.getInExtension() + "\\E", "." + j.getOutExtension()));
m++;
j.convert(i, out);
s.sendMessage("Converted " + i.getName() + " -> " + out.getName());
}
}
}
s.sendMessage("Converted " + m + " File" + (m == 1 ? "" : "s"));
}
}