1
0
forked from Clones/Controlify

rumble source

This commit is contained in:
isXander
2023-04-05 12:27:47 +01:00
parent f7fe7d8ec0
commit cf3e67fff4
16 changed files with 209 additions and 31 deletions

View File

@ -1,5 +1,12 @@
package dev.isxander.controlify.controller;
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import dev.isxander.controlify.rumble.RumbleSource;
import net.minecraft.resources.ResourceLocation;
import java.util.Map;
public abstract class ControllerConfig {
public float horizontalLookSensitivity = 1f;
public float verticalLookSensitivity = 0.9f;
@ -24,9 +31,18 @@ public abstract class ControllerConfig {
public boolean reduceAimingSensitivity = true;
public boolean allowVibrations = true;
public JsonObject vibrationStrengths = RumbleSource.getDefaultJson();
public boolean calibrated = false;
public abstract void setDeadzone(int axis, float deadzone);
public abstract float getDeadzone(int axis);
public float getRumbleStrength(RumbleSource source) {
return vibrationStrengths.asMap().getOrDefault(source.id().toString(), new JsonPrimitive(1f)).getAsFloat();
}
public void setRumbleStrength(RumbleSource source, float strength) {
vibrationStrengths.addProperty(source.id().toString(), strength);
}
}