Repository files navigation

Forge

Join the Discord

Test build

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.

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.

Installation

For a more in depth User Guide, please visit the User Guide

For Desktop users, download the Latest Releases which are typically based around Set releases. Or download the Snapshot Build 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.

Java 8 or later is required to run Forge. Please make sure is the right version is installed in your enviroment. Check the user guide for more info.

For Android users, download the APK file from Snapshot Build to your device. On first run, Forge will download all needed data.

Modes of Play

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.

Check the Gameplay Guide for more info.

Adventure Mode

Forge has several Quest modes, which is similar but without the overworld map.

You can also play against the AI in a variety of formats, such as Sealed, Draft, Commander and Cube.

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.

About

An unofficial rules engine for the world's greatest card game.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Forge

Join the Discord

Test build

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.

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.

Installation

For a more in depth User Guide, please visit the User Guide

For Desktop users, download the Latest Releases which are typically based around Set releases. Or download the Snapshot Build 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.

Java 8 or later is required to run Forge. Please make sure is the right version is installed in your enviroment. Check the user guide for more info.

For Android users, download the APK file from Snapshot Build to your device. On first run, Forge will download all needed data.

Modes of Play

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.

Check the Gameplay Guide for more info.

Adventure Mode

Forge has several Quest modes, which is similar but without the overworld map.

You can also play against the AI in a variety of formats, such as Sealed, Draft, Commander and Cube.

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.

About

An unofficial rules engine for the world's greatest card game.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Forge

Join the Discord

Test build

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.

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.

Installation

For a more in depth User Guide, please visit the User Guide

For Desktop users, download the Latest Releases which are typically based around Set releases. Or download the Snapshot Build 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.

Java 8 or later is required to run Forge. Please make sure is the right version is installed in your enviroment. Check the user guide for more info.

For Android users, download the APK file from Snapshot Build to your device. On first run, Forge will download all needed data.

Modes of Play

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.

Check the Gameplay Guide for more info.

Adventure Mode

Forge has several Quest modes, which is similar but without the overworld map.

You can also play against the AI in a variety of formats, such as Sealed, Draft, Commander and Cube.

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.

About

An unofficial rules engine for the world's greatest card game.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Forge

Join the Discord

Test build

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.

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.

Installation

For a more in depth User Guide, please visit the User Guide

For Desktop users, download the Latest Releases which are typically based around Set releases. Or download the Snapshot Build 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.

Java 8 or later is required to run Forge. Please make sure is the right version is installed in your enviroment. Check the user guide for more info.

For Android users, download the APK file from Snapshot Build to your device. On first run, Forge will download all needed data.

Modes of Play

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.

Check the Gameplay Guide for more info.

Adventure Mode

Forge has several Quest modes, which is similar but without the overworld map.

You can also play against the AI in a variety of formats, such as Sealed, Draft, Commander and Cube.

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.

About

An unofficial rules engine for the world's greatest card game.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Forge

Join the Discord

Test build

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.

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.

Installation

For a more in depth User Guide, please visit the User Guide

For Desktop users, download the Latest Releases which are typically based around Set releases. Or download the Snapshot Build 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.

Java 8 or later is required to run Forge. Please make sure is the right version is installed in your enviroment. Check the user guide for more info.

For Android users, download the APK file from Snapshot Build to your device. On first run, Forge will download all needed data.

Modes of Play

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.

Check the Gameplay Guide for more info.

Adventure Mode

Forge has several Quest modes, which is similar but without the overworld map.

You can also play against the AI in a variety of formats, such as Sealed, Draft, Commander and Cube.

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.

About

An unofficial rules engine for the world's greatest card game.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Forge

Join the Discord

Test build

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.

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.

Installation

For a more in depth User Guide, please visit the User Guide

For Desktop users, download the Latest Releases which are typically based around Set releases. Or download the Snapshot Build 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.

Java 8 or later is required to run Forge. Please make sure is the right version is installed in your enviroment. Check the user guide for more info.

For Android users, download the APK file from Snapshot Build to your device. On first run, Forge will download all needed data.

Modes of Play

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.

Check the Gameplay Guide for more info.

Adventure Mode

Forge has several Quest modes, which is similar but without the overworld map.

You can also play against the AI in a variety of formats, such as Sealed, Draft, Commander and Cube.

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.

About

An unofficial rules engine for the world's greatest card game.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Forge

Join the Discord

Test build

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.

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.

Installation

For a more in depth User Guide, please visit the User Guide

For Desktop users, download the Latest Releases which are typically based around Set releases. Or download the Snapshot Build 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.

Java 8 or later is required to run Forge. Please make sure is the right version is installed in your enviroment. Check the user guide for more info.

For Android users, download the APK file from Snapshot Build to your device. On first run, Forge will download all needed data.

Modes of Play

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.

Check the Gameplay Guide for more info.

Adventure Mode

Forge has several Quest modes, which is similar but without the overworld map.

You can also play against the AI in a variety of formats, such as Sealed, Draft, Commander and Cube.

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.

About

An unofficial rules engine for the world's greatest card game.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Forge

Join the Discord

Test build

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.

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.

Installation

For a more in depth User Guide, please visit the User Guide

For Desktop users, download the Latest Releases which are typically based around Set releases. Or download the Snapshot Build 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.

Java 8 or later is required to run Forge. Please make sure is the right version is installed in your enviroment. Check the user guide for more info.

For Android users, download the APK file from Snapshot Build to your device. On first run, Forge will download all needed data.

Modes of Play

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.

Check the Gameplay Guide for more info.

Adventure Mode

Forge has several Quest modes, which is similar but without the overworld map.

You can also play against the AI in a variety of formats, such as Sealed, Draft, Commander and Cube.

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.

About

An unofficial rules engine for the world's greatest card game.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages