From c05760bab83d5f652ac8e1dec9e8aafbc4fff710 Mon Sep 17 00:00:00 2001 From: VishalKeerthan Date: Wed, 16 Oct 2024 01:56:09 +0530 Subject: [PATCH 1/6] Update README.md --- README.md | 96 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 68 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index e1e94874b13..67bf3678c72 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,90 @@ -# Forge +# โš”๏ธ Forge: The Magic: The Gathering Rules Engine -Join the [Discord](https://discord.gg/HcPJNyD66a) +Join the **Forge community** on [Discord](https://discord.gg/HcPJNyD66a)! [![Test build](https://github.com/Card-Forge/forge/actions/workflows/test-build.yaml/badge.svg)](https://github.com/Card-Forge/forge/actions/workflows/test-build.yaml) -## Introduction +--- -Forge is a "Rules Engine" for the game Magic: the Gathering. -Forge is not related in any way with Wizards of the Coast. -Forge is open source software released under the GNU Public License. -Forge is developed by a community of programmers who love trading card games. +## โœจ Introduction -Forge is a cross-platform application and can be run on Windows, Mac, Linux and Android. It is written in Java. The engine is written in Java. The engine is designed to be extensible, so any interested programmer can join and help add new features and cards to the game. Any tech savvy user could read out card scripting system to create cards to be used inside Forge. -The engine allows you to play in a handful of different single player environments or online against other players. +**Forge** is a dynamic and open-source **Rules Engine** tailored for **Magic: The Gathering** enthusiasts. Developed by a community of passionate programmers, Forge allows players to explore the rich universe of MTG through a flexible, engaging platform. +**Note:** Forge operates independently and is not affiliated with Wizards of the Coast. -## Installation +--- -For a more in depth User Guide, please visit the [User Guide](https://github.com/Card-Forge/forge/wiki/User-Guide) +## ๐ŸŒŸ Key Features -For Desktop users, download the [Latest Releases](https://github.com/Card-Forge/forge/releases/latest) which are typically based around Set releases. -Or download the [Snapshot Build](https://downloads.cardforge.org/dailysnapshots/) the file that starts with "forge-gui-desktop". -This file is tarball, and may need to be extracted twice depending on which program is being used to extract it. -We recommend extracting to a new folder rather than on top of an existing installation. -**For users who have played Forge before all of your user data is stored separately so you don't have to worry about losing it on upgrade.** +- **๐ŸŒ Cross-Platform Support:** Play on **Windows, Mac, Linux,** and **Android**. +- **๐Ÿ”ง Extensible Architecture:** Built in **Java**, Forge encourages developers to contribute by adding features and cards. +- **๐ŸŽฎ Versatile Gameplay:** Dive into single-player modes or challenge opponents online! -Java 8 or later is required to run Forge. Please make sure is the right version is installed in your environment. Check the user guide for more info. +--- -For Android users, download the APK file from [Snapshot Build](https://downloads.cardforge.org/dailysnapshots/) to your device. -On first run, Forge will download all needed data. +## ๐Ÿ› ๏ธ Installation Guide -## Modes of Play +### ๐Ÿ“ฅ Desktop Installation +1. **Latest Releases:** Download the latest version [here](https://github.com/Card-Forge/forge/releases/latest). +2. **Snapshot Build:** For the latest development version, grab the `forge-gui-desktop` tarball from our [Snapshot Build](https://downloads.cardforge.org/dailysnapshots/). + - **Tip:** Extract to a new folder to prevent data loss. +3. **User Data Management:** Previous playersโ€™ data is preserved during upgrades. +4. **Java Requirement:** Ensure you have **Java 8 or later** installed. -Forge has a variety of ways to play the game. The most popular way is our Adventure mode, which is a single player campaign that allows you to play against a variety of AI opponents. -You walk around an overworld map, and can challenge opponents to games of Magic. As you play, you'll collect more cards and items to improve your abilities. +### ๐Ÿ“ฑ Android Installation +- Download the **APK** from the [Snapshot Build](https://downloads.cardforge.org/dailysnapshots/). On the first launch, Forge will automatically download all necessary assets. -Check the [Gameplay Guide](https://github.com/Card-Forge/forge/wiki/Gameplay-Guide) for more info. +--- + +## ๐ŸŽฎ Modes of Play + +Forge offers various exciting gameplay options: + +### ๐ŸŒ Adventure Mode +Embark on a thrilling single-player journey where you can: +- Explore an overworld map. +- Challenge diverse AI opponents. +- Collect cards and items to boost your abilities. ![Adventure Mode](https://downloads.cardforge.org/images/site/adventure-mode.png "Adventure Mode") +### ๐Ÿ” Quest Modes +Engage in focused gameplay without the overworld explorationโ€”perfect for quick sessions! -Forge has several Quest modes, which is similar but without the overworld map. +### ๐Ÿค– AI Formats +Test your skills against AI in multiple formats: +- **Sealed** +- **Draft** +- **Commander** +- **Cube** -You can also play against the AI in a variety of formats, such as Sealed, Draft, Commander and Cube. +For comprehensive gameplay instructions, visit our [Gameplay Guide](https://github.com/Card-Forge/forge/wiki/Gameplay-Guide). -## Questions +--- -If you have any questions, please join the Discord channel. Read the #rules and the frequently-asked-questions. -If your question is not answered there, feel free to ask in the #help channel. +## ๐Ÿ’ฌ Support & Community + +Need help? Join our vibrant Discord community! +- ๐Ÿ“œ Read the **#rules** and explore the **FAQ**. +- โ“ Ask your questions in the **#help** channel for assistance. + +--- + +## ๐Ÿค Contributing to Forge + +We love community contributions! Interested in helping? Check out our [Contributing Guidelines](CONTRIBUTING.md) for details on how to get started. + +--- + +## โ„น๏ธ About Forge + +Forge aims to deliver an immersive and customizable Magic: The Gathering experience for fans around the world. + +### ๐Ÿ“Š Repository Statistics +- **โญ Stars:** 969 +- **๐Ÿด Forks:** 559 +- **๐Ÿ‘ฅ Contributors:** 149 + +--- + +**๐Ÿ“„ License:** [GPL-3.0](LICENSE) From 0edd7d9d87d0646f5f296a58576c4f567af2ca62 Mon Sep 17 00:00:00 2001 From: VishalKeerthan Date: Wed, 16 Oct 2024 09:31:23 +0530 Subject: [PATCH 2/6] Update README.md --- README.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 67bf3678c72..16f63accae0 100644 --- a/README.md +++ b/README.md @@ -27,9 +27,9 @@ Join the **Forge community** on [Discord](https://discord.gg/HcPJNyD66a)! ### ๐Ÿ“ฅ Desktop Installation 1. **Latest Releases:** Download the latest version [here](https://github.com/Card-Forge/forge/releases/latest). 2. **Snapshot Build:** For the latest development version, grab the `forge-gui-desktop` tarball from our [Snapshot Build](https://downloads.cardforge.org/dailysnapshots/). - - **Tip:** Extract to a new folder to prevent data loss. + - **Tip:** Extract to a new folder to prevent version conflicts. 3. **User Data Management:** Previous playersโ€™ data is preserved during upgrades. -4. **Java Requirement:** Ensure you have **Java 8 or later** installed. +4. **Java Requirement:** Ensure you have **Java 17 or later** installed. ### ๐Ÿ“ฑ Android Installation - Download the **APK** from the [Snapshot Build](https://downloads.cardforge.org/dailysnapshots/). On the first launch, Forge will automatically download all necessary assets. @@ -81,9 +81,12 @@ We love community contributions! Interested in helping? Check out our [Contribut Forge aims to deliver an immersive and customizable Magic: The Gathering experience for fans around the world. ### ๐Ÿ“Š Repository Statistics -- **โญ Stars:** 969 -- **๐Ÿด Forks:** 559 -- **๐Ÿ‘ฅ Contributors:** 149 + +| Metric | Count | +|----------------|-------------------------------------------------------------| +| **โญ Stars:** | [![GitHub stars](https://img.shields.io/github/stars/Card-Forge/forge?style=flat-square)](https://github.com/Card-Forge/forge/stargazers) | +| **๐Ÿด Forks:** | [![GitHub forks](https://img.shields.io/github/forks/Card-Forge/forge?style=flat-square)](https://github.com/Card-Forge/forge/network) | +| **๐Ÿ‘ฅ Contributors:** | [![GitHub contributors](https://img.shields.io/github/contributors/Card-Forge/forge?style=flat-square)](https://github.com/Card-Forge/forge/graphs/contributors) | --- From 23be0c568dfe2848830c0a2b06329d404571be12 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Sun, 7 Apr 2024 19:42:35 +0200 Subject: [PATCH 3/6] AndroidManifest --- .github/workflows/snapshots-android.yml | 6 ++++ forge-gui-android/pom.xml | 33 +++++++++++++++++-- .../{ => src/main}/AndroidManifest.xml | 0 3 files changed, 37 insertions(+), 2 deletions(-) rename forge-gui-android/{ => src/main}/AndroidManifest.xml (100%) diff --git a/.github/workflows/snapshots-android.yml b/.github/workflows/snapshots-android.yml index aef9e707055..c593103a1af 100644 --- a/.github/workflows/snapshots-android.yml +++ b/.github/workflows/snapshots-android.yml @@ -8,6 +8,11 @@ on: description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' required: false default: false + upload_package: + type: boolean + description: 'Upload the completed Android package' + required: false + default: true schedule: # * is a special character in YAML so you have to quote this string - cron: '00 19 * * *' @@ -116,6 +121,7 @@ jobs: - name: ๐Ÿ“‚ Sync files uses: SamKirkland/FTP-Deploy-Action@v4.3.4 + if: ${{ inputs.upload_package }} with: server: ftp.cardforge.org username: ${{ secrets.FTP_USERNAME }} diff --git a/forge-gui-android/pom.xml b/forge-gui-android/pom.xml index bb81ee8b75d..e2d7b325915 100644 --- a/forge-gui-android/pom.xml +++ b/forge-gui-android/pom.xml @@ -239,7 +239,6 @@ 30.0.3 true - ${project.basedir}/AndroidManifest.xml ${project.basedir}/assets ${project.basedir}/res ${project.basedir}/libs @@ -266,6 +265,17 @@ --min-sdk-version=26 + + + update-manifest + + manifest-merger + + + true + + + @@ -306,7 +316,6 @@ false true - ${project.basedir}/AndroidManifest.xml ${project.basedir}/assets ${project.basedir}/res ${project.basedir}/libs @@ -333,6 +342,17 @@ --min-sdk-version=26 + + + update-manifest + + manifest-merger + + + true + + + @@ -414,6 +434,15 @@ zipalign + + update-manifest + + manifest-merger + + + true + + diff --git a/forge-gui-android/AndroidManifest.xml b/forge-gui-android/src/main/AndroidManifest.xml similarity index 100% rename from forge-gui-android/AndroidManifest.xml rename to forge-gui-android/src/main/AndroidManifest.xml From 0c5f7962e2ffc7e8411d1d2acfef909ffdf712a3 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Thu, 10 Oct 2024 07:28:49 +0200 Subject: [PATCH 4/6] ~ update android-maven-plugin --- .github/workflows/publish-android.yml | 10 +++++----- .github/workflows/snapshots-android.yml | 10 +++++----- forge-gui-android/pom.xml | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/publish-android.yml b/.github/workflows/publish-android.yml index 4e8e3904cd1..02d48aaf85c 100644 --- a/.github/workflows/publish-android.yml +++ b/.github/workflows/publish-android.yml @@ -71,11 +71,11 @@ jobs: - name: Install Android maven plugin run: | - mkdir -p ~/.m2/repository/com/simpligility/maven/plugins/android-maven-plugin/4.6.1 - cd ~/.m2/repository/com/simpligility/maven/plugins/android-maven-plugin/4.6.1 - curl -L -o android-maven-plugin-4.6.1.jar https://github.com/Card-Forge/android-maven-plugin/releases/download/4.6.1/android-maven-plugin-4.6.1.jar - curl -L -o android-maven-plugin-4.6.1.pom https://github.com/Card-Forge/android-maven-plugin/releases/download/4.6.1/android-maven-plugin-4.6.1.pom - #mvn install:install-file -Dfile=android-maven-plugin-4.6.1.jar -DgroupId=com.simpligility.maven.plugins -DartifactId=android-maven-plugin -Dversion=4.6.1 -Dpackaging=jar + mkdir -p ~/.m2/repository/com/simpligility/maven/plugins/android-maven-plugin/4.6.2 + cd ~/.m2/repository/com/simpligility/maven/plugins/android-maven-plugin/4.6.2 + curl -L -o android-maven-plugin-4.6.2.jar https://github.com/Card-Forge/android-maven-plugin/releases/download/4.6.2/android-maven-plugin-4.6.2.jar + curl -L -o android-maven-plugin-4.6.2.pom https://github.com/Card-Forge/android-maven-plugin/releases/download/4.6.2/android-maven-plugin-4.6.2.pom + #mvn install:install-file -Dfile=android-maven-plugin-4.6.2.jar -DgroupId=com.simpligility.maven.plugins -DartifactId=android-maven-plugin -Dversion=4.6.2 -Dpackaging=jar cd - mvn install -Dmaven.test.skip=true mvn dependency:tree diff --git a/.github/workflows/snapshots-android.yml b/.github/workflows/snapshots-android.yml index c593103a1af..1bdf3784cbf 100644 --- a/.github/workflows/snapshots-android.yml +++ b/.github/workflows/snapshots-android.yml @@ -79,11 +79,11 @@ jobs: - name: Install Android maven plugin run: | - mkdir -p ~/.m2/repository/com/simpligility/maven/plugins/android-maven-plugin/4.6.1 - cd ~/.m2/repository/com/simpligility/maven/plugins/android-maven-plugin/4.6.1 - curl -L -o android-maven-plugin-4.6.1.jar https://github.com/Card-Forge/android-maven-plugin/releases/download/4.6.1/android-maven-plugin-4.6.1.jar - curl -L -o android-maven-plugin-4.6.1.pom https://github.com/Card-Forge/android-maven-plugin/releases/download/4.6.1/android-maven-plugin-4.6.1.pom - #mvn install:install-file -Dfile=android-maven-plugin-4.6.1.jar -DgroupId=com.simpligility.maven.plugins -DartifactId=android-maven-plugin -Dversion=4.6.1 -Dpackaging=jar + mkdir -p ~/.m2/repository/com/simpligility/maven/plugins/android-maven-plugin/4.6.2 + cd ~/.m2/repository/com/simpligility/maven/plugins/android-maven-plugin/4.6.2 + curl -L -o android-maven-plugin-4.6.2.jar https://github.com/Card-Forge/android-maven-plugin/releases/download/4.6.2/android-maven-plugin-4.6.2.jar + curl -L -o android-maven-plugin-4.6.2.pom https://github.com/Card-Forge/android-maven-plugin/releases/download/4.6.2/android-maven-plugin-4.6.2.pom + #mvn install:install-file -Dfile=android-maven-plugin-4.6.2.jar -DgroupId=com.simpligility.maven.plugins -DartifactId=android-maven-plugin -Dversion=4.6.2 -Dpackaging=jar cd - mvn install -Dmaven.test.skip=true mvn dependency:tree diff --git a/forge-gui-android/pom.xml b/forge-gui-android/pom.xml index e2d7b325915..a68bb777125 100644 --- a/forge-gui-android/pom.xml +++ b/forge-gui-android/pom.xml @@ -228,7 +228,7 @@ 6.2.2 - 4.6.1 + 4.6.2 true @@ -302,7 +302,7 @@ 6.2.2 - 4.6.1 + 4.6.2 true @@ -413,7 +413,7 @@ 6.2.2 - 4.6.1 + 4.6.2 true From 94f183546274931219a8d6342aa1ea3213300da1 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Mon, 14 Oct 2024 20:30:26 +0200 Subject: [PATCH 5/6] ~ fix version pattern for android.manifest merger --- forge-gui-android/pom.xml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/forge-gui-android/pom.xml b/forge-gui-android/pom.xml index a68bb777125..ef462a09720 100644 --- a/forge-gui-android/pom.xml +++ b/forge-gui-android/pom.xml @@ -4,6 +4,8 @@ ${maven.build.timestamp} yyyy-MM-dd HH:mm:ss + true + 2,2,2,4 jar -Xms1024m -Xmx1536m @@ -271,9 +273,6 @@ manifest-merger - - true - @@ -348,9 +347,6 @@ manifest-merger - - true - @@ -439,9 +435,6 @@ manifest-merger - - true - From f5b30a6826074f10f3bdc3321fdfb52ae6fe1eff Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Tue, 15 Oct 2024 21:21:40 +0200 Subject: [PATCH 6/6] removed version from AndroidManifest --- forge-gui-android/src/main/AndroidManifest.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/forge-gui-android/src/main/AndroidManifest.xml b/forge-gui-android/src/main/AndroidManifest.xml index 68a2032f74a..ac4c1117274 100644 --- a/forge-gui-android/src/main/AndroidManifest.xml +++ b/forge-gui-android/src/main/AndroidManifest.xml @@ -1,8 +1,6 @@ + package="forge.app">