Gamepedia was upgraded to MediaWiki version 1.31 on Wednesday November 14th. To learn more about the upgrade and its effects click here.

17w45a

Материал из Minecraft Wiki
Перейти к: навигация, поиск
17w45a
Логотип 17w45a.png
Тип

Предварительная сборка

Дата выпуска

8 ноября 2017 г.

Сборка для

1.13

Загрузить

Клиент (.json)
Сервер

17w45a — третий снимок для обновления 1.13.

Нововведения[править | править код]

Команды консоли
  • Пользовательский интерфейс, открывающийся при вводе команд в поле чата.
    • Разные компоненты команд будут указаны разными цветами.
    • Ошибки будут отображаться красным текстом без необходимости выполнения команды.
  • Аргумент nbt в селекторах цели.
  • Новая библиотека синтаксического разбора команд под названием Brigadier.

Изменения[править | править код]

Мобы[править | править код]

Лошадь
  • Модель была изменена, чтобы соответствовать по стилю моделям других мобов.

Команды[править | править код]

Общее
  • Команды и функции теперь намного быстрее и эффективнее исполняются.
  • Большинство команд получили чувствительность к регистру. По возможность следует использовать нижний регистр.
    • Например, такое использование вызовет ошибку: /scoreboard ObJeCtIvEs ...
  • Выходной сигнал командного блока был его «счётчиком успешности», но теперь является «результатом исполнения команды».
Конкретные команды
/advancement
  • Удалён аргумент /advancement test, вместо него следует использовать селекторы сущностей
/clear
  • Синтаксис команды /clear был изменён.
    • /clear [<цель>] [<предмет>] [<данные>] [<количество>] [<nbt>] станет /clear [<цель>] [<предмет>] [<количество>]
    • Подробности указаны в описании типа аргумента предмет.
    • Аргумент [<данные>] был удалён в целях подготовки к flattening[перевод?], у предметов больше не будет данных, а значения метаданных будут перемещены в NBT.
/clone
  • Синтаксис команды /clone был изменён.
    • /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [force|move|normal] [<блок>] [<данные>] станет /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> filtered [<блок>] [force|move|normal]
    • /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal] [<блок>] [<данные>] станет /clone <x1 y1 z1> <x2 y2 z2> <xt yt zt> [replace|masked] [force|move|normal]
/defaultgamemode и /gamemode
  • Теперь принимают только полные строковые идентификаторы, сокращения и номера режимов больше не работают.
/difficulty
  • /difficulty [<значение>] принимает только полные строковые идентификаторы, сокращения и номера режимов больше не работают.
  • Текущая сложность может быть запрошена вызовом /difficulty без аргументов.
/effect
  • В целях предотвращения неоднозначности синтаксис команды /effect был разделён:
    • /effect <сущность> <эффект> теперь /effect give <сущность> <эффект>
    • /effect <сущность> clear теперь /effect clear <сущность> [<эффект>]
  • Добавление эффекта теперь будет выдавать ошибку, если команда на самом деле ничего не сделала.
    • Некоторые мобы имеют иммунитет (например дракон Края).
    • Более сильные существующие эффекты не дадут добавить более слабую версию.
/enchant
/execute
  • Синтаксис команды /execute был разделён.
    • Подкоманды-модификаторы изменяют принцип выполнения команды:
      • /execute as <сущность> <цепная команда> исполняет команду цепная команда, используя сущность <сущность> (но не изменяет позицию).
      • /execute at <сущность> <цепная команда> исполняет команду цепная команда, используя позицию сущности <сущность> (но не изменяет сущность).
      • /execute offset <x y z> <цепная команда> исполняет команду, используя позицию <x y z>.
      • /execute align <оси> <цепная команда> исполняет команду, выравнивая текущую позицию к сетке блоков (округляя вниз), <оси> — любая комбинация из x y and z (например: x,xz,zyx или yz).
        • x=-1.8,y=2.3,z=5.9 с использованием x станет x=-2,y=2.3,z=5.9
        • x=2.4,y=-1.1,z=3.8 с использованием yxz станет x=2,y=-2,z=3
    • Условные подкоманды могут дать возможность предотвратить исполнение команды:
      • /execute (if|unless) block <x y z> <блок> <цепная команда> исполняет команду цепная команда, если <x y z> соответствует (или не соответствует) блоку <блоу>.
      • /execute (if|unless) blocks <начало> <конец> <цель> (all|masked) <цепная команда> исполняет команду цепная команда, если область между блоками <начало> и <конец> соответствует (или не соответствует) области <цель>.
      • /execute (if|unless) entity <сущность> <цепная команда> исполняет команду цепная команда, если <сущность> существует (или не существует; команда возвращает одну или более сущностей).
      • /execute (if|unless) score <цель> <задание цели> (<|<=|=|>=|>) <источник> <задание источника> <chained command> исполняет команду, если счёт <цели> соотносится (или не соотносится) со счётом <источника> по заданному критерию.
    • В качестве замены команды /stats, добавлена новая подкоманда store, позволяющая сохранить где-либо результат команды:
      • /execute store (result|success) <название> <цель> <цепная команда>
      • result — результат команды, заменяющий следующие удалённые значения: AffectedBlocks, AffectedEntities, AffectedItems, QueryResult.
      • success — сколько раз команда была успешна. Это обычно 0 или 1, но если команда разделилась, (например as @a), то это значение может быть больше 1. Этот параметр заменяет SuccessCount.
      • Значение хранится в таблице счёта игровых событий под значениями <название> и <цель>.
      • Цель должна существовать, но в отличие от /stats, начальное значение <названия> может не быть задано.
      • Значение будет сохранено, когда команда целиком закончит выполняться.
      • Если команда неуспешна (success равен 0), result всегда будет равен 0.
      • Будет чётко указан ожидаемый результат каждой команды..
    • Все подкоманды могут быть сцеплены вместе.
      • После каждой подкоманды нужно указать другую подкоманду.
      • Когда сцепление подкоманд завершено, для исполнения самой команды нужно ввести run.
        • / больше не разрешено использовать перед командой.
      • /execute as somebody at somebody run say привет
    • Примеры старых команд:
      • /execute @e ~ ~ ~ detect ~ ~ ~ stone 0 say Камень! теперь /execute as @e at @s if block ~ ~ ~ stone run say Камень!
      • /execute @e ~ ~ ~ detect ~ ~ ~ grass 0 summon pig теперь /execute at @e if block ~ ~ ~ grass run summon pig
      • /execute @e ~ ~ ~ say Здравствуйте! теперь /execute as @e run say Здравствуйте!
/experience
  • /xp теперь является альтернативных названием /experience.
  • Команда разбита на три подкоманды:
    • /experience add <игроки> <количество> [points|levels]
      • Добавляет <количество>очков или уровней указанным <игрокам> (по умолчанию добавляются очки).
      • Как обычно, добавление очков может повысить уровень игроков.
      • Поддерживаются отрицательные числа для уменьшения опыта игроков.
      • При вычитании очков уровень игрока может понизиться.
    • /experience set <игроки> <количество> [points|levels]
      • Задаёт опыт игрока как <количество> очков или уровней <players> (по умолчанию очков).
      • Очки не могут быть заданы сверх лимита текущего уровня игрока.
      • При изменении уровня процент прогресса до следующего уровня сохранится.
    • /experience query <игрок> (points|levels)
      • Возвращает количество очков или уровней у игрока <игрок>.
/fill
  • Синтаксис команды /fill был изменён.
    • /fill <x y z> <xt yt zt> <блок> <данные> replace [<новый блок>] [<новые данные>] теперь /fill <x y z> <xt yt zt> <блок> replace [<фильтр>]
    • /fill <x y z> <xt yt zt> <блок> [<данные>] [destroy|hollow|keep|outline|replace] [<nbt>] теперь /fill <x y z> <xt yt zt> <блок> [destroy|hollow|keep|outline|replace]
/function
  • /function больше не принимает аргументы [if|unless] <сущность>.
    • Эта возможность была добавлена команде /execute.
    • /function foo if @e теперь /execute if entity @e run function foo
/gamerule
  • /gamerule больше не принимает неизвестные («пользовательские») игровые правила.
  • Переданные команде /gamerule значения проверяются на правильность типа (если нужно число, а получена строка, существование ошибки очевидно).
/give
  • Синтаксис команды /give был изменён.
    • /give <игроки> <предмет> [<количество>] [<данные>] [<nbt>] теперь /give <игроки> <предмет> [<количество>]
    • Подробности указаны в описании типа аргумента предмет.
    • Аргумент [<данные>] был удалён в целях подготовки к flattening[перевод?], у предметов больше не будет данных, а значения метаданных будут перемещены в NBT.
/kill
  • Указывать параметр цель теперь обязательно.
/locate
  • Координата y теперь возвращается как 64, а не ?.
  • Результат result команды, используемый командой /execute store, будет абсолютным расстоянием до строения.
/particle
  • Аргумент <params> был удалён, вместо этого параметры для частиц наподобие blockcrack могут быть указаны сразу после агрумента <название>, используя новый блок аргументов.
    • /particle blockcrack stone [variant=smooth_granite] ~ ~ ~ 0 0 0 0 1
  • Названия частиц были приведены к нижнему регистру и могут указываться с пространством имён.
/replaceitem
  • Синтаксис команды /replaceitem был изменён.
    • /replaceitem block <позиция> <ячейка> <предмет> [<количество>] [<данные>] [<nbt>] теперь /replaceitem block <позиция> <ячейка> <предмет> [<количество>]
    • /replaceitem entity <цель> <ячейка> <предмет> [<количество>] [<данные>] [<nbt>] теперь /replaceitem entity <цель> <ячейка> <предмет> [<количество>]
    • Подробности указаны в описании типа аргумента предмет.
    • Аргумент [<данные>] был удалён в целях подготовки к flattening[перевод?], у предметов больше не будет данных, а значения метаданных будут перемещены в NBT.
  • Аргумент ячейка больше не требует slot..
    • Например, slot.hotbar.1 теперь hotbar.1
/scoreboard
  • У команд /scoreboard удалён [<dataTag>], взамен используются аргументы nbt в селекторах сущностей.
  • /scoreboard players tag и /scoreboard teams удалены. Заменены /tag и /team соответственно.
  • /scoreboard players test удалены в пользу /execute (if|unless) score, селекторов сущностей и /scoreboard players get <цель> <задание>.
/setblock
  • Синтаксис команды /setblock был изменён.
    • /setblock <позиция> <блок> [<данные>] [<режим>] [<nbt>] теперь /setblock <позиция> <блок> [<режим>]
    • Подробности указаны в описании типа аргумента блок.
/stats
  • Удалена. Объединена с командой /execute.
  • Новая команда /execute не является точной заменой, поведение было изменено:
    • Исполнение теперь в расчёте на каждую команду, а не на каждую сущность или каждый блок.
    • Остались только result и success, которые покрывают все удалённые типы значений.
/stopsound
  • * может быть использовано вместо аргумента источник, чтобы останавливать все звуки с определённым названием для всех источников.
/tag
  • Заменяет /scoreboard players tag.
  • Синтаксис остался таким же.
    • /tag <игроки> add <тег> добавляет <тег> <игрокам>.
    • /tag <игроки> remove <тег> снимает <тег> с <игроков>.
    • /tag <игроки> list перечисляет все теги на игроках.
/team
  • Заменяет /scoreboard teams.
  • Синтаксис остался таким же.
    • /team add <команда> [<отображаемое название>]
    • /team empty <команда>
    • /team join <команда> [<состав>]
    • /team leave [<состав>]
    • /team list [<команда>]
    • /team option <команда> <величина> <значение>
/testfor, /testforblock и /testforblocks
  • Удалены. Входят в состав /execute.
/toggledownfall
  • Команда удалена в пользу /weather.
/tp и /teleport
  • /tp теперь является альтернативным названием /teleport (как /w, /msg и /tell).
  • Координаты теперь относительно исполнителя, что соответствует поведению других команд.
  • Синтаксис /tp остался, но поведение как у /teleport.
/trigger
  • /trigger <задание> — сокращённый синтаксис /trigger <задание> add 1.
/weather
  • Если время не указано, по умолчанию задаётся пять минут. Ранее время было случайным.
Типы аргументов
Селекторы цели
  • Введено больше кода для обработки ошибок.
  • Аргументы могут быть заключены в кавычки.
    • Указания наподобие limit=0, level=-10, gamemode=purple теперь запрещены.
  • Отдельных значений «min» и «max» больше нет, вместо этого добавлена поддержка диапазонов.
    • level=10 — уровень 10
    • level=10..12 — уровни 10, 11 или 12
    • level=5.. — уровень 5 или выше
    • level=..15 — уровень 15 или ниже
  • Таинственные сокращённые названия параметров были удалены.
    • mgamemode
    • l или lmlevel
    • r или rmdistance
    • rx или rxmx_rotation
    • ry или rymy_rotation
    • climit
  • x, y, z, distance, x_rotation, y_rotation теперь типа double, и допустимы значения наподобие 12.34
    • x и z больше не корректируются к центру.
      • Это означает, что x=0 больше не эквивалентно x=0.5.
  • gamemode (ранее m) больше не позволяет указывать числовые или сокращённые идентификаторы.
  • limit (ранее c) больше не позволяет указывать отрицательные значения.
    • Используйте вместо них sort=furthest.
  • Аргумент название теперь поддерживает пробелы, если название заключено в кавычки.
  • В селекторах цели возможно указывать один и тот же аргумент повторно.
    • tag=foo,tag=bar,tag=!baz находит сущности с foo, bar, но неbaz.
    • type=!cow,type=!chicken находит сущности, не являющиеся ни коровами, ни курицами.
    • type=cow,type=chicken нельзя использовать, потому что сущность не может быть одновременно коровой и курицей.
  • Может быть указан способ сортировки.
    • sort=nearest — ранее использовавшийся вариант по умолчанию, сортирует по возрастанию расстояния (используется по умолчанию для @p)
    • sort=furthest — противоположность предыдущему (ранее для этого использовался бы синтаксис c=-5)
    • sort=random для случайной сортировки (используется по умолчанию для @r)
    • sort=arbitrary — новый вариант, не сортирующий результат (используется по умолчанию для @e, @a)
  • Указание счёта теперь выглядит так: scores={foo=1,bar=1..5}
  • Достижения могут быть проверены так: advancements={foo=true,bar=false,custom:something={criterion=true}}
    • true означает «достижение выполнено», false — «достижение не выполнено»
    • Также может быть передан блок конкретных критериев, соответствие которым должно быть проверено. (смысл true/false такой же)
Блоки
  • Аргументы <блок>, [<данные>] и [<nbt>] объединены в аргумент <блок>, который выглядит так:
    • stone
    • minecraft:redstone_wire[power=15,north=up,south=side]
    • minecraft:jukebox{RecordItem:{...}}
    • minecraft:furnace[facing=north]{BurnTime:200}
  • Идентификатор обязателен, но если пространство имён не указано, то по умолчанию всё ещё используется minecraft:.
  • Состояния указаны в [], разделяются запятыми и должны соответствовать поддерживаемым блоками свойствам/значениям. Состояния могут не быть указаны.
    • minecraft:stone[doesntexist=purpleberry] — ошибка синтаксиса, поскольку stone не имеет свойства doesntexist.
    • minecraft:redstone_wire[power=tuesday] — ошибка синтаксиса, поскольку свойство power блока redstone_wire — число от 0 до 15.
  • NBT-тег указывается в {}, и передаётся блоку напрямую. Тег может не быть указан.
  • В контексте «условий»/проверки наличия блоков будет делаться проверка на соответствие только указанных свойств.
    • Если проверять на redstone_wire[power=15], будет учитываться только выход энергии, а другие состояния наподобие north будут игнорироваться.
  • В контексте установки блоков, все указанные состояния будут переданы, а неуказанные — заменены на зависящие от блока умолчания.
    • Если задать redstone_wire[power=15], свойство блока power будет 15, но свойство north будет значением по умолчанию, в данном случае это none.
  • В 1.13 больше нет значений данных блоков. Блокам с разными значениями данных теперь соответствуют или блоки с разными состояниями, или разные блоки.
Предметы
  • Аргументы <предмет>, [<данные>] и [<nbt>] объединены в аргумент <предмет>, который выглядит так:
    • stone
    • minecraft:stick{display:{Name:"Палка неправды"}}
  • Идентификатор обязателен, но если пространство имён не указано, то по умолчанию всё ещё используется minecraft:.
  • NBT-тег указывается в {}, и передаётся блоку напрямую. Тег может не быть указан.
    • Любая другая информация теперь соответствует или другому предмету, или свойству в NBT.

Исправления[править | править код]

19 ошибок исправлено
Из выпущенных версий до 1.13
  • MC-32972 – Команда /summon принимает аргументы, которые впоследствии игнорирует.
  • MC-101113 – Команда /playsound неправильно проверяет правильность аргументов.
  • MC-118308 – Набор текста в некоторых текстовых полях может активировать рассказчика.
Из выпущенных снимков 1.13
  • MC-121281 – Полосы прокрутки в меню серверов и режима Творчество срабатывают только от колеса мыши.
  • MC-121283 – Графический интерфейс отключается при погружении под воду или лаву.
  • MC-121284 – Кнопки открытия папок карты и пакета ресурсов не работают.
  • MC-121288 – Ошибки управления мыши в режиме обзора Cinematic Camera.[перевод?]
  • MC-121302 – Неуместная активация и дезактивация кнопки «Direct connect»
  • MC-121314 – Текст слайдера разрешения в полноэкранном режиме не умещается в слайдере.
  • MC-121328 – Неправильное масштабирование графического интерфейса.
  • MC-121329 – Нажатие клавиши чата больше не выбирает поиск в инвентаре режима Творчество и книге рецептов.
  • MC-121334 – Нажатие клавиш [1-9] во вкладке поиска режима Творчество посылает дополнительное событие нажатия клавиши строке поиска.
  • MC-121396 – Клавиши WASD указаны в настройках в странном порядке.
  • MC-121418 – Аварийное завершение игры при попытке вставить нестроковое содержимое буфера обмена в текстовое поле.
  • MC-121419 – События мыши в чате обрабатываются со смещением.
  • MC-121421 – Нажатие ↵ Enter в полях названия и зерна мира в меню создания карты больше не создают карту.
  • MC-121456 – Чанки исчезают, если в полноэкранном режиме переключить окно.
  • MC-121468 – Кнопки упорядочения значений статистики больше не работают.
Из предыдущего снимка
  • MC-121517 – Кнопка включения полноэкранного режима не работает на macOS.

Примечания[править | править код]