Полностью кастомный инвентарь

Версия Minecraft
1.10.2
И снова здравствуйте. Посмотрел значит туториал coolAlias'a, но насколько понял там можно только добавлять слоты в инвентарь. Концепция моего инвентаря получилась вот такая:
image.png


1) Нижние три слота вместо девяти (то что в руку взять можно)
2) Шесть слотов инвентаря
3) Левые слоты брони - стандартная майнкрафтовская
4) Правые - мои дополнительные.

Можно ли это вообще реализовать??
 
5,018
47
783
Эвентом перехватываешь открытие ванильного, отменяешь его и заменяешь своим
 
MaksimHawkins написал(а):
WhiteWarrior написал(а):
GuiOpenEvent же клиентское,не?

Таки да. Мне же надо ещё и на сервере изменять значения.

Можешь посмотреть RealBench, там немного другая ситуация но я думаю тебе поможет...
 
2,505
81
397
Можно. Нужно подменить player.inventoryContainer на свой контейнер. Также, при открытии GuiInventory подменять на свой, потому что ванильный работает с ванильным ContainerPlayer.
По хорошему, еще нужно подменить player.inventory на свой инвентарь, чтобы выпилить лишние стаки, хотя это опционально. Но если это сделаешь, то сможешь легко изменить скроллинг активного слота (там есть метод).
Если соберешься сменить индексы активных слотов с 0-8, на другие, то еще понадобится пачка хуков.
 
Если пилишь не только для себя, то нужно изменить немного концепцию оформления. Как раз таки слева должны располагаться слоты брони, пользователю так будет интуитивно понятнее, а значит и удобнее. Три слота тулбара - слишком мало, если и делать такое количество слотов, то только с кое-какими доработками геймплея. Ну и шесть слотов для предметов тоже крайне мало для игры, в идеале соотношение подобных GUI должно быть близким к 16:9, по моему GUI с такими соотношениями намного красивее.
 
Carielon написал(а):
Если пилишь не только для себя, то нужно изменить немного концепцию оформления. Как раз таки слева должны располагаться слоты брони, пользователю так будет интуитивно понятнее, а значит и удобнее. Три слота тулбара - слишком мало, если и делать такое количество слотов, то только с кое-какими доработками геймплея. Ну и шесть слотов для предметов тоже крайне мало для игры, в идеале соотношение подобных GUI должно быть близким к 16:9, по моему GUI с такими соотношениями намного красивее.

Мне сейчас важнее реализация, я программист а не UI-дизайнер :)
 
250
12
24
Конечно можно(ну это ответ на главный вопрос: "можно ли?"
Код:
  if(event.gui instanceof GuiInventory)
  {
  EntityPlayer player = Minecraft.getMinecraft().thePlayer;
  if(!player.capabilities.isCreativeMode)
  {
  event.setCanceled(true);
  NetworkHandler.sendToServer(new OpenGuiP(3));
  }
  }
 }

Замена инвентаря при открытии.


Отправляешь пакет и на сервере открываешь контейнер, а на клиенте гуи и контейнер.
Главное создать их правильно. 

Вот что сделал я:

oxDvHEq77qU.jpg
 
5,018
47
783
Извращуга). Я тебе в самом начале сказал, просто эвентом перехватывай ванильный и заменяй на свой. Тебе вон RinKirin тоже самое сказал
 
Сверху