1
0
mirror of https://github.com/chylex/Better-Controls.git synced 2025-05-06 22:34:04 +02:00

Minor code tweaks

This commit is contained in:
chylex 2020-12-09 04:53:44 +01:00
parent 933d62585b
commit a2c9fd3c4b
4 changed files with 17 additions and 19 deletions
src/main/java/chylex/bettercontrols

View File

@ -11,7 +11,6 @@ import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import net.minecraft.util.math.MathHelper;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.io.FileNotFoundException;
@ -82,14 +81,14 @@ final class ConfigSerializer implements JsonSerializer<BetterControlsConfig>, Js
cfg.sprintModeWhileFlying = Json.getEnum(obj, "Flight.SprintMode", cfg.sprintModeWhileFlying, SprintMode.class);
cfg.disableChangingFovWhileFlying = Json.getBool(obj, "Flight.DisableChangingFOV", cfg.disableChangingFovWhileFlying);
cfg.flyOnGroundInCreative = Json.getBool(obj, "Flight.FlyOnGround.Creative", cfg.flyOnGroundInCreative);
cfg.flightSpeedMpCreativeDefault = MathHelper.clamp(Json.getFloat(obj, "Flight.SpeedMp.Creative.Default", cfg.flightSpeedMpCreativeDefault), 0.25F, 8F);
cfg.flightSpeedMpCreativeSprinting = MathHelper.clamp(Json.getFloat(obj, "Flight.SpeedMp.Creative.Sprinting", cfg.flightSpeedMpCreativeSprinting), 0.25F, 8F);
cfg.flightSpeedMpSpectatorDefault = MathHelper.clamp(Json.getFloat(obj, "Flight.SpeedMp.Spectator.Default", cfg.flightSpeedMpSpectatorDefault), 0.25F, 8F);
cfg.flightSpeedMpSpectatorSprinting = MathHelper.clamp(Json.getFloat(obj, "Flight.SpeedMp.Spectator.Sprinting", cfg.flightSpeedMpSpectatorSprinting), 0.25F, 8F);
cfg.flightVerticalBoostCreativeDefault = MathHelper.clamp(Json.getFloat(obj, "Flight.VerticalBoost.Creative.Default", cfg.flightVerticalBoostCreativeDefault), 0F, 3F);
cfg.flightVerticalBoostCreativeSprinting = MathHelper.clamp(Json.getFloat(obj, "Flight.VerticalBoost.Creative.Sprinting", cfg.flightVerticalBoostCreativeSprinting), 0F, 3F);
cfg.flightVerticalBoostSpectatorDefault = MathHelper.clamp(Json.getFloat(obj, "Flight.VerticalBoost.Spectator.Default", cfg.flightVerticalBoostSpectatorDefault), 0F, 3F);
cfg.flightVerticalBoostSpectatorSprinting = MathHelper.clamp(Json.getFloat(obj, "Flight.VerticalBoost.Spectator.Sprinting", cfg.flightVerticalBoostSpectatorSprinting), 0F, 3F);
cfg.flightSpeedMpCreativeDefault = Json.getFloat(obj, "Flight.SpeedMp.Creative.Default", cfg.flightSpeedMpCreativeDefault, 0.25F, 8F);
cfg.flightSpeedMpCreativeSprinting = Json.getFloat(obj, "Flight.SpeedMp.Creative.Sprinting", cfg.flightSpeedMpCreativeSprinting, 0.25F, 8F);
cfg.flightSpeedMpSpectatorDefault = Json.getFloat(obj, "Flight.SpeedMp.Spectator.Default", cfg.flightSpeedMpSpectatorDefault, 0.25F, 8F);
cfg.flightSpeedMpSpectatorSprinting = Json.getFloat(obj, "Flight.SpeedMp.Spectator.Sprinting", cfg.flightSpeedMpSpectatorSprinting, 0.25F, 8F);
cfg.flightVerticalBoostCreativeDefault = Json.getFloat(obj, "Flight.VerticalBoost.Creative.Default", cfg.flightVerticalBoostCreativeDefault, 0F, 3F);
cfg.flightVerticalBoostCreativeSprinting = Json.getFloat(obj, "Flight.VerticalBoost.Creative.Sprinting", cfg.flightVerticalBoostCreativeSprinting, 0F, 3F);
cfg.flightVerticalBoostSpectatorDefault = Json.getFloat(obj, "Flight.VerticalBoost.Spectator.Default", cfg.flightVerticalBoostSpectatorDefault, 0F, 3F);
cfg.flightVerticalBoostSpectatorSprinting = Json.getFloat(obj, "Flight.VerticalBoost.Spectator.Sprinting", cfg.flightVerticalBoostSpectatorSprinting, 0F, 3F);
Json.readKeyBinding(obj, "Misc.KeyToggleWalkForward", cfg.keyToggleWalkForward);
Json.readKeyBinding(obj, "Misc.KeyToggleJump", cfg.keyToggleJump);

