Untitled

 avatar
unknown
plain_text
2 years ago
2.2 kB
6
Indexable
package net.fabricmc.spiritsmp.event;

import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.fabricmc.fabric.api.networking.v1.PacketByteBufs;
import net.fabricmc.spiritsmp.item.ModItems;
import net.fabricmc.spiritsmp.networking.ModPackets;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.util.InputUtil;
import org.lwjgl.glfw.GLFW;

public class KeyInputHandler {
    public static final String KEY_CATEGORY_SPIRITSMP = "key.category.spiritsmp.spirit";
    public static final String KEY_KATANA_FORCEFIELD = "key.category.spiritsmp.katana_forcefield";
    public static final String KEY_KATANA_RIGHT_SLASH = "key.category.spiritsmp.katana_right_slash";

    public static KeyBinding katanaForceField;
    public static KeyBinding katanaRightSlash;
    static boolean player = MinecraftClient.getInstance().player.getMainHandStack().getItem() == ModItems.KATANA;

    public static void registerKeyInputs() {
        boolean player = MinecraftClient.getInstance().player.getMainHandStack().getItem() == ModItems.KATANA;
        ClientTickEvents.END_CLIENT_TICK.register(client -> {

            if (player && katanaForceField.isPressed() && MinecraftClient.getInstance().options.useKey.isPressed()) {
                ClientPlayNetworking.send(ModPackets.KATANA_BLAST_ID, PacketByteBufs.create());
            }

        });
    }
    public static void register() {
        katanaForceField = KeyBindingHelper.registerKeyBinding(new KeyBinding(
                KEY_KATANA_FORCEFIELD,
                InputUtil.Type.KEYSYM,
                GLFW.GLFW_KEY_G,
                KEY_CATEGORY_SPIRITSMP
        ));
        katanaRightSlash = KeyBindingHelper.registerKeyBinding(new KeyBinding(
                KEY_KATANA_RIGHT_SLASH,
                InputUtil.Type.KEYSYM,
                GLFW.GLFW_KEY_R,
                KEY_CATEGORY_SPIRITSMP
        ));

        registerKeyInputs();
    }
}
Editor is loading...