What are you searching for?

Ritchie's Projectile Library

Ritchie's Projectile Library

A Minecraft modding library for better projectiles.

download 530.9K Downloads · favorite 15 Followers · Updated 1 day ago
Fabric Forge Library Neoforge Quilt 1.20.1 1.21.1

Versions

inventory_2
Ritchie's Projectile Library 2.1.2

2.1.2 · 1 day ago · 74.58 KB

Release download
Neoforge 1.21.1
inventory_2
Ritchie's Projectile Library 2.1.1

2.1.1 · 1 month ago · 75.03 KB

Release download
Neoforge 1.21.1
inventory_2
Ritchie's Projectile Library 2.1.1

2.1.1 · 1 month ago · 2.41 MB

Release download
Fabric Quilt 1.20.1
inventory_2
Ritchie's Projectile Library 2.1.1

2.1.1 · 1 month ago · 76.78 KB

Release download
Forge Neoforge 1.20.1
inventory_2
Ritchie's Projectile Library 2.1.0

2.1.0 · 8 months ago · 75.03 KB

Release download
Neoforge 1.21.1

About

Ritchie's Projectile Library

Code reused in multiple projects by rbasamoyai.

Adds the following features:

  • #ritchiesprojectilelib:precise_motion: an entity type tag that sends more detailed movement and position data to clients.
  • A configurable chunkloading system oriented towards modded long-range and fast projectiles.
    • Unloads forceloaded chunks that are no longer in use
    • Loads a portion of forceloaded chunks at a time to reduce performance impact while still allowing for many long distance projectiles
  • Screen shake effect for mods, particularly those focused on firearms and artillery
  • Projectile bursts, for effective simulation of things like fragmentation explosions, shotgun pellets, and shrapnel shells without having to rely on large amounts of entities

Depending on RPL

First, add the following maven to your repositories block:

repositories {
    //...
    maven { // Ritchie's Projectile Library
        url = "https://maven.realrobotix.me/master/"
        content {
            includeGroup("com.rbasamoyai") // THIS IS IMPORTANT
        }
    }
}

RPL artefacts are formatted as follows:

ritchiesprojectilelib-<rpl_version>+mc.<minecraft_version>-<rpl_platform>-build.<rpl_build_number>

where rpl_version is the version of Ritchie's Projectile Library, minecraft_version is the Minecraft version, platform is the modloader platform, of which forge, fabric, and common JARs are provided, and build_number is the build number.

The latest build can be found in the GitHub actions history: https://github.com/Wagers-of-Industrial-Warfare/RitchiesProjectileLib/actions

Depending on your build.gradle setup, add one of the following to your dependencies block:

ForgeGradle (1.18.2-1.20.1)

implementation fg.deobf("com.rbasamoyai:ritchiesprojectilelib:<rpl_version>+mc.<minecraft_version>-forge-build.<rpl_build_number>") { transitive = false }

Loom (Fabric/Architectury)

modImplementation("com.rbasamoyai:ritchiesprojectilelib:<rpl_version>+mc.<minecraft_version>-<rpl_platform>-build.<rpl_build_number>") { transitive = false }

rpl_platform should either be common, forge, or fabric depending on the Architectury subproject you add the mod to. For Fabric, only use fabric.


Including RPL in your mod jar

Currently, RPL is not downloadable from platforms such as CurseForge and Modrinth. This may change in the future, but for now you must include RPL in your mod JAR if you use it in your mod code.

To include RPL in your mod JAR, add the appropriate code to the dependencies block:

ForgeGradle (1.18.2-1.20.1)

jarJar("com.rbasamoyai:ritchiesprojectilelib:${rpl_version}+mc.${minecraft_version}-forge-build.${rpl_build_number}") {
    transitive = false
    jarJar.ranged(it, '[2.0.0,2.0.1)') // Change this based on rpl_version. jarJar.pin seems to not work.
}
// Same as the previous section
implementation fg.deobf("com.rbasamoyai:ritchiesprojectilelib:${rpl_version}+${minecraft_version}-forge") { transitive = false }

For more information on how to setup Jar-in-Jar in ForgeGradle, go to https://docs.minecraftforge.net/en/fg-5.x/dependencies/jarinjar/.

Loom (Fabric/Architectury)

// Change the previous section
modImplementation(include("com.rbasamoyai:ritchiesprojectilelib:${rpl_version}+mc.${minecraft_version}-${rpl_platform}-build.${rpl_build_number}")) { transitive = false }
open_in_new View on Modrinth
Categories
Compatibility
Client: Required Server: Required
gavel MIT

Conversation

What are your thoughts?

Related projects

Library
Fabric API
Fabric API

by modmuss50

Lightweight and modular API providing common hooks and intercompatibility measures utilized by mods using the Fabric toolchain.

download 128.4M
favorite 27,401
Library
Cloth Config API
Cloth Config API

by shedaniel

Configuration Library for Minecraft Mods

download 94.4M
favorite 13,670
Library Management Utility
YetAnotherConfigLib (YACL)
YetAnotherConfigLib (YACL)

by isxander

A builder-based configuration library for Minecraft!

download 66.1M
favorite 7,607
Library
Architectury API
Architectury API

by shedaniel

An intermediary api aimed to ease developing multiplatform mods.

download 61.0M
favorite 6,652
lock Cookie consent

SkinMC uses cookies to provide functionality and features.