All Projects → TheRandomLabs → CurseAPI

TheRandomLabs / CurseAPI

Licence: MIT License
A Java library for handling interactions with CurseForge.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to CurseAPI

Mc2Discord
A simple minecraft mod, server side only, to link the chat with your Discord server
Stars: ✭ 18 (-37.93%)
Mutual labels:  curseforge
The-Aether
The original "The Aether" mod, rewritten to be ported to Minecraft 1.18 and beyond.
Stars: ✭ 85 (+193.1%)
Mutual labels:  curseforge
old-animations
Client-side modification for Fabric that allows users to restore animations from older versions.
Stars: ✭ 19 (-34.48%)
Mutual labels:  curseforge
ForgeModdingSkeleton
Skeletons for building Forge mods
Stars: ✭ 21 (-27.59%)
Mutual labels:  curseforge
The-Aether-II
The Aether II is the sequel to the highly popular dimension mod "The Aether" for modern versions of Minecraft.
Stars: ✭ 35 (+20.69%)
Mutual labels:  curseforge
packager
Generate an addon zip file from a Git, SVN, or Mercurial checkout.
Stars: ✭ 94 (+224.14%)
Mutual labels:  curseforge
Curseforge-Userscripts
Some useful userscripts for curseforge.com
Stars: ✭ 30 (+3.45%)
Mutual labels:  curseforge
multifold
The next-generation cross-platform Minecraft Launcher.
Stars: ✭ 30 (+3.45%)
Mutual labels:  curseforge
Requiem
Revamps Minecraft's vanilla death experience and adds various related mechanics.
Stars: ✭ 88 (+203.45%)
Mutual labels:  curseforge
rgb-tui
Create and get colors code from the terminal using a nice interface.
Stars: ✭ 57 (+96.55%)
Mutual labels:  curse
ferium
Fast and multi-source CLI program for managing Minecraft mods and modpacks from Modrinth, CurseForge, and GitHub Releases
Stars: ✭ 657 (+2165.52%)
Mutual labels:  curseforge
PolyMC-Curseforge
Integrates the Curseforge Modpack installation button to any MultiMC based launcher
Stars: ✭ 29 (+0%)
Mutual labels:  curseforge
wowa
WoW addon manager, world of warcraft, addon, lua, command line, cli
Stars: ✭ 58 (+100%)
Mutual labels:  curse
NCURSES-Programming-HOWTO-examples
CMake examples for code in http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/index.html
Stars: ✭ 114 (+293.1%)
Mutual labels:  curse
git-tui
Collection of human friendly terminal interface for git.
Stars: ✭ 95 (+227.59%)
Mutual labels:  curse
pax
📦 The MC modpack manager for professionals.
Stars: ✭ 83 (+186.21%)
Mutual labels:  curseforge
ModPackDownloader
Simple downloader/updater for Minecraft Forge Modpacks. Works with Curse manifest JSONs.
Stars: ✭ 53 (+82.76%)
Mutual labels:  curseforge
FlowUpdater
The free and open source solution to update Minecraft.
Stars: ✭ 54 (+86.21%)
Mutual labels:  curseforge
curse
Use this blacklist on your softwares and apps
Stars: ✭ 24 (-17.24%)
Mutual labels:  curse

CurseAPI

License: MIT

Build Dependabot

Average time to resolve an issue

A Java library for handling interactions with CurseForge.

All public-facing code is documented with Javadoc and (mostly) tested with JUnit.

Usage

The methods found in CurseAPI can be used to retrieve information about projects and files.

  • CurseAPI#project(int) can be used to retrieve a CurseProject instance for a project ID. This CurseProject instance can then be used to retrieve information about a CurseForge project.
  • CurseAPI#searchProjects(CurseSearchQuery) can be used with a CurseSearchQuery instance to search for CurseForge projects.
  • CurseAPI#files(int) and CurseProject#files can be used to retrieve a CurseFiles instance containing all files for a project. CurseFiles extends TreeSet and contains a few utility methods for CurseFiles.
  • CurseAPI#file(int, int) can be used to retrieve a CurseFile instance for a project and file ID. CurseFiles#fileWithID(int) can be used instead if a CurseFiles instance is already available.
  • CurseAPI#fileDownloadURL(int, int) can be used to retrieve a download URL for a project and file ID. If a CurseFile is already available, CurseFile#downloadURL() can be used instead.
  • CurseAPI#downloadFile(int, int, Path) and CurseAPI#downloadFileToDirectory(int, int, Path) can be used to download a file with a specific project and file ID. If a CurseFile is already available, CurseFile#download(Path) and CurseFile#downloadToDirectory(Path) can be used instead.
  • CurseFiles instances can be filtered using CurseFileFilters:
final Optional<CurseFiles<CurseFile>> optionalFiles = CurseAPI.files(285612);

if (optionalFiles.isPresent()) {
	final CurseFiles<CurseFile> files = optionalFiles.get();
	new CurseFileFilter().gameVersionStrings("1.12.2").apply(files);
	//Or:
	//files.filter(new CurseFileFilter().gameVersionStrings("1.12.2"));
	logger.info("Latest 1.12.2 file: {}", files.first());
}
  • CurseAPI#games() can be used to retrieve a Set containing CurseGame instances that represent all supported games on CurseForge. CurseAPI#streamGames() can be used to stream these games.
  • CurseAPI#game(int) can be used to retrieve a CurseGame instance that represents the CurseForge game with a specific ID.
  • If an extension such as CurseAPI-Minecraft is installed, CurseAPI#gameVersions(int) can be used to retrieve CurseGameVersion instances representing versions of the specified game supported by CurseForge.
  • CurseAPI#categories() and CurseAPI#categories(int) can be used to retrieve a Set of CurseCategory instances representing CurseForge project categories. CurseAPI#streamCategories() and CurseAPI#streamCategories(int) can be used to retrieve a Stream for these Sets.
  • CurseAPI#category(int) can be used to retrieve a CurseCategory instance representing the CurseForge project category with the specified ID.
  • In general, null values are not returned. Methods in the CurseAPI class return Optionals.

Using with Gradle

CurseAPI can be found on Jitpack:

repositories {
	mavenCentral()

	maven {
		url "https://jitpack.io"
	}
}

dependencies {
	api "com.github.TheRandomLabs:CurseAPI:master-SNAPSHOT"
}

CurseAPI uses SLF4J to log warnings, errors and information messages.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].