1.2.5-beta
Compatibility
Changes
FOR PEOPLE WHO AREN'T INTERESTED:
Added realistic armour, divided hitboxes to a more accurate level, and AP and HE round damage models are more accurate.
FOR PEOPLE WHO ARE INTERESTED:
Realistic Armour
Each armour piece now has a joules per millimeter squared (J/mm²) value which a bullet must exceed in order to penetrate. J/mm² = 2 × armour points × (1 + 1.85 × toughness) × slot factor (slot factor is a multiplier to make helmets, boots and leggings protect to the same degree as a chestplate); armour points and toughness are read from the armour piece itself, so any modded armour works with no configuration.
Bullets have a mass, diameter value, and velocity value. The bullets have a kinetic energy value calculated by the mass and velocity value. Then the J/mm² value is the kinetic energy divided by the frontal facing area of the bullet (=πr²).
If the bullet does not exceed the armours J/mm² value then it does not penetrate and deals a small amount of blunt/bruising damage, if it does penetrate then the energy which was required for the bullet to penetrate is subtracted via its velocity value and then damage is calculated; this results in a realistic approach to armour, thinner or faster bullets will penetrate better, and armour now reduces damage by reducing the velocity which is used to calculate the damage.
Entities also have a J/mm² value, in order for a bullet to go straight through an entity it must surpase the entities J/mm² value; in order to pass through an armoured entity it must also pass the armour pieces J/mm² value twice (once to enter the armour piece and once to exit).
Hitbox Slicing
Hitbox is sliced by height, the top 25% is head, 37.5% is torso, 25% legs, bottom 12.5% is feet; crouching shrinks the hitbox boundaries and lying down (swimming, crawling, gliding, asleep) measures along your body instead of by height so that hitbox slices are still accurate.
The armour piece equiped is assigned its hitbox slice, damage is calculated on the slice hit considering which armour piece is protecting the area. Wear of the armour piece hit is calculated after the damage is inflicted onto the player. The durability loss is equal to quarter of the damage it kept out of your body, minimum one point.
Non-item armour such as an iron golem's toughness never wear; wolf and horse armour do.
Ammunition
Armour piercing rounds are calculated as having a smaller area this in turn means they penentrate easier but also do less damage as they would because of a smaller diameter, and the opposite for HE/expanding rounds which have a larger area. Shotgun shells are resolved by pellet, each its own lead ball with its own energy and its own hit region.
Made damage also proportional to diameter as well.
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:2l5OnFsL:CJo7xZJ0"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:2l5OnFsL:CJo7xZJ0"
}

