Ritchie's Projectile Library
A library for Minecraft mod developers providing advanced functionality for working with projectiles and enhancing gameplay.
Main Features
The #ritchiesprojectilelib:precise_motion tag allows sending more accurate movement and position data to the client, significantly improving synchronization.
A configurable chunk loading system specifically designed for modded long-range and high-speed projectiles. It sequentially loads only the necessary map areas, reducing performance impact while maintaining the ability to launch multiple projectiles over long distances.
The screen shake effect is perfect for mods related to firearms and artillery, creating more realistic shooting sensations.
The projectile burst system allows effective simulation of various effects such as fragmentation explosions, shotgun pellets, and shrapnel shells without the need to create a large number of separate entities.
Adding Dependency
Add the following repository to the repositories block:
repositories {
//...
maven { // Ritchie's Projectile Library
url = "https://maven.realrobotix.me/master/"
content {
includeGroup("com.rbasamoyai") // IMPORTANT
}
}
}
Library artifacts have the following format:
ritchiesprojectilelib-<rpl_version>+mc.<minecraft_version>-<platform>-build.<build_number>
Where rpl_version is the library version, minecraft_version is the Minecraft version, platform is the modloader (forge, fabric, or common), and build_number is the build number.
The latest build can be found in the GitHub Actions history.
Depending on your build.gradle configuration, add one of the following dependencies:
ForgeGradle (1.18.2-1.20.1)
implementation fg.deobf("com.rbasamoyai:ritchiesprojectilelib:<rpl_version>+mc.<minecraft_version>-forge-build.<build_number>") { transitive = false }
Loom (Fabric/Architectury)
modImplementation("com.rbasamoyai:ritchiesprojectilelib:<rpl_version>+mc.<minecraft_version>-<rpl_platform>-build.<build_number>") { transitive = false }
The rpl_platform parameter should be common, forge, or fabric depending on the Architectury subproject. For Fabric, use only fabric.
Including Library in Mod JAR
Currently, the library is not available on popular platforms, so it must be included directly in your mod's JAR file.
ForgeGradle (1.18.2-1.20.1)
jarJar("com.rbasamoyai:ritchiesprojectilelib:${rpl_version}+mc.${minecraft_version}-forge-build.${build_number}") {
transitive = false
jarJar.ranged(it, '[2.0.0,2.0.1)') // Change depending 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 }
Loom (Fabric/Architectury)
// Change the previous section
modImplementation(include("com.rbasamoyai:ritchiesprojectilelib:${rpl_version}+mc.${minecraft_version}-${rpl_platform}-build.${build_number}")) { transitive = false }