24 янв в 17:12 (OFF) lionovsky (S) :

Удивительные костыли оказывается есть в Minecraft

Beta 1.7.3 (та самая из 2011), перепиливаю под себя.

Пытаюсь изменить крафт табличек, чтоб на выходе получалось в стаке 12 табличек, вместо 1.




Изменяю, компилю, игра падает с ошибкой "Max stack size must be 1 for items with crafting results".

Быстренько смотрю код, нахожу такой:

public Item setContainerItem(Item item)
{
if(maxStackSize > 1)
{
throw new IllegalArgumentException("Max stack size must be 1 for items with crafting results");
} else
{
containerItem = item;
return this;
}
}
Выпиливаю проверку, меняю setMaxStackSize(1) на .setMaxStackSize(64), получаю падение игры.

Лезу дальше. 5 минут - выясняю что при создании предмета - его количество игра пишет не в переменную типа int, а в boolean. Т.е. true/false вместо целого числа

А вот для блоков использовалось int, и всё норм.
Фикшу баг, проверяю крафт, хранение в инвертаре, и сундуке - всё норм.

Кстати, Нотч всё же пофиксил это в более старых версиях, но это было уже в 2012 году.
Канал: Java
67 0 3 0

Комментарии (0)

Показать комментарий
Скрыть комментарий
Для добавления комментариев необходимо авторизоваться
Интерны
Увлекательная игра в больничку
Версия: Mobile | Lite | Touch | Доступно в Google Play