О жизни » Удивительные костыли оказывается есть в Minecraft-2


6 февраля 2020 от lionovsky
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 году.