revert rebrand

This commit is contained in:
neoapps-dev
2026-04-08 11:16:53 +03:00
parent 4042b5076c
commit ec6db283a1
27 changed files with 167 additions and 237 deletions
+4 -5
View File
@@ -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
+11 -11
View File
@@ -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 }}
+15 -15
View File
@@ -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
View File
@@ -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.
+1 -1
View File
@@ -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
-34
View File
@@ -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}"
}
+12 -12
View File
@@ -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;
@@ -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
View File
@@ -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
View File
@@ -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",
+1 -1
View File
@@ -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>"
+2 -2
View File
@@ -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 -1
View File
@@ -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"]
+2 -2
View File
@@ -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
View File
@@ -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())
+3 -3
View File
@@ -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,
+1 -1
View File
@@ -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">
+3 -3
View File
@@ -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={() => {
+7 -7
View File
@@ -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>
+2 -2
View File
@@ -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;
+1 -1
View File
@@ -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
View File
@@ -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"
+3 -3
View File
@@ -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 {