10 декабря 2019 года планируется обновление программного обеспечения сайта, MediaWiki, до версии 1.33. В ходе обновления сайт будет временно доступен только для чтения. Подробная информация об этом обновлении доступна на Справочной вики Gamepedia.

We are currently performing an upgrade to our software. This upgrade will bring MediaWiki from version 1.31 to 1.33. While the upgrade is being performed on your wiki it will be in read-only mode. For more information check here.

17w45a

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

Java Edition

Тип

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

Дата выпуска

8 ноября 2017 г.

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

1.13

Версия протокола

343

Версия данных

1447

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

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

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

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

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

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

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

Общее
  • Команды и функции теперь намного быстрее и эффективнее исполняются.
  • Большинство команд получили чувствительность к регистру. По возможность следует использовать нижний регистр.
    • Например, такое использование вызовет ошибку: /scoreboard ObJeCtIvEs ...
  • Выходной сигнал командного блока был его «счётчиком успешности», но теперь является «результатом исполнения команды».
Конкретные команды
/advancement
  • Удалён аргумент /advancement test, вместо него следует использовать селекторы сущностей
/clear
  • Синтаксис команды /clear был изменён.
    • /clear [<цель>] [<предмет>] [<данные>] [<количество>] [<nbt>] станет /clear [<цель>] [<предмет>] [<количество>]
    • Подробности указаны в описании типа аргумента предмет.
    • Аргумент [<данные>] был удалён в целях подготовки к сжатию, у предметов больше не будет данных, а значения метаданных будут перемещены в 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 <игроки> <предмет> [<количество>]
    • Подробности указаны в описании типа аргумента предмет.
    • Аргумент [<данные>] был удалён в целях подготовки к сжатию, у предметов больше не будет данных, а значения метаданных будут перемещены в 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 <цель> <ячейка> <предмет> [<количество>]
    • Подробности указаны в описании типа аргумента предмет.
    • Аргумент [<данные>] был удалён в целях подготовки к сжатию, у предметов больше не будет данных, а значения метаданных будут перемещены в 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 – Ошибки управления мыши в режиме обзора «Кинематографическая камера».
  • MC-121302 – Неуместная активация и дезактивация кнопки «По адресу».
  • 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.

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