Repository files navigation

MinecraftJars.NET MinecraftJars.NET

LicenseLanguageDownloadsBuildReleasesReleaseDateCommitDate

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies. The motivation for the library is actually a server manager I'm currently working on which will allow to download the latest and greatest Minecraft server version within the manager.

While this repository is providing already the plugins to gather the most popular Minecraft server providers and server, it is easily extendable via the MEF Framework. A developer guide will follow, but I'm pretty sure the geeks will find out themselves on how to do it.

Support

I try to be responsive to Stack Overflow questions in the minecraftjar-net tag and issues logged on this GitHub repository.

If I've helped you and you like some of my work, feel free to buy me a coffee ☕ (or more likely a beer 🍺)

ko-fi

Plugins

Following provider plugins are already bundled with MinecraftJars.NET:

MojangMojang: Vanilla, Bedrock

PaperPaper: Paper, Folia, Velocity, Waterfall

PurpurPurpur: Purpur

PocketminePocketmine: Pocketmine

MohistMohist: Mohist

FabricFabric: Fabric

SpigotSpigot (Important: see details in Plugin Readme): Spigot, BungeeCord

Installing

Multiple options are available to install within your project:

  1. Install, using the Nuget Gallery

  2. Install using the Package Manager Console:

    Install-PackageMinecraftJars.NET
  3. Install using .NET CLI

    dotnet add package MinecraftJars.NET

Usage

MinecraftJars.NET comes with a MinecraftJar class which has to be instantiated, optionally ProviderOptions can be supplied. Each Plugin provides an interface instance for the provider IMinecraftProvider as well an interface instance for IEnumerable<IMinecraftProject> with it's versions IEnumerable<IMinecraftVersion>. Since getting the actual download link mostly involves another API query it is accessible via the IMinecraftVersion.GetDownload() method.

usingMinecraftJars;varminecraftJar=newMinecraftJar();foreach(varproviderinminecraftJar.GetProviders()){Console.WriteLine($"{provider}");foreach(varprojectinprovider.Projects){Console.WriteLine($"\t{project}");foreach(varversioninawaitproject.GetVersions(newVersionOptions{MaxRecords=10})){Console.WriteLine($"\t\t{version}");vardownload=awaitversion.GetDownload();Console.WriteLine($"\t\t\t{download}");}Console.WriteLine();}Console.WriteLine();}

What provider / project / version information is the library providing?

To make a long story short have a look at the IMinecraftProvider, IMinecraftProject, IMinecraftVersion and the IMinecraftDownload interface to see what values are returned by default. Each plugin could provide more information, which can be found in the README.md of the corresponding plugin.

As an example with the Paper Minecraft experience following values can be expected:

  • IMinecraftProvider = Paper
    • IEnumerable<IMinecraftProject> = Paper, Folia, Velocity, Waterfall
      • IEnumerable<IMinecraftVersion> for Paper = 1.19.4, 1.19.3, 1.19.2, etc.
        • IMinecraftDownload = Build 123

Please note:

  • If a version has multiple builds only the latest successful build will be returned via IMinecraftVersion.GetDownload() method.
  • Not all providers will fill all properties in each interface instance. Further information are provided in the README.md of each plugin.

Dependency Injection

An extensions package is available for Dependency Injection. Look up the project but it is as easy as installing it and adding MinecraftJar.NET to the DI.

Demo application

Have a look at the Console Demo within the repository. It will run straight out of the box to give you a hint what the library can do for you.

Dependencies and Credits

  • Teneko's Teronis.DotNet for allowing project reference content to be added to the NuGet package during pack process

  • Icons are provided by Flat Icons

About

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

MinecraftJars.NET MinecraftJars.NET

LicenseLanguageDownloadsBuildReleasesReleaseDateCommitDate

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies. The motivation for the library is actually a server manager I'm currently working on which will allow to download the latest and greatest Minecraft server version within the manager.

While this repository is providing already the plugins to gather the most popular Minecraft server providers and server, it is easily extendable via the MEF Framework. A developer guide will follow, but I'm pretty sure the geeks will find out themselves on how to do it.

Support

