Deploying to gh-pages from @ LCE-Hub/lce-hub.github.io@71bbe725d5 🚀

This commit is contained in:
PinkLittleKitty 2026-04-11 13:19:10 +00:00
parent b1720c8742
commit 4e1711171d
63 changed files with 400 additions and 0 deletions

BIN
Community/image.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 KiB

BIN
Community/image2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
Community/image3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 MiB

BIN
Community/image4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
Community/image5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 KiB

BIN
Community/image6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

BIN
Launcher/home.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 KiB

BIN
Launcher/settings.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 558 KiB

BIN
Launcher/versions.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 KiB

BIN
MenuTitle.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

BIN
Settings_Arrow_Left.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
Settings_Arrow_Right.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

8
assets/index-90k8wNOq.js Normal file
View file

@ -0,0 +1,8 @@
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=class{musicFiles=[`music/music1.ogg`,`music/music2.ogg`,`music/music3.ogg`,`music/music4.ogg`,`music/music5.ogg`];musicIndex=Math.floor(Math.random()*5);music;isMuted=!1;hasInteracted=!1;constructor(){this.music=new Audio(this.musicFiles[this.musicIndex]),this.music.volume=.3,this.music.preload=`auto`,this.music.addEventListener(`ended`,()=>this.nextTrack()),localStorage.getItem(`emerald-muted`)===`true`&&(this.isMuted=!0,this.music.pause())}nextTrack(){this.musicIndex=(this.musicIndex+1)%this.musicFiles.length,this.music.src=this.musicFiles[this.musicIndex],this.music.preload=`auto`,this.isMuted||this.music.play().catch(()=>{})}start(){this.hasInteracted||this.isMuted||(this.hasInteracted=!0,this.music.play().catch(()=>{}))}toggleMute(){this.isMuted=!this.isMuted,localStorage.setItem(`emerald-muted`,String(this.isMuted)),this.isMuted?this.music.pause():(this.hasInteracted||=!0,this.music.play().catch(()=>{})),this.updateUI()}updateUI(){let e=document.getElementById(`audio-toggle`);if(e){e.classList.toggle(`muted`,this.isMuted);let t=e.querySelector(`i`);t&&(t.className=this.isMuted?`fas fa-volume-mute`:`fas fa-volume-up`)}}playSFX(e){let t=new Audio(`sounds/${e}`);t.volume=.4,t.play().catch(()=>{})}};document.addEventListener(`DOMContentLoaded`,()=>{let t=new e;t.updateUI(),document.addEventListener(`click`,()=>t.start(),{once:!0}),document.getElementById(`audio-toggle`)?.addEventListener(`click`,()=>{t.playSFX(`click.wav`),t.toggleMute()});let n=document.querySelectorAll(`.tab-item`),r=document.querySelectorAll(`.tab-content`),i=0,a=e=>{e<0&&(e=n.length-1),e>=n.length&&(e=0),i!==e&&t.playSFX(`click.wav`),i=e,n.forEach((t,n)=>{t.classList.toggle(`active`,n===e)}),r.forEach((t,n)=>{t.classList.toggle(`active`,n===e)})};n.forEach((e,t)=>{e.addEventListener(`click`,()=>a(t))}),window.addEventListener(`keydown`,e=>{(e.key===`q`||e.key===`ArrowLeft`)&&a(i-1),(e.key===`e`||e.key===`ArrowRight`)&&a(i+1)}),document.getElementById(`prev-tab`)?.addEventListener(`click`,()=>a(i-1)),document.getElementById(`next-tab`)?.addEventListener(`click`,()=>a(i+1));let o=document.querySelector(`.carousel-img`),s=[`Community/image.png`,`Community/image2.png`,`Community/image3.png`,`Community/image4.png`,`Community/image5.png`,`Community/image6.png`],c=0,l=(e,n=!1)=>{n&&t.playSFX(`wood click.wav`),c=(c+e+s.length)%s.length,o&&(o.style.opacity=`0`,setTimeout(()=>{o.src=s[c],o.style.opacity=`1`},100))};document.querySelector(`.carousel-arrow.left`)?.addEventListener(`click`,()=>l(-1,!0)),document.querySelector(`.carousel-arrow.right`)?.addEventListener(`click`,()=>l(1,!0));let u=`Emerald-Legacy-Launcher/Emerald-Legacy-Launcher`,d=document.getElementById(`download-modal`),f=document.getElementById(`modal-options`),p=document.getElementById(`modal-title`),m=document.getElementById(`close-modal`),h=[],g=[],_=`Windows`,v=()=>{let e=window.navigator.userAgent.toLowerCase(),t=window.navigator.platform?.toLowerCase()||``,n=`Unknown`,r=`x64`;return e.includes(`win`)?n=`Windows`:e.includes(`mac`)?n=`macOS`:e.includes(`linux`)&&(n=`Linux`),(e.includes(`arm64`)||e.includes(`aarch64`)||t.includes(`arm64`)||t.includes(`aarch64`)||n===`macOS`&&window.navigator.maxTouchPoints>0)&&(r=`arm64`),{os:n,arch:r}},y=(e,t,n)=>{if(e===`Windows`)return n.find(e=>e.name.endsWith(`.exe`))||n.find(e=>e.name.endsWith(`.msi`));if(e===`macOS`){let e=t===`arm64`?`aarch64.dmg`:`x64.dmg`;return n.find(t=>t.name.endsWith(e))}if(e===`Linux`){let e=t===`arm64`?`aarch64`:`x86_64`;return n.find(t=>t.name.endsWith(`.flatpak`)&&t.name.includes(e))||n.find(e=>e.name.endsWith(`.flatpak`))}return null},b=e=>{if(!d||!f||!p)return;_=e;let t=document.getElementById(`nightly-toggle`)?.checked||!1,n=t?g:h,r=[],i=`Select Downloader`;e===`Windows`?(r=n.filter(e=>e.name.endsWith(`.exe`)||e.name.endsWith(`.msi`)),i=`Emerald Legacy for Windows ${t?`(Nightly)`:``}`):e===`macOS`?(r=n.filter(e=>e.name.endsWith(`.dmg`)),i=`Emerald Legacy for macOS ${t?`(Nightly)`:``}`):e===`Linux`&&(r=n.filter(e=>e.name.endsWith(`.flatpak`)||e.name.endsWith(`.deb`)||e.name.endsWith(`.rpm`)),i=`Emerald Legacy for Linux ${t?`(Nightly)`:``}`);let{arch:a}=v(),o=y(e,a,r);p.innerText=i,f.innerHTML=r.length>0?r.map(e=>{let t=e.name===o?.name;return`
<div class="modal-btn-container">
<a href="${e.browser_download_url}" class="main-btn" onclick="window.playAudioSFX('levelup.ogg')">
<span>${e.name.split(`_`).pop()?.split(`-`).pop()||e.name}</span>
</a>
${t?`<span class="splash-text">Recommended!</span>`:``}
</div>
`}).join(``):`<div style="color: grey; font-size: 1.2rem; padding: 20px;">No builds found for this platform.</div>`,d.classList.add(`active`)};document.getElementById(`nightly-toggle`)?.addEventListener(`change`,()=>{t.playSFX(`click.wav`),b(_)}),window.playAudioSFX=e=>t.playSFX(e);let x=async()=>{try{let[e,t]=await Promise.all([fetch(`https://api.github.com/repos/${u}/releases/latest`),fetch(`https://api.github.com/repos/${u}/releases/tags/nightly`)]),[n,r]=await Promise.all([e.json(),t.json()]);h=n.assets||[],g=r.assets||[];let{os:i}=v(),a=document.getElementById(`main-download-btn`);if(a){a.addEventListener(`click`,e=>{e.preventDefault(),b(i===`Unknown`?`Windows`:i)});let e=a.querySelector(`span`);e&&(e.innerText=`Download for ${i===`Unknown`?`Your OS`:i}`)}let o=document.getElementById(`download-win`),s=document.getElementById(`download-linux`),c=document.getElementById(`download-macos`);o?.addEventListener(`click`,e=>{e.preventDefault(),b(`Windows`)}),s?.addEventListener(`click`,e=>{e.preventDefault(),b(`Linux`)}),c?.addEventListener(`click`,e=>{e.preventDefault(),b(`macOS`)})}catch(e){console.error(`Error fetching releases:`,e)}};m?.addEventListener(`click`,()=>{t.playSFX(`back.ogg`),d?.classList.remove(`active`)}),d?.addEventListener(`click`,e=>{e.target===d&&(t.playSFX(`back.ogg`),d.classList.remove(`active`))}),window.addEventListener(`keydown`,e=>{e.key===`Escape`&&(d?.classList.contains(`active`)&&t.playSFX(`back.ogg`),d?.classList.remove(`active`))});let S=document.getElementById(`image-modal`),C=document.getElementById(`expanded-image`),w=document.getElementById(`close-image-modal`),T=e=>{!S||!C||(t.playSFX(`levelup.ogg`),C.src=e,S.classList.add(`active`))};document.querySelectorAll(`.gallery-frame img, .carousel-img`).forEach(e=>{e.style.cursor=`pointer`,e.addEventListener(`click`,()=>{T(e.src)})}),w?.addEventListener(`click`,()=>{t.playSFX(`back.ogg`),S?.classList.remove(`active`)}),S?.addEventListener(`click`,e=>{e.target===S&&(t.playSFX(`back.ogg`),S.classList.remove(`active`))}),window.addEventListener(`keydown`,e=>{e.key===`Escape`&&S?.classList.contains(`active`)&&(t.playSFX(`back.ogg`),S.classList.remove(`active`))}),x(),setInterval(()=>l(1,!1),5e3)});

