-
-
Notifications
You must be signed in to change notification settings - Fork 0
How to Add Falco to your build
Declare the Falco modules your project needs so that they resolve from the OneLiteFeather repository. This applies to any Gradle or Maven project that already targets Minestom.
Before you start: a Minestom project that compiles. No credentials are needed — the release and snapshot endpoints are both public.
-
Add the release repository in
build.gradle.kts:repositories { mavenCentral() maven("https://repo.onelitefeather.dev/releases") } -
Import
falco-bomas a platform and declare the modules you need without versions:dependencies { implementation(platform("net.onelitefeather:falco-bom:2.1.0")) implementation("net.onelitefeather:falco-anvil") implementation("net.onelitefeather:falco-light") implementation("net.onelitefeather:falco-instance") implementation("net.onelitefeather:falco-migration") }Take only the modules you need. The platform constrains a version for each; it does not pull in one you did not declare.
-
Declare Minestom yourself. Falco does not bring it:
implementation("net.minestom:minestom:<version>") -
Refresh the Gradle project.
Version each module individually instead of step 2:
dependencies {
implementation("net.onelitefeather:falco-anvil:2.1.0")
implementation("net.onelitefeather:falco-light:2.1.0")
implementation("net.onelitefeather:falco-instance:2.1.0")
implementation("net.onelitefeather:falco-migration:2.1.0")
}Use this only if your build cannot import a platform. Versioning the modules by hand lets them drift into a combination that was never built or tested together.
Add both repositories to pom.xml, then declare the modules with the same coordinates:
<repository>
<id>onelitefeater-repository-releases</id>
<name>OneLiteFeather Network Reposilite Repository</name>
<url>https://repo.onelitefeather.dev/releases</url>
</repository>
<repository>
<id>onelitefeater-repository-snapshots</id>
<name>OneLiteFeather Network Reposilite Repository</name>
<url>https://repo.onelitefeather.dev/snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>Point at the snapshot endpoint and keep the coordinates unchanged; only the version differs:
repositories {
maven("https://repo.onelitefeather.dev/snapshots")
}Do not build a release of your own against a snapshot — a snapshot version keeps moving as commits
land on main.
net.onelitefeather.falco.anvil.FalcoAnvilLoader resolves in your IDE, and a build that only
declares it compiles. If the modules resolved but Minestom types do not, step 3 is missing.
A 401 from repo.onelitefeather.dev means the build is reaching the internal endpoint rather than
the public one — check the URL against Reference Modules and coordinates. Consuming Falco never
needs credentials; only How-to Build Falco from source does.
A 404 on falco-bom below version 1.0.0 is expected: the BOM did not exist yet.
See also: Reference Modules and coordinates for every coordinate, endpoint and Javadoc address · Tutorial Load your first world with Falco to use what you just declared.
Every published table lives on Reference Measured results, which owns them; a correction is made
there and nowhere else. What the ± after a JMH mean covers is defined once, in
Explanation What a measurement here means.
Wiki home · Repository · README and quick start · API documentation · Issues · Licence: AGPL-3.0
Getting started
How-to guides
- How-to Add Falco to your build
- How-to Load an Anvil world
- How-to Compute light for a loaded world
- How-to Keep chunk light up to date automatically
- How-to Use FalcoInstance instead of InstanceContainer
- How-to Migrate a world from an older version
four more
Reference
six more
Background
- Explanation Choosing between Falco and the built-in loader
- Explanation Scope and non-goals
- Explanation When light computation actually runs
- Explanation What a measurement here means
nine more
- Explanation Choosing between FalcoInstance and InstanceContainer
- Explanation How the Anvil loader is built
- Explanation How the light engine works
- Explanation How the concurrency design works
- Explanation How world migration works
- Explanation The chunk version guard
- Explanation Why a second Anvil loader
- Explanation Why a custom light engine
- Explanation Why falco-instance exists
- Explanation Comparing the light engine with Minestoms
- Explanation What the benchmarks establish
Project record
Working on Falco