8 mai 2021, 15:26

Bonjour,
Je suis en train de coder un plugin qui ajouter un shop mais j’aimerai pouvoir l’ouvrir avec une touche du clavier. Je me suis tourner vers un mod pour ça car c’est une procédure totalement de côté client. J’ai coder ma touche mais lorsque je vais sur mon jeu, la touche ne marche pas et n’apparait pas dans les controls.
Voici ma classe client :

package fr.orgealexj06.fgcore;

import java.io.File;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.gui.GuiMultiplayer;
import net.minecraft.client.settings.KeyBinding;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.InputEvent;
import org.lwjgl.input.Keyboard;

public class FgClient extends FgCoreCommon {
	
	@Override
    public void preInit(File configFile)
    {
        super.preInit(configFile);
        System.out.println("pre init côté client");
        
    }
 
    @Override
    public void init()
    {
        super.init();
        MinecraftForge.EVENT_BUS.register(this);
    }
    
    @SubscribeEvent
    public void onOpenGui1(GuiOpenEvent event)
    {
        if(event.getGui() != null && event.getGui().getClass() == GuiMultiplayer.class)
        {
            event.setGui(new GuiCustomMainMenu());
        }
    }
	
	@SubscribeEvent
    public void onOpenGui2(GuiOpenEvent event)
    {
        if(event.getGui() != null && event.getGui().getClass() == GuiMainMenu.class)
        {
            event.setGui(new GuiCustomMainMenu());
        }
    }

    private static KeyBinding keyBindOpenShop;

    public FgClient()
    {
        keyBindOpenShop = new KeyBinding("modtest.key", Keyboard.KEY_O, "key.categories.gameplay");
        ClientRegistry.registerKeyBinding(keyBindOpenShop);
    }

    @SubscribeEvent
    public void onEvent(InputEvent.KeyInputEvent event)
    {
        if(keyBindOpenShop.isPressed())
        {
            keyTestTyped();
        }
    }

    private void keyTestTyped()
    {
        Minecraft.getMinecraft().player.sendChatMessage("/fgshop");
    }
}

J’ai suivi un tuto sur ce site que j’ai suivi à la lettre mais rien ni fait.
Merci de m’aider 😉