I try to be responsive to Stack Overflow questions in the minecraftjar-net tag and issues logged on this GitHub repository.

If I've helped you and you like some of my work, feel free to buy me a coffee ☕ (or more likely a beer 🍺)

ko-fi

Plugins

Following provider plugins are already bundled with MinecraftJars.NET:

MojangMojang: Vanilla, Bedrock

PaperPaper: Paper, Folia, Velocity, Waterfall

PurpurPurpur: Purpur

PocketminePocketmine: Pocketmine

MohistMohist: Mohist

FabricFabric: Fabric

SpigotSpigot (Important: see details in Plugin Readme): Spigot, BungeeCord

Installing

Multiple options are available to install within your project:

  1. Install, using the Nuget Gallery

  2. Install using the Package Manager Console:

    Install-PackageMinecraftJars.NET
  3. Install using .NET CLI

    dotnet add package MinecraftJars.NET

Usage

MinecraftJars.NET comes with a MinecraftJar class which has to be instantiated, optionally ProviderOptions can be supplied. Each Plugin provides an interface instance for the provider IMinecraftProvider as well an interface instance for IEnumerable<IMinecraftProject> with it's versions IEnumerable<IMinecraftVersion>. Since getting the actual download link mostly involves another API query it is accessible via the IMinecraftVersion.GetDownload() method.

usingMinecraftJars;varminecraftJar=newMinecraftJar();foreach(varproviderinminecraftJar.GetProviders()){Console.WriteLine($"{provider}");foreach(varprojectinprovider.Projects){Console.WriteLine($"\t{project}");foreach(varversioninawaitproject.GetVersions(newVersionOptions{MaxRecords=10})){Console.WriteLine($"\t\t{version}");vardownload=awaitversion.GetDownload();Console.WriteLine($"\t\t\t{download}");}Console.WriteLine();}Console.WriteLine();}

What provider / project / version information is the library providing?

To make a long story short have a look at the IMinecraftProvider, IMinecraftProject, IMinecraftVersion and the IMinecraftDownload interface to see what values are returned by default. Each plugin could provide more information, which can be found in the README.md of the corresponding plugin.

As an example with the Paper Minecraft experience following values can be expected:

  • IMinecraftProvider = Paper
    • IEnumerable<IMinecraftProject> = Paper, Folia, Velocity, Waterfall
      • IEnumerable<IMinecraftVersion> for Paper = 1.19.4, 1.19.3, 1.19.2, etc.
        • IMinecraftDownload = Build 123

Please note:

  • If a version has multiple builds only the latest successful build will be returned via IMinecraftVersion.GetDownload() method.
  • Not all providers will fill all properties in each interface instance. Further information are provided in the README.md of each plugin.

Dependency Injection

An extensions package is available for Dependency Injection. Look up the project but it is as easy as installing it and adding MinecraftJar.NET to the DI.

Demo application

Have a look at the Console Demo within the repository. It will run straight out of the box to give you a hint what the library can do for you.

Dependencies and Credits

  • Teneko's Teronis.DotNet for allowing project reference content to be added to the NuGet package during pack process

  • Icons are provided by Flat Icons

About

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

MinecraftJars.NET MinecraftJars.NET

LicenseLanguageDownloadsBuildReleasesReleaseDateCommitDate

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies. The motivation for the library is actually a server manager I'm currently working on which will allow to download the latest and greatest Minecraft server version within the manager.

While this repository is providing already the plugins to gather the most popular Minecraft server providers and server, it is easily extendable via the MEF Framework. A developer guide will follow, but I'm pretty sure the geeks will find out themselves on how to do it.

Support

I try to be responsive to Stack Overflow questions in the minecraftjar-net tag and issues logged on this GitHub repository.

If I've helped you and you like some of my work, feel free to buy me a coffee ☕ (or more likely a beer 🍺)

ko-fi

Plugins

Following provider plugins are already bundled with MinecraftJars.NET:

MojangMojang: Vanilla, Bedrock

PaperPaper: Paper, Folia, Velocity, Waterfall

PurpurPurpur: Purpur

PocketminePocketmine: Pocketmine

MohistMohist: Mohist

FabricFabric: Fabric

