Как это работает

Всем известно, что с помощью плагинов нельзя создавать новые графические интерфейсы или изменять существующие (если у Вас, конечно, не Spout) и для этого нужны моды. Но зачастую возникают ситуации, когда нет возможности использовать моды.

Но что тогда делать, если хочется изменить инвентарь? Например, добавить слот для перчаток или колец.

И так как возможности добавить собственный GUI нет, возникло две главные задачи:

  1. Найти существующий GUI, который можно изменить;
  2. Добавить свои текстуры в клиент.

Первая задача решилась быстро - было решено взять интерфейс большого сундука (так как в нём самое большое количество слотов) и на него наложить свою текстуру, которая будет изображать инвентарь.

Осталось решить вторую задачу. И тут на помощь нам пришли разработчики Minecraft. В версии 1.9 добавили возможность изменения текстур предметов по их прочности, что дало возможность добавления в игру при помощи серверного ресурс-пака более чем 5000 новых текстур. Получается, что мы берём и закладываем неиспользуемые слоты серой текстурой, а на место используемых слотов ставим текстуру пиктограммы слота, чтобы было понятно, что в этот слот кладётся.

Как было до MC 1.9

До Minecraft 1.9 для решения второй задачи использовался несколько иной подход. Не было возможности добавлять много различных текстур, поэтому в серверном ресурс-паке изменялась текстура большого сундука.

Примечание

В Minecraft текстура большого сундука используется и для маленького сундука, и для сундука Края, и для сундука-ловушки. Выходит, что изменение одной текстуры приводило в негодность любые сундуки.

Как тогда использовали плагин, если невозможно было использовать с ним сундуки? Было лишь два варианта:

  1. Использовать плагин без пользовательских текстур, закрывая слоты существующими текстурами;
  2. Или использовать плагин с текстурами, но интерфейсы всех сундуков переделывать в интерфейс раздатчиков, у которых менять текстуру (в этом случае портились раздатчики, но это лучше, чем сундуки).

Как Вы понимаете, с выходом 1.9 многое в плагине было переделано и это одна из причин, по которой поддержка версий 1.7.10-1.8.х прекращена.