Открытие гуи по кнопке на клавиатуре

Версия Minecraft
1.7.10
98
1
Хочу сделать открытие своего GUI по кнопке на клавиатуре (например j). Можете скинуть пример?
 
Решение
Если открыть обычное GuiScreen, то:
Код:
import net.minecraft.client.Minecraft;
import org.lwjgl.input.Keyboard;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.InputEvent;

public class Events {

	@SubscribeEvent
	public void onKeyInputEvent(InputEvent.KeyInputEvent event) {
		if (Keyboard.isKeyDown(Keyboard.KEY_J)) {//Это простой способ, но он не полон.
			Minecraft.getMinecraft().displayGuiScreen(new MyGuiScreen());
		}
	}

}
Если GuiContainer, то нужно сначала отправить пакет на сервер об открытии GuiContainer с Container.

timaxa007

Модератор
5,831
409
672
Если открыть обычное GuiScreen, то:
Код:
import net.minecraft.client.Minecraft;
import org.lwjgl.input.Keyboard;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.InputEvent;

public class Events {

	@SubscribeEvent
	public void onKeyInputEvent(InputEvent.KeyInputEvent event) {
		if (Keyboard.isKeyDown(Keyboard.KEY_J)) {//Это простой способ, но он не полон.
			Minecraft.getMinecraft().displayGuiScreen(new MyGuiScreen());
		}
	}

}
Если GuiContainer, то нужно сначала отправить пакет на сервер об открытии GuiContainer с Container.
 
271
2
0
timaxa007, в таком случае эту кнопку нельзя будет изменить в настройках. А не лучше ли использовать KeyBinding


туториал
 
98
1
timaxa007 написал(а):
Если открыть обычное GuiScreen, то:
Код:
import net.minecraft.client.Minecraft;
import org.lwjgl.input.Keyboard;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.InputEvent;

public class Events {

 @SubscribeEvent
 public void onKeyInputEvent(InputEvent.KeyInputEvent event) {
 if (Keyboard.isKeyDown(Keyboard.KEY_J)) {//Это простой способ, но он не полон.
 Minecraft.getMinecraft().displayGuiScreen(new MyGuiScreen());
 }
 }

}
Если GuiContainer, то нужно сначала отправить пакет на сервер об открытии GuiContainer с Container.

не работает
 
98
1
timaxa007 написал(а):
volt, да будет лучше использовать KeyBinding.
Kbac, это эвент. Ты этот эвент зарегистрировал?
Код:
FMLCommonHandler.instance().bus().register(new Events());

Регистрирую как эвент. Не работает.


timaxa007 написал(а):
volt, да будет лучше использовать KeyBinding.
Kbac, это эвент. Ты этот эвент зарегистрировал?
Код:
FMLCommonHandler.instance().bus().register(new Events());

Изменил свою регистрацию на твою, все заработало. Спасибо.
 
Сверху