File diff suppressed because one or more lines are too long

BIN
button.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
button_highlighted.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
controller.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 B

BIN
discord-icon.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

1
favicon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.3 KiB

3
fluxer.svg Normal file
View file

@ -0,0 +1,3 @@
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M256 0C397.385 0 512 114.615 512 256C512 397.385 397.385 512 256 512C114.615 512 0 397.385 0 256C0 114.615 114.615 0 256 0ZM187.53 266.057C171.987 266.057 157.206 269.562 143.187 276.571C129.321 283.581 118.044 294.781 109.359 310.171C103.743 320.3 100.041 332.574 98.2529 346.993C96.5986 360.334 107.829 371.2 121.271 371.2C135.049 371.2 145.336 359.626 148.673 346.259C150.564 338.68 153.612 332.67 157.815 328.229C165.891 319.695 176.101 315.429 188.444 315.429C196.673 315.429 204.216 317.486 211.073 321.6C217.93 325.562 226.844 332.343 237.815 341.943C254.577 356.724 269.359 367.467 282.159 374.171C294.959 380.724 309.13 384 324.673 384C340.216 384 354.997 380.495 369.016 373.486C383.035 366.476 394.387 355.276 403.073 339.886C408.811 329.718 412.521 317.389 414.202 302.899C415.745 289.597 404.498 278.857 391.106 278.857C377.243 278.858 366.904 290.561 363.218 303.927C361.421 310.442 358.706 315.952 355.073 320.457C347.454 329.905 337.016 334.629 323.759 334.629C315.53 334.629 308.063 332.647 301.359 328.686C294.806 324.571 285.816 317.714 274.387 308.114C257.473 293.943 242.615 283.429 229.815 276.571C217.168 269.562 203.073 266.057 187.53 266.057ZM187.53 128C171.987 128 157.206 131.505 143.187 138.514C129.321 145.524 118.044 156.724 109.359 172.114C103.743 182.243 100.041 194.517 98.2529 208.935C96.5985 222.276 107.829 233.142 121.271 233.143C135.049 233.143 145.336 221.569 148.673 208.202C150.564 200.623 153.612 194.613 157.815 190.171C165.891 181.638 176.101 177.371 188.444 177.371C196.673 177.371 204.216 179.429 211.073 183.543C217.93 187.505 226.844 194.286 237.815 203.886C254.577 218.667 269.359 229.41 282.159 236.114C294.959 242.667 309.13 245.943 324.673 245.943C340.216 245.943 354.997 242.438 369.016 235.429C383.035 228.419 394.387 217.219 403.073 201.829C408.811 191.661 412.521 179.332 414.202 164.842C415.745 151.539 404.498 140.8 391.106 140.8C377.243 140.8 366.904 152.504 363.218 165.87C361.421 172.385 358.706 177.895 355.073 182.4C347.454 191.848 337.016 196.571 323.759 196.571C315.53 196.571 308.063 194.59 301.359 190.629C294.806 186.514 285.816 179.657 274.387 170.057C257.473 155.886 242.615 145.371 229.815 138.514C217.168 131.505 203.073 128 187.53 128Z" fill="#4641D9"/>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
github-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

