feat(client): gun pipper with ground impact point and radar lead marker
Draws where the shells of the first light autocannon come down and, for the selected radar target, a lead pipper. Uses the same ballistics as Warium's LACFireScript (muzzle speed, barrels, drag 0.99, gravity 0.05). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YVREx3uo7nz1FEhzveWTUh
This commit is contained in:
7 files changed
+693
No files matched your search
@@ -0,0 +1,44 @@
|
||||
package dev.lumareth.improvedAerodynamics.client.pipper;
|
||||
|
||||
import net.minecraftforge.common.ForgeConfigSpec;
|
||||
|
||||
/** Client side settings of the gun pipper. Lives in improved_aerodynamics-client.toml. */
|
||||
public final class PipperConfig {
|
||||
public static final ForgeConfigSpec SPEC;
|
||||
|
||||
public static final ForgeConfigSpec.BooleanValue ENABLED;
|
||||
public static final ForgeConfigSpec.BooleanValue SHOW_IMPACT;
|
||||
public static final ForgeConfigSpec.BooleanValue SHOW_LEAD;
|
||||
public static final ForgeConfigSpec.BooleanValue INHERIT_SHIP_VELOCITY;
|
||||
public static final ForgeConfigSpec.DoubleValue MUZZLE_SPEED_OVERRIDE;
|
||||
public static final ForgeConfigSpec.DoubleValue GRAVITY;
|
||||
public static final ForgeConfigSpec.DoubleValue DRAG;
|
||||
public static final ForgeConfigSpec.DoubleValue MARKER_SIZE;
|
||||
|
||||
static {
|
||||
ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder();
|
||||
builder.comment("Gun pipper for Warium light autocannons, drawn while seated in a Warium seat").push("pipper");
|
||||
ENABLED = builder.comment("Master switch")
|
||||
.define("enabled", true);
|
||||
SHOW_IMPACT = builder.comment("Show where the shells of the gun come down on the ground (orange ring)")
|
||||
.define("showImpact", true);
|
||||
SHOW_LEAD = builder.comment("Show the lead pipper for the radar target you selected (green ring)")
|
||||
.define("showLead", true);
|
||||
INHERIT_SHIP_VELOCITY = builder.comment("Add the speed of your aircraft to the shells. Warium does not do this itself, only turn it",
|
||||
"on if a test shows your shells keep the speed of the jet (fire level at full speed, then hovering)")
|
||||
.define("inheritShipVelocity", false);
|
||||
MUZZLE_SPEED_OVERRIDE = builder.comment("Muzzle speed in blocks per tick, 0 works it out from the barrel length like Warium does")
|
||||
.defineInRange("muzzleSpeedOverride", 0.0, 0.0, 100.0);
|
||||
GRAVITY = builder.comment("Gravity of the shells in blocks per tick squared")
|
||||
.defineInRange("gravity", 0.05, 0.0, 1.0);
|
||||
DRAG = builder.comment("Speed the shells keep each tick, 0.99 is a vanilla arrow")
|
||||
.defineInRange("drag", 0.99, 0.5, 1.0);
|
||||
MARKER_SIZE = builder.comment("Radius of the markers on screen")
|
||||
.defineInRange("markerSize", 0.03, 0.005, 0.2);
|
||||
builder.pop();
|
||||
SPEC = builder.build();
|
||||
}
|
||||
|
||||
private PipperConfig() {
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user