SpigotSpigot (Important: see details in Plugin Readme): Spigot, BungeeCord

Installing

Multiple options are available to install within your project:

  1. Install, using the Nuget Gallery

  2. Install using the Package Manager Console:

    Install-PackageMinecraftJars.NET
  3. Install using .NET CLI

    dotnet add package MinecraftJars.NET

Usage

MinecraftJars.NET comes with a MinecraftJar class which has to be instantiated, optionally ProviderOptions can be supplied. Each Plugin provides an interface instance for the provider IMinecraftProvider as well an interface instance for IEnumerable<IMinecraftProject> with it's versions IEnumerable<IMinecraftVersion>. Since getting the actual download link mostly involves another API query it is accessible via the IMinecraftVersion.GetDownload() method.

usingMinecraftJars;varminecraftJar=newMinecraftJar();foreach(varproviderinminecraftJar.GetProviders()){Console.WriteLine($"{provider}");foreach(varprojectinprovider.Projects){Console.WriteLine($"\t{project}");foreach(varversioninawaitproject.GetVersions(newVersionOptions{MaxRecords=10})){Console.WriteLine($"\t\t{version}");vardownload=awaitversion.GetDownload();Console.WriteLine($"\t\t\t{download}");}Console.WriteLine();}Console.WriteLine();}

What provider / project / version information is the library providing?

To make a long story short have a look at the IMinecraftProvider, IMinecraftProject, IMinecraftVersion and the IMinecraftDownload interface to see what values are returned by default. Each plugin could provide more information, which can be found in the README.md of the corresponding plugin.

As an example with the Paper Minecraft experience following values can be expected:

  • IMinecraftProvider = Paper
    • IEnumerable<IMinecraftProject> = Paper, Folia, Velocity, Waterfall
      • IEnumerable<IMinecraftVersion> for Paper = 1.19.4, 1.19.3, 1.19.2, etc.
        • IMinecraftDownload = Build 123

Please note:

  • If a version has multiple builds only the latest successful build will be returned via IMinecraftVersion.GetDownload() method.
  • Not all providers will fill all properties in each interface instance. Further information are provided in the README.md of each plugin.

Dependency Injection

An extensions package is available for Dependency Injection. Look up the project but it is as easy as installing it and adding MinecraftJar.NET to the DI.

Demo application

Have a look at the Console Demo within the repository. It will run straight out of the box to give you a hint what the library can do for you.

Dependencies and Credits

  • Teneko's Teronis.DotNet for allowing project reference content to be added to the NuGet package during pack process

  • Icons are provided by Flat Icons

About

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

MinecraftJars.NET MinecraftJars.NET

LicenseLanguageDownloadsBuildReleasesReleaseDateCommitDate

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies. The motivation for the library is actually a server manager I'm currently working on which will allow to download the latest and greatest Minecraft server version within the manager.

While this repository is providing already the plugins to gather the most popular Minecraft server providers and server, it is easily extendable via the MEF Framework. A developer guide will follow, but I'm pretty sure the geeks will find out themselves on how to do it.

Support

I try to be responsive to Stack Overflow questions in the minecraftjar-net tag and issues logged on this GitHub repository.

If I've helped you and you like some of my work, feel free to buy me a coffee ☕ (or more likely a beer 🍺)

ko-fi

Plugins

Following provider plugins are already bundled with MinecraftJars.NET:

MojangMojang: Vanilla, Bedrock

PaperPaper: Paper, Folia, Velocity, Waterfall

PurpurPurpur: Purpur

PocketminePocketmine: Pocketmine

MohistMohist: Mohist

FabricFabric: Fabric

SpigotSpigot (Important: see details in Plugin Readme): Spigot, BungeeCord

Installing

Multiple options are available to install within your project:

  1. Install, using the Nuget Gallery

  2. Install using the Package Manager Console:

    Install-PackageMinecraftJars.NET
  3. Install using .NET CLI

    dotnet add package MinecraftJars.NET

Usage

MinecraftJars.NET comes with a MinecraftJar class which has to be instantiated, optionally ProviderOptions can be supplied. Each Plugin provides an interface instance for the provider IMinecraftProvider as well an interface instance for IEnumerable<IMinecraftProject> with it's versions IEnumerable<IMinecraftVersion>. Since getting the actual download link mostly involves another API query it is accessible via the IMinecraftVersion.GetDownload() method.

