1
0
mirror of https://github.com/chylex/Better-Controls.git synced 2025-05-17 16:34:04 +02:00
Better-Controls/src/main/java/chylex/bettercontrols/input/KeyBindingWithModifier.java

40 lines
1.1 KiB
Java

package chylex.bettercontrols.input;
import net.minecraft.client.options.KeyBinding;
import net.minecraft.client.util.InputUtil.Type;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableText;
import org.jetbrains.annotations.Nullable;
public class KeyBindingWithModifier extends KeyBinding{
public static final String CATEGORY = "key.categories.bettercontrols";
public static boolean checkCategoryMatches(final Text text){
return text instanceof TranslatableText && CATEGORY.equals(((TranslatableText)text).getKey());
}
@Nullable
private ModifierKey modifier = null;
public KeyBindingWithModifier(final String translationKey){
super(translationKey, Type.KEYSYM, -1, CATEGORY);
}
public void setModifier(final @Nullable ModifierKey modifier){
this.modifier = modifier;
}
public @Nullable ModifierKey getModifier(){
return modifier;
}
@Override
public boolean isPressed(){
return super.isPressed() && (modifier == null || modifier.isPressed());
}
@Override
public boolean wasPressed(){
return super.wasPressed() && (modifier == null || modifier.isPressed());
}
}