Поле ввода

Версия Minecraft
1.7.10
Нужно добавить поле ввода, пробовал лопатить исходники fml, но нашёл только drawCenteredString(), drawString(), buttonList().add() и ещё пару методов, не подходящих мне.
Что конкретно интересно:

  • Каким методом добавляется такое поле?
  • Как получить его значение?
 
Решение
Примерно так:
Код:
public class GuiX extends GuiScreen {

	GuiTextField inputField;

	@Override
	public void initGui() {
		Keyboard.enableRepeatEvents(true);

		inputField = new GuiTextField(fontRendererObj, width - 70, 4 + 14 * 1, 68, 12);
		inputField.setMaxStringLength(10);
		inputField.setText("");

	}

	@Override
	public void onGuiClosed() {
		Keyboard.enableRepeatEvents(false);
	}

	@Override
	public void updateScreen() {
		inputField.updateCursorCounter();
	}

	@Override
	public void keyTyped(char character, int key) {
		switch(key) {
		case Keyboard.KEY_ESCAPE:
			mc.displayGuiScreen((GuiScreen)null);
			mc.setIngameFocus();
			break;
		default:
			inputField.textboxKeyTyped(character, key);
			break;
		}
	}

	@Override
	public...

timaxa007

Модератор
5,831
409
672
Примерно так:
Код:
public class GuiX extends GuiScreen {

	GuiTextField inputField;

	@Override
	public void initGui() {
		Keyboard.enableRepeatEvents(true);

		inputField = new GuiTextField(fontRendererObj, width - 70, 4 + 14 * 1, 68, 12);
		inputField.setMaxStringLength(10);
		inputField.setText("");

	}

	@Override
	public void onGuiClosed() {
		Keyboard.enableRepeatEvents(false);
	}

	@Override
	public void updateScreen() {
		inputField.updateCursorCounter();
	}

	@Override
	public void keyTyped(char character, int key) {
		switch(key) {
		case Keyboard.KEY_ESCAPE:
			mc.displayGuiScreen((GuiScreen)null);
			mc.setIngameFocus();
			break;
		default:
			inputField.textboxKeyTyped(character, key);
			break;
		}
	}

	@Override
	public void mouseClicked(int mouseX, int mouseY, int state) {
		inputField.mouseClicked(mouseX, mouseY, state);
		super.mouseClicked(mouseX, mouseY, state);
	}

	@Override
	public void drawScreen(int mouseX, int mouseY, float parTick) {
		inputField.drawTextBox();
		super.drawScreen(mouseX, mouseY, parTick);
	}

}
Брать из него текст inputField.getText().
 
Сверху