usingMinecraftJars;varminecraftJar=newMinecraftJar();foreach(varproviderinminecraftJar.GetProviders()){Console.WriteLine($"{provider}");foreach(varprojectinprovider.Projects){Console.WriteLine($"\t{project}");foreach(varversioninawaitproject.GetVersions(newVersionOptions{MaxRecords=10})){Console.WriteLine($"\t\t{version}");vardownload=awaitversion.GetDownload();Console.WriteLine($"\t\t\t{download}");}Console.WriteLine();}Console.WriteLine();}

What provider / project / version information is the library providing?

To make a long story short have a look at the IMinecraftProvider, IMinecraftProject, IMinecraftVersion and the IMinecraftDownload interface to see what values are returned by default. Each plugin could provide more information, which can be found in the README.md of the corresponding plugin.

As an example with the Paper Minecraft experience following values can be expected:

  • IMinecraftProvider = Paper
    • IEnumerable<IMinecraftProject> = Paper, Folia, Velocity, Waterfall
      • IEnumerable<IMinecraftVersion> for Paper = 1.19.4, 1.19.3, 1.19.2, etc.
        • IMinecraftDownload = Build 123

Please note:

  • If a version has multiple builds only the latest successful build will be returned via IMinecraftVersion.GetDownload() method.
  • Not all providers will fill all properties in each interface instance. Further information are provided in the README.md of each plugin.

Dependency Injection

An extensions package is available for Dependency Injection. Look up the project but it is as easy as installing it and adding MinecraftJar.NET to the DI.

Demo application

Have a look at the Console Demo within the repository. It will run straight out of the box to give you a hint what the library can do for you.

Dependencies and Credits

  • Teneko's Teronis.DotNet for allowing project reference content to be added to the NuGet package during pack process

  • Icons are provided by Flat Icons

About

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

MinecraftJars.NET MinecraftJars.NET

LicenseLanguageDownloadsBuildReleasesReleaseDateCommitDate

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies. The motivation for the library is actually a server manager I'm currently working on which will allow to download the latest and greatest Minecraft server version within the manager.

While this repository is providing already the plugins to gather the most popular Minecraft server providers and server, it is easily extendable via the MEF Framework. A developer guide will follow, but I'm pretty sure the geeks will find out themselves on how to do it.

Support

I try to be responsive to Stack Overflow questions in the minecraftjar-net tag and issues logged on this GitHub repository.

If I've helped you and you like some of my work, feel free to buy me a coffee ☕ (or more likely a beer 🍺)

ko-fi

Plugins

Following provider plugins are already bundled with MinecraftJars.NET:

MojangMojang: Vanilla, Bedrock

PaperPaper: Paper, Folia, Velocity, Waterfall

PurpurPurpur: Purpur

PocketminePocketmine: Pocketmine

MohistMohist: Mohist

FabricFabric: Fabric

SpigotSpigot (Important: see details in Plugin Readme): Spigot, BungeeCord

Installing

Multiple options are available to install within your project:

  1. Install, using the Nuget Gallery

  2. Install using the Package Manager Console:

    Install-PackageMinecraftJars.NET
  3. Install using .NET CLI

    dotnet add package MinecraftJars.NET

Usage

MinecraftJars.NET comes with a MinecraftJar class which has to be instantiated, optionally ProviderOptions can be supplied. Each Plugin provides an interface instance for the provider IMinecraftProvider as well an interface instance for IEnumerable<IMinecraftProject> with it's versions IEnumerable<IMinecraftVersion>. Since getting the actual download link mostly involves another API query it is accessible via the IMinecraftVersion.GetDownload() method.

usingMinecraftJars;varminecraftJar=newMinecraftJar();foreach(varproviderinminecraftJar.GetProviders()){Console.WriteLine($"{provider}");foreach(varprojectinprovider.Projects){Console.WriteLine($"\t{project}");foreach(varversioninawaitproject.GetVersions(newVersionOptions{MaxRecords=10})){Console.WriteLine($"\t\t{version}");vardownload=awaitversion.GetDownload();Console.WriteLine($"\t\t\t{download}");}Console.WriteLine();}Console.WriteLine();}

