diff --git a/assets/microblock/lang/de_DE.lang b/assets/multipart/lang/de_DE.lang
similarity index 100%
rename from assets/microblock/lang/de_DE.lang
rename to assets/multipart/lang/de_DE.lang
diff --git a/assets/microblock/lang/en_US.lang b/assets/multipart/lang/en_US.lang
similarity index 82%
rename from assets/microblock/lang/en_US.lang
rename to assets/multipart/lang/en_US.lang
index 49efa9f..e8fb9f8 100644
--- a/assets/microblock/lang/en_US.lang
+++ b/assets/multipart/lang/en_US.lang
@@ -1,3 +1,6 @@
+microblock.missing=The following microblocks are not installed on this client: %s
+multipart.missing=The following multiparts are not installed on this client: %s
+
item.microblock:sawStone.name=Stone Saw
item.microblock:sawIron.name=Iron Saw
item.microblock:sawDiamond.name=Diamond Saw
diff --git a/assets/microblock/lang/es_ES.lang b/assets/multipart/lang/es_ES.lang
similarity index 100%
rename from assets/microblock/lang/es_ES.lang
rename to assets/multipart/lang/es_ES.lang
diff --git a/assets/microblock/lang/fr_FR.lang b/assets/multipart/lang/fr_FR.lang
similarity index 100%
rename from assets/microblock/lang/fr_FR.lang
rename to assets/multipart/lang/fr_FR.lang
diff --git a/assets/microblock/lang/hr_HR.lang b/assets/multipart/lang/hr_HR.lang
similarity index 100%
rename from assets/microblock/lang/hr_HR.lang
rename to assets/multipart/lang/hr_HR.lang
diff --git a/assets/microblock/lang/nl_NL.lang b/assets/multipart/lang/nl_NL.lang
similarity index 100%
rename from assets/microblock/lang/nl_NL.lang
rename to assets/multipart/lang/nl_NL.lang
diff --git a/assets/microblock/lang/ru_RU.lang b/assets/multipart/lang/ru_RU.lang
similarity index 100%
rename from assets/microblock/lang/ru_RU.lang
rename to assets/multipart/lang/ru_RU.lang
diff --git a/assets/microblock/lang/tr_TR.lang b/assets/multipart/lang/tr_TR.lang
similarity index 100%
rename from assets/microblock/lang/tr_TR.lang
rename to assets/multipart/lang/tr_TR.lang
diff --git a/assets/microblock/lang/zh_CN.lang b/assets/multipart/lang/zh_CN.lang
similarity index 100%
rename from assets/microblock/lang/zh_CN.lang
rename to assets/multipart/lang/zh_CN.lang
diff --git a/codechicken/core/launch/DepLoader.java b/codechicken/core/launch/DepLoader.java
index 2520826..8dc5ba4 100644
--- a/codechicken/core/launch/DepLoader.java
+++ b/codechicken/core/launch/DepLoader.java
@@ -15,7 +15,6 @@ import java.net.URLConnection;
import java.nio.ByteBuffer;
import java.util.*;
import java.util.List;
-import java.util.Map.Entry;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
@@ -31,12 +30,9 @@ import javax.swing.WindowConstants;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
-import argo.jdom.JdomParser;
-import argo.jdom.JsonNode;
-import argo.jdom.JsonRootNode;
-import argo.jdom.JsonStringNode;
-import argo.saj.InvalidSyntaxException;
-
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
import net.minecraft.launchwrapper.LaunchClassLoader;
import cpw.mods.fml.common.versioning.ComparableVersion;
@@ -51,14 +47,12 @@ import sun.net.util.URLUtil;
* For autodownloading stuff.
* This is really unoriginal, mostly ripped off FML, credits to cpw.
*/
-public class DepLoader implements IFMLLoadingPlugin, IFMLCallHook
-{
+public class DepLoader implements IFMLLoadingPlugin, IFMLCallHook {
private static ByteBuffer downloadBuffer = ByteBuffer.allocateDirect(1 << 23);
private static final String owner = "CB's DepLoader";
private static DepLoadInst inst;
-
- public interface IDownloadDisplay
- {
+
+ public interface IDownloadDisplay {
void resetProgress(int sizeGuess);
void setPokeThread(Thread currentThread);
@@ -67,59 +61,53 @@ public class DepLoader implements IFMLLoadingPlugin, IFMLCallHook
boolean shouldStopIt();
- void updateProgressString(String string, Object ... data);
+ void updateProgressString(String string, Object... data);
Object makeDialog();
void showErrorDialog(String name, String url);
}
-
+
@SuppressWarnings("serial")
- public static class Downloader extends JOptionPane implements IDownloadDisplay
- {
+ public static class Downloader extends JOptionPane implements IDownloadDisplay {
private JDialog container;
private JLabel currentActivity;
private JProgressBar progress;
boolean stopIt;
Thread pokeThread;
- private Box makeProgressPanel()
- {
+ private Box makeProgressPanel() {
Box box = Box.createVerticalBox();
- box.add(Box.createRigidArea(new Dimension(0,10)));
- JLabel welcomeLabel = new JLabel(""+owner+" is setting up your minecraft environment");
+ box.add(Box.createRigidArea(new Dimension(0, 10)));
+ JLabel welcomeLabel = new JLabel("" + owner + " is setting up your minecraft environment");
box.add(welcomeLabel);
welcomeLabel.setAlignmentY(LEFT_ALIGNMENT);
- welcomeLabel = new JLabel("Please wait, "+owner+" has some tasks to do before you can play");
+ welcomeLabel = new JLabel("Please wait, " + owner + " has some tasks to do before you can play");
welcomeLabel.setAlignmentY(LEFT_ALIGNMENT);
box.add(welcomeLabel);
- box.add(Box.createRigidArea(new Dimension(0,10)));
+ box.add(Box.createRigidArea(new Dimension(0, 10)));
currentActivity = new JLabel("Currently doing ...");
box.add(currentActivity);
- box.add(Box.createRigidArea(new Dimension(0,10)));
+ box.add(Box.createRigidArea(new Dimension(0, 10)));
progress = new JProgressBar(0, 100);
progress.setStringPainted(true);
box.add(progress);
- box.add(Box.createRigidArea(new Dimension(0,30)));
+ box.add(Box.createRigidArea(new Dimension(0, 30)));
return box;
}
@Override
- public JDialog makeDialog()
- {
- if(container != null)
+ public JDialog makeDialog() {
+ if (container != null)
return container;
-
+
setMessageType(JOptionPane.INFORMATION_MESSAGE);
setMessage(makeProgressPanel());
- setOptions(new Object[] { "Stop" });
- addPropertyChangeListener(new PropertyChangeListener()
- {
+ setOptions(new Object[]{"Stop"});
+ addPropertyChangeListener(new PropertyChangeListener() {
@Override
- public void propertyChange(PropertyChangeEvent evt)
- {
- if (evt.getSource() == Downloader.this && evt.getPropertyName()==VALUE_PROPERTY)
- {
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (evt.getSource() == Downloader.this && evt.getPropertyName() == VALUE_PROPERTY) {
requestClose("This will stop minecraft from launching\nAre you sure you want to do this?");
}
}
@@ -133,164 +121,140 @@ public class DepLoader implements IFMLLoadingPlugin, IFMLCallHook
container.setMinimumSize(container.getPreferredSize());
container.setVisible(true);
container.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
- container.addWindowListener(new WindowAdapter()
- {
+ container.addWindowListener(new WindowAdapter() {
@Override
- public void windowClosing(WindowEvent e)
- {
+ public void windowClosing(WindowEvent e) {
requestClose("Closing this window will stop minecraft from launching\nAre you sure you wish to do this?");
}
});
return container;
}
-
- protected void requestClose(String message)
- {
+
+ protected void requestClose(String message) {
int shouldClose = JOptionPane.showConfirmDialog(container, message, "Are you sure you want to stop?", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
if (shouldClose == JOptionPane.YES_OPTION)
container.dispose();
-
+
stopIt = true;
if (pokeThread != null)
pokeThread.interrupt();
}
@Override
- public void updateProgressString(String progressUpdate, Object... data)
- {
+ public void updateProgressString(String progressUpdate, Object... data) {
//FMLLog.finest(progressUpdate, data);
- if (currentActivity!=null)
+ if (currentActivity != null)
currentActivity.setText(String.format(progressUpdate, data));
}
@Override
- public void resetProgress(int sizeGuess)
- {
- if (progress!=null)
+ public void resetProgress(int sizeGuess) {
+ if (progress != null)
progress.getModel().setRangeProperties(0, 0, 0, sizeGuess, false);
}
@Override
- public void updateProgress(int fullLength)
- {
- if (progress!=null)
+ public void updateProgress(int fullLength) {
+ if (progress != null)
progress.getModel().setValue(fullLength);
}
@Override
- public void setPokeThread(Thread currentThread)
- {
+ public void setPokeThread(Thread currentThread) {
this.pokeThread = currentThread;
}
@Override
- public boolean shouldStopIt()
- {
+ public boolean shouldStopIt() {
return stopIt;
}
-
+
@Override
public void showErrorDialog(String name, String url) {
- JEditorPane ep = new JEditorPane("text/html",
+ JEditorPane ep = new JEditorPane("text/html",
"" +
- owner+" was unable to download required library "+name +
- "
Check your internet connection and try restarting or download it manually from" +
- "
"+url+" and put it in your mods folder" +
- "");
+ owner + " was unable to download required library " + name +
+ "
Check your internet connection and try restarting or download it manually from" +
+ "
" + url + " and put it in your mods folder" +
+ "