Самое простое создание гуи - создать класс с унаследованием от "
net.minecraft.client.gui.GuiScreen" и открыть на стороне клиента:
Minecraft.getMinecraft().displayGuiScreen(new MyGui();
---
Создать гуи в котором будет инвентарь, то это другое дело. Нужно будет сделать:
- создать класс с имплемитацией "
cpw.mods.fml.common.network.IGuiHandler" и добавить методов от
IGuiHandler, а так-же и его регистрация
NetworkRegistry.INSTANCE.registerGuiHandler(instance, new MyGuiHandler());
в
init'е в "главного класса",
- создать класс с унаследованием от "
net.minecraft.inventory.Container" с добавлением нужных методов и конструктора, в конструкторе нужно будет указывать наш инвентарь для слотов,
- создать класс с унаследованием от "
net.minecraft.client.gui.inventory.GuiContainer" с добавлением нужных методов и конструктора, в конструкторе нужно будет использовать
super в его аргумент указываем нашего
Container'а,
- В твоём
GuiHandler'е добавить твой
GuiContainer в
return метода
getClientGuiElement и твой
Container в
return метода
getServerGuiElement, с подходящими условиями для их
return'ов.
- открывать гуи:
player.openGui(instance, ID, world, x, y, z);
где:
instance - это инстанция твоего мода,
ID - это ид в
int типе, для условия в твоём
GuiHandler'е,
world - это
World в котором будет открыто,
x,
y,
z - это координаты в
int типе, которые указывают координаты для открытия гуи. Обычно по этим координатам ищем в мире нужный нам инвентарь.
В этом случаи, обычно используют
TileEntity, чтобы сохранять вещи из нашего созданного инвентаря, а так-же взаимодействия с этим инвентарём. Чтобы взаимодействовать, нужно для нашего
TileEntity имплементировать
net.minecraft.inventory.IInventory, добавить нужных методов, в этих методах указывать, что нужно для взаимодействия... Бла-бла-бла (
я уже устал писать)...
И это это ещё поверхностно написал. Бывают разные
Gui с разными элементами и взаимодействия. Подробно "и все такое" мало вероятно найдёшь.