78 lines
2.6 KiB
HTML
78 lines
2.6 KiB
HTML
<h1 class="title">Random Skin</h1>
|
|
<div class="columns is-mobile">
|
|
<div class="column">
|
|
<img src="" class="skin" id="flat" alt="Current Skin" style="display: none;">
|
|
<div id="mesh"></div>
|
|
</div>
|
|
<div class="column">
|
|
<article class="message is-warning">
|
|
<div class="message-body">
|
|
I am not responsible for any explicit content displayed when using the random skin function.
|
|
</div>
|
|
</article>
|
|
<div class="buttons">
|
|
<button class="button" id="random">Random</button>
|
|
<button class="button" id="set">Use this skin</button>
|
|
</div>
|
|
<div class="buttons has-addons">
|
|
<button class="button" id="download">Download</button>
|
|
<button class="button" id="save">Save</button>
|
|
</div>
|
|
<div class="buttons">
|
|
<button class="button" id="switch" style="display: none;">Switch to 2D</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="../src/skin.js"></script>
|
|
|
|
<script>
|
|
var parser = new DOMParser();
|
|
var randomUrls = [];
|
|
|
|
axios({
|
|
method: "GET",
|
|
url: "https://nl.namemc.com/minecraft-skins/random"
|
|
}).then((data) => {
|
|
var namemc = parser.parseFromString(data.data, "text/html");
|
|
namemc.querySelectorAll("a").forEach((e) => {
|
|
var href = e.getAttribute("href");
|
|
if (href.includes("skin")) {
|
|
var id = href.split("/")[2];
|
|
if (id && id.length == 16 && !(id.includes("-"))) {
|
|
randomUrls.push("https://nl.namemc.com/texture/" + id + ".png");
|
|
}
|
|
}
|
|
});
|
|
|
|
function random() {
|
|
if (randomUrls.length == 0) {
|
|
load("/partials/random.html");
|
|
} else {
|
|
var id = Math.floor(Math.random() * (randomUrls.length - 0)) + 0;
|
|
setView(randomUrls[id]);
|
|
randomUrls.splice(id, 1);
|
|
}
|
|
}
|
|
|
|
random();
|
|
|
|
$("button#random").on("click", (e) => {
|
|
random();
|
|
});
|
|
|
|
$("button#set").on("click", (e) => {
|
|
axios({
|
|
method: "get",
|
|
url: view.flat.src,
|
|
responseType: "arraybuffer",
|
|
adapter: require("axios/lib/adapters/http")
|
|
}).then((res) => {
|
|
settings.set = "data:image/png;base64," + res.data.toString("base64");
|
|
load("/partials/upload.html");
|
|
}).catch((err) => {
|
|
notify("danger", "Something went wrong: " + err)
|
|
});
|
|
});
|
|
});
|
|
</script> |