What provider / project / version information is the library providing?

To make a long story short have a look at the IMinecraftProvider, IMinecraftProject, IMinecraftVersion and the IMinecraftDownload interface to see what values are returned by default. Each plugin could provide more information, which can be found in the README.md of the corresponding plugin.

As an example with the Paper Minecraft experience following values can be expected:

  • IMinecraftProvider = Paper
    • IEnumerable<IMinecraftProject> = Paper, Folia, Velocity, Waterfall
      • IEnumerable<IMinecraftVersion> for Paper = 1.19.4, 1.19.3, 1.19.2, etc.
        • IMinecraftDownload = Build 123

Please note:

  • If a version has multiple builds only the latest successful build will be returned via IMinecraftVersion.GetDownload() method.
  • Not all providers will fill all properties in each interface instance. Further information are provided in the README.md of each plugin.

Dependency Injection

An extensions package is available for Dependency Injection. Look up the project but it is as easy as installing it and adding MinecraftJar.NET to the DI.

Demo application

Have a look at the Console Demo within the repository. It will run straight out of the box to give you a hint what the library can do for you.

Dependencies and Credits

  • Teneko's Teronis.DotNet for allowing project reference content to be added to the NuGet package during pack process

  • Icons are provided by Flat Icons

About

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

MinecraftJars.NET MinecraftJars.NET

LicenseLanguageDownloadsBuildReleasesReleaseDateCommitDate

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies. The motivation for the library is actually a server manager I'm currently working on which will allow to download the latest and greatest Minecraft server version within the manager.

While this repository is providing already the plugins to gather the most popular Minecraft server providers and server, it is easily extendable via the MEF Framework. A developer guide will follow, but I'm pretty sure the geeks will find out themselves on how to do it.

Support

I try to be responsive to Stack Overflow questions in the minecraftjar-net tag and issues logged on this GitHub repository.

If I've helped you and you like some of my work, feel free to buy me a coffee ☕ (or more likely a beer 🍺)

ko-fi

Plugins

Following provider plugins are already bundled with MinecraftJars.NET:

MojangMojang: Vanilla, Bedrock

PaperPaper: Paper, Folia, Velocity, Waterfall

PurpurPurpur: Purpur

PocketminePocketmine: Pocketmine

MohistMohist: Mohist

FabricFabric: Fabric

SpigotSpigot (Important: see details in Plugin Readme): Spigot, BungeeCord

Installing

Multiple options are available to install within your project:

  1. Install, using the Nuget Gallery

  2. Install using the Package Manager Console:

    Install-PackageMinecraftJars.NET
  3. Install using .NET CLI

    dotnet add package MinecraftJars.NET

Usage

MinecraftJars.NET comes with a MinecraftJar class which has to be instantiated, optionally ProviderOptions can be supplied. Each Plugin provides an interface instance for the provider IMinecraftProvider as well an interface instance for IEnumerable<IMinecraftProject> with it's versions IEnumerable<IMinecraftVersion>. Since getting the actual download link mostly involves another API query it is accessible via the IMinecraftVersion.GetDownload() method.

usingMinecraftJars;varminecraftJar=newMinecraftJar();foreach(varproviderinminecraftJar.GetProviders()){Console.WriteLine($"{provider}");foreach(varprojectinprovider.Projects){Console.WriteLine($"\t{project}");foreach(varversioninawaitproject.GetVersions(newVersionOptions{MaxRecords=10})){Console.WriteLine($"\t\t{version}");vardownload=awaitversion.GetDownload();Console.WriteLine($"\t\t\t{download}");}Console.WriteLine();}Console.WriteLine();}

What provider / project / version information is the library providing?

To make a long story short have a look at the IMinecraftProvider, IMinecraftProject, IMinecraftVersion and the IMinecraftDownload interface to see what values are returned by default. Each plugin could provide more information, which can be found in the README.md of the corresponding plugin.