24
icons.svg Normal file
View file

@ -0,0 +1,24 @@
<svg xmlns="http://www.w3.org/2000/svg">
<symbol id="bluesky-icon" viewBox="0 0 16 17">
<g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
<defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
</symbol>
<symbol id="discord-icon" viewBox="0 0 20 19">
<path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
</symbol>
<symbol id="documentation-icon" viewBox="0 0 21 20">
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
</symbol>
<symbol id="github-icon" viewBox="0 0 19 19">
<path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
</symbol>
<symbol id="social-icon" viewBox="0 0 20 20">
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
</symbol>
<symbol id="x-icon" viewBox="0 0 19 19">
<path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
</symbol>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

363
index.html Normal file
View file

@ -0,0 +1,363 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/png" href="logo.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>LCE Emerald Launcher | Play Minecraft Legacy Edition</title>
<meta name="description"
content="The ultimate launcher for Minecraft Legacy Console Edition builds. Streamlined, themed, and built for the community.">
<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=Pixelify+Sans:wght@400..700&family=Silkscreen:wght@400;700&display=swap"
rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
<script type="module" crossorigin src="/assets/index-90k8wNOq.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-B6xBYW09.css">
</head>
<body>
<div id="app">
<div class="panorama-bg"></div>
<div class="vignette"></div>
<div class="scanlines"></div>
<div class="menu-container">
<header class="menu-header">
<img src="MenuTitle.png" alt="Emerald Launcher" class="menu-title">
<button id="audio-toggle" class="audio-btn" title="Toggle Music">
<i class="fas fa-volume-up"></i>
</button>
</header>
<nav class="menu-tabs">
<button class="arrow-btn" id="prev-tab">LB</button>
<div class="tabs-wrapper">
<button class="tab-item active" data-tab="home">Home</button>
<button class="tab-item" data-tab="features">Features</button>
<button class="tab-item" data-tab="media">Media</button>
<button class="tab-item" data-tab="download">Download</button>
</div>
<button class="arrow-btn" id="next-tab">RB</button>
</nav>
<div class="menu-content-wrapper">
<main class="menu-content">
<section class="tab-content active" id="home">
<div class="home-layout">
<div class="features-row">
<div class="feature-card">
<div class="feature-image">
<img src="logo.png" alt="Emerald" class="pixel-icon">
</div>
<div class="feature-info">
<h3>Authentic UI</h3>
<p>A launcher built to feel like an extension of the game itself.</p>
</div>
</div>
<div class="feature-card">
<div class="feature-image">
<img src="potion.png" alt="Potion" class="pixel-icon">
</div>
<div class="feature-info">
<h3>Optimized Speed</h3>
<p>Rapid launching and peak game performance.</p>
</div>
</div>
<div class="feature-card">
<div class="feature-image">
<img src="controller.png" alt="Controller" class="pixel-icon">
</div>
<div class="feature-info">
<h3>Classic Support</h3>
<p>Tailored for the legacy console edition community.</p>
</div>
</div>
</div>
<div class="cta-section">
<h2>Ready to Play?</h2>
<p>Join the Discord or download the launcher.</p>
</div>
<div class="bottom-actions">
<div class="branding-group">
<img src="logo.png" alt="LCE Emerald Launcher" class="pixel-logo">
<div class="branding-text">
<span class="brand-name">Emerald</span>
<span class="brand-sub">Launcher</span>
</div>
</div>
<div class="action-buttons">
<a href="https://github.com/LCE-Hub/LCE-Emerald-Launcher/releases/latest"
class="main-btn get-launcher" id="main-download-btn">
<div class="btn-content">
<span>Get Launcher</span>
</div>
<img src="logo.png" class="btn-icon">
</a>
<a href="https://github.com/LCE-Hub/LCE-Emerald-Launcher" class="main-btn github-repo"
target="_blank">
<div class="btn-content">
<span class="btn-title">GitHub Repo</span>
</div>
<img src="github-icon.png" class="btn-icon-github">
</a>
<a href="https://discord.gg/A285mSfkcF" class="main-btn join-discord" target="_blank">
<div class="btn-content">
<span class="btn-title">Join Discord</span>
</div>
<img src="discord-icon.jpg" class="btn-icon-discord">
</a>
<a href="https://fluxer.gg/s9ySzCPb" class="main-btn join-fluxer" target="_blank">
<div class="btn-content">
<span class="btn-title">Join Fluxer</span>
</div>
<img src="fluxer.svg" class="btn-icon">
</a>
</div>
<div class="screenshot-carousel">
<div class="carousel-container">
<div class="carousel-header">Community Screenshots</div>
<div class="carousel-view">
<button class="carousel-arrow left">L</button>
<img src="Community/image.png" class="carousel-img">
<button class="carousel-arrow right">R</button>
</div>
<div class="carousel-footer">See more in Discord</div>
</div>
</div>
</div>
</div>
</section>
<section class="tab-content" id="features">
<div class="features-layout scroll-content">
<div class="overview-section">
<div class="overview-box">
<h2>Project Overview</h2>
<p>LCE Emerald Launcher started as a solo project to create a better way to play Legacy Console
Edition. Our
team brings together expertise from various preservation projects into one definitive hub.</p>
</div>
<div class="philosophy-box">
<h2>Our Philosophy</h2>
<p>Built on a modern Rust/Tauri stack, we deliver a high-performance, cross-platform experience that
uses only ~15MB of RAM, leaving all resources for the game.</p>
</div>
</div>
<div class="core-features-grid">
<div class="grid-item">
<div class="item-icon"><i class="fas fa-magic"></i></div>
<div class="item-text">
<h3>Easy Setup</h3>
<p>Automated installation for TU19 and TU24, with more versions coming soon.</p>
</div>
</div>
<div class="grid-item">
<div class="item-icon"><i class="fab fa-rust"></i></div>
<div class="item-text">
<h3>Rust Backend</h3>
<p>Memory-safe operations and game execution with minimal overhead.</p>
</div>
</div>
<div class="grid-item">
<div class="item-icon"><i class="fas fa-sliders"></i></div>
<div class="item-text">
<h3>Easy Config</h3>
<p>Integrated settings to manage your username and game parameters directly.</p>
</div>
</div>
<div class="grid-item">
<div class="item-icon"><i class="fas fa-rocket"></i></div>
<div class="item-text">
<h3>Tauri Frontend</h3>
<p>Lightweight UI and configuration management via modern webview.</p>
</div>
</div>
</div>
<div class="content-footer">
<div class="roadmap-link">
<a href="https://github.com/orgs/LCE-Hub/projects/2">DEVELOPMENT ROADMAP &rarr;</a>
</div>
<div class="acknowledgments">
<p>Developed by the Emerald Team. Original creators: 4J Studios & Mojang.</p>
</div>
</div>
</div>
</section>
<section class="tab-content" id="media">
<div class="features-layout scroll-content">
<div class="overview-box" style="text-align: center;">
<h2>Launcher Screenshots</h2>
<p>Experience the definitive way to launch and manage your legacy console editions.</p>
</div>
<div class="gallery-grid launcher-previews">
<div class="gallery-item large">
<div class="gallery-frame">
<img src="Launcher/home.png" alt="Launcher Home">
<div class="frame-caption">Interface</div>
</div>
</div>
<div class="gallery-item large">
<div class="gallery-frame">
<img src="Launcher/versions.png" alt="Version Selection">
<div class="frame-caption">Versions</div>
</div>
</div>
<div class="gallery-item large">
<div class="gallery-frame">
<img src="Launcher/settings.png" alt="Launcher Settings">
<div class="frame-caption">Settings</div>
</div>
</div>
</div>
<div class="overview-box" style="text-align: center; margin-top: 40px;">
<h2>Community Gallery</h2>
<p>A collection of moments and creations shared by the LCE Emerald Launcher community.</p>
</div>
<div class="gallery-grid">
<div class="gallery-item">
<div class="gallery-frame">
<img src="Community/image.png" alt="Community Shot">
</div>
</div>
<div class="gallery-item">
<div class="gallery-frame">
<img src="Community/image2.png" alt="Community Shot">
</div>
</div>
<div class="gallery-item">
<div class="gallery-frame">
<img src="Community/image3.png" alt="Community Shot">
</div>
</div>
<div class="gallery-item">
<div class="gallery-frame">
<img src="Community/image4.png" alt="Community Shot">
</div>
</div>
<div class="gallery-item">
<div class="gallery-frame">
<img src="Community/image5.png" alt="Community Shot">
</div>
</div>
<div class="gallery-item">
<div class="gallery-frame">
<img src="Community/image6.png" alt="Community Shot">
</div>
</div>
</div>
<div class="content-footer" style="background: #3c3c3c; padding: 20px; border: 4px solid #1a1a1a;">
<div class="disclaimer-text">
<h3>Share Your Creations</h3>
<p>Join our Discord to feature your screenshots and videos on our official website!</p>
</div>
<div class="roadmap-link">
<a href="https://discord.gg/A285mSfkcF" class="main-btn"
style="width: 180px; height: 44px; font-size: 1rem;">JOIN DISCORD</a>
</div>
</div>
</div>
</section>
<section class="tab-content" id="download">
<div class="features-layout">
<div class="overview-box" style="text-align: center;">
<h2>Get LCE Emerald Launcher</h2>
<p>Select your operating system to view available installers and architectures.</p>
</div>
<div class="os-grid">
<div class="os-card">
<div class="os-icon"><i class="fab fa-windows"></i></div>
<h3>Windows</h3>
<button class="main-btn os-btn" id="download-win">Select Version</button>
</div>
<div class="os-card">
<div class="os-icon"><i class="fab fa-linux"></i></div>
<h3>Linux</h3>
<button class="main-btn os-btn" id="download-linux">Select Version</button>
</div>
<div class="os-card">
<div class="os-icon"><i class="fab fa-apple"></i></div>
<h3>macOS</h3>
<button class="main-btn os-btn" id="download-macos">Select Version</button>
</div>
</div>
<div class="alpha-disclaimer" style="margin-top: auto; border-color: #7c7c7c;">
<div class="item-icon">⚠️</div>
<div class="disclaimer-text">
<h3>Windows SmartScreen</h3>
<p>Because the launcher is unsigned, Windows may show a warning. Click <strong>"More info"</strong>
and then <strong>"Run anyway"</strong> to proceed safely.</p>
</div>
</div>
</div>
</section>
</main>
<footer class="menu-footer">
<div class="legends">
<div class="legend-item"><span class="legend-icon">A</span> Select</div>
<div class="legend-item"><span class="legend-icon">B</span> Back</div>
</div>
<div class="version-info">
<div class="version-dot"></div>
LCE EMERALD LAUNCHER &copy; 2026
</div>
</footer>
</div>
</div>
</div>
<div id="download-modal" class="modal-overlay">
<div class="modal-content">
<div class="modal-header">
<div class="header-left">
<h2 id="modal-title">Select Downloader</h2>
<div class="nightly-toggle-wrapper">
<label class="switch">
<input type="checkbox" id="nightly-toggle">
<span class="slider"></span>
</label>
<span class="toggle-label">Nightly</span>
</div>
</div>
<button id="close-modal" class="close-btn">X</button>
</div>
<div id="modal-options" class="modal-options-grid">
<!-- Dynamic download buttons will be inserted here -->
</div>
<div class="modal-footer">
<p>Choose the format that works best for your system.</p>
</div>
</div>
</div>
<div id="image-modal" class="modal-overlay">
<div class="image-modal-content">
<button id="close-image-modal" class="close-btn expansion-close">X</button>
<img id="expanded-image" src="" alt="Expanded Preview">
</div>
</div>
</body>
</html>

BIN
logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
music/music1.ogg Normal file

Binary file not shown.

BIN
music/music2.ogg Normal file

Binary file not shown.

BIN
music/music3.ogg Normal file

Binary file not shown.

BIN
music/music4.ogg Normal file

Binary file not shown.

BIN
music/music5.ogg Normal file

Binary file not shown.

BIN
potion.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 365 B

BIN
sga_a.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_c.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
sga_d.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

BIN
sga_e.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6 KiB

BIN
sga_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
sga_i.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
sga_j.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
sga_k.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_l.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_m.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_n.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_o.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_p.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_q.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
sga_r.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
sga_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_t.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
sga_u.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
sga_v.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
sga_w.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
sga_x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_y.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sga_z.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
sounds/back.ogg Normal file

Binary file not shown.

BIN
sounds/click.wav Normal file

Binary file not shown.

BIN
sounds/levelup.ogg Normal file

Binary file not shown.

BIN
sounds/orb.ogg Normal file

Binary file not shown.

BIN
sounds/pop.wav Normal file

Binary file not shown.

BIN
sounds/wood click.wav Normal file

Binary file not shown.