View File

@ -11,8 +11,9 @@ final class Json{
obj.addProperty(key, Float.valueOf(value));
}
static float getFloat(final JsonObject obj, final String key, final float defaultValue){
return obj.has(key) ? obj.get(key).getAsFloat() : defaultValue;
static float getFloat(final JsonObject obj, final String key, final float defaultValue, final float minValue, final float maxValue){
final float value = obj.has(key) ? obj.get(key).getAsFloat() : defaultValue;
return Math.max(minValue, Math.min(maxValue, value));
}
static void setBool(final JsonObject obj, final String key, final boolean value){

View File

@ -10,6 +10,7 @@ import chylex.bettercontrols.gui.elements.TextWidget;
import chylex.bettercontrols.input.KeyBindingWithModifier;
import chylex.bettercontrols.input.ModifierKey;
import chylex.bettercontrols.input.SprintMode;
import chylex.bettercontrols.util.Key;
import chylex.bettercontrols.util.LiteralText;
import net.minecraft.client.gui.Element;
import net.minecraft.client.gui.screen.Screen;
@ -17,7 +18,6 @@ import net.minecraft.client.gui.screen.ScreenTexts;
import net.minecraft.client.gui.screen.options.GameOptionsScreen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.options.KeyBinding;
import net.minecraft.client.util.InputUtil;
import net.minecraft.client.util.math.MatrixStack;
import org.lwjgl.glfw.GLFW;
import java.util.ArrayList;
@ -269,7 +269,7 @@ public class BetterControlsScreen extends GameOptionsScreen{
@Override
public boolean mouseClicked(final double mouseX, final double mouseY, final int button){
if (editingKeyBinding != null){
editingKeyBinding.bindAndStopEditing(InputUtil.Type.MOUSE.createFromCode(button));
editingKeyBinding.bindAndStopEditing(Key.inputFromMouse(button));
onKeyBindingEditingFinished();
return true;
}
@ -282,10 +282,10 @@ public class BetterControlsScreen extends GameOptionsScreen{
public boolean keyPressed(final int keyCode, final int scanCode, final int modifiers){
if (editingKeyBinding != null){
if (keyCode == GLFW.GLFW_KEY_ESCAPE){
editingKeyBinding.bindAndStopEditing(InputUtil.UNKNOWN_KEY);
editingKeyBinding.bindAndStopEditing(Key.INVALID);
}
else{
editingKeyBinding.bindAndStopEditing(InputUtil.fromKeyCode(keyCode, scanCode));
editingKeyBinding.bindAndStopEditing(Key.inputFromKeyboard(keyCode, scanCode));
}
onKeyBindingEditingFinished();

View File

@ -12,7 +12,6 @@ import chylex.bettercontrols.mixin.AccessStickyKeyBindingStateGetter;
import chylex.bettercontrols.util.Key;
import net.minecraft.client.input.KeyboardInput;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.util.math.MathHelper;
import java.lang.ref.WeakReference;
import java.util.function.BooleanSupplier;
import static chylex.bettercontrols.util.Statics.KEY_FORWARD;
@ -160,14 +159,13 @@ public final class PlayerTicker{
if (FlightHelper.isFlyingCreativeOrSpectator(player)){
final float flightSpeed = FlightHelper.getFlightSpeed(player);
final float verticalVelocity = FlightHelper.getExtraVerticalVelocity(player);
if (flightSpeed > 0F){
player.abilities.setFlySpeed(flightSpeed);
}
final float verticalVelocity = FlightHelper.getExtraVerticalVelocity(player);
if (!MathHelper.approximatelyEquals(verticalVelocity, 0F) && player == MINECRAFT.getCameraEntity()){
if (Math.abs(verticalVelocity) > 1E-5F && player == MINECRAFT.getCameraEntity()){
int direction = 0;
if (player.input.sneaking){