As an example with the Paper Minecraft experience following values can be expected:

  • IMinecraftProvider = Paper
    • IEnumerable<IMinecraftProject> = Paper, Folia, Velocity, Waterfall
      • IEnumerable<IMinecraftVersion> for Paper = 1.19.4, 1.19.3, 1.19.2, etc.
        • IMinecraftDownload = Build 123

Please note:

  • If a version has multiple builds only the latest successful build will be returned via IMinecraftVersion.GetDownload() method.
  • Not all providers will fill all properties in each interface instance. Further information are provided in the README.md of each plugin.

Dependency Injection

An extensions package is available for Dependency Injection. Look up the project but it is as easy as installing it and adding MinecraftJar.NET to the DI.

Demo application

Have a look at the Console Demo within the repository. It will run straight out of the box to give you a hint what the library can do for you.

Dependencies and Credits

  • Teneko's Teronis.DotNet for allowing project reference content to be added to the NuGet package during pack process

  • Icons are provided by Flat Icons

About

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

MinecraftJars.NET MinecraftJars.NET

LicenseLanguageDownloadsBuildReleasesReleaseDateCommitDate

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies. The motivation for the library is actually a server manager I'm currently working on which will allow to download the latest and greatest Minecraft server version within the manager.

While this repository is providing already the plugins to gather the most popular Minecraft server providers and server, it is easily extendable via the MEF Framework. A developer guide will follow, but I'm pretty sure the geeks will find out themselves on how to do it.

Support

I try to be responsive to Stack Overflow questions in the minecraftjar-net tag and issues logged on this GitHub repository.

If I've helped you and you like some of my work, feel free to buy me a coffee ☕ (or more likely a beer 🍺)

ko-fi

Plugins

Following provider plugins are already bundled with MinecraftJars.NET:

MojangMojang: Vanilla, Bedrock

PaperPaper: Paper, Folia, Velocity, Waterfall

PurpurPurpur: Purpur

PocketminePocketmine: Pocketmine

MohistMohist: Mohist

FabricFabric: Fabric

SpigotSpigot (Important: see details in Plugin Readme): Spigot, BungeeCord

Installing

Multiple options are available to install within your project:

  1. Install, using the Nuget Gallery

  2. Install using the Package Manager Console:

    Install-PackageMinecraftJars.NET
  3. Install using .NET CLI

    dotnet add package MinecraftJars.NET

Usage

MinecraftJars.NET comes with a MinecraftJar class which has to be instantiated, optionally ProviderOptions can be supplied. Each Plugin provides an interface instance for the provider IMinecraftProvider as well an interface instance for IEnumerable<IMinecraftProject> with it's versions IEnumerable<IMinecraftVersion>. Since getting the actual download link mostly involves another API query it is accessible via the IMinecraftVersion.GetDownload() method.

usingMinecraftJars;varminecraftJar=newMinecraftJar();foreach(varproviderinminecraftJar.GetProviders()){Console.WriteLine($"{provider}");foreach(varprojectinprovider.Projects){Console.WriteLine($"\t{project}");foreach(varversioninawaitproject.GetVersions(newVersionOptions{MaxRecords=10})){Console.WriteLine($"\t\t{version}");vardownload=awaitversion.GetDownload();Console.WriteLine($"\t\t\t{download}");}Console.WriteLine();}Console.WriteLine();}

What provider / project / version information is the library providing?

To make a long story short have a look at the IMinecraftProvider, IMinecraftProject, IMinecraftVersion and the IMinecraftDownload interface to see what values are returned by default. Each plugin could provide more information, which can be found in the README.md of the corresponding plugin.

As an example with the Paper Minecraft experience following values can be expected:

  • IMinecraftProvider = Paper
    • IEnumerable<IMinecraftProject> = Paper, Folia, Velocity, Waterfall
      • IEnumerable<IMinecraftVersion> for Paper = 1.19.4, 1.19.3, 1.19.2, etc.
        • IMinecraftDownload = Build 123

Please note:

  • If a version has multiple builds only the latest successful build will be returned via IMinecraftVersion.GetDownload() method.
  • Not all providers will fill all properties in each interface instance. Further information are provided in the README.md of each plugin.

Dependency Injection

