diff --git a/html/css/960.css b/html/css/960.css
index 635d7ba5f..f0dae1802 100755
--- a/html/css/960.css
+++ b/html/css/960.css
@@ -1 +1,88 @@
-body{min-width:960px}.container_12,.container_16{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16{display:inline;float:left;margin-left:10px;margin-right:10px}.push_1,.pull_1,.push_2,.pull_2,.push_3,.pull_3,.push_4,.pull_4,.push_5,.pull_5,.push_6,.pull_6,.push_7,.pull_7,.push_8,.pull_8,.push_9,.pull_9,.push_10,.pull_10,.push_11,.pull_11,.push_12,.pull_12,.push_13,.pull_13,.push_14,.pull_14,.push_15,.pull_15{position:relative}.container_12 .grid_3,.container_16 .grid_4{width:220px}.container_12 .grid_6,.container_16 .grid_8{width:460px}.container_12 .grid_9,.container_16 .grid_12{width:700px}.container_12 .grid_12,.container_16 .grid_16{width:940px}.alpha{margin-left:0}.omega{margin-right:0}.container_12 .grid_1{width:60px}.container_12 .grid_2{width:140px}.container_12 .grid_4{width:300px}.container_12 .grid_5{width:380px}.container_12 .grid_7{width:540px}.container_12 .grid_8{width:620px}.container_12 .grid_10{width:780px}.container_12 .grid_11{width:860px}.container_16 .grid_1{width:40px}.container_16 .grid_2{width:100px}.container_16 .grid_3{width:160px}.container_16 .grid_5{width:280px}.container_16 .grid_6{width:340px}.container_16 .grid_7{width:400px}.container_16 .grid_9{width:520px}.container_16 .grid_10{width:580px}.container_16 .grid_11{width:640px}.container_16 .grid_13{width:760px}.container_16 .grid_14{width:820px}.container_16 .grid_15{width:880px}.container_12 .prefix_3,.container_16 .prefix_4{padding-left:240px}.container_12 .prefix_6,.container_16 .prefix_8{padding-left:480px}.container_12 .prefix_9,.container_16 .prefix_12{padding-left:720px}.container_12 .prefix_1{padding-left:80px}.container_12 .prefix_2{padding-left:160px}.container_12 .prefix_4{padding-left:320px}.container_12 .prefix_5{padding-left:400px}.container_12 .prefix_7{padding-left:560px}.container_12 .prefix_8{padding-left:640px}.container_12 .prefix_10{padding-left:800px}.container_12 .prefix_11{padding-left:880px}.container_16 .prefix_1{padding-left:60px}.container_16 .prefix_2{padding-left:120px}.container_16 .prefix_3{padding-left:180px}.container_16 .prefix_5{padding-left:300px}.container_16 .prefix_6{padding-left:360px}.container_16 .prefix_7{padding-left:420px}.container_16 .prefix_9{padding-left:540px}.container_16 .prefix_10{padding-left:600px}.container_16 .prefix_11{padding-left:660px}.container_16 .prefix_13{padding-left:780px}.container_16 .prefix_14{padding-left:840px}.container_16 .prefix_15{padding-left:900px}.container_12 .suffix_3,.container_16 .suffix_4{padding-right:240px}.container_12 .suffix_6,.container_16 .suffix_8{padding-right:480px}.container_12 .suffix_9,.container_16 .suffix_12{padding-right:720px}.container_12 .suffix_1{padding-right:80px}.container_12 .suffix_2{padding-right:160px}.container_12 .suffix_4{padding-right:320px}.container_12 .suffix_5{padding-right:400px}.container_12 .suffix_7{padding-right:560px}.container_12 .suffix_8{padding-right:640px}.container_12 .suffix_10{padding-right:800px}.container_12 .suffix_11{padding-right:880px}.container_16 .suffix_1{padding-right:60px}.container_16 .suffix_2{padding-right:120px}.container_16 .suffix_3{padding-right:180px}.container_16 .suffix_5{padding-right:300px}.container_16 .suffix_6{padding-right:360px}.container_16 .suffix_7{padding-right:420px}.container_16 .suffix_9{padding-right:540px}.container_16 .suffix_10{padding-right:600px}.container_16 .suffix_11{padding-right:660px}.container_16 .suffix_13{padding-right:780px}.container_16 .suffix_14{padding-right:840px}.container_16 .suffix_15{padding-right:900px}.container_12 .push_3,.container_16 .push_4{left:240px}.container_12 .push_6,.container_16 .push_8{left:480px}.container_12 .push_9,.container_16 .push_12{left:720px}.container_12 .push_1{left:80px}.container_12 .push_2{left:160px}.container_12 .push_4{left:320px}.container_12 .push_5{left:400px}.container_12 .push_7{left:560px}.container_12 .push_8{left:640px}.container_12 .push_10{left:800px}.container_12 .push_11{left:880px}.container_16 .push_1{left:60px}.container_16 .push_2{left:120px}.container_16 .push_3{left:180px}.container_16 .push_5{left:300px}.container_16 .push_6{left:360px}.container_16 .push_7{left:420px}.container_16 .push_9{left:540px}.container_16 .push_10{left:600px}.container_16 .push_11{left:660px}.container_16 .push_13{left:780px}.container_16 .push_14{left:840px}.container_16 .push_15{left:900px}.container_12 .pull_3,.container_16 .pull_4{left:-240px}.container_12 .pull_6,.container_16 .pull_8{left:-480px}.container_12 .pull_9,.container_16 .pull_12{left:-720px}.container_12 .pull_1{left:-80px}.container_12 .pull_2{left:-160px}.container_12 .pull_4{left:-320px}.container_12 .pull_5{left:-400px}.container_12 .pull_7{left:-560px}.container_12 .pull_8{left:-640px}.container_12 .pull_10{left:-800px}.container_12 .pull_11{left:-880px}.container_16 .pull_1{left:-60px}.container_16 .pull_2{left:-120px}.container_16 .pull_3{left:-180px}.container_16 .pull_5{left:-300px}.container_16 .pull_6{left:-360px}.container_16 .pull_7{left:-420px}.container_16 .pull_9{left:-540px}.container_16 .pull_10{left:-600px}.container_16 .pull_11{left:-660px}.container_16 .pull_13{left:-780px}.container_16 .pull_14{left:-840px}.container_16 .pull_15{left:-900px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:before,.clearfix:after,.container_12:before,.container_12:after,.container_16:before,.container_16:after{content:'.';display:block;overflow:hidden;visibility:hidden;font-size:0;line-height:0;width:0;height:0}.clearfix:after,.container_12:after,.container_16:after{clear:both}.clearfix,.container_12,.container_16{zoom:1}
\ No newline at end of file
+body{min-width:960px}.container_12,.container_16{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16{display:inline;float:left;margin-left:10px;margin-right:10px}.push_1,.pull_1,.push_2,.pull_2,.push_3,.pull_3,.push_4,.pull_4,.push_5,.pull_5,.push_6,.pull_6,.push_7,.pull_7,.push_8,.pull_8,.push_9,.pull_9,.push_10,.pull_10,.push_11,.pull_11,.push_12,.pull_12,.push_13,.pull_13,.push_14,.pull_14,.push_15,.pull_15{position:relative}.container_12
+.grid_3,.container_16 .grid_4{width:220px}.container_12
+.grid_6,.container_16 .grid_8{width:460px}.container_12
+.grid_9,.container_16 .grid_12{width:700px}.container_12
+.grid_12,.container_16
+.grid_16{width:940px}.alpha{margin-left:0}.omega{margin-right:0}.container_12
+.grid_1{width:60px}.container_12 .grid_2{width:140px}.container_12
+.grid_4{width:300px}.container_12 .grid_5{width:380px}.container_12
+.grid_7{width:540px}.container_12 .grid_8{width:620px}.container_12
+.grid_10{width:780px}.container_12 .grid_11{width:860px}.container_16
+.grid_1{width:40px}.container_16 .grid_2{width:100px}.container_16
+.grid_3{width:160px}.container_16 .grid_5{width:280px}.container_16
+.grid_6{width:340px}.container_16 .grid_7{width:400px}.container_16
+.grid_9{width:520px}.container_16 .grid_10{width:580px}.container_16
+.grid_11{width:640px}.container_16 .grid_13{width:760px}.container_16
+.grid_14{width:820px}.container_16 .grid_15{width:880px}.container_12
+.prefix_3,.container_16 .prefix_4{padding-left:240px}.container_12
+.prefix_6,.container_16 .prefix_8{padding-left:480px}.container_12
+.prefix_9,.container_16 .prefix_12{padding-left:720px}.container_12
+.prefix_1{padding-left:80px}.container_12
+.prefix_2{padding-left:160px}.container_12
+.prefix_4{padding-left:320px}.container_12
+.prefix_5{padding-left:400px}.container_12
+.prefix_7{padding-left:560px}.container_12
+.prefix_8{padding-left:640px}.container_12
+.prefix_10{padding-left:800px}.container_12
+.prefix_11{padding-left:880px}.container_16
+.prefix_1{padding-left:60px}.container_16
+.prefix_2{padding-left:120px}.container_16
+.prefix_3{padding-left:180px}.container_16
+.prefix_5{padding-left:300px}.container_16
+.prefix_6{padding-left:360px}.container_16
+.prefix_7{padding-left:420px}.container_16
+.prefix_9{padding-left:540px}.container_16
+.prefix_10{padding-left:600px}.container_16
+.prefix_11{padding-left:660px}.container_16
+.prefix_13{padding-left:780px}.container_16
+.prefix_14{padding-left:840px}.container_16
+.prefix_15{padding-left:900px}.container_12 .suffix_3,.container_16
+.suffix_4{padding-right:240px}.container_12 .suffix_6,.container_16
+.suffix_8{padding-right:480px}.container_12 .suffix_9,.container_16
+.suffix_12{padding-right:720px}.container_12
+.suffix_1{padding-right:80px}.container_12
+.suffix_2{padding-right:160px}.container_12
+.suffix_4{padding-right:320px}.container_12
+.suffix_5{padding-right:400px}.container_12
+.suffix_7{padding-right:560px}.container_12
+.suffix_8{padding-right:640px}.container_12
+.suffix_10{padding-right:800px}.container_12
+.suffix_11{padding-right:880px}.container_16
+.suffix_1{padding-right:60px}.container_16
+.suffix_2{padding-right:120px}.container_16
+.suffix_3{padding-right:180px}.container_16
+.suffix_5{padding-right:300px}.container_16
+.suffix_6{padding-right:360px}.container_16
+.suffix_7{padding-right:420px}.container_16
+.suffix_9{padding-right:540px}.container_16
+.suffix_10{padding-right:600px}.container_16
+.suffix_11{padding-right:660px}.container_16
+.suffix_13{padding-right:780px}.container_16
+.suffix_14{padding-right:840px}.container_16
+.suffix_15{padding-right:900px}.container_12 .push_3,.container_16
+.push_4{left:240px}.container_12 .push_6,.container_16
+.push_8{left:480px}.container_12 .push_9,.container_16
+.push_12{left:720px}.container_12 .push_1{left:80px}.container_12
+.push_2{left:160px}.container_12 .push_4{left:320px}.container_12
+.push_5{left:400px}.container_12 .push_7{left:560px}.container_12
+.push_8{left:640px}.container_12 .push_10{left:800px}.container_12
+.push_11{left:880px}.container_16 .push_1{left:60px}.container_16
+.push_2{left:120px}.container_16 .push_3{left:180px}.container_16
+.push_5{left:300px}.container_16 .push_6{left:360px}.container_16
+.push_7{left:420px}.container_16 .push_9{left:540px}.container_16
+.push_10{left:600px}.container_16 .push_11{left:660px}.container_16
+.push_13{left:780px}.container_16 .push_14{left:840px}.container_16
+.push_15{left:900px}.container_12 .pull_3,.container_16
+.pull_4{left:-240px}.container_12 .pull_6,.container_16
+.pull_8{left:-480px}.container_12 .pull_9,.container_16
+.pull_12{left:-720px}.container_12 .pull_1{left:-80px}.container_12
+.pull_2{left:-160px}.container_12 .pull_4{left:-320px}.container_12
+.pull_5{left:-400px}.container_12 .pull_7{left:-560px}.container_12
+.pull_8{left:-640px}.container_12 .pull_10{left:-800px}.container_12
+.pull_11{left:-880px}.container_16 .pull_1{left:-60px}.container_16
+.pull_2{left:-120px}.container_16 .pull_3{left:-180px}.container_16
+.pull_5{left:-300px}.container_16 .pull_6{left:-360px}.container_16
+.pull_7{left:-420px}.container_16 .pull_9{left:-540px}.container_16
+.pull_10{left:-600px}.container_16 .pull_11{left:-660px}.container_16
+.pull_13{left:-780px}.container_16 .pull_14{left:-840px}.container_16
+.pull_15{left:-900px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:before,.clearfix:after,.container_12:before,.container_12:after,.container_16:before,.container_16:after{content:'.';display:block;overflow:hidden;visibility:hidden;font-size:0;line-height:0;width:0;height:0}.clearfix:after,.container_12:after,.container_16:after{clear:both}.clearfix,.container_12,.container_16{zoom:1}
\ No newline at end of file
diff --git a/html/data/more_blocks.json b/html/data/more_blocks.json
index 6253f60ff..919adea09 100644
--- a/html/data/more_blocks.json
+++ b/html/data/more_blocks.json
@@ -8,7 +8,7 @@
"tools": ["Furnace"]
}, {
"output": [[1, "Healer"]],
- "input": [[2, "Essence of Life"], [1, "Essence of Earth"], [1, "Essence of Fire"], [1, "Essence of Water"], [1, "Essence of Air"], [3, Red Dye]],
+ "input": [[2, "Essence of Life"], [1, "Essence of Earth"], [1, "Essence of Fire"], [1, "Essence of Water"], [1, "Essence of Air"], [3, "Red Dye"]],
"tools": ["Crafting Table"]
}, {
"output": [[1, "Crying Obsidian"]],
diff --git a/html/script/crafting.js b/html/script/crafting.js
index dd691eb63..b76c30304 100644
--- a/html/script/crafting.js
+++ b/html/script/crafting.js
@@ -4,6 +4,16 @@ var ERROR_DISPLAY_DURATION = 10000; // ms
var FADE_DURATION = 250; // ms
var SLIDE_DURATION = 600; // ms
+var RECIPE_BOOK_URLS = [
+ "data/vanilla.json",
+ "data/buildcraft.json",
+ "data/industrial_craft.json",
+ "data/applied_energetics.json",
+ "data/thermal_expansion.json",
+ "data/gravisuite.json",
+ "data/more_blocks.json"
+];
+
// Global Variables ///////////////////////////////////////////////////////////////////////////////////////////////////
var __inventory = createManifest();
@@ -46,12 +56,7 @@ $(function() {
$("#crafting_selector").focus(onCraftingSelectorFocused);
$("#inventory").keyup(onInventoryChanged);
- loadRecipeBook("data/vanilla.json");
- loadRecipeBook("data/buildcraft.json");
- loadRecipeBook("data/industrial_craft.json");
- loadRecipeBook("data/applied_energetics.json");
- loadRecipeBook("data/thermal_expansion.json");
- loadRecipeBook("data/gravisuite.json");
+ loadRecipeBooks(RECIPE_BOOK_URLS);
});
function onCraftingSelectorChanged() {
@@ -106,7 +111,7 @@ function onInventoryChanged() {
onCraftingSelectorChanged();
}
-function onRecipeBookLoaded() {
+function onRecipeBooksLoaded() {
if (__loadingCount > 0 || __recipeBooks.length === 0) {
$("#crafting").fadeOut(FADE_DURATION);
} else if (__loadingCount === 0 && __recipeBooks.length > 0) {
@@ -118,7 +123,7 @@ function onRecipeBookLoaded() {
function onRecipeLoadButtonClicked() {
$("#reipebook_load_button").attr("disabled", true);
- loadRecipeBook($("#recipe_book_url").val(), function() {
+ loadRecipeBooks([$("#recipe_book_url").val()], function() {
$("#recipe_book_url").val("");
$("#reipebook_load_button").removeAttr("disabled");
});
@@ -126,8 +131,14 @@ function onRecipeLoadButtonClicked() {
// UI Helper Functions ////////////////////////////////////////////////////////////////////////////////////////////////
-function loadRecipeBook(recipeBookUrl) {
- __loadingCount++;
+function loadRecipeBooks(recipeBooks, onComplete) {
+ if (recipeBooks.length === 0) {
+ if (onComplete) { onComplete(); }
+ onRecipeBooksLoaded();
+ return;
+ }
+
+ recipeBookUrl = recipeBooks[0]
$.ajax({
url: recipeBookUrl,
dataType: "text",
@@ -147,8 +158,7 @@ function loadRecipeBook(recipeBookUrl) {
$("#load_error").slideDown(FADE_DURATION).delay(ERROR_DISPLAY_DURATION).slideUp(FADE_DURATION);
},
complete: function() {
- __loadingCount--;
- onRecipeBookLoaded();
+ loadRecipeBooks(recipeBooks.splice(1));
}
});
}