aboutsummaryrefslogtreecommitdiff
path: root/public_html
diff options
context:
space:
mode:
Diffstat (limited to 'public_html')
-rw-r--r--public_html/MinecraftColorCodes.min.3.7.js1
-rw-r--r--public_html/android-chrome-192x192.pngbin0 -> 4289 bytes
-rw-r--r--public_html/android-chrome-512x512.pngbin0 -> 16598 bytes
-rw-r--r--public_html/apple-touch-icon.pngbin0 -> 3603 bytes
-rw-r--r--public_html/favicon-16x16.pngbin0 -> 556 bytes
-rw-r--r--public_html/favicon-32x32.pngbin0 -> 743 bytes
-rw-r--r--public_html/favicon.icobin0 -> 34494 bytes
-rw-r--r--public_html/guide.html370
-rw-r--r--public_html/guide.json1
-rw-r--r--public_html/index.html462
-rw-r--r--public_html/leaderboard.html111
-rw-r--r--public_html/robots.txt0
12 files changed, 945 insertions, 0 deletions
diff --git a/public_html/MinecraftColorCodes.min.3.7.js b/public_html/MinecraftColorCodes.min.3.7.js
new file mode 100644
index 0000000..aeb23d2
--- /dev/null
+++ b/public_html/MinecraftColorCodes.min.3.7.js
@@ -0,0 +1 @@
+function obfuscate(e,o){function t(e,o){var t=0,n=o||e.innerHTML,a=n.length;obfuscators.push(window.setInterval(function(){t>=a&&(t=0),n=r(n,t),e.innerHTML=n,t++},0))}function n(e,o){return Math.floor(Math.random()*(o-e+1))+e}function r(e,o){var t=String.fromCharCode(n(64,90));return e.substr(0,o)+t+e.substr(o+1,e.length)}var a,c,f=o.childNodes.length;if(e.indexOf("<br>")>-1){o.innerHTML=e;for(var i=0;f>i;i++)c=o.childNodes[i],3===c.nodeType&&(a=document.createElement("span"),a.innerHTML=c.nodeValue,o.replaceChild(a,c),t(a))}else t(o,e)}function applyCode(e,o){for(var t=o.length,n=document.createElement("span"),r=!1,a=0;t>a;a++)n.style.cssText+=styleMap[o[a]]+";","§k"===o[a]&&(obfuscate(e,n),r=!0);return r||(n.innerHTML=e),n}function parseStyle(e){for(var o,t,n=e.match(/§.{1}/g)||[],r=[],a=[],c=document.createDocumentFragment(),f=n.length,e=e.replace(/\n|\\n/g,"<br>"),i=0;f>i;i++)r.push(e.indexOf(n[i])),e=e.replace(n[i],"\x00\x00");0!==r[0]&&c.appendChild(applyCode(e.substring(0,r[0]),[]));for(var i=0;f>i;i++){if(t=r[i+1]-r[i],2===t){for(;2===t;)a.push(n[i]),i++,t=r[i+1]-r[i];a.push(n[i])}else a.push(n[i]);a.lastIndexOf("§r")>-1&&(a=a.slice(a.lastIndexOf("§r")+1)),o=e.substring(r[i],r[i+1]),c.appendChild(applyCode(o,a))}return c}function clearObfuscators(){for(var e=obfuscators.length;e--;)clearInterval(obfuscators[e]);obfuscators=[]}function cutString(e,o,t){return e.substr(0,o)+e.substr(t+1)}var obfuscators=[],styleMap={"§4":"font-weight:normal;text-decoration:none;color:#be0000","§c":"font-weight:normal;text-decoration:none;color:#fe3f3f","§6":"font-weight:normal;text-decoration:none;color:#d9a334","§e":"font-weight:normal;text-decoration:none;color:#fefe3f","§2":"font-weight:normal;text-decoration:none;color:#00be00","§a":"font-weight:normal;text-decoration:none;color:#3ffe3f","§b":"font-weight:normal;text-decoration:none;color:#3ffefe","§3":"font-weight:normal;text-decoration:none;color:#00bebe","§1":"font-weight:normal;text-decoration:none;color:#0000be","§9":"font-weight:normal;text-decoration:none;color:#3f3ffe","§d":"font-weight:normal;text-decoration:none;color:#fe3ffe","§5":"font-weight:normal;text-decoration:none;color:#be00be","§f":"font-weight:normal;text-decoration:none;color:#ffffff","§7":"font-weight:normal;text-decoration:none;color:#bebebe","§8":"font-weight:normal;text-decoration:none;color:#3f3f3f","§0":"font-weight:normal;text-decoration:none;color:#000000","§l":"font-weight:bold","§n":"text-decoration:underline;text-decoration-skip:spaces","§o":"font-style:italic","§m":"text-decoration:line-through;text-decoration-skip:spaces"};String.prototype.replaceColorCodes=function(){clearObfuscators();var e=parseStyle(String(this));return e}; \ No newline at end of file
diff --git a/public_html/android-chrome-192x192.png b/public_html/android-chrome-192x192.png
new file mode 100644
index 0000000..a54c53f
--- /dev/null
+++ b/public_html/android-chrome-192x192.png
Binary files differ
diff --git a/public_html/android-chrome-512x512.png b/public_html/android-chrome-512x512.png
new file mode 100644
index 0000000..6aa5cca
--- /dev/null
+++ b/public_html/android-chrome-512x512.png
Binary files differ
diff --git a/public_html/apple-touch-icon.png b/public_html/apple-touch-icon.png
new file mode 100644
index 0000000..24b01df
--- /dev/null
+++ b/public_html/apple-touch-icon.png
Binary files differ
diff --git a/public_html/favicon-16x16.png b/public_html/favicon-16x16.png
new file mode 100644
index 0000000..ad50bbc
--- /dev/null
+++ b/public_html/favicon-16x16.png
Binary files differ
diff --git a/public_html/favicon-32x32.png b/public_html/favicon-32x32.png
new file mode 100644
index 0000000..7c02efd
--- /dev/null
+++ b/public_html/favicon-32x32.png
Binary files differ
diff --git a/public_html/favicon.ico b/public_html/favicon.ico
new file mode 100644
index 0000000..12bf8b9
--- /dev/null
+++ b/public_html/favicon.ico
Binary files differ
diff --git a/public_html/guide.html b/public_html/guide.html
new file mode 100644
index 0000000..7c3d56a
--- /dev/null
+++ b/public_html/guide.html
@@ -0,0 +1,370 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="Skyblock.Bingo lets you view your Hypixel Skyblock bingo stats, leaderboard, and guide for this month's goals!">
+ <meta name="keywords" content="bingo, hypixel, skyblock, hypixel skyblock">
+ <meta name="robots" content="index, follow">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta name="language" content="English">
+ <link rel="preconnect" href="https://fonts.googleapis.com">
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+ <link href="https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&display=swap" rel="stylesheet">
+ <script src="https://skyblock.bingo/MinecraftColorCodes.min.3.7.js"></script>
+ <title>Guide | skyblock.bingo</title>
+</head>
+<style>
+ body {
+ font-family: 'Atkinson Hyperlegible', sans-serif;
+ margin: 0px;
+ background-color: #070F15;
+ color: #bebebe;
+ }
+ #header {
+ background-color: #000000;
+ display: flex;
+ text-align: left;
+ padding: 5px;
+ position: sticky;
+ top: 0px;
+ height: 24px;
+ }
+ #header a {
+ outline: none;
+ border-radius: 32px;
+ border: none;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-left: 8px;
+ padding-right: 8px;
+ margin-left: 8px;
+ line-height: 18px;
+ background-color: #383838;
+ text-decoration: none;
+ color: #ffffff;
+ }
+ #header a:hover {
+ background-color: #bebebe;
+ color: #070F15;
+ }
+ #card {
+ position: fixed;
+ display: flex;
+ width: 400px;
+ height: 400px;
+ margin-top: 16px;
+ margin-left: 16px;
+ border-radius: 5px;
+ flex-direction: column;
+ background-color: #000000;
+ }
+ .row {
+ display: flex;
+ flex-direction: row;
+ }
+ .goal {
+ width: 79px;
+ height: 79px;
+ border-right: 1px solid #383838;
+ border-bottom: 1px solid #383838;
+ }
+ .goal button {
+ width: 100%;
+ height: 100%;
+ background-color: transparent;
+ border: none;
+ color: rgb(0, 0, 0);
+ cursor: pointer;
+ font-size: 12px;
+ }
+ .goal button:active {
+ background-color: #00000050;
+ }
+ .container{
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ overflow-y: hidden;
+ }
+ #player-container {
+ margin-top: 16px;
+ margin-left: calc(400px + 32px);
+ margin-right: 16px;
+ width: 100%;
+ background-color: #383838;
+ border-radius: 5px;
+ display: flex;
+ flex-direction: row;
+ margin-bottom: 16px;
+ }
+
+ #attribution {
+ float: left;
+ margin-left: 16px;
+ margin-right: 16px;
+ }
+
+ table {
+ border-collapse: collapse;
+ width: 100%;
+ }
+
+ th {
+ text-align: center;
+ background-color: #000000;
+ color: white;
+ padding: 5px;
+ height: 24px;
+ }
+
+ td {
+ border-bottom: 1px solid #494949;
+ text-align: center;
+ padding: 8px;
+ width: calc(100% / 8);
+ overflow-y: auto;
+ height: 50px;
+ }
+
+ td a {
+ text-decoration: underline;
+ color: #1e78e0;
+ }
+
+ td:first-child {
+ width: calc(100% / 9);
+ }
+
+ tr:last-child td:first-child {
+ border-radius: 0px 0px 0px 5px;
+ }
+
+ tr:last-child td:last-child {
+ border-radius: 0px 0px 5px 0px;
+ }
+
+ tr:last-child td{
+ border-bottom:0;
+ }
+
+ @media only screen and (max-width: 600px) {
+ .container {
+ flex-direction: column;
+ }
+ #card {
+ position: static;
+ width: calc(100% - 32px);
+ height: calc(100vw - 32px);
+ margin-bottom: 16px;
+ }
+ .goal {
+ width: -webkit-calc(100% / 5);
+ height: calc((100vw - 32px) / 5);
+ }
+ .goal button {
+ font-size: 8px;
+ }
+ #player-container {
+ width: calc(100% - 32px);
+ margin-top: 8px;
+ margin-bottom: 16px;
+ margin-left: 16px;
+ font-size: 10px;
+ }
+ #goals {
+ margin-top: 5px;
+ width: calc(100% - 64px);
+ }
+ #blackout-string {
+ width: 100%;
+ padding-top: calc(50% - 18px);
+ }
+ #footer {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 16px;
+ }
+ #disclaimer {
+ margin-left: 0px;
+ text-align: center;
+ }
+ #attribution {
+ display: none;
+ }
+ }
+</style>
+<body>
+ <div id="header">
+ <a style="margin-left: 0px; background-color: #000000; color: white; font-weight: 600;" href="https://skyblock.bingo">skyblock.bingo</a>
+ <a href="https://skyblock.bingo/guide" target="_blank">Guide</a>
+ <a href="https://skyblock.bingo/leaderboard" target="_blank">Leaderboard</a>
+ <a href="https://skyblock.bingo/api" target="_blank">API</a>
+ </div>
+ <div class="container">
+ <div id="card">
+ <div class="row">
+ <div id="goal0" class="goal" style="border-radius: 5px 0px 0px 0px;">
+ <button class="card-btn" aria-label="Display Goal One" onclick="displayGoal(0)" style="border-radius: 5px 0px 0px 0px;"></button>
+ </div>
+ <div id="goal1" class="goal">
+ <button class="card-btn" aria-label="Display Goal Two" onclick="displayGoal(1)"></button>
+ </div>
+ <div id="goal2" class="goal">
+ <button class="card-btn" aria-label="Display Goal Three" onclick="displayGoal(2)"></button>
+ </div>
+ <div id="goal3" class="goal">
+ <button class="card-btn" aria-label="Display Goal Four" onclick="displayGoal(3)"></button>
+ </div>
+ <div id="goal4" class="goal" style="border-radius: 0px 5px 0px 0px; border-right: 0px;">
+ <button class="card-btn" aria-label="Display Goal Five" onclick="displayGoal(4)" style="border-radius: 0px 5px 0px 0px;"></button>
+ </div>
+ </div>
+ <div class="row">
+ <div id="goal5" class="goal">
+ <button class="card-btn" aria-label="Display Goal Six" onclick="displayGoal(5)"></button>
+ </div>
+ <div id="goal6" class="goal">
+ <button class="card-btn" aria-label="Display Goal Seven" onclick="displayGoal(6)"></button>
+ </div>
+ <div id="goal7" class="goal">
+ <button class="card-btn" aria-label="Display Goal Eight" onclick="displayGoal(7)"></button>
+ </div>
+ <div id="goal8" class="goal">
+ <button class="card-btn" aria-label="Display Goal Nine" onclick="displayGoal(8)"></button>
+ </div>
+ <div id="goal9" class="goal" style="border-right: 0px;">
+ <button class="card-btn" aria-label="Display Goal Ten" onclick="displayGoal(9)"></button>
+ </div>
+ </div>
+ <div class="row">
+ <div id="goal10" class="goal">
+ <button class="card-btn" aria-label="Display Goal Eleven" onclick="displayGoal(10)"></button>
+ </div>
+ <div id="goal11" class="goal">
+ <button class="card-btn" aria-label="Display Goal Twelve" onclick="displayGoal(11)"></button>
+ </div>
+ <div id="goal12" class="goal">
+ <button class="card-btn" aria-label="Display Goal Thirteen" onclick="displayGoal(12)"></button>
+ </div>
+ <div id="goal13" class="goal">
+ <button class="card-btn" aria-label="Display Goal Fourteen" onclick="displayGoal(13)"></button>
+ </div>
+ <div id="goal14" class="goal" style="border-right: 0px;">
+ <button class="card-btn" aria-label="Display Goal Fifteen" onclick="displayGoal(14)"></button>
+ </div>
+ </div>
+ <div class="row">
+ <div id="goal15" class="goal">
+ <button class="card-btn" aria-label="Display Goal Sixteen" onclick="displayGoal(15)"></button>
+ </div>
+ <div id="goal16" class="goal">
+ <button class="card-btn" aria-label="Display Goal Seventeen" onclick="displayGoal(16)"></button>
+ </div>
+ <div id="goal17" class="goal">
+ <button class="card-btn" aria-label="Display Goal Eighteen" onclick="displayGoal(17)"></button>
+ </div>
+ <div id="goal18" class="goal">
+ <button class="card-btn" aria-label="Display Goal Ninteen" onclick="displayGoal(18)"></button>
+ </div>
+ <div id="goal19" class="goal" style="border-right: 0px;">
+ <button class="card-btn" aria-label="Display Goal Twenty" onclick="displayGoal(19)"></button>
+ </div>
+ </div>
+ <div class="row">
+ <div id="goal20" class="goal" style="border-radius: 0px 0px 0px 5px; border-bottom: 0px;">
+ <button class="card-btn" aria-label="Display Goal Twentyone" onclick="displayGoal(20)" style="border-radius: 0px 0px 0px 5px;"></button>
+ </div>
+ <div id="goal21" class="goal" style="border-bottom: 0px;">
+ <button class="card-btn" aria-label="Display Goal Twentytwo" onclick="displayGoal(21)"></button>
+ </div>
+ <div id="goal22" class="goal" style="border-bottom: 0px;">
+ <button class="card-btn" aria-label="Display Goal Twentythree" onclick="displayGoal(22)"></button>
+ </div>
+ <div id="goal23" class="goal" style="border-bottom: 0px;">
+ <button class="card-btn" aria-label="Display Goal Twentyfour" onclick="displayGoal(23)"></button>
+ </div>
+ <div id="goal24" class="goal" style="border-radius: 0px 0px 5px 0px; border-right: 0px; border-bottom: 0px;">
+ <button class="card-btn" aria-label="Display Goal Twentyfive" onclick="displayGoal(24)" style="border-radius: 0px 0px 5px 0px;"></button>
+ </div>
+ </div>
+ <p id="footer">
+ <span id="attribution">
+ Click on a goal to jump to it ⟶
+ <br><br>
+ Made by <a style="text-decoration: none; color: #1e78e0;" href="https://github.com/awesomepandapig/skyblock.bingo" target="_blank">awesomepandapig</a>
+ <br>
+ Edited by <a style="text-decoration: none; color: #1e78e0;" href="https://hypixel.net/members/ialchemisti.4363923/" target="_blank">IAlcheMistI</a>, <a style="text-decoration: none; color: #1e78e0;" href="https://hypixel.net/members/3768762/" target="_blank">Dredlig</a>, <a style="text-decoration: none; color: #1e78e0;" href="https://hypixel.net/members/hunterthehunter.1079233/" target="_blank">HunterTheHunter</a>, <a style="text-decoration: none; color: #1e78e0;" href="https://hypixel.net/members/zeroing.3728040/" target="_blank">Zeroing</a>, and <a style="text-decoration: none; color: #1e78e0;" href="https://hypixel.net/members/indigopolecat.3270837/" target="_blank">IndigoPolecat</a>
+ <br>
+ Data provided by <a style="text-decoration: none; color: #1e78e0;" href="https://discord.com/channels/916072546976301117/958240015945703475" target="_blank">Bingo Brewers</a>
+ <br><br>
+ Wish to contribute? <a style="text-decoration: none; color: #1e78e0;" href="https://discord.com/channels/916072546976301117/958240015945703475" target="_blank">Click Here</a>
+ </span>
+ </p>
+ </div>
+
+ <div id="player-container">
+ <table id="instructions">
+ <tr>
+ <th style="border-radius: 5px 0px 0px 0px;">Name</th>
+ <th>Lore</th>
+ <th>Method</th>
+ <th style="border-radius: 0px 5px 0px 0px;">Notes</th>
+ </tr>
+ </table>
+ </div>
+ </div>
+</body>
+<script>
+ window.onload = function() {
+ fetch(`https://skyblock.bingo/guide.json`)
+ .then(response => response.json())
+ .then(data => {
+ let guide = data;
+ for(i = 0; i < guide.length; i++) {
+ document.getElementsByClassName('card-btn')[i].innerHTML = guide[i].name;
+ if ((i == 1) || (i == 3) || (i == 14) || (i == 22)) {
+ document.getElementById(`goal${i}`).style.backgroundColor = '#2EB67D';
+ }
+ if ((i == 5) || (i == 8) || (i == 11) || (i == 15) || (i == 17) || (i == 19)) {
+ document.getElementById(`goal${i}`).style.backgroundColor = '#1ee0c0';
+ }
+ if ((i == 7) || (i == 9) || (i == 13) || (i == 20) || (i == 21)) {
+ document.getElementById(`goal${i}`).style.backgroundColor = '#1e78e0';
+ }
+ if ((i == 2) || (i == 10) || (i == 16)) {
+ document.getElementById(`goal${i}`).style.backgroundColor = '#d01ee0';
+ }
+ if ((i == 4) || (i == 23)) {
+ document.getElementById(`goal${i}`).style.backgroundColor = '#E01E5A';
+ }
+ if ((i == 0) || (i == 6) || (i == 12) || (i == 18) || (i == 24)) {
+ document.getElementById(`goal${i}`).style.backgroundColor = '#ECB22E';
+ }
+
+ tr = document.getElementById('instructions').insertRow();
+ tr.id = i;
+ goalName = tr.insertCell();
+ goalName.innerHTML = guide[i].name;
+ lore = tr.insertCell();
+ lore.append(guide[i].lore.substring(0, guide[i].lore.length-1).replaceColorCodes());
+ method = tr.insertCell(2);
+ method.innerHTML = guide[i].method;
+ notes = tr.insertCell();
+ notes.innerHTML = guide[i].notes;
+ }
+ })
+ }
+
+ function displayGoal(num) {
+ for(i = 1; i < document.getElementById('instructions').getElementsByTagName('tr').length; i++) {
+ document.getElementsByTagName('tr')[i].style.backgroundColor = '#383838';
+ document.getElementsByTagName('tr')[i].style.color = '#bebebe';
+ }
+ document.getElementsByTagName('tr')[num+1].style.backgroundColor = '#424242';
+ document.getElementsByTagName('tr')[num].scrollIntoView({behavior: 'smooth', block: 'center'});
+ }
+
+</script>
+</html> \ No newline at end of file
diff --git a/public_html/guide.json b/public_html/guide.json
new file mode 100644
index 0000000..5534306
--- /dev/null
+++ b/public_html/guide.json
@@ -0,0 +1 @@
+[{"name":"Cave Commodity","lore":"Gain 5M Heart of the Mountain Experience.","method":"Remember to do daily commissions.","notes":"None"},{"name":"Nether Quartz Collector","lore":"Reach 5,000 Nether Quartz Collection.","method":"Mine Nether Quartz from campfires in the Goblin Burrows or grind combat 24 and mine it in the nether.","notes":"images of spots that spawn quartz"},{"name":"Slayer","lore":"Reach Level 4 for any Slayer Boss.","method":"Tarantula Slayer is recommended.","notes":"Grinding t2 it will require 450k coins."},{"name":"Healthy","lore":"Reach 250 Health.","method":"Growth 5 Mushroom Armor, Fairy Souls.","notes":"None"},{"name":"Hard Worker","lore":"Obtain Any Tier 12 Minion.","method":"A t12 Wheat Minion is recommended.","notes":"You need 120 Enchanted Hay Bales for this. With hub wheat this will take approximately 3-4 hours."},{"name":"Brewer","lore":"Obtain level 10 in the Alchemy Skill.","method":"Grind 10 Enchanted Sugar and brew.","notes":"None"},{"name":"Lucky Looter","lore":"Loot 250k drops with a chance of 1% or lower.","method":"Enchanted Ender Pearls count for this.","notes":"None"},{"name":"Dark Oak Wood Collector","lore":"Reach 20,000 Dark Oak Wood Collection.","method":"Use an Efficiency 5 Golden Axe with Haste 3.","notes":"Get Haste 4 from Bingo Brewers"},{"name":"Strongman","lore":"Reach 140 Strength.","method":"Get a splash from Bingo Brewers and hold a Raider Axe with either high wood collection or reforged armor. ","notes":"None"},{"name":"Topaz Crystal","lore":"Obtain a Topaz Crystal in the Crystal Hollows.","method":"Kill a Bal or wait for someone else to kill a Bal.","notes":"Remember to do daily commissions to unlock CH."},{"name":"Fashionable","lore":"Wear 15 unique Armor Sets.","method":"Leather Armor (1), Gold Armor (2), Iron Armor (3), Diamond Armor (4), Chainmail Armor (5), Farm Suit (6), Cactus Armor (7), Pumpkin Armor (8), Mushroom Armor (9), Leaflet Armor (10), Rosetta's Armor (11), Celeste Armor (12), Squire Armor (13), Lapis Armor (14), Glacite/Goblin Armor (15).","notes":"None"},{"name":"Meiser","lore":"Store 250,000 Coins in your Bank.","method":"25 Relics from Spider's Den.","notes":"Do this BEFORE buying a Raider Axe."},{"name":"Clown Collab","lore":"Defeat Bonzo 5,000 times.","method":"If you don't have someone to carry you join party finder parties and hope for the best.","notes":"None"},{"name":"Pumpkin Collector","lore":"Reach 50,000 Pumpkin Collection","method":"Grind wheat contests to buy: InfiniDirt™ Wand, Prismapump, Basket of Seeds, Pumpkin Dicer.","notes":"None"},{"name":"Ferocious","lore":"Reach 3 Ferocity.","method":"2 from cakes, get the rest from Dirty Bottle.","notes":"None"},{"name":"Diversity","lore":"Unlock 40 unique Collections.","method":"17/17 Farming Collections, 6/6 Foraging Collections, 6/10 Combat Collections, 11/22 Mining Collections","notes":"None"},{"name":"Powder Collector","lore":"Collect 50,000 Mithril Powder.","method":"Daily Commissions, Fletchur, Puzzler, Crystal Hollows chests.","notes":"Grinding during 2x powder events is recommended. (remember it effects Fletchur, Puzzler, and CH chests)"},{"name":"Skill Average","lore":"Reach a non-cosmetic Skill Average of 10.","method":"Self-Explanatory.","notes":"None"},{"name":"Tarantula Broodfather","lore":"Kill 2,000 Tarantula Broodfather of tier II or higher","method":"If you ground Slayer on Tarantulas you will have a headstart.","notes":"None"},{"name":"Slaughterer","lore":"Kill any tier II Slayer Boss within 80 seconds.","method":"In order to unlock Tarantula Slayer you will need to kill a t2 Revenant","notes":"None"},{"name":"Sightseer","lore":"Visit 7 different public islands.","method":"Hub, Dungeon Hub, Barn, Mushroom Desert, Park, Gold Mine, Deep Caverns, Spider's Den.","notes":"Bingo players have all warps unlocked so you don't need to walk to each island.g"},{"name":"Ender Menace","lore":"Kill 10 Endermen in 8 seconds.","method":"Hit 10 enderman (without killing) then kill all at once.","notes":"None"},{"name":"Minion Machine","lore":"Obtain 15 unique Minions.","method":"When you grind your minion slots you will achieve this.","notes":"8 free from Dark Oak Minion."},{"name":"Carry-On","lore":"Craft a Large Backpack.","method":"Get cow minions early to progress towards this. 25,000 Leather Collection is required.","notes":"Mooshrooms drop both mushrooms and leather. 9,808 leather to craft large backpack."},{"name":"Skilled","lore":"Gain 150m Taming experience.","method":"Remember to equip Bingo Pet.","notes":"Remember to apply pet items."}] \ No newline at end of file
diff --git a/public_html/index.html b/public_html/index.html
new file mode 100644
index 0000000..b4546aa
--- /dev/null
+++ b/public_html/index.html
@@ -0,0 +1,462 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="Skyblock.Bingo lets you view your Hypixel Skyblock bingo stats, leaderboard, and guide for this month's goals!">
+ <meta name="keywords" content="bingo, hypixel, skyblock, hypixel skyblock">
+ <meta name="robots" content="index, follow">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta name="language" content="English">
+ <link rel="preconnect" href="https://fonts.googleapis.com">
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+ <link href="https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&display=swap" rel="stylesheet">
+ <script src="https://skyblock.bingo/MinecraftColorCodes.min.3.7.js"></script>
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
+ <title>skyblock.bingo</title>
+</head>
+<style>
+ body {
+ font-family: 'Atkinson Hyperlegible', sans-serif;
+ margin: 0px;
+ background-color: #070F15;
+ color: #bebebe;
+ }
+ #header {
+ background-color: #000000;
+ display: flex;
+ text-align: left;
+ padding: 5px;
+ position: sticky;
+ top: 0px;
+ height: 24px;
+ }
+ #header a {
+ outline: none;
+ border-radius: 32px;
+ border: none;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ padding-left: 8px;
+ padding-right: 8px;
+ margin-left: 8px;
+ line-height: 18px;
+ background-color: #383838;
+ text-decoration: none;
+ color: #ffffff;
+ }
+ #header a:hover {
+ background-color: #bebebe;
+ color: #070F15;
+ }
+ #card {
+ display: flex;
+ width: 400px;
+ height: 400px;
+ margin-top: 16px;
+ margin-left: 16px;
+ border-radius: 5px;
+ flex-direction: column;
+ background-color: #000000;
+ }
+ .row {
+ display: flex;
+ flex-direction: row;
+ }
+ .goal {
+ width: 79px;
+ height: 79px;
+ border-right: 1px solid #383838;
+ border-bottom: 1px solid #383838;
+ }
+ .goal div {
+ width: 100%;
+ height: 100%;
+ background-color: transparent;
+ border: none;
+ color: rgb(0, 0, 0);
+ }
+ .container{
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ }
+ #player-container {
+ margin-top: 16px;
+ margin-left: 16px;
+ margin-right: 16px;
+ height: calc(400px - 16px);
+ width: 100%;
+ background-color: #383838;
+ border-radius: 5px;
+ padding-bottom: 16px;
+ display: flex;
+ flex-direction: row;
+ }
+ #player {
+ width: 100%;
+ border-radius: 5px;
+ padding-top: 16px;
+ padding-left: 16px;
+ padding-right: 16px;
+ height: 100%;
+ background-color: #424242;
+ text-align: center;
+ }
+ #player form {
+ padding-top: 121px;
+ }
+ #player h1 {
+ color: white;
+ margin-top: 0px;
+ margin-bottom: 16px;
+ }
+ #player input {
+ text-align: center;
+ font-family: 'Atkinson Hyperlegible', sans-serif;
+ margin-bottom: 16px;
+ border-radius: 5px 0px 0px 5px;
+ border: none;
+ padding: 10px;
+ background-color: #000000;
+ color: white;
+ font-size: 24px;
+ outline: none;
+ width: calc(100% - 67px);
+ }
+ #player button {
+ margin-left: -5px;
+ text-align: center;
+ font-family: 'Atkinson Hyperlegible', sans-serif;
+ margin-bottom: 16px;
+ border-radius: 0px 5px 5px 0px;
+ border: none;
+ padding: 10px;
+ padding-right: 16px;
+ padding-left: 9px;
+ background-color: #000000;
+ color: white;
+ font-size: 24px;
+ cursor: pointer;
+ }
+ #username {
+ margin-bottom: 48px;
+ }
+ #goals {
+ margin-top: 16px;
+ margin-left: 16px;
+ margin-right: 16px;
+ height: auto;
+ min-height: 754px;
+ width: 100%;
+ background-color: #383838;
+ border-radius: 5px;
+ padding-left: 16px;
+ padding-right: 16px;
+ padding-bottom: 16px;
+ margin-bottom: 16px;
+ }
+ #blackout-string {
+ font-family: 'Atkinson Hyperlegible', sans-serif;
+ font-weight: 700;
+ text-align: center;
+ color: white;
+ font-size: 36px;
+ padding-top: 182px;
+ width: 400px;
+ }
+ #disclaimer {
+ margin-left: 32px;
+ }
+ #attribution {
+ float: right;
+ margin-right: 32px;
+ }
+ @media only screen and (max-width: 848px) {
+ .container {
+ flex-direction: column-reverse;
+ }
+ #player-container {
+ width: calc(100% - 32px);
+ height: fit-content;
+ margin-bottom: 16px;
+ }
+ #player {
+ border-radius: 5px;
+ padding-left: 16px;
+ padding-right: 16px;
+ background-color: #383838;
+ }
+ #player form {
+ padding-top: 16px;
+ }
+ #player form input {
+ font-size: 16px;
+ }
+ #player form button {
+ font-size: 16px;
+ }
+ #player form h1 {
+ font-size: 24px;
+ }
+ #player input {
+ width: calc(100% - 80px);
+ }
+ #card {
+ margin-top: 0px;
+ width: calc(100% - 32px);
+ height: calc(100vw - 32px);
+ margin-bottom: 16px;
+ }
+ .goal {
+ width: calc(100% / 5);
+ height: calc((100vw - 32px) / 5);
+ }
+ #username {
+ margin-bottom: 0px;
+ }
+ #goals {
+ margin-top: 5px;
+ width: calc(100% - 64px);
+ min-height: 754px;
+ }
+ #blackout-string {
+ width: 100%;
+ padding-top: calc(50% - 18px);
+ }
+ #footer {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 16px;
+ }
+ #disclaimer {
+ margin-left: 0px;
+ text-align: center;
+ }
+ #attribution {
+ display: none;
+ }
+ }
+</style>
+<body>
+ <div id="header">
+ <a style="margin-left: 0px; background-color: #000000; color: white; font-weight: 600;" href="https://skyblock.bingo">skyblock.bingo</a>
+ <a href="https://skyblock.bingo/guide" target="_blank">Guide</a>
+ <a href="https://skyblock.bingo/leaderboard" target="_blank">Leaderboard</a>
+ <a href="https://skyblock.bingo/api" target="_blank">API</a>
+ </div>
+ <div class="container">
+ <div id="card">
+ <div class="row">
+ <div id="goal0" class="goal" style="border-radius: 5px 0px 0px 0px;">
+ <div aria-label="Display Goal One" onclick="displayGoal(0)" style="border-radius: 5px 0px 0px 0px;"></div>
+ </div>
+ <div id="goal1" class="goal">
+ <div aria-label="Display Goal Two" onclick="displayGoal(1)"></div>
+ </div>
+ <div id="goal2" class="goal">
+ <div aria-label="Display Goal Three" onclick="displayGoal(2)"></div>
+ </div>
+ <div id="goal3" class="goal">
+ <div aria-label="Display Goal Four" onclick="displayGoal(3)"></div>
+ </div>
+ <div id="goal4" class="goal" style="border-radius: 0px 5px 0px 0px; border-right: 0px;">
+ <div aria-label="Display Goal Five" onclick="displayGoal(4)" style="border-radius: 0px 5px 0px 0px;"></div>
+ </div>
+ </div>
+ <div class="row">
+ <div id="goal5" class="goal">
+ <div aria-label="Display Goal Six" onclick="displayGoal(5)"></div>
+ </div>
+ <div id="goal6" class="goal">
+ <div aria-label="Display Goal Seven" onclick="displayGoal(6)"></div>
+ </div>
+ <div id="goal7" class="goal">
+ <div aria-label="Display Goal Eight" onclick="displayGoal(7)"></div>
+ </div>
+ <div id="goal8" class="goal">
+ <div aria-label="Display Goal Nine" onclick="displayGoal(8)"></div>
+ </div>
+ <div id="goal9" class="goal" style="border-right: 0px;">
+ <div aria-label="Display Goal Ten" onclick="displayGoal(9)"></div>
+ </div>
+ </div>
+ <div class="row">
+ <div id="goal10" class="goal">
+ <div aria-label="Display Goal Eleven" onclick="displayGoal(10)"></div>
+ </div>
+ <div id="goal11" class="goal">
+ <div aria-label="Display Goal Twelve" onclick="displayGoal(11)"></div>
+ </div>
+ <div id="goal12" class="goal">
+ <div aria-label="Display Goal Thirteen" onclick="displayGoal(12)"></div>
+ </div>
+ <div id="goal13" class="goal">
+ <div aria-label="Display Goal Fourteen" onclick="displayGoal(13)"></div>
+ </div>
+ <div id="goal14" class="goal" style="border-right: 0px;">
+ <div aria-label="Display Goal Fifteen" onclick="displayGoal(14)"></div>
+ </div>
+ </div>
+ <div class="row">
+ <div id="goal15" class="goal">
+ <div aria-label="Display Goal Sixteen" onclick="displayGoal(15)"></div>
+ </div>
+ <div id="goal16" class="goal">
+ <div aria-label="Display Goal Seventeen" onclick="displayGoal(16)"></div>
+ </div>
+ <div id="goal17" class="goal">
+ <div aria-label="Display Goal Eighteen" onclick="displayGoal(17)"></div>
+ </div>
+ <div id="goal18" class="goal">
+ <div aria-label="Display Goal Ninteen" onclick="displayGoal(18)"></div>
+ </div>
+ <div id="goal19" class="goal" style="border-right: 0px;">
+ <div aria-label="Display Goal Twenty" onclick="displayGoal(19)"></div>
+ </div>
+ </div>
+ <div class="row">
+ <div id="goal20" class="goal" style="border-radius: 0px 0px 0px 5px; border-bottom: 0px;">
+ <div aria-label="Display Goal Twentyone" onclick="displayGoal(20)" style="border-radius: 0px 0px 0px 5px;"></div>
+ </div>
+ <div id="goal21" class="goal" style="border-bottom: 0px;">
+ <div aria-label="Display Goal Twentytwo" onclick="displayGoal(21)"></div>
+ </div>
+ <div id="goal22" class="goal" style="border-bottom: 0px;">
+ <div aria-label="Display Goal Twentythree" onclick="displayGoal(22)"></div>
+ </div>
+ <div id="goal23" class="goal" style="border-bottom: 0px;">
+ <div aria-label="Display Goal Twentyfour" onclick="displayGoal(23)"></div>
+ </div>
+ <div id="goal24" class="goal" style="border-radius: 0px 0px 5px 0px; border-right: 0px; border-bottom: 0px;">
+ <div aria-label="Display Goal Twentyfive" onclick="displayGoal(24)" style="border-radius: 0px 0px 5px 0px;"></div>
+ </div>
+ </div>
+ </div>
+
+ <div id="player-container">
+ <div id="player">
+ <form action="javascript:getUser();" autocomplete="off">
+ <h1>Show Bingo Stats For:</h1>
+ <input id='user-input' placeholder="Enter username/uuid" autocomplete="off">
+ <button aria-label="Get User" type="submit"><i class="fa fa-search"></i></button>
+ </form>
+ </div>
+ </div>
+ </div>
+
+ <div class="container">
+ <div id="goals">
+ <div id="goals-content">
+ <h3 style="color: #2EB67D; margin-bottom: 0px;">Tier 1</h3>
+ <div id="tier1"> </div>
+
+ <h3 style="color: #1ee0c0; margin-bottom: 0px;">Tier 2</h3>
+ <div id="tier2"></div>
+
+ <h3 style="color: #1e78e0; margin-bottom: 0px;">Tier 3</h3>
+ <div id="tier3"></div>
+
+ <h3 style="color: #d01ee0; margin-bottom: 0px;">Tier 4</h3>
+ <div id="tier4"></div>
+
+ <h3 style="color: #E01E5A; margin-bottom: 0px;">Tier 5</h3>
+ <div id="tier5"></div>
+
+ <h3 style="color: #ECB22E; margin-bottom: 0px;">Community</h3>
+ <div id="community"></div>
+ </div>
+ </div>
+ </div>
+
+ <p id="footer">
+ <span id="disclaimer">*Bingo rank is based on your active bingo pet</span><span id="attribution">Made by <a style="text-decoration: none; color: #1e78e0;" href="https://github.com/awesomepandapig/skyblock.bingo" target="_blank">awesomepandapig</a></span>
+ </p>
+</body>
+<script>
+ window.onload = function() {
+ let user = window.location.href.split('/')[4];
+ // Gets the current active bingo goals
+ fetch(`https://api.hypixel.net/resources/skyblock/bingo`)
+ .then(response => response.json())
+ .then(data => {
+ goals = data.goals;
+ var tier_one_goals = [];
+ var tier_two_goals = [];
+ var tier_three_goals = [];
+ var tier_four_goals = [];
+ var tier_five_goals = [];
+ var community_goals = [];
+ for (i = 0; i < goals.length; i++) {
+ if ((i == 1) || (i == 3) || (i == 14) || (i == 22)) {
+ displayGoals('tier1', goals[i]);
+ document.getElementById(`goal${i}`).style.backgroundColor = '#2EB67D';
+ }
+ if ((i == 5) || (i == 8) || (i == 11) || (i == 15) || (i == 17) || (i == 19)) {
+ displayGoals('tier2', goals[i]);
+ document.getElementById(`goal${i}`).style.backgroundColor = '#1ee0c0';
+ }
+ if ((i == 7) || (i == 9) || (i == 13) || (i == 20) || (i == 21)) {
+ displayGoals('tier3', goals[i]);
+ document.getElementById(`goal${i}`).style.backgroundColor = '#1e78e0';
+ }
+ if ((i == 2) || (i == 10) || (i == 16)) {
+ displayGoals('tier4', goals[i]);
+ document.getElementById(`goal${i}`).style.backgroundColor = '#d01ee0';
+ }
+ if ((i == 4) || (i == 23)) {
+ displayGoals('tier5', goals[i]);
+ document.getElementById(`goal${i}`).style.backgroundColor = '#E01E5A';
+ }
+ if ((i == 0) || (i == 6) || (i == 12) || (i == 18) || (i == 24)) {
+ community_goals.push(goals[i]);
+ document.getElementById(`goal${i}`).style.backgroundColor = '#ECB22E';
+ }
+ }
+ for(j = 0; j < community_goals.length; j++) {
+ document.getElementById('community').innerHTML += (`${community_goals[j].name} - `);
+ for(k = 0; k < community_goals[j].tiers.length; k++) {
+ if(community_goals[j].progress > community_goals[j].tiers[k]) {
+ tempString = document.createElement('span');
+ if (k == community_goals[j].tiers.length-1) {
+ tempString.innerHTML = community_goals[j].tiers[k];
+ } else {
+ tempString.innerHTML = community_goals[j].tiers[k] + ', ';
+ }
+ tempString.style.color = '#55FF55'
+ document.getElementById('community').append(tempString);
+ } else {
+ tempString = document.createElement('span');
+ if (k == community_goals[j].tiers.length-1) {
+ tempString.innerHTML = community_goals[j].tiers[k];
+ } else {
+ tempString.innerHTML = community_goals[j].tiers[k] + ', ';
+ }
+ tempString.style.color = '#bebebe'
+ document.getElementById('community').append(tempString);
+ }
+ }
+ document.getElementById('community').innerHTML += (`<br/>`);
+ }
+ })
+ .catch(error => {
+ document.body.innerHTML = JSON.stringify({success: false, cause: 'The Hypixel API is currently unavailable.'});
+ document.body.style.padding = '16px';
+ });
+ }
+
+ function displayGoals(str, arr) {
+ var colorfulString = arr.lore.substring(0, arr.lore.length-1).replaceColorCodes();
+ document.getElementById(str).append(colorfulString);
+ document.getElementById(str).innerHTML += '<br/>';
+ }
+
+ function getUser() {
+ window.location.href = (`http://skyblock.bingo/stats/${document.getElementById('user-input').value}`);
+ }
+</script>
+</html> \ No newline at end of file
diff --git a/public_html/leaderboard.html b/public_html/leaderboard.html
new file mode 100644
index 0000000..71fe0c7
--- /dev/null
+++ b/public_html/leaderboard.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="View the top 100 bingo players">
+ <meta name="keywords" content="bingo, hypixel, skyblock, hypixel skyblock">
+ <meta name="robots" content="index, follow">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <meta name="language" content="English">
+ <link rel="preconnect" href="https://fonts.googleapis.com">
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+ <link href="https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&display=swap" rel="stylesheet">
+ <title>Leaderboard | skyblock.bingo</title>
+</head>
+<style>
+body {
+ font-family: 'Atkinson Hyperlegible', sans-serif;
+ margin: 0px;
+ overflow-x: hidden;
+ color: #bebebe;
+ background-color: #070F15;
+}
+
+table {
+ border-collapse: collapse;
+ width: 100%;
+}
+
+th {
+ text-align: center;
+ background-color: #000000;
+ color: white;
+ padding: 5px;
+ height: 24px;
+ position: sticky;
+ top: 0;
+}
+
+td {
+ border-bottom: 1px solid #494949;
+ text-align: center;
+ padding: 8px;
+ width: calc(100% / 3);
+}
+
+td img {
+ margin-left: 8px;
+ height: 30px;
+ vertical-align: middle;
+ border-radius: 3px;
+}
+</style>
+<body>
+ <table id="output">
+ <tr>
+ <th>Ranking</th>
+ <th>Player</th>
+ <th>Points</th>
+ </tr>
+ </table>
+</body>
+<script>
+ window.onload = function() {
+ output = document.getElementById('output');
+ fetch(`https://skyblock.bingo/api/leaderboard`)
+ .then(response => response.json())
+ .then(data => {
+ for(i = 0; i < data.leaderboard.length; i++) {
+ tr = output.insertRow();
+
+ var ranking = tr.insertCell();
+ ranking.innerHTML = i+1;
+
+ var head = document.createElement('img');
+ head.src = `https://mc-heads.net/avatar/${data.leaderboard[i].uuid}`;
+
+ var player = tr.insertCell();
+ var username = document.createElement('span');
+ username.innerHTML = data.leaderboard[i].name;
+ if (data.leaderboard[i].hypixel_rank == 'ADMIN' || data.leaderboard[i].hypixel_rank == 'YOUTUBER') {
+ username.style.color = '#FF5555';
+ } else if (data.leaderboard[i].hypixel_rank == 'MODERATOR') {
+ username.style.color = '#00AA00';
+ } else if (data.leaderboard[i].hypixel_rank == 'HELPER') {
+ username.style.color = '#0000AA';
+ } else if (data.leaderboard[i].hypixel_rank == 'SUPERSTAR') {
+ username.style.color = '#FFAA00';
+ } else if (data.leaderboard[i].hypixel_rank == 'MVP_PLUS') {
+ username.style.color = '#55FFFF';
+ } else if (data.leaderboard[i].hypixel_rank == 'MVP') {
+ username.style.color = '#55FFFF';
+ } else if (data.leaderboard[i].hypixel_rank == 'VIP_PLUS') {
+ username.style.color = '#55FF55';
+ } else if (data.leaderboard[i].hypixel_rank == 'VIP') {
+ username.style.color = '#55FF55';
+ }
+ player.appendChild(username);
+ player.appendChild(head);
+
+ var points = tr.insertCell();
+ points.innerHTML = data.leaderboard[i].points;
+
+ tr.appendChild(points, player, ranking);
+ }
+ })
+ document.body.appendChild(output);
+}
+</script>
+</html> \ No newline at end of file
diff --git a/public_html/robots.txt b/public_html/robots.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/public_html/robots.txt