minecraft-src/net/minecraft/client/ToggleKeyMapping.java
2025-07-04 03:15:13 +03:00

31 lines
755 B
Java

package net.minecraft.client;
import com.mojang.blaze3d.platform.InputConstants.Type;
import java.util.function.BooleanSupplier;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@Environment(EnvType.CLIENT)
public class ToggleKeyMapping extends KeyMapping {
private final BooleanSupplier needsToggle;
public ToggleKeyMapping(String name, int keyCode, String category, BooleanSupplier needsToggle) {
super(name, Type.KEYSYM, keyCode, category);
this.needsToggle = needsToggle;
}
@Override
public void setDown(boolean value) {
if (this.needsToggle.getAsBoolean()) {
if (value) {
super.setDown(!this.isDown());
}
} else {
super.setDown(value);
}
}
protected void reset() {
super.setDown(false);
}
}