Как редактировать json файлы minecraft

Обновлено: 05.07.2024

The Minecraft Wiki is no longer considered as official by Microsoft and therefore several changes are required to be made, including to the wiki's logo. Please read this announcement for more information.

Вводный урок [ ]

Требуемые программы Требуемая платформа Требуемая версия игры
Любой удобный текстовый редактор Любая платформа, поддерживающая Bedrock Edition и текстовый редактор 1.12+

В этом руководстве будет рассмотрено:

  • Формат данных JSON.
  • Как создать набор параметров.
  • Как изменить поведение моба.

Для того, чтобы понять данное руководство, потребуется его изучение по порядку.

Формат данных JSON [ ]

Для создания набора параметров потребуется понять способ работы JSON, на котором будет написан будущий аддон. Важно знать лишь самое основное.

В JSON существует лишь два типа данных:

  • Имя и значение данных
    • «Имя»: значение
    • [значение, значение, значение]

    В коде объект с именем и значением располагается в коде в разбросанном порядке.

    Образец кода [ ]

    Работа json кода [ ]

    Данный отрывок кода повторяет самый первый.

    Образец с двумя парами [ ]

    В данном образце вместо одного значения присутствуют сразу два значения в виде пар, они пишутся через запятую.

    Образец с массивом

    В этом отрывке кода присутствует имя и значение, которое имеет массив (список). В данном отрывке кода одна пара имени и значения вложена в другую.

    Здесь определяется тип, к которому относится моб.

    В данном случае значение представлено списком в квадратных скобках.

    Примечание Очень важно, чтобы имена и значения имели начальные и конечные фигурные скобки. Иначе в коде возникнет ошибка и аддон не будет работать должным образом.

    Создание набора параметров [ ]

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

    • Далее в этой папке требуется создать JSON файл с именем manifest.json .

    manifest.json Данный файл укажет игре, что папка является аддоном.

    Перед окончанием создания набора параметров следует отредактировать код на своё усмотрение.

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

    Для привязки набора ресурсов к нашему набору параметров в данном коде требуется заменить UUID на UUID заголовка зависимого набора ресурсов и добавить этот отрывок кода в конец основного, в текущем начальном коде вкладка привязанного набора не указана, она выглядит как «null».

    Примечание В конце любой пары «Имя: значение» должна ставится запятая. Существуют исключения, но чаще всего это так, об этом не стоит забывать, иначе всё сломается.

    Создание иконки Для того, чтобы будущий аддон имел свою собственную иконку, нужно загрузить изображение размером 128×128 пикселей в папку с аддоном и переименовать его на «pack_icon.jpg». После этого будет получен следующий результат:

    Аддон2.jpg

    Настройка файловой системы [ ]

    Перед началом создания аддона, нам требуется настроить систему файлов, которые будут располагаться в аддоне. Необходимо создать в папке аддона ещё одну папку с названием «entities». В этой папке будет храниться вся информация о мобах будущего аддона. Далее требуется скачать шаблонный набор параметров от разработчиков игры. Их можно найти в разделе шаблонов в статье «Аддоны». Шаблон регулярно обновляется и соответствует самой новой версии игры. Далее нужно скопировать из шаблонного набора параметров, по пути «/Vanilla_Behaivor_Pack/entity/cow.json» в папке entities файл cow.json , файл коровы и переместить его в папку entities , но только в свой набор параметров по пути: games/com.mojang/development_behaivor_packs/(Папка вашего аддона)/entities . После этого необходимо открыть его в своём текстовом редакторе.

    Изучение JSON-кода моба [ ]

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

    Нерабочий пример кода

    Данный код является нерабочим, код коровы выглядит совсем иначе.

    Примечание «format version» является версией кода, которую нужно прочитать игре. Его нельзя менять!

    components (компоненты) Компоненты определяют постоянное (индивидуальное) поведение моба, к примеру, свинья будет превращаться в зомбифицированного пиглина при попадании молнии в неё. Она также всегда относится к типу свиньи, мобов. Этими качествами моб будет обладать всегда.

    events (события) События могу добавлять или удалять группы компонентов из мобов, они могут быть активированы от компонента или от отдельного кода. Таким образом при ударе молнии (компонент) активируется нужное событие и свинья получит группу компонентов «Зомби».

    Заметки для компонентов

    minecraft: identifier

    С помощью данного компонента определяется название моба, который расписан в файле.

    Идентификатор свиньи

    minecraft: type_family

    С помощью данного компонента определяется, к какому семейству (типу мобов) подходит данный моб.

    Свинья относится к типам: «Моб»,"Свинья".

    minecraft: entity_spawned

    Данный компонент является событием и запускается в случае, если в мире появляется моб нужного типа. В cow.json используется функция, с помощью которой случайным образом рождается взрослый или детёныш.

    Изменение кода [ ]

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

    Для начала стоит объяснить, как будет работать аддон. Нужно зайти в файл cow.json и начать работу. Мы должны проверить, ударил ли игрок корову. Это мы проверим с помощью постоянного поведения моба (компонента) «minecraft: damage_sensor», который реагирует на нанесение урона. Мы вставим его в «components» коровы.

    Важно! После каждого компонента, события или группы следует ставить запятую, также важно соблюдать фигурные скобки, для того, чтобы не запутаться в коде, проще всего добавлять всё новое в самом начале, когда код ещё не настолько запутан и его легко понять.

    «minecraft: damage_sensor» нужно добавить в фигурные скобки, он должен быть в фигурных скобках «components». Так должен выглядеть код после изменения.

    Примечание В данном коде есть единственная пара «Имя: Значение», а в той паре куча таких же пар. Если вы будете это понимать, то вам не трудно будет ориентироваться здесь.

    minecraft: damage_sensor Компонент реагирует на нанесение урона каким-либо способом.

    Добавление событий После этого следует добавить событие, которые будут отвечать за превращение коровы в свинью.

    Точно также, как и в прошлый раз, следует скопировать или написать самому нужный код. Как вы помните, мы сделали так, чтобы если игрок ударял свинью, активировалось событие с названием «become_pig». В «events» мы пишем название этого события и начинаем его редактировать. Это событие ничего не удаляет, но добавляет к корове группу компонентов «minecraft: cow_transform». Это значит, что теперь она имеет группу трансформации и мы можем изменить поведение при наличии этой группы. Позже вы увидите, для чего это нужно.

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

    Как обычно, поставьте внутри «components_groups» название нашей группы, которую мы активировали событием. Далее в этой группе расписывает пару «Имени: значения», то есть компонент.

    Вот и готов набор параметров или аддон. Теперь самое время протестировать его!

    • Зайдите в Minecraft.
    • Создайте новый мир.
    • Включите в нём ваш набор параметров.
    • Зайдите в мир.
    • Ударьте корову.
    • Получите результат!

    Результат [ ]

    Отлично! Если у вас всё заработало, то вы отлично освоили Аддоны и теперь можете приступить к более сложным мобам, предметам или другим вещам. Если вы хотите продолжить изучение наборов параметров, рекомендуем вам узнать

    Raw JSON text format

    Raw JSON text is the format Minecraft uses to send and display rich text to players. It can also be sent by players themselves using commands and data packs. Raw JSON text is written in JSON, a human-readable data format.

    Blockbench - бесплатный современный редактор моделей

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

    Настройки отображения
    Не теряйте время, изменяя ресурсы и
    перезагружая игру ради пакета ресурсов.
    У Blockbench все это встроено!




    Форматы под экспорт
    Blockbench может экспортировать в различные форматы
    такие как: json, java(при помощи плагина), obj,
    так же включая форматы моделей для PE и Optifine.



    Сочетания клавиш
    Измените все назначенные функций клавиш,
    чтобы сделать вашу программу самой удобной и
    подстроенной под вас!

    Стоимость
    Blockbench - это полностью бесплатный редактор моделей,
    основанный на Javascript.


    Плагины
    Плагины - это скрипты, которые вы можете добавить в Blockbench
    для дополнительных функций, написанных на Javascript.
    Плагины можно установить прямо в редакторе через меню «Plugin».
    Естественно вы можете создать свой собственный плагины.


    Совместимость
    Редактор может быть установлен на ваш компьютер
    под управлением Windows, Mac или Linux
    или может использоваться с веб-приложением.
    Рекомендуемыми браузерами для веб-приложения являются:
    Chrome и Opera, Edge и Internet Explorer не поддерживаются.

    Редактирование текстуры
    Создавайте, редактируйте и рисуйте текстуру прямо внутри программы.
    Это делает Blockbench универсальным решением для пользовательских моделей.


    Общее
    Blockbench - это бесплатный редактор объёмных моделей на основе Javascript для разработчиков карт и ресурсов. Приложение может быть установлено на вашем компьютере под управлением Windows, Mac или Linux или может использоваться с веб-приложением. Рекомендуемыми браузерами для веб-приложения являются Chrome и Opera, Edge и Internet Explorer не поддерживаются. Чтобы загрузить программу установки, перейдите в раздел «Blockbench», нажмите «Download» и выберите свою платформу.

    • Общее
    • Интерфейс
    • Текстуры
    • Редактирование
    • Группы
    • Настройки отображения
    • Воксельная живопись
    • Экспорт
    • Фон
    • Плагины
    • Внешний вид программы (Тема)
    • Видео-уроки

    Инструмент кисть можно использовать для рисования текстур. С помощью инструмента вершинная привязка, вы можете перемещать или масштабировать несколько кубов, соединив один из своих углов.

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

    Рядом с ним есть две кнопки для переключения режима, в котором вы находитесь. Подробнее см. «Настройки дисплея».

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

    Левая боковая панель
    С левой стороны находится редактор UV-развёртки и менеджер текстур. См. «Текстуры» для получения дополнительной информации.

    Правая боковая панель
    С правой стороны находится редактор поворота.

    Ниже вы можете найти структуризатор. Здесь вы видите все кубы, из которых состоит ваша модель. Вы можете выбрать один или несколько, удерживая «Shift». Над структуризатором есть несколько кнопок для изменения кубов.

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

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

    Импорт
    Чтобы импортировать текстуру, нажмите на кнопку «Load Texture» и выбрать текстуру. Чтобы применить текстуру, вы можете либо перетащить ее в редактор UV-развёртки, либо выбрать ее (щелкните левой кнопкой мыши, она станет немного ярче), а затем используйте кнопки для применения текстуры к одному или ко всем граням выбранных кубов ,

    Если вы хотите изменить путь одной из текстур, дважды щелкните на его имени, нажмите «Change File» и выберите другой файл. Это может быть полезно, если вы импортируете модель с текстурами, которые не сохраняются в том же пакете, или если вы используете веб-версию редактора.

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

    Редактирование
    Положение и масштаб
    Положение и масштаб можно изменить с помощью 6 ползунков в строке меню. Прочтите «Интерфейс» для получения дополнительной информации.

    Использование ползунка будет перемещать все выбранные элементы по отдельности, а при вводе абсолютного числа все выбранные элементы будут установлены на один и тот же номер. Если элемент вращается, ползунки будут перемещать его по сетчатым осям. Включите «Move Rotated On Own Axis» в настройках, чтобы заставить его перемещаться по оси относительно элемента.

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

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

    Группы
    Группа - это объединение элементов для удобного их выбора и редактирования. Группы не существуют в реальной модели, они просто помогают редактировать. При моделировании «Bedrock Entity», группа представляет собой кость.

    Управление
    Вы можете создать группу с помощью кнопки «New Group» или с помощью комбинаций клавиш (Ctrl + G по умолчанию). Сортируйте группы и перемещайте в них другие группы или кубы путем перетаскивания. Перетаскивание выполняется только при нажатии значков, а не при нажатии на имя. Чтобы выбрать группу, щелкните ее левой кнопкой мыши. Щелкните левой кнопкой мыши еще раз, чтобы выбрать группу, а не контент.

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

    • Нажмите «Duplicate», чтобы дублировать группу объектов с ее содержимым
    • Нажмите «Sort», чтобы отсортировать содержимое группы по алфавиту
    • Нажмите «Resolve», чтобы удалить группу и переместить все содержимое на слой ниже
    • Нажмите «Rename» или дважды щелкните «Rename», чтобы изменить название у группы
    • Нажмите «Rename Content», чтобы переименовать все элементы внутри группы.

    Обработка
    В слот панели дисплея вы можете выбрать слот для редактирования. С левой стороны расположены три секции. Каждый раздел состоит из кнопки сброса и ползунков с аффилированным полем ввода. Каждый из этих ползунков обозначает одну ось, X, Y и Z. Обратите внимание, что вы не можете использовать ползунок Z в слотах 2D-дисплея. Вы можете копировать и вставлять настройки на другие стороны с помощью соответствующих кнопок.

    • «Thirdperson Left» -Отображение модели в левой руке от третьего лица.
    • «Thirdperson Right» -Отображение модели в правой руке от третьего лица.
    • «Firstperson Left» -Отображение модели в левой руке от первого лица.
    • «Firstperson Reft» -Отображение модели в правой руке от первого лица.
    • «Head» -Отображение модели на голове.
    • «Ground» -Отображение модели на земле.
    • «Frame» -Отображение модели в рамке.
    • «GUI» -Отображение модели в графическом интерфейсе пользователя.

    Пресеты
    Ниже ползунков имеется предустановленный бар. Нажатие на один из пресетов автоматически применит правильные настройки к выбранной стороне. Вы можете удалить все пресеты, кроме 4 стандартных, с помощью кнопки X. Чтобы создать пресет, нажмите «Создать пресет» и выберите слоты, которые вы хотите сохранить.

    Воксельная Живопись
    Если вы хотите создавать сложные модели, функция «voxeling» может быть вариантом. Имейте в виду, что модели вокселей, как правило, не столь производительным как обычные модели.

    Живопись
    Выберите инструмент «Voxel Paint» на панели инструментов. Нажмите на куб, который вы хотите использовать в качестве шаблона. После того, как вы сделали это, вы можете нажать на стороне элемента, чтобы добавить кубик там.

    Экспорт
    «Blockmodel»
    JSON - это формат Minecraft по умолчанию, который используется для сохранения модели. Перейдите в «File» -> «Export» -> «Blockmodel» и выберите имя и папку для сохранения в формате JSON. Если вы это сделали, нажав Ctrl + S или нажав «Save», этот файл будет перезаписан

    Модель Obj
    OBJ-файлы - это простой способ поделиться своей моделью за пределами Blockbench и Minecraft. Эта опция также сохранит необходимые файлы материалов и текстур в одной папке.

    Модель сущности JSON
    Используйте этот параметр экспорта для экспорта в качестве модели сущности Minecraft Pocket Edition/Windows 10 Edition.

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

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

    После того как вы добавили фон, вы увидите панель в правом нижнем углу. Нажмите стрелку, чтобы развернуть ее. Здесь вы можете контролировать положение и размер фона.

    Если включить переключатель блокировки, фон будет придерживаться программы и не двигаться с моделью. Это работает только в орфографических слотах.

    Внешний вид программы (Тема)
    Тема - это тип настроек Blockbench, которое изменяет внешний вид Blockbench. В этой главе описано, как искать, устанавливать и управлять темами в Blockbench.

    Темы изменяют внешний вид Blockbench, например, цветовую схему и шрифт текста.

    Щёлкните по кнопке по меню «File» -> «Settings» и перейдите во вкладку «Layout». Будет открыта вкладка с управлением внешнего вида этой программы. Вот так он выглядит:

    Снимок.PNG

    • В верху находятся три значка:
      1. «Import Layout» - Импортировать файл в котором храниться стиль темы.
      2. «Export Layout» - Экспортировать в файл, стиль темы.
      3. «Reset Layout» - Вернуть к стандартному виду стему программы.
    • В центре находятся "окна" в которых можно выбрать цвет определённого параметра:
      • «Back» - Цвет фона поля для ввода.
      • «Dark» - Цвет фона холста.
      • «UI» - Цвет главного интерфейса.
      • «Button» - Цвет кнопок и переключателей.
      • «Hover» - Цвет выделенных вкладок и объектов.
      • «Border» - Цвет границ.
      • «Accent» - Цвет ползунка и прочих деталей.
      • «Grid» - Цвет сетки при просмотре объёмных моделей.
      • «Text» - Цвет стандартного текста.
      • «Light» - Цвет выделенного текста.
      • «Accent Text» - Цвет текста на котором акцентируется внимание.
      • «Main Font» - Главный шрифт.
      • «Headline Font» - Шрифт заголовка.



      Contents

      Bedrock Edition [ ]

      This sends a message to all players saying "Hello World" in English only. See the Translate action to see how to send localized texts.

      Appending [ ]

      Breaking lines [ ]

      Translate [ ]

      The translate object allows creators to provide localized text to users. If translate is specified along with text, translate overrides the text object. The string to provide to translate is the name of the string in the language files. For example, in Vanilla Minecraft "commands.op.success" is the string that displays when /op is used on a player successfully.

      This outputs "Opped %s" to all players. Note that because of text being ignored with translate specified, the following example outputs the same text:

      In the translate example above, it outputs "Opped %s". To have a name or other text show up instead of %s, "with" needs to be specified as well. Note that "with" only works with "translate" and also requires an array [] instead of curly brackets <> .

      If you want to use a translated text inside the "with" component, instead of an array it needs to be another rawtext component (which consists of an array of JSON texts). The following example outputs "Opped Apple".

      "translate" and "%s" can be used without needing a corresponding string in the localization files. For example:

      This outputs "Hello Steve" to all players.

      Multiple %s [ ]

      %%s can be used multiple times. They are filled in, in the order specified

      Outputs: "Hello Steve and Alex"

      You can again use a rawtext component to replace the plain string array, like so

      Outputs: "Hello Steve and Apple"

      Outputs: "Hello Alex and Steve"

      Formatting [ ]

      String formatting is still possible, but not using the JSON tags used in Java Edition. Instead, Formatting codes are used to change text color and style.

      Создание наборов параметров

      Данное руководство поможет вам создать свой первый набор параметров для Bedrock Edition.

      Как редактировать json файлы minecraft

      Я программист, который разрабатывает свой собственный мод на Minecraft Forge 1.12.x -1.16.x. Ищу людей , которые умеют делать модели в BlockBench и готовы помочь мне создать их для моего мода. Показать полностью. Важным уточнением здесь является то , что я работаю исходя из собственного энтузиазма и никаких денег с проекта не будет - это некоммерческий проект для заработка, все создаётся из-за моей любви к данной игре(скажем так) и запредельном наслаждением от всего процесса кодинга . Однако, я не умею рисовать, создавать модели , да и мне это особо не нравится , по этому ищу напарника, который хотел бы реализовать свои мечты, создать свой собственный мод, на тех же условиях, как и у меня(безвозмездно). Как и я вы будете в списках авторов, если вам нужна от меня ещё какая-то помощь , можете обращаться . Сам проект свободный , так что вы можете предлагать свои идеи , которые мы реализуем.

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

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

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

      Java Edition [ ]

      Raw JSON text is made up of text components. There is a single root component, which can have child components, which can have their own children and so on. Components can also have formatting and interactivity added to them, which is inherited by their children.

      A raw JSON text component can be any JSON data type other than JSON null, including JSON string, JSON array, JSON object, JSON boolean, and JSON number. The game treats booleans and numbers as strings. Strings and arrays are both shorthand for longer object structures, as described below.

      Content types [ ]

      Raw JSON text components can display several types of content. These tags should be included directly into the text component object.

      Plain Text [ ]

      Displays plain text.

      Translated Text [ ]

      Displays a translated piece of text from the currently selected language. This uses the client's selected language, so if players with their games set to different languages are logged into the same server, each will see the component in their own language.

      Translations are defined in language files in resource packs, including the built-in resource pack.

      Scoreboard Value [ ]

      Displays a score from the scoreboard.

      Entity Names [ ]

      Displays the name of one or more entities found by a selector.

      If exactly one entity is found, the entity's name is displayed by itself. If more are found, their names are displayed in the form "Name1, Name2, Name3", with gray commas. If none are found, the component is displayed as no text.

      Hovering over a name shows a tooltip with the name, type, and UUID of the target. Clicking a player's name suggests a command to whisper to that player. Shift-clicking a player's name inserts that name into chat. Shift-clicking a non-player entity's name inserts its UUID into chat.

      Keybind [ ]

      Displays the name of the button that is currently bound to a certain configurable control. This uses the client's own control scheme, so if players with different control schemes are logged into the same server, each will see their own keybind.

      NBT Values [ ]

      Component resolution [ ]

      Additionally, resolution fixes a single value in place. Therefore, these content types are not dynamic, and don't update to reflect changes in their environment, while "simple" components usually do.

      Содержание

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