An extensions package is available for Dependency Injection. Look up the project but it is as easy as installing it and adding MinecraftJar.NET to the DI.

Demo application

Have a look at the Console Demo within the repository. It will run straight out of the box to give you a hint what the library can do for you.

Dependencies and Credits

  • Teneko's Teronis.DotNet for allowing project reference content to be added to the NuGet package during pack process

  • Icons are provided by Flat Icons

About

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

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

MinecraftJars.NET MinecraftJars.NET

LicenseLanguageDownloadsBuildReleasesReleaseDateCommitDate

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies. The motivation for the library is actually a server manager I'm currently working on which will allow to download the latest and greatest Minecraft server version within the manager.

While this repository is providing already the plugins to gather the most popular Minecraft server providers and server, it is easily extendable via the MEF Framework. A developer guide will follow, but I'm pretty sure the geeks will find out themselves on how to do it.

Support

I try to be responsive to Stack Overflow questions in the minecraftjar-net tag and issues logged on this GitHub repository.

If I've helped you and you like some of my work, feel free to buy me a coffee ☕ (or more likely a beer 🍺)

ko-fi

Plugins

Following provider plugins are already bundled with MinecraftJars.NET:

MojangMojang: Vanilla, Bedrock

PaperPaper: Paper, Folia, Velocity, Waterfall

PurpurPurpur: Purpur

PocketminePocketmine: Pocketmine

MohistMohist: Mohist

FabricFabric: Fabric

SpigotSpigot (Important: see details in Plugin Readme): Spigot, BungeeCord

Installing

Multiple options are available to install within your project:

  1. Install, using the Nuget Gallery

  2. Install using the Package Manager Console:

    Install-PackageMinecraftJars.NET
  3. Install using .NET CLI

    dotnet add package MinecraftJars.NET

Usage

MinecraftJars.NET comes with a MinecraftJar class which has to be instantiated, optionally ProviderOptions can be supplied. Each Plugin provides an interface instance for the provider IMinecraftProvider as well an interface instance for IEnumerable<IMinecraftProject> with it's versions IEnumerable<IMinecraftVersion>. Since getting the actual download link mostly involves another API query it is accessible via the IMinecraftVersion.GetDownload() method.

usingMinecraftJars;varminecraftJar=newMinecraftJar();foreach(varproviderinminecraftJar.GetProviders()){Console.WriteLine($"{provider}");foreach(varprojectinprovider.Projects){Console.WriteLine($"\t{project}");foreach(varversioninawaitproject.GetVersions(newVersionOptions{MaxRecords=10})){Console.WriteLine($"\t\t{version}");vardownload=awaitversion.GetDownload();Console.WriteLine($"\t\t\t{download}");}Console.WriteLine();}Console.WriteLine();}

What provider / project / version information is the library providing?

To make a long story short have a look at the IMinecraftProvider, IMinecraftProject, IMinecraftVersion and the IMinecraftDownload interface to see what values are returned by default. Each plugin could provide more information, which can be found in the README.md of the corresponding plugin.

As an example with the Paper Minecraft experience following values can be expected:

  • IMinecraftProvider = Paper
    • IEnumerable<IMinecraftProject> = Paper, Folia, Velocity, Waterfall
      • IEnumerable<IMinecraftVersion> for Paper = 1.19.4, 1.19.3, 1.19.2, etc.
        • IMinecraftDownload = Build 123

Please note:

  • If a version has multiple builds only the latest successful build will be returned via IMinecraftVersion.GetDownload() method.
  • Not all providers will fill all properties in each interface instance. Further information are provided in the README.md of each plugin.

Dependency Injection

An extensions package is available for Dependency Injection. Look up the project but it is as easy as installing it and adding MinecraftJar.NET to the DI.

Demo application

Have a look at the Console Demo within the repository. It will run straight out of the box to give you a hint what the library can do for you.

Dependencies and Credits

  • Teneko's Teronis.DotNet for allowing project reference content to be added to the NuGet package during pack process

  • Icons are provided by Flat Icons

About

MinecraftJars.NET is a library to give .NET developers easy access for available Minecraft server version as well as Bedrock edition and Proxies.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages