Почему в майнкрафте стак это 64

Обновлено: 18.05.2024

Когда играешь в майнкрафт, своей целью обычно ставишь построить хорошую укрепленную базу, на которой не будет никаких опасностей и которая предоставит все необходимое для выживания. Но иногда приходится отправляться в путешествия (не всегда короткие), чтобы найти что-то уникальное и интересное: новые биомы и ресурсы в них, различные данжи, которые можно отыскать по картам да и просто для поиска красивого места. Поэтому сейчас я расскажу вам, как правильно путешествовать: какие опасности будут поджидать на пути и как избежать самых распространенных ошибок. Приятного прочтения!

Если вы только вчера начали играть в майнкрафт, но наткнулись на эту статью, то советую вам прочитать мои предыдущие статьи для новичков:

Почему в стаке 64 предмета?

Канал будет закрыт, но пока я еще пишу свои графоманские заметки.

Предисловие автора: не нужно писать

(а хотя почему не нужно, пишите, это полезно для канала)

Что "это все знают"/"это и так понятно". Да, для понимания вопроса достаточно курса средней школы, но что же делать, если есть те, у кого это знание отсутвует?

И так, начнем с того, что вся информация в компьютере представляет собой "двоичный код" — сочетания двух состояний, обычно обозначаемых на бумаге как 1 и 0. Этот код позже расшифровывается (0 превращается в 1, 1 в 2, 10 в 3 и т.д, если мы говорим про числа). В коде из ограниченного числа символов можно хранить ограниченное число вариантов, например: в код из одного символа может принимать значения от 1 до 2, из 2 -х символов от 1 до 4, из 3 -х от 1 до 8 и т.д., и в бесконечность (это всё варианты, так же могут быть расшифровки с отрицательными числами, от нуля, буквенная расшифровка и как угодно).

Так вот, чем меньше "чисел" в этом сочетании, тем меньше оно "весит", ибо вес это как раз и есть занятые места для состояний. Ограничение в 64 еденицы — 6 "чисел" в сочетании, вероятно было введено"наубум" как "не много и не мало", ибо какой-то стандартной переменной <64 в Java (на которой был изначально написан Minecraft) нет. Число предметов могло бы быть и 1028, и 2056 (на игру бы это особо не повлияло, и так и так нереалистично много), но в таком случае тратилось бы слишком (по тем временам) много памяти.

Stack Size

мод на стаки

Теперь, когда разобрались с тем, что такое стаки, можно установить моды для них. Первая модификация позволяет увеличить количество предметов в одной стопке.

Только есть одно "но" - данный мод увеличивает количество определенных предметов, не не для всех.

Итак, нужно установить мод и закрыть игру. После этого следуем в папку /.minecraft/config и ищем файл Stack Size.cfg. Последние три буквы означают расширение файла, которое позволяет производить настройки конфигурации игровых параметров.

Открываем файл с помощью блокнота и начинаем редактирование. Необходимо отыскать или ввести название того ресурса, количество которого нужно увеличить.

К сожалению, модификация работает только с материалами - для инструментов и оружия он не рассчитан.

Все названия пишутся в два слова и обязательно через нижний пробел. Таким образом можно увеличить количество, например, алмазов с 64 до 164 и так далее.

Что такое стак в "Майнкрафт". Моды на стаки


Игроки, что посещают просторы мира "Майнкрафт", пользуются некоторыми терминами, значение которых знают только они. Например "крафт" - это создание предмета. Поэтому многие новички задаются вопросом: "Что такое стак".

Ориентирование на местности

С помощью экрана отладки

Самый лучший метод из всех. Экран отладки отображается, если нажать F3. Координата f отвечает за направление взгляда игрока. Расшифровка:

  • f=0 — взгляд на юг
  • f=1 — взгляд на запад
  • f=2 — взгляд на север
  • f=3 — взгляд на восток

В версиях до Beta 1.7 можно было ориентироваться только по x и z. Если значение по оси Z увеличивается — вы двигаетесь на запад. Если значение по оси X увеличивается — вы двигаетесь на юг.
Обратите внимание, точка с координатами x=0, z=0 не является точкой спауна, совпадения случайны. С версии 1.4 при взгляде в любую сторону показывается название части света (англ.):

Почему в майнкрафте стак это 64


В форумах люди часто упоминают, что 64-битные версии программ поглощают больший объем памяти и стека. При этом обычно ссылаются на то, что размеры данных стали в 2 раза больше. Однако это необоснованное утверждение, так как размер большинства типов (char, short, int, float) в языке Си/Си++ остался прежним на 64-битных системах. Конечно, например, увеличился размер указателей, но ведь не все данные в программе состоят из указателей. Причины роста потребляемой памяти и стека более сложны. Я решил подробнее исследовать данный вопрос.

В данной заметке я поговорю о стеке, а в будущем планирую обсудить выделение памяти и размер двоичного кода. И еще хочу сразу заметить, что статья посвящена языку Си/Си++ и среде разработки Visual Studio.

До недавнего времени я считал, что код 64-битной программы может поглощать стек не быстрее чем в два раза по сравнению с 32-битным кодом. Основываясь на этом предположении, я рекомендовал в статьях на всякий случай увеличивать стек программы в два раза. Однако теперь я выяснил неприятный факт. Поглощение стека может вырасти существенно больше чем в два раза. Я был удивлен, поскольку ранее считал рост стека в два раза самым пессимистическим вариантом развития событий. Причина моих необоснованных надежд станет понятна чуть позже. Рассмотрим теперь, как в 64-битной программе передаются параметры при вызове функций.

Соглашение по вызовам на платформе x86-64 похоже на соглашение fastcall, существующее в x86. В x64-соглашении первые четыре целочисленных аргумента (слева направо) передаются в 64-битных регистрах, выбранных специально для этой цели:

RCX: 1-й целочисленный аргумент
RDX: 2-й целочисленный аргумент
R8: 3-й целочисленный аргумент
R9: 4-й целочисленный аргумент

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

Хотя аргументы могут быть переданы в регистрах, компилятор все равно резервирует для них место в стеке, уменьшая значение регистра RSP (указателя стека). Как минимум, каждая функция должна резервировать в стеке 32 байта (четыре 64-битных значения, соответствующие регистрам RCX, RDX, R8, R9). Это пространство в стеке позволяет легко сохранить содержимое переданных в функцию регистров в стеке. От вызываемой функции не требуется сбрасывать в стек входные параметры, переданные через регистры, но резервирование места в стеке при необходимости позволяет это сделать. Если передается более четырех целочисленных параметров, в стеке нужно зарезервировать соответствующее дополнительное пространство.

Рассмотрим пример. Некая функция передает два целочисленных параметра дочерней функции. Компилятор положит значения аргументов в регистры RCX и RDX и при этом вычтет 32 байта из регистра RSP. Вызываемая функция может обратиться к параметрам через регистры RCX и RDX. Если же коду этой функции данные регистры понадобятся для какой-то иной цели, он сможет скопировать их содержимое в зарезервированное пространство стека размером 32 байта.

Обратим внимание еще на один момент. Указатель стека RSP должен перед очередным вызовом функции быть выровнен по границе 16 байт. Таким образом, суммарный размер используемого стека при вызове в 64-битном коде функции без параметров составляет: 8 (адрес возврата) + 8 (выравнивание) + 32 (резерв для аргументов) = 48 байт!

Рассмотрим, к чему это может приводить на практике. Здесь и далее для экспериментов я буду использовать Visual Studio 2010. Составим рекурсивную функцию вида:

Release 32-bit: последнее выведенное число (глубина стека) — 51331
Компилятор использует при вызове данной функции 20 байт.

Release 64-bit: последнее выведенное число — 21288
Компилятор использует при вызове данной функции 48 байт.

Таким образом, 64-битный вариант функции StackUse оказывается прожорливее 32-битного в более чем в 2 раза.

Замечу, что изменение правил выравнивания данных также может оказывать влияние на размер поглощаемого стека. Предположим, что функция принимает в качестве аргумента структуру:

Неужели все так плохо? Нет. Не следует забывать про большее количество регистров имеющихся в распоряжении 64-битного компилятора. Усложним код экспериментальной функции:

Release 32-bit: последнее выведенное число — 16060
Компилятор использует при вызове данной функции уже 64 байта.

Release 64-bit: последнее выведенное число — 21310
Компилятор использует при вызове данной функции по-прежнему 48 байт.

Для данного примера 64-битному компилятору удалось использовать дополнительные регистры и построить более эффективный код, что позволило сократить количество используемой стековой памяти!

Определение слова

Так что такое стак в "Майнкрафт"? Изучаемый термин или стопка - это ограниченное количество одного типа материала, которое может поместиться в одну ячейку. В "Майнкрафт", что такое стак? Это 64 единицы ресурса, которые можно поместить в один слот инвентаря персонажа.

Когда предел достигнут, то последующее количества материала помещается на соседнюю ячейку, и так далее, пока инвентарь не будет полон. Когда наступит этот момент, игрок не сможет поднять ни одной вещи и они просто будут лежать рядом с тем местом, где ресурс был добыт.

Для того чтобы увеличить место в инвентаре, игроки могут установить мод на стаки, который увеличивает количество помещаемых предметов в одну ячейку. Таким образом можно заниматься добычей или исследованием, не прерываясь на постоянные манипуляции помещения предметов в сундук, или выбрасывания материалов из инвентаря.

Перед скачиванием какого-либо мода на стаки, необходимо убедиться, что игра обновлена до последней версии. Это важно! Для того чтобы мод работал исправно. Следуя инструкции, можно установить модификацию и наслаждаться игрой без ограничений.

Сборы в дорогу

Инвентарь имеет всего 36 слотов для предметов, и самая главная ошибка новичков — набрать в инвентарь много лишнего, не взяв самого нужного. Ниже будет приведён список того, что действительно пригодится в пути.

  1. Броня . Разумеется, чем прочнее, тем лучше. В зависимости от цели путешествия следует выбирать материал и зачаровывать броню. Слотов она занимать не будет, т.к. вы ее экипируете, но лучше взять прочную броню, чтобы она не поломалась в дороге;
  2. Меч. Принцип такой же, как и с бронёй. Сильнее — лучше. Как вариант, можно брать вместо меча трезубец. Я бы рекомендовал более опытным игрокам брать топор. В прыжке он наносит намного больше урона, чем меч.
  3. Лук . Пригодится зачарование «Бесконечность», но даже простой, незачарованный лук — одна из важнейших вещей в пути. Лук и стрелы будут занимать у вас минимум 2 слота;
  4. Кирка и прочие инструменты — обязательно стоит взять с собой. Без кирки в майнкрафте в принципе делать нечего. У меня всегда 1 слот - топор, 2 слот - кирка;
  5. Еда. Лучше брать либо жареное мясо, либо золотую морковь. Если вы появились около деревни, то хлеб - отличный выбор. Повсюду будут лежать стога сена. Каждый стог - 3 хлеба;
  6. Кровать. Один из лучших способов не получить урон от ночных мобов — переждать ночь в кровати. Лучше брать с собой сразу несколько кроватей, в качестве точек сохранения, а ещё лучше будет взять все эти кровати раздельно в виде досок и шерсти — так экономится место. Я бы рекомендовал взять 1 кровать, поскольку по пути в точно будете встречать овец;
  7. Верстак . Даже не обсуждается, главная вещь. Но можно для его создания и экономии места в инвентаре брать с собой множество брёвен. Как вариант - взять 64 бревна какого-нибудь дерева. Это 256 досок. И все это будет в 1 слоте;
  8. Ведро воды. Взять очень желательно. Поможет в критических ситуациях. Так же можно взять ведро молока , если придется сражаться с ведьмами и скелетами-иссушителями.
  9. Монтажные блоки — возьмите стопку-другую либо булыжника, либо земли. Я обычно беру стака 3 булыжника.
  10. Лодка. Ее брать совершенно необязательно, если вы взяли с собой стак (64 штуки) бревна. А если не взяли, то в верхнем мире всегда можно срубить дерево и скрафтить лодку;
  11. Предметы для крафтов. Немного железа, немного досок — и вот вам уже не страшно потерять любой инструмент;
  12. Факелы . Лучше взять стопку угля, а уже по пути изготавливать факелы;
  13. Печка . если у вас 3 стака булыжника с собой, то в дороге 8 штук не жалко потратить на печку;
  14. Зелья . Зависит от места, куда вы идете. Если в нижний мир, то обязательно брать огнеупорность, иначе риск сгореть заживо возрастает многократно;
  15. Золотое яблоко. Желательно взять хотя бы пару. Хотя их можно найти по пути. Но тут уж как повезет;
  16. Ящики шалкеров. Одна из самых удобных вещей. Но это только после убийства дракона.
  17. Седло. Можно взять, но как показала практика, путешествие на лошади — не лучший способ перемещения, так как иногда при загрузке чанков она может зависнуть. Лучше брать лам.
  18. Элитры. Важнейшая вещь, при дальних путешествиях. Рекомендуется зачаровать их на Прочность или Починку. Но вы так же не сможете их получить до убийства дракона.
  19. Карта и компас . Совершенно ненужные вещи. Достаточно на базе нажать клавишу F3 и записать свои координаты. И как бы далеко вы не ушли, вы всегда сможете вернуться обратно.

Теперь немного про то, как ориентироваться на местности.

Stack Up

В отличие от предыдущего мода, этот не ограничен настройками конфигураций. Более того, эта модификация распространяется и на инструменты.

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

Для этого нужно скачать мод и не распаковывать, как это положено обычно. Копируем в папку: C:\Users\Имя пользователя\AppData\Roaming\.minecraft\mods.

Основное:

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

  1. Поиск крепости;
  2. Поиск данжей;
  3. Поиск деревень;
  4. Поиск редких биомов с ресурсами (Столовые горы, и т. д.);
  5. Поиск крепости Нижнего мира (только в Нижнем мире, разумеется).
Лично для меня приоритетом в путешествиях являются деревни (на начальном этапе игры), крепость нижнего мира (после нахождения минимум 5 алмазов) и под конец - крепость.

И какую бы вы цель не преследовали, в любом случае, вы должны примерно знать, или хотя бы предполагать, как долго вы пробудете в дороге и как далеко вы собираетесь удалиться от дома. Также, немаловажно знать цель путешествия и собираться относительно неё (если идете в деревню, захватите с собой побольше изумрудов или вещей для торговли; если вы намереваетесь захватить лесной особняк, вам потребуется оружие и качественная броня; если вы собираетесь посетить много данжей, запаситесь ящиками шалкеров (актуально только после убийства дракона). Если вы идете на поиск данжей, то можно взять с собой лошадь или несколько лам с сундуками).

Опасности в пути

Разумеется, если бы все путешествия проходили ровно и гладко, без каких-либо трудностей, эта статья никогда не была бы написана. Но к сожалению, более чем половина путешествий у игроков закачиваются не с тем результатом, которого бы они хотели, более чем четверть имеют трагический исход (сейчас, безусловно, можете вспомнить режим Хардкор).

Лично я всегда играю на хардкоре. Я перфекционист и не могу продолжать играть в мире после того как тону в лаве и теряю весь инвентарь и опыт. Поэтому только хардкор. И да, все мои игры на хадкоре заканчивались в путешествиях.

Но все беды происходят из-за неподготовленности игрока к внештатным ситуациям, а предотвратить их все, конечно же, не получится. У кого-то заканчивается еда, кто-то падает в каньон и разбивается, кого-то убивают враждебные мобы, кто-то тонет в лаве, кто-то падает с утёса…

Тем не менее любой опыт является полезным, и даже эта статья была целиком и полностью сформирована на основе моего реального игрового опыта. Для того, чтобы ничего плохого в дороге не случилось, необходимо лишь правильно собраться в путь, и тогда вы достигнете места назначения абсолютно успешно.

Инвентарь персонажа

стаки блоков

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

Также в игре присутствует система автоподъема - то есть, вещи автоматически помещаются в инвентарь, когда персонаж находится рядом с ними.

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

сундук в игре

Чтобы переместить сразу весь стак из инвентаря, нужно зажать Shift и кликнуть левой кнопкой мыши.

А вот тем, кто занимается исследованием мира, а не строительством и созданием предметов, придется досконально изучить, что такое стак в "Майнкрафт".

Читайте также: