mirror of
https://github.com/LCE-Hub/LCE-Emerald-Launcher.git
synced 2026-09-23 08:32:51 +00:00
revert rebrand
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
pkgbase = lce-emerald-launcher
|
pkgbase = emerald-legacy-launcher
|
||||||
pkgdesc = FOSS, cross-platform launcher for Minecraft Legacy Console Edition
|
pkgdesc = FOSS, cross-platform launcher for Minecraft Legacy Console Edition
|
||||||
pkgver = 1.0.0
|
pkgver = 1.0.0
|
||||||
pkgrel = 1
|
pkgrel = 1
|
||||||
url = https://github.com/LCE-Hub/LCE-Emerald-Launcher
|
url = https://github.com/Emerald-Legacy-Launcher/Emerald-Legacy-Launcher
|
||||||
arch = x86_64
|
arch = x86_64
|
||||||
license = GPL-3.0
|
license = GPL-3.0
|
||||||
makedepends = git
|
makedepends = git
|
||||||
@@ -24,8 +24,7 @@ pkgbase = lce-emerald-launcher
|
|||||||
depends = webkit2gtk-4.1
|
depends = webkit2gtk-4.1
|
||||||
optdepends = discord: Discord RPC support
|
optdepends = discord: Discord RPC support
|
||||||
provides = emerald-legacy-launcher
|
provides = emerald-legacy-launcher
|
||||||
conflicts = emerald-legacy-launcher
|
source = emerald-legacy-launcher::git+https://github.com/Emerald-Legacy-Launcher/Emerald-Legacy-Launcher#branch=main
|
||||||
source = lce-emerald-launcher::git+https://github.com/LCE-Hub/LCE-Emerald-Launcher#branch=main
|
|
||||||
sha256sums = SKIP
|
sha256sums = SKIP
|
||||||
|
|
||||||
pkgname = lce-emerald-launcher
|
pkgname = emerald-legacy-launcher
|
||||||
|
|||||||
@@ -64,15 +64,15 @@ jobs:
|
|||||||
tagName: nightly
|
tagName: nightly
|
||||||
releaseName: 'Emerald Nightly'
|
releaseName: 'Emerald Nightly'
|
||||||
releaseBody: |
|
releaseBody: |
|
||||||
# LCE Emerald Launcher (Nightly)
|
# Emerald Legacy Launcher (Nightly)
|
||||||
# What to download?
|
# What to download?
|
||||||
- `LCE.Emerald.Launcher-*.rpm` for GNU/Linux (RHEL)
|
- `Emerald.Legacy.Launcher-*.rpm` for GNU/Linux (RHEL)
|
||||||
- `LCE.Emerald.Launcher-*.deb` for GNU/Linux (Debian+Ubuntu)
|
- `Emerald.Legacy.Launcher-*.deb` for GNU/Linux (Debian+Ubuntu)
|
||||||
- `LCE.Emerald.Launcher-*.AppImage` for GNU/Linux (Universal)
|
- `Emerald.Legacy.Launcher-*.AppImage` for GNU/Linux (Universal)
|
||||||
- `LCE.Emerald.Launcher-*_x64.dmg` for macOS (Intel)
|
- `Emerald.Legacy.Launcher-*_x64.dmg` for macOS (Intel)
|
||||||
- `LCE.Emerald.Launcher-*_aarch64.dmg` for macOS (M-series)
|
- `Emerald.Legacy.Launcher-*_aarch64.dmg` for macOS (M-series)
|
||||||
- `LCE.Emerald.Launcher-*.exe` for Windows (Setup)
|
- `Emerald.Legacy.Launcher-*.exe` for Windows (Setup)
|
||||||
- `LCE.Emerald.Launcher-*.msi` for Windows (Setup)
|
- `Emerald.Legacy.Launcher-*.msi` for Windows (Setup)
|
||||||
---
|
---
|
||||||
# Windows SmartScreen
|
# Windows SmartScreen
|
||||||
This software is completely safe. Because the launcher is unsigned, you will see a "Windows protected your PC" window. To proceed:
|
This software is completely safe. Because the launcher is unsigned, you will see a "Windows protected your PC" window. To proceed:
|
||||||
@@ -101,12 +101,12 @@ jobs:
|
|||||||
submodules: true
|
submodules: true
|
||||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||||
with:
|
with:
|
||||||
bundle: io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.flatpak
|
bundle: io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.flatpak
|
||||||
manifest-path: flatpak/io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.yml
|
manifest-path: flatpak/io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.yml
|
||||||
cache-key: flatpak-builder-${{ github.sha }}
|
cache-key: flatpak-builder-${{ github.sha }}
|
||||||
- uses: softprops/action-gh-release@v2
|
- uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
files: io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.flatpak
|
files: io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.flatpak
|
||||||
tag_name: nightly
|
tag_name: nightly
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
@@ -79,31 +79,31 @@ jobs:
|
|||||||
pkgbuild --root "$APP_PATH/.." \
|
pkgbuild --root "$APP_PATH/.." \
|
||||||
--install-location /Applications \
|
--install-location /Applications \
|
||||||
--scripts pkg_temp/scripts \
|
--scripts pkg_temp/scripts \
|
||||||
--identifier "com.lce.emerald" \
|
--identifier "com.emerald.legacy" \
|
||||||
--version "1.0.0" \
|
--version "1.0.0" \
|
||||||
--install-location "/Applications" \
|
--install-location "/Applications" \
|
||||||
--root "$APP_PATH" \
|
--root "$APP_PATH" \
|
||||||
"LCE-Emerald-Launcher.pkg"
|
"Emerald-Legacy-Launcher.pkg"
|
||||||
|
|
||||||
# Move PKG to bundle directory
|
# Move PKG to bundle directory
|
||||||
mkdir -p src-tauri/target/release/bundle/macos/
|
mkdir -p src-tauri/target/release/bundle/macos/
|
||||||
mv "LCE-Emerald-Launcher.pkg" src-tauri/target/release/bundle/macos/
|
mv "Emerald-Legacy-Launcher.pkg" src-tauri/target/release/bundle/macos/
|
||||||
- uses: tauri-apps/tauri-action@v0
|
- uses: tauri-apps/tauri-action@v0
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
with:
|
||||||
tagName: v__VERSION__
|
tagName: v__VERSION__
|
||||||
releaseName: 'LCE Emerald v__VERSION__'
|
releaseName: 'Emerald v__VERSION__'
|
||||||
releaseBody: |
|
releaseBody: |
|
||||||
# What to download?
|
# What to download?
|
||||||
- `LCE.Emerald.Launcher-*.rpm` for GNU/Linux (RHEL)
|
- `Emerald.Legacy.Launcher-*.rpm` for GNU/Linux (RHEL)
|
||||||
- `LCE.Emerald.Launcher-*.deb` for GNU/Linux (Debian+Ubuntu)
|
- `Emerald.Legacy.Launcher-*.deb` for GNU/Linux (Debian+Ubuntu)
|
||||||
- `LCE.Emerald.Launcher-*.AppImage` for GNU/Linux (Universal, Currently Broken)
|
- `Emerald.Legacy.Launcher-*.AppImage` for GNU/Linux (Universal, Currently Broken)
|
||||||
- `LCE.Emerald.Launcher-*_x64.dmg` for macOS (Intel)
|
- `Emerald.Legacy.Launcher-*_x64.dmg` for macOS (Intel)
|
||||||
- `LCE.Emerald.Launcher-*_aarch64.dmg` for macOS (M-series)
|
- `Emerald.Legacy.Launcher-*_aarch64.dmg` for macOS (M-series)
|
||||||
- `LCE.Emerald.Launcher-*.exe` for Windows (Setup)
|
- `Emerald.Legacy.Launcher-*.exe` for Windows (Setup)
|
||||||
- `LCE.Emerald.Launcher-*.msi` for Windows (Setup)
|
- `Emerald.Legacy.Launcher-*.msi` for Windows (Setup)
|
||||||
- `io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.flatpak` for GNU/Linux (Flatpak, Recommended)
|
- `Emerald.Legacy.Launcher.flatpak` for GNU/Linux (Flatpak, Recommended)
|
||||||
---
|
---
|
||||||
# Windows SmartScreen
|
# Windows SmartScreen
|
||||||
This software is completely safe. Because the launcher is unsigned, you will see a "Windows protected your PC" window. To proceed:
|
This software is completely safe. Because the launcher is unsigned, you will see a "Windows protected your PC" window. To proceed:
|
||||||
@@ -134,12 +134,12 @@ jobs:
|
|||||||
run: sleep 10
|
run: sleep 10
|
||||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||||
with:
|
with:
|
||||||
bundle: io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.flatpak
|
bundle: Emerald.Legacy.Launcher.flatpak
|
||||||
manifest-path: flatpak/io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.yml
|
manifest-path: flatpak/io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.yml
|
||||||
cache-key: flatpak-builder-${{ github.sha }}
|
cache-key: flatpak-builder-${{ github.sha }}
|
||||||
- uses: softprops/action-gh-release@v2
|
- uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
tag_name: v${{ needs.get-version.outputs.version }}
|
tag_name: v${{ needs.get-version.outputs.version }}
|
||||||
files: io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.flatpak
|
files: Emerald.Legacy.Launcher.flatpak
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
# Contributing to LCE Emerald Launcher
|
# Contributing to Emerald Legacy Launcher
|
||||||
|
|
||||||
Thank you for considering contributing to Emerald! We appreciate all types of contributions, including bug fixes, new features, and documentation improvements.
|
Thank you for considering contributing to Emerald! We appreciate all types of contributions, including bug fixes, new features, and documentation improvements.
|
||||||
|
|
||||||
|
|||||||
@@ -631,7 +631,7 @@ to attach them to the start of each source file to most effectively
|
|||||||
state the exclusion of warranty; and each file should have at least
|
state the exclusion of warranty; and each file should have at least
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
LCE Emerald Launcher - The unified hub for LCE preservation.
|
Emerald Legacy Launcher - The unified hub for LCE preservation.
|
||||||
Copyright (C) 2026 The Emerald Team and contributors
|
Copyright (C) 2026 The Emerald Team and contributors
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
# Maintainer: NEOAPPS <[email protected]>
|
|
||||||
# Maintainer: Santiago Fisela <[email protected]>
|
|
||||||
pkgname=lce-emerald-launcher
|
|
||||||
pkgver=1.0.0
|
|
||||||
pkgrel=1
|
|
||||||
pkgdesc="FOSS, cross-platform launcher for Minecraft Legacy Console Edition"
|
|
||||||
arch=('x86_64')
|
|
||||||
url="https://github.com/LCE-Hub/LCE-Emerald-Launcher"
|
|
||||||
license=('GPL-3.0')
|
|
||||||
depends=('cairo' 'desktop-file-utils' 'gdk-pixbuf2' 'glib2' 'gtk3' 'hicolor-icon-theme' 'libsoup' 'pango' 'webkit2gtk-4.1')
|
|
||||||
optdepends=('discord: Discord RPC support')
|
|
||||||
makedepends=('git' 'openssl' 'appmenu-gtk-module' 'libappindicator-gtk3' 'librsvg' 'cargo' 'pnpm' 'nodejs')
|
|
||||||
provides=('emerald-legacy-launcher')
|
|
||||||
conflicts=('emerald-legacy-launcher')
|
|
||||||
source=("$pkgname::git+$url#branch=main")
|
|
||||||
sha256sums=('SKIP')
|
|
||||||
pkgver() {
|
|
||||||
cd "$srcdir/$pkgname"
|
|
||||||
( set -o pipefail
|
|
||||||
git describe --long --abbrev=7 2>/dev/null | sed 's/\([^-]*-g\)/r\1/;s/-/./g' ||
|
|
||||||
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
build() {
|
|
||||||
cd "$srcdir/$pkgname"
|
|
||||||
pnpm install
|
|
||||||
pnpm tauri build --bundles=deb
|
|
||||||
}
|
|
||||||
|
|
||||||
package() {
|
|
||||||
cd "$srcdir/$pkgname"
|
|
||||||
cp -a src-tauri/target/release/bundle/deb/LCE*_*_*/data/* "${pkgdir}"
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<div align="center">
|
<div align="center">
|
||||||
<img height="150" src="https://raw.githubusercontent.com/LCE-Hub/LCE-Emerald-Launcher/refs/heads/main/public/images/icon.png" alt="LCE Emerald Launcher Logo">
|
<img height="150" src="https://raw.githubusercontent.com/Emerald-Legacy-Launcher/Emerald-Legacy-Launcher/refs/heads/main/public/images/icon.png" alt="Emerald Legacy Launcher Logo">
|
||||||
<h1>LCE Emerald Launcher</h1>
|
<h1>Emerald Legacy Launcher</h1>
|
||||||
<p><strong>FOSS cross-platform launcher for Minecraft Legacy Console Edition</strong></p>
|
<p><strong>FOSS cross-platform launcher for Minecraft Legacy Console Edition</strong></p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
<a href="https://ko-fi.com/kayjann">
|
<a href="https://ko-fi.com/kayjann">
|
||||||
<img src="https://img.shields.io/badge/ko--fi-Donate%20to%20the%20Project-grey?style=for-the-badge&logo=kofi&logoColor=white&labelColor=FF5E5B" alt="Donate to the Project">
|
<img src="https://img.shields.io/badge/ko--fi-Donate%20to%20the%20Project-grey?style=for-the-badge&logo=kofi&logoColor=white&labelColor=FF5E5B" alt="Donate to the Project">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://discord.gg/A285mSfkcF">
|
<a href="https://discord.gg/ycYvGjWmhu">
|
||||||
<img src="https://img.shields.io/badge/discord-Join%20the%20Community-grey?style=for-the-badge&logo=discord&logoColor=white&labelColor=5865F2" alt="Join the Community">
|
<img src="https://img.shields.io/badge/discord-Join%20the%20Community-grey?style=for-the-badge&logo=discord&logoColor=white&labelColor=5865F2" alt="Join the Community">
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
> [!IMPORTANT]
|
> [!IMPORTANT]
|
||||||
> MacOs's version of **LCE Emerald Launcher** is currently in beta.
|
> **Emerald Legacy Launcher is currently in Beta.**
|
||||||
> Expect minor bugs, frequent updates, and features that are still being polished as we work toward a stable release.
|
> Expect minor bugs, frequent updates, and features that are still being polished as we work toward a stable release.
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
LCE Emerald Launcher is a **high-performance, open-source launcher** for Minecraft Legacy Console Edition (LCE). Built to centralize the fragmented LCE scene, it provides a lightweight, unified hub for playing your favorite console versions of Minecraft on PC.
|
Emerald Legacy Launcher is a **high-performance, open-source launcher** for Minecraft Legacy Console Edition (LCE). Built to centralize the fragmented LCE scene, it provides a lightweight, unified hub for playing your favorite console versions of Minecraft on PC.
|
||||||
|
|
||||||
**Why Emerald?** Traditional launchers often rely on bloated frameworks, consuming excessive resources. Emerald utilizes a modern **Rust/Tauri** architecture, using only **~15MB of RAM** — leaving your PC's resources dedicated to the game itself.
|
**Why Emerald?** Traditional launchers often rely on bloated frameworks, consuming excessive resources. Emerald utilizes a modern **Rust/Tauri** architecture, using only **~15MB of RAM** — leaving your PC's resources dedicated to the game itself.
|
||||||
|
|
||||||
@@ -80,7 +80,7 @@ The project started as a solo effort and has grown into a collaborative communit
|
|||||||
|
|
||||||
## Game Versions & Partnerships
|
## Game Versions & Partnerships
|
||||||
|
|
||||||
LCE Emerald Launcher integrates multiple community-driven builds of Minecraft Legacy Console Edition. Each build brings unique features and improvements to the classic LCE experience.
|
Emerald Legacy Launcher integrates multiple community-driven builds of Minecraft Legacy Console Edition. Each build brings unique features and improvements to the classic LCE experience.
|
||||||
|
|
||||||
### Available Builds
|
### Available Builds
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ Stay tuned for updates on this exciting partnership! :)
|
|||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
<img width="1680" alt="LCE Emerald Launcher Screenshot" src="https://github.com/user-attachments/assets/a5dd6aa1-2200-4f08-84e5-e75a8052ba79" />
|
<img width="1680" alt="Emerald Legacy Launcher Screenshot" src="https://github.com/user-attachments/assets/a5dd6aa1-2200-4f08-84e5-e75a8052ba79" />
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ Stay tuned for updates on this exciting partnership! :)
|
|||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|
||||||
Download the latest release from [GitHub Releases](https://github.com/LCE-Hub/LCE-Emerald-Launcher/releases):
|
Download the latest release from [GitHub Releases](https://github.com/Emerald-Legacy-Launcher/Emerald-Legacy-Launcher/releases):
|
||||||
|
|
||||||
| Format | Best For |
|
| Format | Best For |
|
||||||
|--------|----------|
|
|--------|----------|
|
||||||
@@ -135,7 +135,7 @@ Download the latest release from [GitHub Releases](https://github.com/LCE-Hub/LC
|
|||||||
2. Open the DMG and drag the app to Applications
|
2. Open the DMG and drag the app to Applications
|
||||||
3. If you see "app is damaged" error:
|
3. If you see "app is damaged" error:
|
||||||
- Right-click the app → **Open** → confirm **Open**
|
- Right-click the app → **Open** → confirm **Open**
|
||||||
- Or run: `xattr -cr "/Applications/LCE Emerald Launcher.app"`
|
- Or run: `xattr -cr "/Applications/Emerald Legacy Launcher.app"`
|
||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
@@ -180,8 +180,8 @@ sudo dnf install webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-devel p
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Clone the repository
|
# Clone the repository
|
||||||
git clone https://github.com/LCE-Hub/LCE-Emerald-Launcher.git
|
git clone https://github.com/Emerald-Legacy-Launcher/Emerald-Legacy-Launcher.git
|
||||||
cd LCE-Emerald-Launcher
|
cd Emerald-Legacy-Launcher
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
pnpm install
|
pnpm install
|
||||||
@@ -236,7 +236,7 @@ sudo apt install --reinstall libwebkit2gtk-4.1-0
|
|||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
Track our progress and upcoming features on the [Development Roadmap](https://github.com/orgs/LCE-Hub/projects/2).
|
Track our progress and upcoming features on the [Development Roadmap](https://github.com/orgs/Emerald-Legacy-Launcher/projects/2).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=Emerald Legacy Launcher
|
||||||
|
Comment=FOSS cross-platform launcher for Minecraft Legacy Console Edition
|
||||||
|
Exec=emerald-legacy-launcher
|
||||||
|
Icon=io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher
|
||||||
|
Type=Application
|
||||||
|
Categories=Game;
|
||||||
+6
-6
@@ -1,24 +1,24 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<component type="desktop-application">
|
<component type="desktop-application">
|
||||||
<id>io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher</id>
|
<id>io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher</id>
|
||||||
<metadata_license>CC0-1.0</metadata_license>
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
<project_license>GPL-3.0-or-later</project_license>
|
<project_license>GPL-3.0-or-later</project_license>
|
||||||
<name>LCE Emerald Launcher</name>
|
<name>Emerald Legacy Launcher</name>
|
||||||
<summary>A launcher for Minecraft Legacy Console Edition</summary>
|
<summary>A launcher for Minecraft Legacy Console Edition</summary>
|
||||||
<description>
|
<description>
|
||||||
<p>FOSS cross-platform launcher for Minecraft Legacy Console Edition</p>
|
<p>FOSS cross-platform launcher for Minecraft Legacy Console Edition</p>
|
||||||
</description>
|
</description>
|
||||||
<launchable type="desktop-id">io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.desktop</launchable>
|
<launchable type="desktop-id">io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.desktop</launchable>
|
||||||
<url type="homepage">https://github.com/LCE-Hub/LCE-Emerald-Launcher</url>
|
<url type="homepage">https://github.com</url>
|
||||||
<developer_name>Emerald Team</developer_name>
|
<developer_name>Emerald Team</developer_name>
|
||||||
<releases>
|
<releases>
|
||||||
<release version="1.0.0" date="2026-03-19">
|
<release version="1.0.0" date="2026-03-19">
|
||||||
<description>
|
<description>
|
||||||
<p>Latest stable release of the LCE Emerald Launcher.</p>
|
<p>Latest stable release of the Emerald Legacy Launcher.</p>
|
||||||
</description>
|
</description>
|
||||||
</release>
|
</release>
|
||||||
</releases>
|
</releases>
|
||||||
<provides>
|
<provides>
|
||||||
<binary>lce-emerald-launcher</binary>
|
<binary>emerald-legacy-launcher</binary>
|
||||||
</provides>
|
</provides>
|
||||||
</component>
|
</component>
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
app-id: io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher
|
||||||
|
runtime: org.gnome.Platform
|
||||||
|
runtime-version: "48"
|
||||||
|
sdk: org.gnome.Sdk
|
||||||
|
sdk-extensions:
|
||||||
|
- org.freedesktop.Sdk.Extension.node20
|
||||||
|
- org.freedesktop.Sdk.Extension.rust-stable
|
||||||
|
command: emerald-legacy-launcher
|
||||||
|
finish-args:
|
||||||
|
- --share=network
|
||||||
|
- --device=input
|
||||||
|
- --socket=x11
|
||||||
|
- --socket=wayland
|
||||||
|
- --device=dri
|
||||||
|
- --filesystem=xdg-data
|
||||||
|
- --socket=pulseaudio
|
||||||
|
- --filesystem=xdg-run/pipewire-0
|
||||||
|
|
||||||
|
modules:
|
||||||
|
- shared-modules/libayatana-appindicator/libayatana-appindicator-gtk3.json
|
||||||
|
- name: emerald-legacy-launcher
|
||||||
|
buildsystem: simple
|
||||||
|
build-options:
|
||||||
|
append-path: /usr/lib/sdk/node20/bin:/usr/lib/sdk/rust-stable/bin
|
||||||
|
build-args:
|
||||||
|
- --share=network
|
||||||
|
env:
|
||||||
|
PKG_CONFIG_PATH: /usr/lib/sdk/node20/lib/pkgconfig:/usr/lib/sdk/rust-stable/lib/pkgconfig
|
||||||
|
CARGO_HOME: /run/build/emerald-legacy-launcher/cargo
|
||||||
|
PNPM_HOME: /run/build/emerald-legacy-launcher/pnpm-home
|
||||||
|
build-commands:
|
||||||
|
- . /usr/lib/sdk/rust-stable/enable.sh
|
||||||
|
- mkdir -p /run/build/emerald-legacy-launcher/pnpm-bin
|
||||||
|
- curl -fSL https://github.com/pnpm/pnpm/releases/download/v10.32.1/pnpm-linux-x64 -o /run/build/emerald-legacy-launcher/pnpm-bin/pnpm # yes i hardcode URLs
|
||||||
|
- chmod +x /run/build/emerald-legacy-launcher/pnpm-bin/pnpm
|
||||||
|
- export PATH=/run/build/emerald-legacy-launcher/pnpm-bin:$PATH
|
||||||
|
- CI=true PATH=/run/build/emerald-legacy-launcher/pnpm-bin:$PATH /run/build/emerald-legacy-launcher/pnpm-bin/pnpm install
|
||||||
|
- CI=true PATH=/run/build/emerald-legacy-launcher/pnpm-bin:$PATH /run/build/emerald-legacy-launcher/pnpm-bin/pnpm tauri build --no-bundle
|
||||||
|
- install -Dm755 src-tauri/target/release/emerald-legacy-launcher /app/bin/emerald-legacy-launcher
|
||||||
|
- mkdir -p /app/share/emerald-legacy-launcher/
|
||||||
|
- cp -r dist /app/share/emerald-legacy-launcher/
|
||||||
|
- install -Dm644 flatpak/io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.desktop /app/share/applications/io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.desktop
|
||||||
|
- install -Dm644 flatpak/io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.metainfo.xml /app/share/metainfo/io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.metainfo.xml
|
||||||
|
- install -Dm644 public/images/icon.png /app/share/icons/hicolor/512x512/apps/io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.png
|
||||||
|
sources:
|
||||||
|
- type: dir
|
||||||
|
path: ..
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=LCE Emerald Launcher
|
|
||||||
Comment=FOSS cross-platform launcher for Minecraft Legacy Console Edition
|
|
||||||
Exec=lce-emerald-launcher
|
|
||||||
Icon=io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher
|
|
||||||
Type=Application
|
|
||||||
Categories=Game;
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
app-id: io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher
|
|
||||||
runtime: org.gnome.Platform
|
|
||||||
runtime-version: "48"
|
|
||||||
sdk: org.gnome.Sdk
|
|
||||||
sdk-extensions:
|
|
||||||
- org.freedesktop.Sdk.Extension.node20
|
|
||||||
- org.freedesktop.Sdk.Extension.rust-stable
|
|
||||||
command: lce-emerald-launcher
|
|
||||||
finish-args:
|
|
||||||
- --share=network
|
|
||||||
- --device=input
|
|
||||||
- --socket=x11
|
|
||||||
- --socket=wayland
|
|
||||||
- --device=dri
|
|
||||||
- --filesystem=xdg-data
|
|
||||||
- --socket=pulseaudio
|
|
||||||
- --filesystem=xdg-run/pipewire-0
|
|
||||||
|
|
||||||
modules:
|
|
||||||
- shared-modules/libayatana-appindicator/libayatana-appindicator-gtk3.json
|
|
||||||
- name: lce-emerald-launcher
|
|
||||||
buildsystem: simple
|
|
||||||
build-options:
|
|
||||||
append-path: /usr/lib/sdk/node20/bin:/usr/lib/sdk/rust-stable/bin
|
|
||||||
build-args:
|
|
||||||
- --share=network
|
|
||||||
env:
|
|
||||||
PKG_CONFIG_PATH: /usr/lib/sdk/node20/lib/pkgconfig:/usr/lib/sdk/rust-stable/lib/pkgconfig
|
|
||||||
CARGO_HOME: /run/build/lce-emerald-launcher/cargo
|
|
||||||
PNPM_HOME: /run/build/lce-emerald-launcher/pnpm-home
|
|
||||||
build-commands:
|
|
||||||
- . /usr/lib/sdk/rust-stable/enable.sh
|
|
||||||
- mkdir -p /run/build/lce-emerald-launcher/pnpm-bin
|
|
||||||
- curl -fSL https://github.com/pnpm/pnpm/releases/download/v10.32.1/pnpm-linux-x64 -o /run/build/lce-emerald-launcher/pnpm-bin/pnpm # yes i hardcode URLs
|
|
||||||
- chmod +x /run/build/lce-emerald-launcher/pnpm-bin/pnpm
|
|
||||||
- export PATH=/run/build/lce-emerald-launcher/pnpm-bin:$PATH
|
|
||||||
- CI=true PATH=/run/build/lce-emerald-launcher/pnpm-bin:$PATH /run/build/lce-emerald-launcher/pnpm-bin/pnpm install
|
|
||||||
- CI=true PATH=/run/build/lce-emerald-launcher/pnpm-bin:$PATH /run/build/lce-emerald-launcher/pnpm-bin/pnpm tauri build --no-bundle
|
|
||||||
- install -Dm755 src-tauri/target/release/lce-emerald-launcher /app/bin/lce-emerald-launcher
|
|
||||||
- mkdir -p /app/share/lce-emerald-launcher/
|
|
||||||
- cp -r dist /app/share/lce-emerald-launcher/
|
|
||||||
- install -Dm644 flatpak/io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.desktop /app/share/applications/io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.desktop
|
|
||||||
- install -Dm644 flatpak/io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.metainfo.xml /app/share/metainfo/io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.metainfo.xml
|
|
||||||
- install -Dm644 public/images/icon.png /app/share/icons/hicolor/512x512/apps/io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.png
|
|
||||||
sources:
|
|
||||||
- type: dir
|
|
||||||
path: ..
|
|
||||||
+5
-7
@@ -1,18 +1,16 @@
|
|||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
<head>
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<link rel="preload" href="/fonts/Mojangles.ttf" as="font" type="font/truetype" crossorigin>
|
<link rel="preload" href="/fonts/Mojangles.ttf" as="font" type="font/truetype" crossorigin>
|
||||||
<link rel="preload" href="/images/MenuTitle.png" as="image">
|
<link rel="preload" href="/images/MenuTitle.png" as="image">
|
||||||
<title>LCE Emerald Launcher</title>
|
<title>Emerald Legacy Launcher</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
<script type="module" src="/src/main.tsx"></script>
|
<script type="module" src="/src/main.tsx"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
+2
-6
@@ -1,12 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "lce-emerald-launcher",
|
"name": "emerald-legacy-launcher",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "git+https://github.com/LCE-Hub/LCE-Emerald-Launcher.git"
|
|
||||||
},
|
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "tsc && vite build",
|
"build": "tsc && vite build",
|
||||||
@@ -14,7 +10,7 @@
|
|||||||
"tauri": "tauri",
|
"tauri": "tauri",
|
||||||
"tauri:build": "tauri build && pnpm run post-build:macos",
|
"tauri:build": "tauri build && pnpm run post-build:macos",
|
||||||
"post-build:macos": "sh src-tauri/scripts/post-build-macos.sh",
|
"post-build:macos": "sh src-tauri/scripts/post-build-macos.sh",
|
||||||
"flatpak": "flatpak-builder --user --install-deps-from=flathub --repo=emerald-repo --force-clean build-flatpak flatpak/io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher.yml && flatpak build-bundle emerald-repo emerald.flatpak io.github.LCE_Emerald_Launcher.LCE_Emerald_Launcher"
|
"flatpak": "flatpak-builder --user --install-deps-from=flathub --repo=emerald-repo --force-clean build-flatpak flatpak/io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher.yml && flatpak build-bundle emerald-repo emerald.flatpak io.github.Emerald_Legacy_Launcher.Emerald_Legacy_Launcher"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tauri-apps/api": "^2",
|
"@tauri-apps/api": "^2",
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
APP_PATH="$1"
|
APP_PATH="$1"
|
||||||
BUNDLE_ID="com.lce.emerald"
|
BUNDLE_ID="com.emerald.legacy"
|
||||||
|
|
||||||
if [ -z "$APP_PATH" ]; then
|
if [ -z "$APP_PATH" ]; then
|
||||||
echo "Usage: $0 <path-to-app-bundle>"
|
echo "Usage: $0 <path-to-app-bundle>"
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
# Post-install script for PKG installer
|
# Post-install script for PKG installer
|
||||||
# Automatically removes quarantine attributes from the installed app
|
# Automatically removes quarantine attributes from the installed app
|
||||||
|
|
||||||
APP_PATH="$2/Applications/LCE Emerald Launcher.app"
|
APP_PATH="$2/Applications/Emerald Legacy Launcher.app"
|
||||||
|
|
||||||
echo "Removing quarantine attributes from LCE Emerald Launcher..."
|
echo "Removing quarantine attributes from Emerald Legacy Launcher..."
|
||||||
|
|
||||||
if [ -d "$APP_PATH" ]; then
|
if [ -d "$APP_PATH" ]; then
|
||||||
xattr -cr "$APP_PATH"
|
xattr -cr "$APP_PATH"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "lce-emerald-launcher"
|
name = "emerald-legacy-launcher"
|
||||||
version = "1.0.1"
|
version = "1.0.1"
|
||||||
description = "A FOSS, cross-platform launcher for Minecraft Legacy Edition"
|
description = "A FOSS, cross-platform launcher for Minecraft Legacy Edition"
|
||||||
authors = ["Emerald Team"]
|
authors = ["Emerald Team"]
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
APP_NAME="LCE Emerald Launcher"
|
APP_NAME="Emerald Legacy Launcher"
|
||||||
BUNDLE_ID="com.lce.emerald"
|
BUNDLE_ID="com.emerald.legacy"
|
||||||
BASE_DIR="src-tauri/target"
|
BASE_DIR="src-tauri/target"
|
||||||
|
|
||||||
echo "Running macOS post-build fixes"
|
echo "Running macOS post-build fixes"
|
||||||
|
|||||||
+16
-45
@@ -93,10 +93,16 @@ fn get_app_dir(app: &AppHandle) -> PathBuf {
|
|||||||
|
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
fn get_macos_runtime_dir(app: &AppHandle) -> PathBuf {
|
fn get_macos_runtime_dir(app: &AppHandle) -> PathBuf {
|
||||||
app.path().app_local_data_dir().unwrap_or_else(|_| {
|
let home = app
|
||||||
let home = app.path().home_dir().ok().or_else(|| std::env::var("HOME").ok().map(PathBuf::from)).unwrap_or_else(|| PathBuf::from("/"));
|
.path()
|
||||||
home.join("Library").join("Application Support").join("com.lce.emerald")
|
.home_dir()
|
||||||
}).join("runtime")
|
.ok()
|
||||||
|
.or_else(|| std::env::var("HOME").ok().map(PathBuf::from))
|
||||||
|
.unwrap_or_else(|| PathBuf::from("/"));
|
||||||
|
home.join("Library")
|
||||||
|
.join("Application Support")
|
||||||
|
.join("com.emerald.legacy")
|
||||||
|
.join("runtime")
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
@@ -146,7 +152,7 @@ fn unix_path_to_wine_z_path(unix_path: &PathBuf) -> String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn get_config_path(app: &AppHandle) -> PathBuf {
|
fn get_config_path(app: &AppHandle) -> PathBuf {
|
||||||
get_app_dir(app).join("lce_emerald_config.json")
|
get_app_dir(app).join("emerald_legacy_config.json")
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
@@ -161,21 +167,12 @@ fn save_config(app: AppHandle, config: AppConfig) {
|
|||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
fn load_config(app: AppHandle) -> AppConfig {
|
fn load_config(app: AppHandle) -> AppConfig {
|
||||||
let path = get_config_path(&app);
|
let path = get_config_path(&app);
|
||||||
if let Ok(content) = fs::read_to_string(&path) {
|
if let Ok(content) = fs::read_to_string(path) {
|
||||||
if let Ok(config) = serde_json::from_str(&content) {
|
if let Ok(config) = serde_json::from_str(&content) {
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let old_json_path = get_app_dir(&app).join("emerald_legacy_config.json");
|
|
||||||
if let Ok(content) = fs::read_to_string(&old_json_path) {
|
|
||||||
if let Ok(config) = serde_json::from_str::<AppConfig>(&content) {
|
|
||||||
let _ = save_config(app.clone(), config.clone());
|
|
||||||
let _ = fs::remove_file(old_json_path);
|
|
||||||
return config;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let old_path = get_app_dir(&app).join("emerald_legacy_config.txt");
|
let old_path = get_app_dir(&app).join("emerald_legacy_config.txt");
|
||||||
let username = fs::read_to_string(old_path).unwrap_or_else(|_| "Player".into());
|
let username = fs::read_to_string(old_path).unwrap_or_else(|_| "Player".into());
|
||||||
AppConfig {
|
AppConfig {
|
||||||
@@ -263,7 +260,7 @@ fn get_available_runners(app: AppHandle) -> Vec<Runner> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Ok(output) = Command::new("ls").arg("/usr/share/lce-emerald-launcher/wine/bin/wine").output() {
|
if let Ok(output) = Command::new("ls").arg("/usr/share/emerald-legacy-launcher/wine/bin/wine").output() {
|
||||||
if output.status.success() {
|
if output.status.success() {
|
||||||
let path = String::from_utf8_lossy(&output.stdout).trim().to_string();
|
let path = String::from_utf8_lossy(&output.stdout).trim().to_string();
|
||||||
if !seen_paths.contains(&path) {
|
if !seen_paths.contains(&path) {
|
||||||
@@ -472,7 +469,7 @@ async fn setup_macos_runtime(window: tauri::Window, app: AppHandle) -> Result<()
|
|||||||
let client = reqwest::Client::new();
|
let client = reqwest::Client::new();
|
||||||
let release_text = client
|
let release_text = client
|
||||||
.get("https://api.github.com/repos/Gcenx/game-porting-toolkit/releases/latest")
|
.get("https://api.github.com/repos/Gcenx/game-porting-toolkit/releases/latest")
|
||||||
.header("User-Agent", "LCE-Emerald-Launcher")
|
.header("User-Agent", "Emerald-Legacy-Launcher")
|
||||||
.send()
|
.send()
|
||||||
.await
|
.await
|
||||||
.map_err(|e| e.to_string())?
|
.map_err(|e| e.to_string())?
|
||||||
@@ -509,7 +506,7 @@ async fn setup_macos_runtime(window: tauri::Window, app: AppHandle) -> Result<()
|
|||||||
let archive_path = runtime_dir.join(format!("gptk_{}", asset.name));
|
let archive_path = runtime_dir.join(format!("gptk_{}", asset.name));
|
||||||
let response = client
|
let response = client
|
||||||
.get(&asset.browser_download_url)
|
.get(&asset.browser_download_url)
|
||||||
.header("User-Agent", "LCE-Emerald-Launcher")
|
.header("User-Agent", "Emerald-Legacy-Launcher")
|
||||||
.send()
|
.send()
|
||||||
.await
|
.await
|
||||||
.map_err(|e| e.to_string())?
|
.map_err(|e| e.to_string())?
|
||||||
@@ -956,7 +953,7 @@ async fn workshop_install(app: AppHandle, request: WorkshopInstallRequest) -> Re
|
|||||||
.and_then(|s| serde_json::from_str(&s).ok())
|
.and_then(|s| serde_json::from_str(&s).ok())
|
||||||
.unwrap_or_default();
|
.unwrap_or_default();
|
||||||
|
|
||||||
let raw_base = format!("https://raw.githubusercontent.com/LCE-Hub/Workshop/refs/heads/main/{}", request.package_id);
|
let raw_base = format!("https://raw.githubusercontent.com/Emerald-Legacy-Launcher/Workshop/refs/heads/main/{}", request.package_id);
|
||||||
let tmp_dir = root.join(format!("workshop_tmp_{}", request.package_id));
|
let tmp_dir = root.join(format!("workshop_tmp_{}", request.package_id));
|
||||||
fs::create_dir_all(&tmp_dir).map_err(|e| e.to_string())?;
|
fs::create_dir_all(&tmp_dir).map_err(|e| e.to_string())?;
|
||||||
for (zip_name, placeholder) in &request.zips {
|
for (zip_name, placeholder) in &request.zips {
|
||||||
@@ -1287,35 +1284,9 @@ async fn fetch_skin(username: String) -> Result<(String, String), String> {
|
|||||||
Ok((image_b64.to_string(), name_exact))
|
Ok((image_b64.to_string(), name_exact))
|
||||||
}
|
}
|
||||||
|
|
||||||
fn migrate_data(app: &tauri::App) {
|
|
||||||
let new_data_dir = app.path().app_local_data_dir().unwrap_or_default();
|
|
||||||
if new_data_dir.as_os_str().is_empty() { return; }
|
|
||||||
|
|
||||||
let parent = new_data_dir.parent().unwrap();
|
|
||||||
let old_data_dir = parent.join("com.emerald.legacy");
|
|
||||||
|
|
||||||
if old_data_dir.exists() && !new_data_dir.exists() {
|
|
||||||
println!("Rebranding: Migrating data from {:?} to {:?}", old_data_dir, new_data_dir);
|
|
||||||
let _ = fs::create_dir_all(&new_data_dir);
|
|
||||||
if let Ok(entries) = fs::read_dir(&old_data_dir) {
|
|
||||||
for entry in entries.flatten() {
|
|
||||||
let name = entry.file_name();
|
|
||||||
let dest = new_data_dir.join(name);
|
|
||||||
let _ = fs::rename(entry.path(), dest);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let _ = fs::remove_dir_all(&old_data_dir);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
#[cfg_attr(mobile, tauri::mobile_entry_point)]
|
||||||
pub fn run() {
|
pub fn run() {
|
||||||
tauri::Builder::default()
|
tauri::Builder::default()
|
||||||
.setup(|app| {
|
|
||||||
migrate_data(app);
|
|
||||||
Ok(())
|
|
||||||
})
|
|
||||||
.manage(DownloadState { token: Arc::new(Mutex::new(None)) })
|
.manage(DownloadState { token: Arc::new(Mutex::new(None)) })
|
||||||
.manage(GameState { child: Arc::new(Mutex::new(None)) })
|
.manage(GameState { child: Arc::new(Mutex::new(None)) })
|
||||||
.plugin(tauri_plugin_gamepad::init())
|
.plugin(tauri_plugin_gamepad::init())
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://schema.tauri.app/config/2",
|
"$schema": "https://schema.tauri.app/config/2",
|
||||||
"productName": "LCE Emerald Launcher",
|
"productName": "Emerald Legacy Launcher",
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"identifier": "com.lce.emerald",
|
"identifier": "com.emerald.legacy",
|
||||||
"build": {
|
"build": {
|
||||||
"beforeDevCommand": "npm run dev",
|
"beforeDevCommand": "npm run dev",
|
||||||
"devUrl": "http://localhost:1420",
|
"devUrl": "http://localhost:1420",
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
"windows": [
|
"windows": [
|
||||||
{
|
{
|
||||||
"label": "main",
|
"label": "main",
|
||||||
"title": "LCE Emerald Launcher",
|
"title": "Emerald Legacy Launcher",
|
||||||
"width": 1280,
|
"width": 1280,
|
||||||
"height": 720,
|
"height": 720,
|
||||||
"minWidth": 1280,
|
"minWidth": 1280,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ export const AppHeader = memo(function AppHeader({ playPressSound, uiFade }: App
|
|||||||
style={{ imageRendering: "pixelated" }}
|
style={{ imageRendering: "pixelated" }}
|
||||||
/>
|
/>
|
||||||
<span className="text-xs text-gray-300 mc-text-shadow opacity-90 tracking-wide leading-none block pt-[1px]">
|
<span className="text-xs text-gray-300 mc-text-shadow opacity-90 tracking-wide leading-none block pt-[1px]">
|
||||||
LCE Emerald Launcher
|
Emerald Legacy Launcher
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center gap-1 pr-2">
|
<div className="flex items-center gap-1 pr-2">
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ const HomeView = memo(function HomeView() {
|
|||||||
? `Play Game`
|
? `Play Game`
|
||||||
: `Download ${selectedVersionName}`,
|
: `Download ${selectedVersionName}`,
|
||||||
action: isDownloading
|
action: isDownloading
|
||||||
? () => { }
|
? () => {}
|
||||||
: isInstalled
|
: isInstalled
|
||||||
? handleLaunch
|
? handleLaunch
|
||||||
: () => toggleInstall(profile),
|
: () => toggleInstall(profile),
|
||||||
@@ -123,7 +123,7 @@ const HomeView = memo(function HomeView() {
|
|||||||
<div className="pt-4 flex flex-col items-center w-full gap-3">
|
<div className="pt-4 flex flex-col items-center w-full gap-3">
|
||||||
<div className="flex gap-8">
|
<div className="flex gap-8">
|
||||||
<a
|
<a
|
||||||
href="https://discord.gg/A285mSfkcFm"
|
href="https://discord.gg/YBy7kbnR4m"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
@@ -140,7 +140,7 @@ const HomeView = memo(function HomeView() {
|
|||||||
/>
|
/>
|
||||||
</a>
|
</a>
|
||||||
<a
|
<a
|
||||||
href="https://github.com/LCE-Hub/LCE-Emerald-Launcher"
|
href="https://github.com/Emerald-Legacy-Launcher/Emerald-Legacy-Launcher"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ const SetupView: React.FC<SetupViewProps> = ({ onComplete }) => {
|
|||||||
<div className="absolute top-8 left-1/2 transform -translate-x-1/2">
|
<div className="absolute top-8 left-1/2 transform -translate-x-1/2">
|
||||||
<img
|
<img
|
||||||
src={titleImage}
|
src={titleImage}
|
||||||
alt="LCE Emerald"
|
alt="Emerald Legacy"
|
||||||
className="h-16"
|
className="h-16"
|
||||||
style={{ imageRendering: "pixelated" }}
|
style={{ imageRendering: "pixelated" }}
|
||||||
/>
|
/>
|
||||||
@@ -277,7 +277,7 @@ const SetupView: React.FC<SetupViewProps> = ({ onComplete }) => {
|
|||||||
{currentStep === 0 && (
|
{currentStep === 0 && (
|
||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
<h2 className="text-3xl font-bold mb-6 text-white" style={{ textShadow: "2px 2px 0px rgba(0,0,0,0.8)" }}>
|
<h2 className="text-3xl font-bold mb-6 text-white" style={{ textShadow: "2px 2px 0px rgba(0,0,0,0.8)" }}>
|
||||||
Welcome to LCE Emerald
|
Welcome to Emerald Legacy
|
||||||
</h2>
|
</h2>
|
||||||
<p className="text-lg mb-8 text-white/80">Let's configure your launcher</p>
|
<p className="text-lg mb-8 text-white/80">Let's configure your launcher</p>
|
||||||
|
|
||||||
@@ -306,8 +306,8 @@ const SetupView: React.FC<SetupViewProps> = ({ onComplete }) => {
|
|||||||
</h2>
|
</h2>
|
||||||
<p className="text-lg mb-6 text-white/80">
|
<p className="text-lg mb-6 text-white/80">
|
||||||
{runtimeAlreadyInstalled
|
{runtimeAlreadyInstalled
|
||||||
? "LCE Emerald compatibility runtime is already installed"
|
? "Emerald Legacy compatibility runtime is already installed"
|
||||||
: "LCE Emerald needs compatibility runtime for macOS"
|
: "Emerald Legacy needs compatibility runtime for macOS"
|
||||||
}
|
}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@@ -413,7 +413,7 @@ const SetupView: React.FC<SetupViewProps> = ({ onComplete }) => {
|
|||||||
|
|
||||||
<div className="mt-6 p-4 bg-green-600/20 border-2 border-green-400 rounded-lg">
|
<div className="mt-6 p-4 bg-green-600/20 border-2 border-green-400 rounded-lg">
|
||||||
<p className="text-green-400 font-bold mb-2">✓ Windows Native Support</p>
|
<p className="text-green-400 font-bold mb-2">✓ Windows Native Support</p>
|
||||||
<p className="text-xs text-white/80">LCE Emerald runs natively on Windows without additional requirements.</p>
|
<p className="text-xs text-white/80">Emerald Legacy runs natively on Windows without additional requirements.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
@@ -454,7 +454,7 @@ const SetupView: React.FC<SetupViewProps> = ({ onComplete }) => {
|
|||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
<div className="text-left">
|
<div className="text-left">
|
||||||
<p className="text-white font-bold">Discord Rich Presence</p>
|
<p className="text-white font-bold">Discord Rich Presence</p>
|
||||||
<p className="text-xs text-white/60">Show your LCE Emerald status on Discord</p>
|
<p className="text-xs text-white/60">Show your Emerald Legacy status on Discord</p>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
@@ -508,7 +508,7 @@ const SetupView: React.FC<SetupViewProps> = ({ onComplete }) => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p className="text-white/80">LCE Emerald is now configured and ready to use!</p>
|
<p className="text-white/80">Emerald Legacy is now configured and ready to use!</p>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</motion.div>
|
</motion.div>
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import { motion, AnimatePresence } from 'framer-motion';
|
|||||||
import { useUI, useAudio, useConfig, GameContext } from '../../context/LauncherContext';
|
import { useUI, useAudio, useConfig, GameContext } from '../../context/LauncherContext';
|
||||||
import { TauriService } from '../../services/TauriService';
|
import { TauriService } from '../../services/TauriService';
|
||||||
|
|
||||||
const REGISTRY_URL = 'https://raw.githubusercontent.com/LCE-Hub/Workshop/refs/heads/main/registry.json';
|
const REGISTRY_URL = 'https://raw.githubusercontent.com/Emerald-Legacy-Launcher/Workshop/refs/heads/main/registry.json';
|
||||||
const RAW_BASE = 'https://raw.githubusercontent.com/LCE-Hub/Workshop/refs/heads/main';
|
const RAW_BASE = 'https://raw.githubusercontent.com/Emerald-Legacy-Launcher/Workshop/refs/heads/main';
|
||||||
|
|
||||||
const CATEGORY_TABS = ['Skin', 'Texture', 'World', 'Mod', 'DLC'] as const;
|
const CATEGORY_TABS = ['Skin', 'Texture', 'World', 'Mod', 'DLC'] as const;
|
||||||
const ALL_TABS = [...CATEGORY_TABS, 'Search'] as const;
|
const ALL_TABS = [...CATEGORY_TABS, 'Search'] as const;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { useState, useEffect, useCallback } from "react";
|
|||||||
import pkg from "../../package.json";
|
import pkg from "../../package.json";
|
||||||
|
|
||||||
const CURRENT_VERSION = pkg.version;
|
const CURRENT_VERSION = pkg.version;
|
||||||
const REPO_URL = "https://api.github.com/repos/LCE-Hub/LCE-Emerald-Launcher/releases/latest";
|
const REPO_URL = "https://api.github.com/repos/Emerald-Legacy-Launcher/Emerald-Legacy-Launcher/releases/latest";
|
||||||
|
|
||||||
function isNewerVersion(latest: string, current: string): boolean {
|
function isNewerVersion(latest: string, current: string): boolean {
|
||||||
const latestParts = latest.split('.').map(Number);
|
const latestParts = latest.split('.').map(Number);
|
||||||
|
|||||||
+1
-1
@@ -153,7 +153,7 @@ export default function App() {
|
|||||||
message={updateMessage}
|
message={updateMessage}
|
||||||
onClose={clearUpdateMessage}
|
onClose={clearUpdateMessage}
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
TauriService.openUrl("https://lce-hub.github.io/")
|
TauriService.openUrl("https://emerald-legacy-launcher.github.io/")
|
||||||
}
|
}
|
||||||
title="Update Available!"
|
title="Update Available!"
|
||||||
variant="update"
|
variant="update"
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class RPC {
|
|||||||
|
|
||||||
const assets = new Assets();
|
const assets = new Assets();
|
||||||
assets.setLargeImage("logo");
|
assets.setLargeImage("logo");
|
||||||
assets.setLargeText("LCE Emerald");
|
assets.setLargeText("Emerald Legacy");
|
||||||
assets.setSmallImage("app-icon");
|
assets.setSmallImage("app-icon");
|
||||||
assets.setSmallText(isPlaying ? "Playing" : "In Menus");
|
assets.setSmallText(isPlaying ? "Playing" : "In Menus");
|
||||||
activity.setAssets(assets);
|
activity.setAssets(assets);
|
||||||
@@ -49,8 +49,8 @@ class RPC {
|
|||||||
activity.setTimestamps(new Timestamps(this.startTime));
|
activity.setTimestamps(new Timestamps(this.startTime));
|
||||||
|
|
||||||
activity.setButton([
|
activity.setButton([
|
||||||
new Button("Discord", "https://discord.gg/A285mSfkcF"),
|
new Button("Discord", "https://discord.gg/RHGRUwpmVc"),
|
||||||
new Button("GitHub", "https://github.com/LCE-Hub/LCE-Emerald-Launcher")
|
new Button("GitHub", "https://github.com/Emerald-Legacy-Launcher/Emerald-Legacy-Launcher")
|
||||||
]);
|
]);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user