Do a Barrel Roll

Do a Barrel Roll

5M Downloads

Just a fork to look at for ideas maybe

ShaneTRS opened this issue ยท 6 comments

commented

I didn't actually fork it on GitHub, so unfortunately you can't look at my commits.
But here's the source and a pre-built binary (binary in build/libs).

I wanted the flight to be more vanilla-like (even with an in-flight way to enable orientation lock again).
So I added a toggle for the "cinematic camera" type movement that was there
And I made it so that sneaking in-flight will control whether it's enabled/disabled (with the default state being configurable)
I also added a config to control the amount of yaw (or roll) added by the strafe keys.
I also patched the bug where the sensitivity wasn't being loaded from config files properly (though you might have fixed this by now).

I figured I might as well share this with you, since this is being actively developed, and it doesn't hurt to add more configurability.
I modified the fabric.mod.json so that you'll be able to distinguish this version from your main one.

The default (generated) configuration file is setup like this:
Vanilla flight is enabled by default, and you can enable the mod by holding sneak in-flight.
Letting go of sneak will immediately put you back into vanilla flight, resetting your roll.

Yaw and roll are swapped, to also mirror vanilla flight controls (except with unlocked roll).
Sensitivity is set to 1:1 (with strafe delta lowered to 15 from 25), and the cinematic-like camera is disabled.
The momentum-based camera is also disabled by default (I recommend only using it with cinematic-like camera enabled).

commented

I'm always interested in other takes on my ideas, but is there a reason you havent just made a fork on GH? This makes it way more complicated than needed to check out your code.

commented

I didn't plan on showing anyone, and I didn't expect this to be actively developed.
It was just far more convenient for me to do everything locally. So there's my reason
I could upload it to GitHub if you think I should, but I'm not sure how GitHub would handle the file changes (since it's an afterthought, and wouldn't be done via clone).

Also, just wanted to mention the sensitivity config bug again, since you didn't add that in tags.

commented

Fair enough, could you describe the bug with sensitivity config in detail? The sensitivity system as a whole is pretty bad. ๐Ÿ˜…

commented

Whenever editing the config in the GUI, it would be saved to file properly. But on game initialization, the saved values would be overwritten by your function call to Sensitivity. The options would update live in-game, but after restarting the game, they would be reset again. This didn't affect the booleans, just the config options managed by config/Sensitivity.java

This is my fork's config/Sensitivity.java, and the changed call from config/ModConfig.java

package nl.enjarai.doabarrelroll.config;

public class Sensitivity {
    public double pitch;
    public double yaw;
    public double roll;
    public float key_delta;

    public Sensitivity() {
        this.pitch = 1;
        this.yaw = 1;
        this.roll = 1;
        this.key_delta = 15;
    }
}
public Sensitivity desktopSensitivity = new Sensitivity();

This seems to work, but I don't know why yours wouldn't too. You'd probably have a better understanding than I do.
This snippet also has the key_delta I added, for configuring the amount of yaw added by the strafe keys.

commented

Most of the features here and the bug you mentioned have been fixed/implemented in 1.3.0, so I'm closing this issue now.

commented

Most of the features here and the bug you mentioned have been fixed/implemented in 1.3.0, so I'm closing this issue now.

Not this one though :(

https://github.com/enjarai/do-a-barrel-roll/issues/19