Added in a Guide-API download command
This commit is contained in:
parent
4a32683322
commit
cf5a445fbb
10 changed files with 263 additions and 620 deletions
|
@ -0,0 +1,96 @@
|
|||
package WayofTime.alchemicalWizardry.common.thread;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.util.*;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
|
||||
import java.awt.*;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
|
||||
public class ThreadDownloadGAPI extends Thread
|
||||
{
|
||||
String fileName;
|
||||
|
||||
byte[] buffer = new byte[10240];
|
||||
|
||||
int totalBytesDownloaded;
|
||||
int bytesJustDownloaded;
|
||||
|
||||
InputStream webReader;
|
||||
|
||||
public ThreadDownloadGAPI(String fileName)
|
||||
{
|
||||
setName("Blood Magic Download Guide-API Thread");
|
||||
this.fileName = fileName;
|
||||
setDaemon(true);
|
||||
start();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
try
|
||||
{
|
||||
IChatComponent component = IChatComponent.Serializer.func_150699_a(String.format(StatCollector.translateToLocal("bm.versioning.startingDownload"), fileName));
|
||||
|
||||
if (Minecraft.getMinecraft().thePlayer != null)
|
||||
{
|
||||
Minecraft.getMinecraft().thePlayer.addChatMessage(component);
|
||||
}
|
||||
|
||||
GAPIChecker.startedDownload = true;
|
||||
|
||||
String base = "http://minecraft.curseforge.com/mc-mods/228832-guide-api";
|
||||
URL url = new URL(base + "/files/latest");
|
||||
|
||||
try
|
||||
{
|
||||
url.openStream().close(); // Add to DL Counter
|
||||
}
|
||||
catch(IOException e) {}
|
||||
|
||||
webReader = url.openStream();
|
||||
|
||||
File dir = new File(".", "mods");
|
||||
File f = new File(dir, "Guide-API-" + MinecraftForge.MC_VERSION + "-" + GAPIChecker.onlineVersion + ".jar");
|
||||
f.createNewFile();
|
||||
|
||||
FileOutputStream outputStream = new FileOutputStream(f.getAbsolutePath());
|
||||
|
||||
while ((bytesJustDownloaded = webReader.read(buffer)) > 0)
|
||||
{
|
||||
outputStream.write(buffer, 0, bytesJustDownloaded);
|
||||
buffer = new byte[10240];
|
||||
totalBytesDownloaded += bytesJustDownloaded;
|
||||
}
|
||||
|
||||
if (Minecraft.getMinecraft().thePlayer != null)
|
||||
{
|
||||
Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentTranslation("bm.versioning.doneDownloading", fileName).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.GREEN)));
|
||||
}
|
||||
|
||||
Desktop.getDesktop().open(dir);
|
||||
GAPIChecker.downloadedFile = true;
|
||||
|
||||
outputStream.close();
|
||||
webReader.close();
|
||||
finalize();
|
||||
}
|
||||
catch (Throwable e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private void sendError()
|
||||
{
|
||||
if (Minecraft.getMinecraft().thePlayer != null)
|
||||
{
|
||||
Minecraft.getMinecraft().thePlayer.addChatComponentMessage(new ChatComponentTranslation("bm.versioning.error").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED)));
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue