diff --git a/scss/_variables.scss b/scss/_variables.scss index b03fe04..2d8fa48 100644 --- a/scss/_variables.scss +++ b/scss/_variables.scss @@ -5,6 +5,7 @@ $default-ui-elements-color: #4b4b4b; $color-default-message: black; $color-unobtainable: #c00000; $color-migratable: #006c00; +$color-obtainable-by-notch: #eaee57; $color-removed: #006c00; // High contrast style variables diff --git a/scss/main.scss b/scss/main.scss index da9a838..1f63103 100644 --- a/scss/main.scss +++ b/scss/main.scss @@ -68,46 +68,52 @@ p { color: $color-default-message; } -#info-unknown-renders { +#info-migratable { display: none; - color: $color-default-message; + color: $color-migratable; } -#info-unknown-block-ids { +//#info-presumed-item-ids { +// display: none; +// +// color: $color-default-message; +//} + +#info-removed { display: none; - color: $color-default-message; + color: $color-removed; } -#info-unknown-item-ids { +#info-obtainable-by-notch { display: none; - color: $color-default-message; + color: $color-obtainable-by-notch; } -//#info-presumed-item-ids { -// display: none; -// -// color: $color-default-message; -//} +#info-unknown-renders { + display: none; -#info-unobtainable { + color: $color-default-message; +} + +#info-unknown-block-ids { display: none; - color: $color-unobtainable; + color: $color-default-message; } -#info-migratable { +#info-unknown-item-ids { display: none; - color: $color-migratable; + color: $color-default-message; } -#info-removed { +#info-unobtainable { display: none; - color: $color-removed; + color: $color-unobtainable; } #legal-info { @@ -232,18 +238,22 @@ p { text-align: center; } -.id-unobtainable { - color: $color-unobtainable; -} - .id-migratable { color: $color-migratable; } +.id-obtainable-by-notch { + color: $color-obtainable-by-notch; +} + .id-removed { color: $color-removed; } +.id-unobtainable { + color: $color-unobtainable; +} + .img-container { width: 32px; height: 34px; diff --git a/site/ids.json b/site/ids.json index 90e70a0..f6ab186 100644 --- a/site/ids.json +++ b/site/ids.json @@ -2229,7 +2229,7 @@ "257": { "name": "Iron Pickaxe", "sprite": "iron_pick_v2", "isUnobtainable": true }, "258": { "name": "Iron Axe", "sprite": "iron_axe_v3", "isUnobtainable": true }, "259": { "name": "Flint and Steel", "sprite": "flint_and_steel_v3" }, - "260": { "name": "Apple", "sprite": "apple", "isUnobtainable": true }, + "260": { "name": "Apple", "isUnobtainable": true }, "261": { "name": "Bow", "sprite": "bow", "isUnobtainable": true }, "262": { "name": "Arrow", "sprite": "arrow", "isUnobtainable": true }, "263": { "name": "Coal", "sprite": "coal_v2", "isUnobtainable": true }, @@ -2370,7 +2370,7 @@ "257": { "name": "Iron Pickaxe", "sprite": "iron_pick_v2", "isUnobtainable": true }, "258": { "name": "Iron Axe", "sprite": "iron_axe_v3", "isUnobtainable": true }, "259": { "name": "Flint and Steel", "sprite": "flint_and_steel_v3" }, - "260": { "name": "Apple", "sprite": "apple", "isUnobtainable": true }, + "260": { "name": "Apple", "isUnobtainable": true }, "261": { "name": "Bow", "sprite": "bow" }, "262": { "name": "Arrow", "sprite": "arrow" }, "263": { "name": "Coal", "sprite": "coal_v2", "isUnobtainable": true }, @@ -2511,7 +2511,7 @@ "257": { "name": "Iron Pickaxe", "sprite": "iron_pick_v2", "isUnobtainable": true }, "258": { "name": "Iron Axe", "sprite": "iron_axe_v3", "isUnobtainable": true }, "259": { "name": "Flint and Steel", "sprite": "flint_and_steel_v3" }, - "260": { "name": "Apple", "sprite": "apple", "isUnobtainable": true }, + "260": { "name": "Apple", "isUnobtainable": true }, "261": { "name": "Bow", "sprite": "bow" }, "262": { "name": "Arrow", "sprite": "arrow" }, "263": { "name": "Coal", "sprite": "coal_v2" }, @@ -2652,7 +2652,7 @@ "257": { "name": "Iron Pickaxe", "sprite": "iron_pick_v2" }, "258": { "name": "Iron Axe", "sprite": "iron_axe_v3" }, "259": { "name": "Flint and Steel", "sprite": "flint_and_steel_v3" }, - "260": { "name": "Apple", "sprite": "apple", "isUnobtainable": true }, + "260": { "name": "Apple", "isUnobtainable": true }, "261": { "name": "Bow", "sprite": "bow" }, "262": { "name": "Arrow", "sprite": "arrow" }, "263": { "name": "Coal", "sprite": "coal_v2" }, @@ -2716,6 +2716,146 @@ "321": { "name": "Painting", "sprite": "painting" }, "322": { "name": "Golden Apple", "isUnobtainable": true } } + }, + + "infdev20100327": { + "name": "20100327", + + "blocks": { + "0": { "name": "Air", "sprite": "nothing", "isUnobtainable": true }, + "1": { "name": "Stone", "sprite": "indev/stone_v5" }, + "2": { "name": "Grass Block", "sprite": "indev/grass_v5", "isUnobtainable": true }, + "3": { "name": "Dirt", "sprite": "indev/dirt_v5" }, + "4": { "name": "Cobblestone", "sprite": "indev/cobblestone_v5" }, + "5": { "name": "Planks", "sprite": "indev/planks_v5" }, + "6": { "name": "Sapling", "sprite": "indev/sapling_v3" }, + "7": { "name": "Bedrock", "sprite": "indev/bedrock_v5", "isUnobtainable": true }, + "8": { "name": "Flowing Water", "sprite": "indev/water_v5", "isUnobtainable": true }, + "9": { "name": "Stationary Water", "sprite": "indev/water_v5", "isUnobtainable": true }, + "10": { "name": "Flowing Lava", "sprite": "indev/lava_v5", "isUnobtainable": true }, + "11": { "name": "Stationary Lava", "sprite": "indev/lava_v5", "isUnobtainable": true }, + "12": { "name": "Sand", "sprite": "indev/sand_v5", "isUnobtainable": true }, + "13": { "name": "Gravel", "sprite": "indev/gravel_v5", "isUnobtainable": true }, + "14": { "name": "Gold Ore", "sprite": "indev/gold_ore_v5" }, + "15": { "name": "Iron Ore", "sprite": "indev/iron_ore_v5" }, + "16": { "name": "Coal Ore", "sprite": "indev/coal_ore_v5", "isUnobtainable": true }, + "17": { "name": "Wood", "sprite": "indev/wood_v5" }, + "18": { "name": "Leaves", "sprite": "indev/leaves_v5", "isUnobtainable": true }, + "19": { "name": "Sponge", "sprite": "indev/sponge_v5", "isUnobtainable": true }, + "20": { "name": "Glass", "sprite": "indev/glass_v5", "isUnobtainable": true }, + "21": { "name": "Red Cloth", "sprite": "indev/red_cloth_v5", "isUnobtainable": true }, + "22": { "name": "Orange Cloth", "sprite": "indev/orange_cloth_v5", "isUnobtainable": true }, + "23": { "name": "Yellow Cloth", "sprite": "indev/yellow_cloth_v5", "isUnobtainable": true }, + "24": { "name": "Chartreuse Cloth", "sprite": "indev/chartreuse_cloth_v5", "isUnobtainable": true }, + "25": { "name": "Green Cloth", "sprite": "indev/green_cloth_v5", "isUnobtainable": true }, + "26": { "name": "Spring Green Cloth", "sprite": "indev/spring_green_cloth_v5", "isUnobtainable": true }, + "27": { "name": "Cyan Cloth", "sprite": "indev/cyan_cloth_v5", "isUnobtainable": true }, + "28": { "name": "Capri Cloth", "sprite": "indev/capri_cloth_v5", "isUnobtainable": true }, + "29": { "name": "Ultramarine Cloth", "sprite": "indev/ultramarine_cloth_v5", "isUnobtainable": true }, + "30": { "name": "Violet Cloth", "sprite": "indev/violet_cloth_v5", "isUnobtainable": true }, + "31": { "name": "Purple Cloth", "sprite": "indev/purple_cloth_v5", "isUnobtainable": true }, + "32": { "name": "Magenta Cloth", "sprite": "indev/magenta_cloth_v5", "isUnobtainable": true }, + "33": { "name": "Rose Cloth", "sprite": "indev/rose_cloth_v5", "isUnobtainable": true }, + "34": { "name": "Dark Gray Cloth", "sprite": "indev/dark_gray_cloth_v5", "isUnobtainable": true }, + "35": { "name": "Light Gray Cloth", "sprite": "indev/light_gray_cloth_v5", "isUnobtainable": true }, + "36": { "name": "White Cloth", "sprite": "indev/white_cloth_v5", "isUnobtainable": true }, + "37": { "name": "Flower", "sprite": "indev/flower_v2", "isUnobtainable": true }, + "38": { "name": "Rose", "sprite": "indev/rose_v2", "isUnobtainable": true }, + "39": { "name": "Brown Mushroom", "sprite": "indev/brown_mushroom_v2", "isUnobtainable": true }, + "40": { "name": "Red Mushroom", "sprite": "indev/red_mushroom_v2", "isUnobtainable": true }, + "41": { "name": "Block of Gold", "sprite": "indev/block_of_gold_v5" }, + "42": { "name": "Block of Iron", "sprite": "indev/block_of_iron_v5" }, + "43": { "name": "Double Slab", "sprite": "indev/double_slab_v5", "isUnobtainable": true }, + "44": { "name": "Slab", "sprite": "indev/slab_v5" }, + "45": { "name": "Bricks", "sprite": "indev/bricks_v5", "isUnobtainable": true }, + "46": { "name": "TNT", "sprite": "indev/tnt_v5", "isUnobtainable": true }, + "47": { "name": "Bookshelf", "sprite": "indev/bookshelf_v5", "isUnobtainable": true }, + "48": { "name": "Mossy Cobblestone", "sprite": "indev/mossy_cobblestone_v5", "isUnobtainable": true }, + "49": { "name": "Obsidian", "sprite": "indev/obsidian_v5", "isUnobtainable": true }, + "50": { "name": "Torch", "sprite": "indev/torch_v4" }, + "51": { "name": "Fire", "sprite": "indev/fire", "isUnobtainable": true }, + "52": { "name": "Water Spawner", "sprite": "indev/water_spawner_v4", "isUnobtainable": true }, + "53": { "name": "Lava Spawner", "sprite": "indev/lava_spawner_v4", "isUnobtainable": true }, + "54": { "name": "Chest", "sprite": "indev/chest_v4" }, + "55": { "name": "Gear", "sprite": "indev/gear", "isUnobtainable": true }, + "56": { "name": "Diamond Ore", "sprite": "indev/diamond_ore_v4", "isUnobtainable": true }, + "57": { "name": "Block of Diamond", "sprite": "indev/block_of_diamond_v4" }, + "58": { "name": "Crafting Table", "sprite": "indev/crafting_table_v4" }, + "59": { "name": "Crops", "sprite": "indev/crops", "isUnobtainable": true }, + "60": { "name": "Farmland", "sprite": "indev/farmland", "isUnobtainable": true }, + "61": { "name": "Furnace", "sprite": "indev/furnace"}, + "62": { "name": "Lit Furnace", "sprite": "indev/furnace" } + }, + + "items": { + "256": { "name": "Iron Shovel", "sprite": "iron_shovel_v2" }, + "257": { "name": "Iron Pickaxe", "sprite": "iron_pick_v2" }, + "258": { "name": "Iron Axe", "sprite": "iron_axe_v3" }, + "259": { "name": "Flint and Steel", "sprite": "flint_and_steel_v3", "isUnobtainable": true }, + "260": { "name": "Apple", "sprite": "apple", "isObtainableByNotch": true }, + "261": { "name": "Bow", "sprite": "bow", "isUnobtainable": true }, + "262": { "name": "Arrow", "sprite": "arrow", "isUnobtainable": true }, + "263": { "name": "Coal", "sprite": "coal_v2" }, + "264": { "name": "Diamond", "sprite": "diamond" }, + "265": { "name": "Iron Ingot", "sprite": "iron_ingot_v2" }, + "266": { "name": "Gold Ingot", "sprite": "gold_ingot_v2" }, + "267": { "name": "Iron Sword", "sprite": "iron_sword" }, + "268": { "name": "Wooden Sword", "sprite": "wooden_sword" }, + "269": { "name": "Wooden Spade", "sprite": "wooden_shovel" }, + "270": { "name": "Wooden Piackaxe", "sprite": "wooden_pick" }, + "271": { "name": "Wooden Axe", "sprite": "wooden_axe" }, + "272": { "name": "Stone Sword", "sprite": "stone_sword" }, + "273": { "name": "Stone Shovel", "sprite": "stone_shovel" }, + "274": { "name": "Stone Pickaxe", "sprite": "stone_pick" }, + "275": { "name": "Stone Axe", "sprite": "stone_axe" }, + "276": { "name": "Diamond Sword", "sprite": "diamond_sword" }, + "277": { "name": "Diamond Shovel", "sprite": "diamond_shovel" }, + "278": { "name": "Diamond Pickaxe", "sprite": "diamond_pick" }, + "279": { "name": "Diamond Axe", "sprite": "diamond_axe" }, + "280": { "name": "Stick", "sprite": "stick" }, + "281": { "name": "Bowl", "sprite": "bowl" }, + "282": { "name": "Mushroom Stew", "sprite": "mushroom_stew", "isUnobtainable": true }, + "283": { "name": "Golden Sword", "sprite": "golden_sword_v2" }, + "284": { "name": "Golden Shovel", "sprite": "golden_shovel_v2" }, + "285": { "name": "Golden Pickaxe", "sprite": "golden_pick_v2" }, + "286": { "name": "Golden Axe", "sprite": "golden_axe_v2" }, + "287": { "name": "String", "sprite": "string", "isUnobtainable": true }, + "288": { "name": "Feather", "sprite": "feather_v2", "isUnobtainable": true }, + "289": { "name": "Gunpowder", "sprite": "gunpowder", "isUnobtainable": true }, + "290": { "name": "Wooden Hoe", "sprite": "wooden_hoe" }, + "291": { "name": "Stone Hoe", "sprite": "stone_hoe" }, + "292": { "name": "Iron Hoe", "sprite": "iron_hoe" }, + "293": { "name": "Diamond Hoe", "sprite": "diamond_hoe" }, + "294": { "name": "Golden Hoe", "sprite": "golden_hoe" }, + "295": { "name": "Seeds", "sprite": "seeds" }, + "296": { "name": "Wheat", "sprite": "wheat" }, + "297": { "name": "Bread", "sprite": "bread" }, + "298": { "name": "Leather Cap", "sprite": "leather_cap", "isUnobtainable": true }, + "299": { "name": "Leather Tunic", "sprite": "leather_tunic", "isUnobtainable": true }, + "300": { "name": "Leather Pants", "sprite": "leather_pants", "isUnobtainable": true }, + "301": { "name": "Leather Boots", "sprite": "leather_boots", "isUnobtainable": true }, + "302": { "name": "Chain Helmet", "sprite": "chain_helmet", "isUnobtainable": true }, + "303": { "name": "Chain Chestplate", "sprite": "chain_chestplate", "isUnobtainable": true }, + "304": { "name": "Chain Leggings", "sprite": "chain_leggings", "isUnobtainable": true }, + "305": { "name": "Chain Boots", "sprite": "chain_boots", "isUnobtainable": true }, + "306": { "name": "Iron Helmet", "sprite": "iron_helmet" }, + "307": { "name": "Iron Chestplate", "sprite": "iron_chestplate" }, + "308": { "name": "Iron Leggings", "sprite": "iron_leggings" }, + "309": { "name": "Iron Boots", "sprite": "iron_boots" }, + "310": { "name": "Diamond Helmet", "sprite": "diamond_helmet" }, + "311": { "name": "Diamond Chestplate", "sprite": "diamond_chestplate" }, + "312": { "name": "Diamond Leggings", "sprite": "diamond_leggings" }, + "313": { "name": "Diamond Boots", "sprite": "diamond_boots" }, + "314": { "name": "Golden Helmet", "sprite": "golden_helmet" }, + "315": { "name": "Golden Chestplate", "sprite": "golden_chestplate" }, + "316": { "name": "Golden Leggings", "sprite": "golden_leggings" }, + "317": { "name": "Golden Boots", "sprite": "golden_boots" }, + "318": { "name": "Flint", "sprite": "flint", "isUnobtainable": true }, + "319": { "name": "Raw Porkchop", "sprite": "raw_porkchop", "isUnobtainable": true }, + "320": { "name": "Cooked Porkchop", "sprite": "cooked_porkchop", "isUnobtainable": true }, + "321": { "name": "Painting", "sprite": "painting", "isUnobtainable": true }, + "322": { "name": "Golden Apple", "sprite": "golden_apple", "isUnobtainable": true } + } } } } diff --git a/site/images/items/golden_apple.png b/site/images/items/golden_apple.png new file mode 100644 index 0000000..8a207d9 Binary files /dev/null and b/site/images/items/golden_apple.png differ diff --git a/site/index.html b/site/index.html index 835653c..bdbabac 100644 --- a/site/index.html +++ b/site/index.html @@ -45,6 +45,11 @@ +
unless you migrate from older version or use cheat/server commands.
Data values colored in gold cannot be legitimately obtained,
+unless the player is named "Notch".
+Data values colored in green are removed from the game,
but still available with cheats/server commands.
diff --git a/site/script.js b/site/script.js index 3354df0..aa2be0d 100644 --- a/site/script.js +++ b/site/script.js @@ -116,14 +116,21 @@ function loadVersionList() { function loadEntries(entries, el, entriesName, hasUnknownIds) { var excludeUnobtainable = document.getElementById('exclude-unobtainable').checked; var excludeMigratable = document.getElementById('exclude-migratable').checked; + var excludeObtainableByNotch = document.getElementById('exclude-obtainable-by-notch').checked var displayAirBlock = document.getElementById('display-air-block').checked; Object.keys(entries).forEach(function (id) { - if (excludeUnobtainable && entries[id].isUnobtainable) { + var entry = entries[id] + + if (excludeUnobtainable && entry.isUnobtainable) { + return; + } + + if (excludeMigratable && entry.isObtainableByMigration) { return; } - if (excludeMigratable && entries[id].isObtainableByMigration) { + if (excludeObtainableByNotch && entry.isObtainableByNotch) { return; } @@ -131,19 +138,21 @@ function loadEntries(entries, el, entriesName, hasUnknownIds) { return; } - var entry = document.createElement('div'); - el.appendChild(entry); - entry.classList.add('entry'); + var entryElement = document.createElement('div'); + el.appendChild(entryElement); + entryElement.classList.add('entry'); var idElement = document.createElement('div'); - entry.appendChild(idElement); + entryElement.appendChild(idElement); idElement.classList.add('id'); - if (entries[id].isUnobtainable) { + if (entry.isUnobtainable) { idElement.classList.add('id-unobtainable'); - } else if (entries[id].isObtainableByMigration) { + } else if (entry.isObtainableByMigration) { idElement.classList.add('id-migratable'); - } else if (entries[id].isRemoved) { + } else if (entry.isObtainableByNotch) { + idElement.classList.add('id-obtainable-by-notch'); + } else if (entry.isRemoved) { idElement.classList.add('id-removed'); } @@ -155,7 +164,7 @@ function loadEntries(entries, el, entriesName, hasUnknownIds) { var elementWithTooltip = document.createElement('div'); elementWithTooltip.classList.add('with-tooltip'); - entry.appendChild(elementWithTooltip); + entryElement.appendChild(elementWithTooltip); var imageContainer = document.createElement('div'); imageContainer.classList.add('img-container'); @@ -163,8 +172,8 @@ function loadEntries(entries, el, entriesName, hasUnknownIds) { var img = document.createElement('img'); - if (entries[id].sprite) { - img.src = 'images/' + entriesName + '/' + entries[id].sprite + '.png'; + if (entry.sprite) { + img.src = 'images/' + entriesName + '/' + entry.sprite + '.png'; } else { img.src = 'images/unknown.png'; } @@ -174,7 +183,7 @@ function loadEntries(entries, el, entriesName, hasUnknownIds) { var tooltip = document.createElement('div'); tooltip.classList.add('tooltip'); - var name = entries[id].name ? entries[id].name : "NO NAME"; + var name = entry.name ? entry.name : "NO NAME"; tooltip.innerHTML = name; elementWithTooltip.appendChild(tooltip); @@ -194,14 +203,21 @@ function checkVersionProperty(elementName, version, property) { function doEntriesContainEntryType(entries, type) { var excludeUnobtainable = document.getElementById('exclude-unobtainable').checked; var excludeMigratable = document.getElementById('exclude-migratable').checked; + var excludeObtainableByNotch = document.getElementById('exclude-obtainable-by-notch').checked; var countAirBlock = document.getElementById('display-air-block').checked; return Object.keys(entries).some(function (id) { - if (excludeUnobtainable && entries[id].isUnobtainable) { + var entry = entries[id] + + if (excludeUnobtainable && entry.isUnobtainable) { + return false; + } + + if (excludeMigratable && entry.isObtainableByMigration) { return false; } - if (excludeMigratable && entries[id].isObtainableByMigration) { + if (excludeObtainableByNotch && entry.isObtainableByNotch) { return false; } @@ -209,7 +225,7 @@ function doEntriesContainEntryType(entries, type) { return false; } - if (entries[id][type]) { + if (entry[type]) { return true; } @@ -297,10 +313,12 @@ function loadCurrentVersion() { var infoUnobtainableElement = document.getElementById('info-unobtainable'); var infoMigratableElement = document.getElementById('info-migratable'); + var infoObtainableByNotchElement = document.getElementById('info-obtainable-by-notch'); var infoRemovedElement = document.getElementById('info-removed'); checkEntries(blocks, infoUnobtainableElement, "isUnobtainable"); checkEntries(blocks, infoMigratableElement, "isObtainableByMigration"); + checkEntries(blocks, infoObtainableByNotchElement, "isObtainableByNotch"); checkEntries(blocks, infoRemovedElement, "isRemoved"); loadEntries(blocks, blocksContentElement, "blocks", version.hasUnknownBlockIds); @@ -328,6 +346,10 @@ function loadCurrentVersion() { checkEntries(items, infoMigratableElement, "isObtainableByMigration"); } + if (infoObtainableByNotchElement.style.display == "none") { + checkEntries(items, infoObtainableByNotchElement, "isObtainableByNotch"); + } + if (infoRemovedElement.style.display == "none") { checkEntries(items, infoRemovedElement, "isRemoved"); } @@ -371,6 +393,9 @@ function reloadCheckboxes() { var excludeMigratableCheckbox = document.getElementById('exclude-migratable'); excludeMigratableCheckbox.disabled = "disabled"; + + var excludeObtainableByNotchCheckbox = document.getElementById('exclude-obtainable-by-notch'); + excludeObtainableByNotchCheckbox.disabled = "disabled"; } function reloadVersionList() { @@ -423,10 +448,12 @@ document.addEventListener('DOMContentLoaded', function () { var excludeUnobtainable = document.getElementById('exclude-unobtainable').checked; var excludeMigratableCheckbox = document.getElementById('exclude-migratable'); + var excludeObtainableByNotchCheckbox = document.getElementById('exclude-obtainable-by-notch'); var displayAirCheckbox = document.getElementById('display-air-block'); if (excludeUnobtainable) { excludeMigratableCheckbox.disabled = ""; + excludeObtainableByNotchCheckbox.disabled = ""; displayAirCheckbox.checked = false; displayAirCheckbox.disabled = "disabled"; @@ -434,12 +461,14 @@ document.addEventListener('DOMContentLoaded', function () { excludeMigratableCheckbox.checked = false; excludeMigratableCheckbox.disabled = "disabled"; + excludeObtainableByNotchCheckbox.checked = false; + excludeObtainableByNotchCheckbox.disabled = "disabled"; + displayAirCheckbox.disabled = ""; } }); document.getElementById('exclude-migratable').addEventListener('change', updateSettingsStatus); - + document.getElementById('exclude-obtainable-by-notch').addEventListener('change', updateSettingsStatus); document.getElementById('display-air-block').addEventListener('change', updateSettingsStatus); -}); - +}); \ No newline at end of file