{
  "key.categories.psi": "Пси",
  "itemGroup.psi": "Psi",
  "psi.desc": "Это шутка, которая ломает четвертую стену, наслаждайтесь.",
  "psimisc.shift_for_info": "§7Удерживайте §bSHIFT§7, чтобы получить дополнительную информацию.",
  "psimisc.ctrl_for_stats": "§7Удерживайте §bCTRL§7 для просмотра статистики фигур",
  "psimisc.component_type": "§aТип компонента§7: %s",
  "psimisc.none": "(нет)",
  "psimisc.stats": "Статистика",
  "psimisc.socketing": "Розетка",
  "psimisc.keybind": "Привязка клавиш пси-мастера",
  "psimisc.selected": "Выбрано",
  "psimisc.spell_selected": "§dВыбрано заклинание§7: %s",
  "psimisc": "Имя:",
  "psimisc.compiled": "Компиляция прошла успешно",
  "psimisc.errored": "Ошибка компиляции",
  "psimisc.weak_cad": "Статистика вашего CAD слишком слаба, чтобы использовать это заклинание.",
  "psimisc.canceled_spell": "Что-то помешало вам применить это заклинание.",
  "psimisc.cancelled_cad_take": "Что-то помешало вам создать САПР.",
  "psimisc.constant": "Константа",
  "psimisc.next_page": "Следующая страница",
  "psimisc.prev_page": "Предыдущая страница",
  "psimisc.config": "Конфигурация",
  "psimisc.not_your_programmer": "Кажется, этим пользуется кто-то другой. Наверное, лучше с этим не связываться.",
  "psimisc.cant_use_programmer": "Вы понятия не имеете, как с этим работать.",
  "psimisc.level_display": "Уровень %d",
  "psimisc.level_info": "Уровень %d — Очки уровня: %d",
  "psimisc.level_info_creative": "Уровень %d (Креатив) — Очки уровня: %d",
  "psimisc.locked": "Заблокировано",
  "psimisc.requirements": "Требования",
  "psimisc.learn": "Узнать",
  "psimisc.levelup": "Повышение уровня",
  "psimisc.wip": "Пси-бета | Не окончательно!",
  "psimisc.bullet_type": "§bType§7: %s",
  "psimisc.bullet_cost": "§bМножитель стоимости§7: %s%%",
  "psimisc.level_up_info1": "Вы завершили этот групповой урок!",
  "psimisc.level_up_info2": "Снимите свой CAD и нажмите [%s], чтобы перейти к следующему!",
  "psimisc.import_from_clipboard": "Импорт из буфера обмена",
  "psimisc.export_to_clipboard": "Экспорт в буфер обмена",
  "psimisc.must_hold_shift": "(Должно быть зажато SHIFT)",
  "psimisc.malformed_json": "Ошибка импорта: неверная строка: %s",
  "psimisc.missing_pieces": "Ошибка импорта: отсутствуют фрагменты заклинания, использованные для импорта.",
  "psimisc.load_prompt": "Нагрузка?",
  "psimisc.spectator": "[Режим наблюдателя]",
  "psimisc.multiple_cads": "Другой CAD в вашем инвентаре мешает вашему гипсу. Одновременно у вас может быть только один CAD.",
  "psimisc.provider_mod": "§7Addon: §9%s",
  "psimisc.trick_pattern": "^Трюк: (.+)$",
  "psimisc.programmer_help": "§aПомощь программисту",
  "psimisc.ctrl_windows": "Ctrl",
  "psimisc.ctrl_mac": "Команда",
  "psimisc.enter_commit": "Нажмите Enter, чтобы зафиксировать",
  "psimisc.semicolon_line": "Используйте; изменить строку",
  "psimisc.programmer_coords": "Выбрано: [%d, %d] | Курсор: [%d, %d]",
  "psimisc.programmer_coords_no_cursor": "Выбрано: [%d, %d]",
  "psimisc.name": "Имя",
  "psimisc.requiredaddons": "Требуемые дополнения:",
  "psimisc.modnotfound": "Заклинание, которое вы пытались импортировать, не будет импортировано целиком, так как оно использует фрагменты из неустановленного мода %d.",
  "psimisc.spellonnewerversion": "Это заклинание было создано на основе более новой версии Psi; это может работать, а может и не работать так, как задумано.",
  "psi.container.socketable": "Розетки",
  "psi.subtitle.bullet_create": "Заклинание сохранено",
  "psi.subtitle.cad_create": "САПР в сборе",
  "psi.subtitle.spell_cast": "CAD слепки",
  "psi.subtitle.loopcast": "Циклические передачи САПР",
  "block.psi.cad_assembler": "САПР Ассемблер",
  "block.psi.programmer": "Программист заклинаний",
  "block.psi.psidust_block": "Псидустовый блок",
  "block.psi.psimetal_block": "Псиметал Блок",
  "block.psi.psigem_block": "Псигем Блок",
  "block.psi.black_psimetal_plate": "Темная псиметаллическая пластина",
  "block.psi.lit_black_psimetal_plate": "Пластина потока темного псиметала",
  "block.psi.white_psimetal_plate": "Яркая псиметаллическая пластина",
  "block.psi.lit_white_psimetal_plate": "Яркая пластина потока Psimetal",
  "block.psi.ebony_psimetal_block": "Эбеновый псиметаллический блок",
  "block.psi.ivory_psimetal_block": "Псиметаллический блок цвета слоновой кости",
  "block.psi.conjured": "Сотворенный блок",
  "block.psi.psimetal_plate_white": "Яркая псиметаллическая пластина",
  "block.psi.psimetal_plate_white_light": "Яркая пластина потока Psimetal",
  "item.psi.psidust": "Псидуст",
  "item.psi.psimetal": "Псиметаллический слиток",
  "item.psi.psigem": "Псигем",
  "item.psi.ebony_psimetal": "Эбонитовый слиток псиметалла",
  "item.psi.ivory_psimetal": "Слиток псиметалла цвета слоновой кости",
  "item.psi.ebony_substance": "Черное дерево",
  "item.psi.ivory_substance": "Вещество цвета слоновой кости",
  "item.psi.cad": "Устройство-помощник по кастингу",
  "item.psi.cad_assembly_iron": "Железная сборка САПР",
  "item.psi.cad_assembly_gold": "Золотая сборка САПР",
  "item.psi.cad_assembly_psimetal": "Psimetal CAD сборка",
  "item.psi.cad_assembly_ebony_psimetal": "Эбеновое дерево Psimetal CAD сборка",
  "item.psi.cad_assembly_ivory_psimetal": "Сборка CAD Psimetal цвета слоновой кости",
  "item.psi.cad_assembly_creative": "Творческая сборка САПР",
  "item.psi.cad_core_basic": "Базовое ядро САПР",
  "item.psi.cad_core_overclocked": "Разогнанное ядро САПР",
  "item.psi.cad_core_conductive": "Проводящее ядро САПР",
  "item.psi.cad_core_hyperclocked": "Ядро САПР с гипертактовой частотой",
  "item.psi.cad_core_radiative": "Радиационное ядро САПР",
  "item.psi.cad_socket_basic": "Базовый разъем САПР",
  "item.psi.cad_socket_signaling": "Сигнальный разъем CAD",
  "item.psi.cad_socket_large": "Большая розетка САПР",
  "item.psi.cad_socket_transmissive": "Трансмиссивная розетка CAD",
  "item.psi.cad_socket_huge": "Огромный разъем САПР",
  "item.psi.cad_battery_basic": "Базовая батарея САПР",
  "item.psi.cad_battery_extended": "Расширенная батарея САПР",
  "item.psi.cad_battery_ultradense": "Сверхплотная батарея САПР",
  "item.psi.cad_colorizer_white": "Белый колоризатор САПР",
  "item.psi.cad_colorizer_orange": "Оранжевый колоризатор САПР",
  "item.psi.cad_colorizer_magenta": "Пурпурный CAD-раскрашиватель",
  "item.psi.cad_colorizer_light_blue": "Голубой колоризатор САПР",
  "item.psi.cad_colorizer_yellow": "Желтый колоризатор САПР",
  "item.psi.cad_colorizer_lime": "Колоризатор Lime CAD",
  "item.psi.cad_colorizer_pink": "Розовый колоризатор САПР",
  "item.psi.cad_colorizer_gray": "Колоризатор серого САПР",
  "item.psi.cad_colorizer_light_gray": "Светло-серый колоризатор САПР",
  "item.psi.cad_colorizer_cyan": "Колоризатор голубого САПР",
  "item.psi.cad_colorizer_purple": "Фиолетовый колоризатор САПР",
  "item.psi.cad_colorizer_blue": "Синий колоризатор САПР",
  "item.psi.cad_colorizer_brown": "Коричневый колоризатор САПР",
  "item.psi.cad_colorizer_green": "Зеленый колоризатор САПР",
  "item.psi.cad_colorizer_red": "Красный колоризатор САПР",
  "item.psi.cad_colorizer_black": "Черный колоризатор CAD",
  "item.psi.cad_colorizer_rainbow": "Полноспектральный колоризатор САПР",
  "item.psi.cad_colorizer_psi": "Колоризатор Psi CAD",
  "item.psi.cad_colorizer_empty": "Опустошенный колоризатор САПР",
  "item.psi.flash_ring": "Флэш-кольцо",
  "item.psi.flash_ring_active": "Запрограммированное мигающее кольцо",
  "item.psi.spell_bullet": "Заклинание Пуля",
  "item.psi.spell_bullet_active": "Запрограммированная пуля заклинаний",
  "item.psi.spell_bullet_projectile": "Снаряд Заклинание Пуля",
  "item.psi.spell_bullet_projectile_active": "Запрограммированный снаряд Заклинание Пуля",
  "item.psi.spell_bullet_loop": "Заклинание «Петля»",
  "item.psi.spell_bullet_loop_active": "Запрограммированная пуля заклинания Loopcast",
  "item.psi.spell_bullet_circle": "Круговая пуля заклинания",
  "item.psi.spell_bullet_circle_active": "Пуля заклинания запрограммированного круга",
  "item.psi.spell_bullet_grenade": "Граната Заклинательная Пуля",
  "item.psi.spell_bullet_grenade_active": "Запрограммированная пуля гранаты",
  "item.psi.spell_bullet_charge": "Зарядная пуля заклинания",
  "item.psi.spell_bullet_charge_active": "Запрограммированная пуля заряжения",
  "item.psi.spell_bullet_mine": "Моя заклинательная пуля",
  "item.psi.spell_bullet_mine_active": "Запрограммированная мина-заклинание Пуля",
  "item.psi.spell_drive": "Заклинание драйва",
  "item.psi.psimetal_shovel": "Псиметаллическая лопата",
  "item.psi.psimetal_pickaxe": "Псиметаллическая кирка",
  "item.psi.psimetal_axe": "Псиметаллический топор",
  "item.psi.psimetal_sword": "Псиметаллический меч",
  "item.psi.psimetal_shovel.broken": "Поврежденная псиметаллическая лопата",
  "item.psi.psimetal_pickaxe.broken": "Поврежденная псиметаллическая кирка",
  "item.psi.psimetal_axe.broken": "Поврежденный псиметаллический топор",
  "item.psi.psimetal_sword.broken": "Поврежденный псиметаллический меч",
  "item.psi.detonator": "Заклинание Детонатор",
  "item.psi.psimetal_exosuit_helmet": "Псиметаллический экзокостюмный шлем",
  "item.psi.psimetal_exosuit_chestplate": "Нагрудник псиметаллического экзокостюма",
  "item.psi.psimetal_exosuit_leggings": "Поножи экзокостюма псиметал",
  "item.psi.psimetal_exosuit_boots": "Ботинки экзокостюма псиметалла",
  "item.psi.psimetal_exosuit_helmet.broken": "Поврежденный шлем экзокостюма псиметалла",
  "item.psi.psimetal_exosuit_chestplate.broken": "Поврежденная нагрудник псиметаллического экзокостюма",
  "item.psi.psimetal_exosuit_leggings.broken": "Поврежденные поножи экзокостюма псиметалла",
  "item.psi.psimetal_exosuit_boots.broken": "Поврежденные ботинки экзокостюма из псиметалла",
  "item.psi.exosuit_controller": "Контроллер экзокостюма",
  "item.psi.exosuit_sensor_light": "Датчик освещенности экзокостюма",
  "item.psi.exosuit_sensor_water": "Датчик воды в экзокостюме",
  "item.psi.exosuit_sensor_heat": "Датчик тепла экзокостюма",
  "item.psi.exosuit_sensor_stress": "Датчик стресса экзокостюма",
  "item.psi.exosuit_sensor_trigger": "Датчик детонации экзокостюма",
  "item.psi.vector_ruler": "Векторная линейка",
  "death.attack.psi-overload": "%s переполнили свою псионическую энергию",
  "psi.component.assembly": "Сборка",
  "psi.component.core": "Ядро",
  "psi.component.socket": "Розетка",
  "psi.component.battery": "Батарея",
  "psi.component.dye": "Колоризатор",
  "psi.cadstat.efficiency": "Эффективность",
  "psi.cadstat.potency": "Потенция",
  "psi.cadstat.complexity": "Сложность",
  "psi.cadstat.projection": "Проекция",
  "psi.cadstat.bandwidth": "Пропускная способность",
  "psi.cadstat.sockets": "Розетки",
  "psi.cadstat.saved_vectors": "Память",
  "psi.cadstat.overflow": "Переполнение",
  "psi.spellstat.complexity": "Сложность",
  "psi.spellstat.complexity.desc": "Количество действий",
  "psi.spellstat.potency": "Потенция",
  "psi.spellstat.potency.desc": "Сила заклинания",
  "psi.spellstat.cost": "Стоимость",
  "psi.spellstat.cost.desc": "Стоимость Пси при касте",
  "psi.spellstat.projection": "Проекция",
  "psi.spellstat.projection.desc": "Количество трюков",
  "psi.spellstat.bandwidth": "Пропускная способность",
  "psi.spellstat.bandwidth.desc": "Ширина или высота заклинания (наибольшая)",
  "psi.bullet_type_basic": "Нормальный",
  "psi.bullet_type_projectile": "Снаряд",
  "psi.bullet_type_loopcast": "Loopcast",
  "psi.bullet_type_circle": "Круг заклинаний",
  "psi.bullet_type_grenade": "Граната",
  "psi.bullet_type_charge": "Зарядка",
  "psi.bullet_type_mine": "Мой",
  "psi.event.none": "(Нет обработчика событий)",
  "psi.event.damage": "§bEvent§7: Damage",
  "psi.event.tick": "§bEvent§7: Tick",
  "psi.event.jump": "§bEvent§7: Jump",
  "psi.event.low_light": "§bСобытие§7: Низкая освещенность",
  "psi.event.underwater": "§bEvent§7: Underwater",
  "psi.event.on_fire": "§bСобытие§7: В огне",
  "psi.event.low_hp": "§bСобытие§7: Низкое здоровье",
  "psi.event.spell_detonate": "§bEvent§7: Detonation",
  "psi.programmer_reference0": "§bKeybinds",
  "psi.programmer_reference1": "Удалить часть: §bDelete",
  "psi.programmer_reference2": "Очистить сетку: §b%1$s-Shift-Delete",
  "psi.programmer_reference3": "Сдвиг сетки: §b%1$s + клавиши со стрелками",
  "psi.programmer_reference4": "Поворот сетки: §b%1$s-Shift-влево/вправо",
  "psi.programmer_reference5": "Зеркально отразить сетку по вертикали: §b%1$s-Shift-Down",
  "psi.programmer_reference6": "Copy/Cut/Paste: §b%1$s-C/%1$s-X/%1$s-V",
  "psi.programmer_reference7": "Undo/Redo: §b%1$s-Z/%1$s-Y",
  "psi.programmer_reference8": "Открыть панель/Выбрать фрагмент: §bEnter",
  "psi.programmer_reference9": "Установить параметр: §bЦифровые клавиши + клавиши со стрелками",
  "psi.programmer_reference10": "Установить комментарий: §b%1$s-D",
  "psi.programmer_reference11": "Переключить фокус: §bTab",
  "psi.programmer_reference12": "Показать подсказку: §bAlt",
  "psi.programmer_reference13": "Перемещение курсора: §bКлавиши со стрелками",
  "psi.programmer_reference14": "Загрузить в Imgur: §b%1$s-Shift-Alt-G",
  "psi.programmer_reference15": "Поделиться на Reddit: §b%1$s-Shift-Alt-R",
  "psi.programmer_reference16": "",
  "psi.programmer_reference17": "§bSearch Terms",
  "psi.programmer_reference18": "Принимающий тип: §bin:(тип)",
  "psi.programmer_reference19": "Тип вывода: §bout:(type)",
  "psi.programmer_reference20": "Имя начинается с: §b(имя)_",
  "psi.programmer_reference21": "Имя заканчивается на: §b_(имя)",
  "psi.programmer_reference22": "Из мода: §b@(имя)",
  "psi.spellpiece.selector_caster": "Выбор: Кастер",
  "psi.spellpiece.selector_caster.desc": "Выбирает человека, накладывающего заклинание",
  "psi.spellpiece.selector_focal_point": "Селектор: Координатор",
  "psi.spellpiece.selector_focal_point.desc": "Выбирает фокусную точку этого заклинания.",
  "psi.spellpiece.selector_nearby_items": "Селектор: Близлежащие объекты",
  "psi.spellpiece.selector_nearby_items.desc": "Выбирает элементы рядом с заданной позицией",
  "psi.spellpiece.selector_nearby_living": "Выбор: Жилье по соседству",
  "psi.spellpiece.selector_nearby_living.desc": "Выбирает живые существа рядом с заданной позицией.",
  "psi.spellpiece.selector_nearby_enemies": "Селектор: ближайшие враги",
  "psi.spellpiece.selector_nearby_enemies.desc": "Выбирает врагов рядом с заданной позицией",
  "psi.spellpiece.selector_nearby_animals": "Селектор: Животные поблизости",
  "psi.spellpiece.selector_nearby_animals.desc": "Выбирает животных рядом с заданной позицией",
  "psi.spellpiece.selector_nearby_projectiles": "Селектор: ближайшие снаряды",
  "psi.spellpiece.selector_nearby_projectiles.desc": "Выбирает снаряды рядом с заданной позицией",
  "psi.spellpiece.selector_nearby_smeltables": "Выбор: Близлежащие плавильни",
  "psi.spellpiece.selector_nearby_smeltables.desc": "Выбирает плавильные предметы рядом с заданной позицией.",
  "psi.spellpiece.selector_loopcast_index": "Селектор: Индекс Loopcast",
  "psi.spellpiece.selector_loopcast_index.desc": "Выбирает количество выполненных циклических вычислений",
  "psi.spellpiece.selector_block_broken": "Селектор: Блок сломан",
  "psi.spellpiece.selector_block_broken.desc": "Выбирает сломанный блок (для инструментов)",
  "psi.spellpiece.selector_block_side_broken": "Селектор: Блокировать сломанную сторону",
  "psi.spellpiece.selector_block_side_broken.desc": "Выбирает сторону, на которой блок был сломан (для инструментов).",
  "psi.spellpiece.selector_attack_target": "Селектор: Цель атаки",
  "psi.spellpiece.selector_attack_target.desc": "Выбирает объект, атакованный заклинателем",
  "psi.spellpiece.selector_sneak_status": "Селектор: статус скрытности",
  "psi.spellpiece.selector_sneak_status.desc": "Определяет, скрывается ли заклинатель (1, если нет, 0, если да)",
  "psi.spellpiece.selector_time": "Селектор: Время",
  "psi.spellpiece.selector_time.desc": "Выбирает внутреннее время CAD (в тиках)",
  "psi.spellpiece.selector_attacker": "Выбор: Атакующий",
  "psi.spellpiece.selector_attacker.desc": "Выбирает сущность, напавшую на заклинателя",
  "psi.spellpiece.selector_damage_taken": "Селектор: Полученный урон",
  "psi.spellpiece.selector_damage_taken.desc": "Выбирает количество урона, полученного заклинателем.",
  "psi.spellpiece.selector_ruler_vector": "Селектор: Вектор линейки",
  "psi.spellpiece.selector_ruler_vector.desc": "Выбирает вектор, определенный векторной линейкой.",
  "psi.spellpiece.selector_item_presence": "Селектор: Наличие товара",
  "psi.spellpiece.selector_item_presence.desc": "Выбирает размер стека предметов инвентаря.",
  "psi.spellpiece.selector_block_presence": "Селектор: Блокировать присутствие",
  "psi.spellpiece.selector_block_presence.desc": "Выбирает наличие и надежность блока.",
  "psi.spellpiece.selector_saved_vector": "Селектор: сохраненный вектор",
  "psi.spellpiece.selector_saved_vector.desc": "Выбирает сохраненный вектор из памяти CAD.",
  "psi.spellpiece.selector_eidos_changelog": "Селектор: Журнал изменений Eidos",
  "psi.spellpiece.selector_eidos_changelog.desc": "Выбирает позицию из списка изменений Eidos.",
  "psi.spellpiece.selector_nearby_charges": "Селектор: счетчик зарядов",
  "psi.spellpiece.selector_nearby_charges.desc": "Выбирает количество зарядов возле заданной позиции",
  "psi.spellpiece.selector_nearby_players": "Селектор: Ближайшие игроки",
  "psi.spellpiece.selector_nearby_players.desc": "Выбирает игроков рядом с заданной позицией",
  "psi.spellpiece.selector_nearby_vehicles": "Выбор: Ближайшие аттракционы",
  "psi.spellpiece.selector_nearby_vehicles.desc": "Выбирает объекты, на которых можно ездить, рядом с заданной позицией.",
  "psi.spellpiece.selector_nearby_falling_blocks": "Селектор: ближайшие падающие блоки",
  "psi.spellpiece.selector_nearby_falling_blocks.desc": "Выбирает падающие блоки рядом с заданной позицией.",
  "psi.spellpiece.selector_nearby_glowing": "Селектор: Светящийся",
  "psi.spellpiece.selector_nearby_glowing.desc": "Выбирает объекты, которые светятся или излучают свет вблизи заданной позиции.",
  "psi.spellpiece.selector_caster_energy": "Селектор: Энергия Кастер",
  "psi.spellpiece.selector_caster_energy.desc": "Выбирает уровень пси-энергии заклинателя.",
  "psi.spellpiece.selector_caster_battery": "Селектор: Кастерная батарея",
  "psi.spellpiece.selector_caster_battery.desc": "Выбирает уровень заряда батареи CAD заклинателя.",
  "psi.spellpiece.selector_sucession_counter": "Селектор: счетчик успехов",
  "psi.spellpiece.selector_sucession_counter.desc": "Выбирает количество раз, когда заклинание будет выполнено из этой части брони.",
  "psi.spellpiece.selector_is_elytra_flying": "Селектор: Надкрылья развернуты",
  "psi.spellpiece.selector_is_elytra_flying.desc": "Возвращает 1, если у заклинателя развернуты надкрылья.",
  "psi.spellpiece.selector_transmission": "Селектор: Последняя передача",
  "psi.spellpiece.selector_transmission.desc": "Получает последнее сообщение, полученное данным CAD в данном канале.",
  "psi.spellpiece.selector_item_count": "Селектор: Количество предметов",
  "psi.spellpiece.selector_item_count.desc": "Считает предметы в вашем инвентаре идентичными предметам в вашем целевом слоте.",
  "psi.spellpiece.selector_tick_time": "Селектор: Время тика",
  "psi.spellpiece.selector_tick_time.desc": "Возвращает среднее время такта для измерения фокусной точки.",
  "psi.spellpiece.selector_tps": "Селектор: ТПС",
  "psi.spellpiece.selector_tps.desc": "Возвращает среднее количество тактов в секунду для измерения фокусной точки.",
  "psi.spellpiece.operator_sum": "Оператор: Сумма",
  "psi.spellpiece.operator_sum.desc": "А + Б (+ С)",
  "psi.spellpiece.operator_subtract": "Оператор: Вычесть",
  "psi.spellpiece.operator_subtract.desc": "А — Б (- С)",
  "psi.spellpiece.operator_multiply": "Оператор: Умножить",
  "psi.spellpiece.operator_multiply.desc": "А*Б(*С)",
  "psi.spellpiece.operator_divide": "Оператор: Разделить",
  "psi.spellpiece.operator_divide.desc": "А/Б",
  "psi.spellpiece.operator_absolute": "Оператор: Абсолют",
  "psi.spellpiece.operator_absolute.desc": "Вычисляет абсолютное значение числа",
  "psi.spellpiece.operator_inverse": "Оператор: Инверсный",
  "psi.spellpiece.operator_inverse.desc": "Вычисляет обратное число",
  "psi.spellpiece.operator_modulus": "Оператор: Модуль",
  "psi.spellpiece.operator_modulus.desc": "A %% B (Целое число)",
  "psi.spellpiece.operator_integer_divide": "Оператор: Целочисленное деление",
  "psi.spellpiece.operator_integer_divide.desc": "А/Б (Целое число)",
  "psi.spellpiece.operator_random": "Оператор: Случайный",
  "psi.spellpiece.operator_random.desc": "Случайное число от 0 до заданного числа (эксклюзивное)",
  "psi.spellpiece.operator_sin": "Оператор: Синус",
  "psi.spellpiece.operator_sin.desc": "Грех(А)",
  "psi.spellpiece.operator_cos": "Оператор: Косинус",
  "psi.spellpiece.operator_cos.desc": "Потому что (А)",
  "psi.spellpiece.operator_asin": "Оператор: Арк Синус",
  "psi.spellpiece.operator_asin.desc": "Асин(А)",
  "psi.spellpiece.operator_acos": "Оператор: Арккосинус",
  "psi.spellpiece.operator_acos.desc": "Акос(А)",
  "psi.spellpiece.operator_max": "Оператор: Макс",
  "psi.spellpiece.operator_max.desc": "Получает наибольшее значение из переданных в",
  "psi.spellpiece.operator_min": "Оператор: Мин",
  "psi.spellpiece.operator_min.desc": "Получает наименьшее значение из переданных",
  "psi.spellpiece.operator_square": "Оператор: Квадрат",
  "psi.spellpiece.operator_square.desc": "А^2",
  "psi.spellpiece.operator_cube": "Оператор: Куб",
  "psi.spellpiece.operator_cube.desc": "А^3",
  "psi.spellpiece.operator_power": "Оператор: Сила",
  "psi.spellpiece.operator_power.desc": "А^Б",
  "psi.spellpiece.operator_square_root": "Оператор: Квадратный корень",
  "psi.spellpiece.operator_square_root.desc": "Кврт(А)",
  "psi.spellpiece.operator_log": "Оператор: Логарифм",
  "psi.spellpiece.operator_log.desc": "Журнал (A) или журнал B (A)",
  "psi.spellpiece.operator_ceiling": "Оператор: Потолок",
  "psi.spellpiece.operator_ceiling.desc": "Округляет число до целого числа",
  "psi.spellpiece.operator_floor": "Оператор: Этаж",
  "psi.spellpiece.operator_floor.desc": "Округляет число до целого числа",
  "psi.spellpiece.operator_round": "Оператор: Раунд",
  "psi.spellpiece.operator_round.desc": "Округляет число до целого числа",
  "psi.spellpiece.operator_entity_position": "Оператор: Позиция сущности",
  "psi.spellpiece.operator_entity_position.desc": "Получает позицию сущности",
  "psi.spellpiece.operator_entity_look": "Оператор: Взгляд сущности",
  "psi.spellpiece.operator_entity_look.desc": "Получает вектор внешнего вида сущности.",
  "psi.spellpiece.operator_entity_motion": "Оператор: Entity Motion",
  "psi.spellpiece.operator_entity_motion.desc": "Получает вектор движения сущности.",
  "psi.spellpiece.operator_entity_axial_look": "Оператор: Entity Axial Look",
  "psi.spellpiece.operator_entity_axial_look.desc": "Получает вектор внешнего вида сущности, выровненный по оси.",
  "psi.spellpiece.operator_focused_entity": "Оператор: Сфокусированная сущность",
  "psi.spellpiece.operator_focused_entity.desc": "Получает сущность, на которую смотрит целевая сущность.",
  "psi.spellpiece.operator_vector_raycast": "Оператор: Вектор Рейкаст",
  "psi.spellpiece.operator_vector_raycast.desc": "Получает результат локализованного рейкаста (максимум 32)",
  "psi.spellpiece.operator_vector_raycast_axis": "Оператор: Vector Axis Raycast",
  "psi.spellpiece.operator_vector_raycast_axis.desc": "Получает боковую ось локализованного рейкаста (максимум 32).",
  "psi.spellpiece.operator_vector_sum": "Оператор: векторная сумма",
  "psi.spellpiece.operator_vector_sum.desc": "А + Б (+ С)",
  "psi.spellpiece.operator_vector_subtract": "Оператор: векторное вычитание",
  "psi.spellpiece.operator_vector_subtract.desc": "А — Б (- С)",
  "psi.spellpiece.operator_vector_multiply": "Оператор: векторное умножение",
  "psi.spellpiece.operator_vector_multiply.desc": "А*Б",
  "psi.spellpiece.operator_vector_divide": "Оператор: векторное деление",
  "psi.spellpiece.operator_vector_divide.desc": "А/Б",
  "psi.spellpiece.operator_vector_cross_product": "Оператор: векторное векторное произведение",
  "psi.spellpiece.operator_vector_cross_product.desc": "А х Б",
  "psi.spellpiece.operator_vector_normalize": "Оператор: векторная нормализация",
  "psi.spellpiece.operator_vector_normalize.desc": "Нормализует вектор, чтобы его величина была равна 1.",
  "psi.spellpiece.operator_vector_negate": "Оператор: Вектор отрицание",
  "psi.spellpiece.operator_vector_negate.desc": "Отрицает вектор",
  "psi.spellpiece.operator_vector_magnitude": "Оператор: Величина вектора",
  "psi.spellpiece.operator_vector_magnitude.desc": "Получает величину вектора",
  "psi.spellpiece.operator_vector_construct": "Оператор: Вектор Конструкт",
  "psi.spellpiece.operator_vector_construct.desc": "Создает вектор из параметров XYZ.",
  "psi.spellpiece.operator_vector_extract_x": "Оператор: Вектор Экстракт X",
  "psi.spellpiece.operator_vector_extract_x.desc": "Извлекает координату X из вектора",
  "psi.spellpiece.operator_vector_extract_y": "Оператор: векторное извлечение Y",
  "psi.spellpiece.operator_vector_extract_y.desc": "Извлекает координату Y из вектора",
  "psi.spellpiece.operator_vector_extract_z": "Оператор: Vector Extract Z",
  "psi.spellpiece.operator_vector_extract_z.desc": "Извлекает координату Z из вектора",
  "psi.spellpiece.operator_vector_project": "Оператор: Вектор Проект",
  "psi.spellpiece.operator_vector_project.desc": "Проецирует вектор A на вектор B",
  "psi.spellpiece.operator_vector_dot_product": "Оператор: векторное скалярное произведение",
  "psi.spellpiece.operator_vector_dot_product.desc": "А. Б",
  "psi.spellpiece.operator_closest_to_point": "Оператор: Ближайший к точке",
  "psi.spellpiece.operator_closest_to_point.desc": "Получает ближайший к точке объект в списке.",
  "psi.spellpiece.operator_random_entity": "Оператор: Случайная сущность",
  "psi.spellpiece.operator_random_entity.desc": "Получает случайный объект из списка",
  "psi.spellpiece.operator_list_add": "Оператор: Добавить в список",
  "psi.spellpiece.operator_list_add.desc": "Добавляет целевой объект в список",
  "psi.spellpiece.operator_list_remove": "Оператор: Удалить из списка",
  "psi.spellpiece.operator_list_remove.desc": "Удаляет целевой объект из списка",
  "psi.spellpiece.operator_planar_normal_vector": "Оператор: Планарный нормальный вектор",
  "psi.spellpiece.operator_planar_normal_vector.desc": "Создает вектор, перпендикулярный заданному осевому вектору. Эквивалентно вращению 2π/3 вокруг <1,1,1>",
  "psi.spellpiece.operator_vector_rotate": "Оператор: поворот вектора",
  "psi.spellpiece.operator_vector_rotate.desc": "Вращает вектор вокруг оси",
  "psi.spellpiece.operator_gamma_function": "Оператор: Гамма-функция",
  "psi.spellpiece.operator_gamma_function.desc": "Γ(x), что эквивалентно (x-1)!",
  "psi.spellpiece.operator_list_size": "Оператор: Размер списка",
  "psi.spellpiece.operator_list_size.desc": "Получает количество сущностей в списке",
  "psi.spellpiece.operator_list_union": "Оператор: Объединение списков",
  "psi.spellpiece.operator_list_union.desc": "Создает список со всеми элементами из любого списка",
  "psi.spellpiece.operator_list_intersection": "Оператор: Пересечение списка",
  "psi.spellpiece.operator_list_intersection.desc": "Создает список со всеми элементами, которые есть в обоих списках.",
  "psi.spellpiece.operator_list_exclusion": "Оператор: исключение из списка",
  "psi.spellpiece.operator_list_exclusion.desc": "Создает список со всеми элементами, которые есть в первом списке, но отсутствуют во втором.",
  "psi.spellpiece.operator_list_index": "Селектор: индексированный элемент",
  "psi.spellpiece.operator_list_index.desc": "Выбирает сущность из списка сущностей с заданным индексом",
  "psi.spellpiece.operator_root": "Оператор: Рут",
  "psi.spellpiece.operator_root.desc": "Извлекает корень n-й степени из числа",
  "psi.spellpiece.operator_extract_sign": "Оператор: Сигнум",
  "psi.spellpiece.operator_extract_sign.desc": "Извлекает знак из ввода",
  "psi.spellpiece.operator_vector_extract_sign": "Оператор: Вектор",
  "psi.spellpiece.operator_vector_extract_sign.desc": "Возвращает новый вектор с соответствующим знаком каждого компонента вектора.",
  "psi.spellpiece.operator_closest_to_line": "Оператор: Ближайший к линии",
  "psi.spellpiece.operator_closest_to_line.desc": "Выберите ближайший к сегменту линии объект",
  "psi.spellpiece.operator_entity_health": "Оператор: Здоровье сущности",
  "psi.spellpiece.operator_entity_health.desc": "Получает текущий процент здоровья объекта.",
  "psi.spellpiece.operator_vector_absolute": "Оператор: Вектор Абсолют",
  "psi.spellpiece.operator_vector_absolute.desc": "Принимает абсолютное значение всех векторных значений и возвращает новый вектор.",
  "psi.spellpiece.operator_entity_raycast": "Оператор: Entity Raycast",
  "psi.spellpiece.operator_entity_raycast.desc": "Raycasts из заданной позиции и возвращает первый найденный объект.",
  "psi.spellpiece.operator_block_light": "Оператор: Блок Свет",
  "psi.spellpiece.operator_block_light.desc": "Получает значение освещенности блока",
  "psi.spellpiece.operator_block_hardness.desc": "Получает значение твердости блока",
  "psi.spellpiece.operator_block_hardness": "Оператор: Твердость блока",
  "psi.spellpiece.operator_block_comparator_strength": "Оператор: Блок-компаратор",
  "psi.spellpiece.operator_block_comparator_strength.desc": "Получает мощность компаратора, который имеет блок.",
  "psi.spellpiece.operator_block_side_solidity": "Оператор: Block Side Solidity",
  "psi.spellpiece.operator_block_side_solidity.desc": "Проверяет, является ли сторона блока сплошной.",
  "psi.spellpiece.operator_block_mining_level": "Оператор: Блок уровня добычи",
  "psi.spellpiece.operator_block_mining_level.desc": "Получает уровень добычи блока в указанной позиции.",
  "psi.spellpiece.operator_vector_piecewise_maximum": "Оператор: векторный кусочный максимум",
  "psi.spellpiece.operator_vector_piecewise_maximum.desc": "Создает вектор из наибольшего из каждого компонента входных данных.",
  "psi.spellpiece.operator_vector_piecewise_minimum": "Оператор: векторный кусочный минимум",
  "psi.spellpiece.operator_vector_piecewise_minimum.desc": "Создает вектор из наименьшего из каждого компонента входных данных.",
  "psi.spellpiece.operator_entity_height": "Оператор: Высота объекта",
  "psi.spellpiece.operator_entity_height.desc": "Получает высоту объекта",
  "psi.spellpiece.constant_number": "Константа: Число",
  "psi.spellpiece.constant_number.desc": "Выберите и введите значение, чтобы установить его.",
  "psi.spellpiece.constant_pi": "Константа: Пи",
  "psi.spellpiece.constant_pi.desc": "Возвращает значение Пи",
  "psi.spellpiece.constant_e": "Константа: е",
  "psi.spellpiece.constant_e.desc": "Возвращает значение e",
  "psi.spellpiece.constant_tau": "Константа: Тау",
  "psi.spellpiece.constant_tau.desc": "Возвращает значение Тау",
  "psi.spellpiece.constant_wrapper": "Константа: Обертка",
  "psi.spellpiece.constant_wrapper.desc": "Обертка для константы для расчета статистики",
  "psi.spellpiece.connector": "Разъем",
  "psi.spellpiece.connector.desc": "Соединяет вещи и вещи",
  "psi.spellpiece.cross_connector": "Крестовый соединитель",
  "psi.spellpiece.cross_connector.desc": "Можно соединить два пути",
  "psi.spellpiece.error_suppressor": "Подавитель ошибок",
  "psi.spellpiece.error_suppressor.desc": "Подавляет ошибки, выдаваемые заклинанием",
  "psi.spellpiece.error_catch": "Ловец ошибок",
  "psi.spellpiece.error_catch.desc": "Заменяет ошибки другим значением",
  "psi.spellpiece.trick_debug": "Уловка: отладка",
  "psi.spellpiece.trick_debug.desc": "Для тестирования. Распечатывает цель",
  "psi.spellpiece.trick_delay": "Трюк: Спать",
  "psi.spellpiece.trick_delay.desc": "Задерживает заклинание на количество пройденных тиков.",
  "psi.spellpiece.trick_die": "Трюк: умереть",
  "psi.spellpiece.trick_die.desc": "Останавливает выполнение заклинания, если цель находится в пределах (-1, 1) исключая",
  "psi.spellpiece.trick_evaluate": "Уловка: оцените",
  "psi.spellpiece.trick_evaluate.desc": "Оценивает значение. Ничего с этим не делает",
  "psi.spellpiece.trick_add_motion": "Хитрость: добавьте движение",
  "psi.spellpiece.trick_add_motion.desc": "Добавляет движение к целевому объекту",
  "psi.spellpiece.trick_explode": "Уловка: Взорваться",
  "psi.spellpiece.trick_explode.desc": "Идет бум",
  "psi.spellpiece.trick_break_block": "Уловка: сломать блок",
  "psi.spellpiece.trick_break_block.desc": "Разбивает блок",
  "psi.spellpiece.trick_break_in_sequence": "Уловка: разрыв последовательности блоков",
  "psi.spellpiece.trick_break_in_sequence.desc": "Разбивает последовательность блоков в направлении заданного вектора.",
  "psi.spellpiece.trick_place_block": "Уловка: поместите блок",
  "psi.spellpiece.trick_place_block.desc": "Размещает блок",
  "psi.spellpiece.trick_place_in_sequence": "Хитрость: размещение последовательности блоков",
  "psi.spellpiece.trick_place_in_sequence.desc": "Размещает последовательность блоков в направлении заданного вектора.",
  "psi.spellpiece.trick_infusion": "Трюк: Настой",
  "psi.spellpiece.trick_infusion.desc": "Наполняет золотом псиметалл, а также красный камень псидастом.",
  "psi.spellpiece.trick_blink": "Трюк: моргать",
  "psi.spellpiece.trick_blink.desc": "Мигает вперед",
  "psi.spellpiece.trick_mass_blink": "Уловка: Массовое моргание",
  "psi.spellpiece.trick_mass_blink.desc": "Мигает всех вперед",
  "psi.spellpiece.trick_mass_add_motion": "Уловка: массовое добавление движения",
  "psi.spellpiece.trick_mass_add_motion.desc": "Добавляет движение ко всем объектам в целевом списке объектов.",
  "psi.spellpiece.trick_mass_exodus": "Уловка: Массовый исход",
  "psi.spellpiece.trick_mass_exodus.desc": "Перемещает все объекты в целевом списке объектов в целевую позицию.",
  "psi.spellpiece.trick_move_block": "Уловка: переместить блок",
  "psi.spellpiece.trick_move_block.desc": "Перемещает блок вдоль заданного единичного осевого вектора.",
  "psi.spellpiece.trick_move_block_sequence": "Уловка: перемещение последовательности блоков",
  "psi.spellpiece.trick_move_block_sequence.desc": "Перемещает последовательность блоков вдоль заданного единичного осевого вектора.",
  "psi.spellpiece.trick_collapse_block": "Уловка: свернуть блок",
  "psi.spellpiece.trick_collapse_block.desc": "Обрушивается блок, как будто это песок",
  "psi.spellpiece.trick_smite": "Уловка: поразить",
  "psi.spellpiece.trick_smite.desc": "Вызывает молнию в заданную точку",
  "psi.spellpiece.trick_blaze": "Трюк: Блейз",
  "psi.spellpiece.trick_blaze.desc": "Создает огонь в заданной точке",
  "psi.spellpiece.trick_torrent": "Трюк: Торрент",
  "psi.spellpiece.trick_torrent.desc": "Создает воду в заданной точке",
  "psi.spellpiece.trick_overgrow": "Уловка: перерасти",
  "psi.spellpiece.trick_overgrow.desc": "Удобряет блок в заданной точке",
  "psi.spellpiece.trick_greater_infusion": "Уловка: Великое Наполнение",
  "psi.spellpiece.trick_greater_infusion.desc": "Наполняет алмазами псигемы, а также наполняет редстоун и золото.",
  "psi.spellpiece.trick_ebony_ivory": "Уловка: черное дерево и слоновая кость",
  "psi.spellpiece.trick_ebony_ivory.desc": "Наполняет уголь и кварц в конце, сохраняя при этом красный камень, золото и алмазы.",
  "psi.spellpiece.trick_speed": "Уловка: Скорость",
  "psi.spellpiece.trick_speed.desc": "Применяет эффект скорости",
  "psi.spellpiece.trick_haste": "Уловка: Ускорение",
  "psi.spellpiece.trick_haste.desc": "Применяет эффект ускорения",
  "psi.spellpiece.trick_strength": "Уловка: Сила",
  "psi.spellpiece.trick_strength.desc": "Применяет эффект Силы",
  "psi.spellpiece.trick_jump_boost": "Хитрость: усиление прыжка",
  "psi.spellpiece.trick_jump_boost.desc": "Применяет эффект Jump Boost.",
  "psi.spellpiece.trick_water_breathing": "Уловка: водное дыхание",
  "psi.spellpiece.trick_water_breathing.desc": "Применяет эффект водного дыхания.",
  "psi.spellpiece.trick_fire_resistance": "Уловка: сопротивление огню",
  "psi.spellpiece.trick_fire_resistance.desc": "Применяет эффект сопротивления огню.",
  "psi.spellpiece.trick_invisibility": "Уловка: невидимость",
  "psi.spellpiece.trick_invisibility.desc": "Применяет эффект невидимости",
  "psi.spellpiece.trick_regeneration": "Уловка: Регенерация",
  "psi.spellpiece.trick_regeneration.desc": "Применяет эффект регенерации",
  "psi.spellpiece.trick_resistance": "Уловка: Сопротивление",
  "psi.spellpiece.trick_resistance.desc": "Применяет эффект сопротивления",
  "psi.spellpiece.trick_slowness": "Уловка: Медлительность",
  "psi.spellpiece.trick_slowness.desc": "Применяет эффект замедления",
  "psi.spellpiece.trick_weakness": "Уловка: Слабость",
  "psi.spellpiece.trick_weakness.desc": "Применяет эффект слабости",
  "psi.spellpiece.trick_wither": "Трюк: Увядание",
  "psi.spellpiece.trick_wither.desc": "Применяет эффект увядания",
  "psi.spellpiece.trick_ignite": "Уловка: поджечь",
  "psi.spellpiece.trick_ignite.desc": "Поджигает сущность",
  "psi.spellpiece.trick_eidos_anchor": "Трюк: Якорь Эйдоса",
  "psi.spellpiece.trick_eidos_anchor.desc": "Возвращает заклинателя в текущую позицию по истечении целевого времени.",
  "psi.spellpiece.trick_eidos_reversal": "Уловка: обращение Эйдоса",
  "psi.spellpiece.trick_eidos_reversal.desc": "Возвращает заклинателя в прошлое",
  "psi.spellpiece.trick_smelt_item": "Уловка: плавить предмет",
  "psi.spellpiece.trick_smelt_item.desc": "Переплавляет объект предмета в его переплавленный аналог.",
  "psi.spellpiece.trick_smelt_block": "Уловка: расплавленный блок",
  "psi.spellpiece.trick_smelt_block.desc": "Переплавляет блок в его выплавленный аналог",
  "psi.spellpiece.trick_conjure_block": "Уловка: Вызов блока",
  "psi.spellpiece.trick_conjure_block.desc": "Создает хрупкий блок",
  "psi.spellpiece.trick_conjure_light": "Уловка: вызвать свет",
  "psi.spellpiece.trick_conjure_light.desc": "Вызывает хрупкий свет",
  "psi.spellpiece.trick_conjure_block_sequence": "Уловка: создание последовательности блоков",
  "psi.spellpiece.trick_conjure_block_sequence.desc": "Создает последовательность хрупких блоков вдоль заданного вектора.",
  "psi.spellpiece.trick_switch_target_slot": "Хитрость: слот переключения фокуса (горячая панель)",
  "psi.spellpiece.trick_switch_target_slot.desc": "Изменяет фокус этого заклинания на любое место панели быстрого доступа.",
  "psi.spellpiece.trick_save_vector": "Хитрость: сохранить вектор",
  "psi.spellpiece.trick_save_vector.desc": "Сохраняет вектор в памяти CAD.",
  "psi.spellpiece.trick_play_sound": "Уловка: Воспроизвести заметку",
  "psi.spellpiece.trick_play_sound.desc": "Воспроизводит звук нотного блока",
  "psi.spellpiece.trick_break_loop": "Уловка: разрыв цикла",
  "psi.spellpiece.trick_break_loop.desc": "Останавливает цикл, если цель находится в пределах (-1, 1) исключая",
  "psi.spellpiece.trick_detonate": "Уловка: взорвать",
  "psi.spellpiece.trick_detonate.desc": "Взрывает все заряды заклинаний в радиусе 32 блоков от фокусной точки.",
  "psi.spellpiece.trick_till": "Трюк: До",
  "psi.spellpiece.trick_till.desc": "Пашет блок",
  "psi.spellpiece.trick_till_sequence": "Уловка: До последовательности",
  "psi.spellpiece.trick_till_sequence.desc": "Обрабатывает последовательность блоков по заданному вектору",
  "psi.spellpiece.trick_broadcast": "Уловка: трансляция",
  "psi.spellpiece.trick_broadcast.desc": "Передает номер в заданном канале ближайшим CAD-ам.",
  "psi.spellpiece.trick_change_slot": "Хитрость: смена слота (инвентарь)",
  "psi.spellpiece.trick_change_slot.desc": "Заменяет слот здания на один из 36 слотов инвентаря.",
  "psi.spellpiece.trick_smelt_block_sequence": "Уловка: последовательность блоков плавки",
  "psi.spellpiece.trick_smelt_block_sequence.desc": "Плавит блоки в определенном направлении, начиная с заданной позиции.",
  "psi.spellpiece.trick_collapse_block_sequence": "Хитрость: свернуть последовательность блоков",
  "psi.spellpiece.trick_collapse_block_sequence.desc": "Сворачивает последовательность блоков, как если бы они были песком",
  "psi.spellpiece.trick_debug_spamless": "Уловка: направленная отладка",
  "psi.spellpiece.trick_debug_spamless.desc": "Распечатывает цель, заменяя все предыдущие отпечатки тем же номером.",
  "psi.spellpiece.trick_night_vision": "Трюк: ночное видение",
  "psi.spellpiece.trick_night_vision.desc": "Применяет эффект ночного видения.",
  "psi.spellpiece.trick_particle_trail": "Уловка: След частиц",
  "psi.spellpiece.trick_particle_trail.desc": "Создает след частицы из позиции вдоль луча",
  "psi.spellpiece.trick_spin_chamber": "Трюк: камера вращения",
  "psi.spellpiece.trick_spin_chamber.desc": "Выбирает следующий или предыдущий маркер в зависимости от знака ввода",
  "psi.spellpiece.trick_russian_roulette": "Уловка: русская рулетка",
  "psi.spellpiece.trick_russian_roulette.desc": "Выбирает случайную пулю",
  "psi.spellparam.target": "Цель",
  "psi.spellparam.number": "Номер",
  "psi.spellparam.root": "Корень",
  "psi.spellparam.list1": "Список А",
  "psi.spellparam.list2": "Список Б",
  "psi.spellparam.list": "Список",
  "psi.spellparam.from1": "От",
  "psi.spellparam.from2": "От",
  "psi.spellparam.to1": "Чтобы",
  "psi.spellparam.to2": "Чтобы",
  "psi.spellparam.toggle": "Переключить",
  "psi.spellparam.number1": "Номер А",
  "psi.spellparam.number2": "Номер Б",
  "psi.spellparam.number3": "Номер С",
  "psi.spellparam.number4": "Номер Д",
  "psi.spellparam.vector1": "Вектор А",
  "psi.spellparam.vector2": "Вектор Б",
  "psi.spellparam.vector3": "Вектор С",
  "psi.spellparam.vector4": "Вектор Д",
  "psi.spellparam.position": "Позиция",
  "psi.spellparam.ray": "Рэй",
  "psi.spellparam.max": "Макс",
  "psi.spellparam.min": "Мин",
  "psi.spellparam.power": "Мощность",
  "psi.spellparam.direction": "Направление",
  "psi.spellparam.speed": "Скорость",
  "psi.spellparam.x": "Х",
  "psi.spellparam.y": "Да",
  "psi.spellparam.z": "З",
  "psi.spellparam.radius": "Радиус",
  "psi.spellparam.distance": "Расстояние",
  "psi.spellparam.time": "Время",
  "psi.spellparam.constant": "Константа",
  "psi.spellparam.shift": "Сдвиг",
  "psi.spellparam.slot": "Слот",
  "psi.spellparam.base": "База",
  "psi.spellparam.vector": "Вектор",
  "psi.spellparam.axis": "Ось",
  "psi.spellparam.angle": "Угол",
  "psi.spellparam.channel": "Канал",
  "psi.spellparam.instrument": "Инструмент",
  "psi.spellparam.volume": "Объем",
  "psi.spellparam.pitch": "Подача",
  "psi.spellparam.mask": "Узор",
  "psi.spellparam.ray_end": "Рэй Энд",
  "psi.spellparam.ray_start": "Рэй Старт",
  "psi.spellparam.fallback": "Резервный вариант",
  "psi.datatype.void": "Нет",
  "psi.datatype.any": "Любой",
  "psi.datatype.double": "Номер",
  "psi.datatype.integer": "Номер",
  "psi.datatype.number": "Номер",
  "psi.datatype.vector3": "Вектор",
  "psi.datatype.entity": "Сущность",
  "psi.datatype.living_entity": "Сущность (Живая)",
  "psi.datatype.living_entity_base": "Сущность (Живая)",
  "psi.datatype.player": "Сущность (Игрок, Живой)",
  "psi.datatype.entity_list_wrapper": "Список сущностей",
  "psi.spellerror.nospell": "Нет заклинания для компиляции",
  "psi.spellerror.invalid_base": "ОШИБКА: невозможно интерпретировать основания ниже 2.",
  "psi.spellerror.nthroot": "ОШИБКА: четные корни не могут принимать отрицательные числа.",
  "psi.spellerror.noname": "Заклинание не названо",
  "psi.spellerror.notricks": "Заклинание не имеет трюков",
  "psi.spellerror.unsetparam": "Обязательный параметр не установлен",
  "psi.spellerror.nullparam": "Параметр сталкивается с пустой ячейкой",
  "psi.spellerror.invalidparam": "Параметр сталкивается с недопустимой частью",
  "psi.spellerror.samesideparams": "Два или более параметра имеют одну сторону",
  "psi.spellerror.loop": "Невозможно решить проблему из-за бесконечного цикла.",
  "psi.spellerror.nonpositivevalue": "Числовой параметр, который должен быть положительным, не является",
  "psi.spellerror.noninteger": "Числовой параметр, которому требуется целое число, не является",
  "psi.spellerror.nonpositiveinteger": "Числовой параметр, который должен быть положительным целым числом, не является",
  "psi.spellerror.statoverflow": "Статистика заклинаний превышает максимально возможное целое число",
  "psi.spellerror.exclusiveparams": "Установлены два взаимоисключающих параметра",
  "psi.spellerror.position": "Позиция ошибки: [%d, %d].",
  "psi.spellerror.dividebyzero": "ОШИБКА: Разделить на ноль.",
  "psi.spellerror.nulltarget": "ОШИБКА: цель сущности заклинания не существует.",
  "psi.spellerror.nullvector": "ОШИБКА: Вектор операции заклинания не существует или равен нулю.",
  "psi.spellerror.outsideradius": "ОШИБКА: Цель заклинания находится за пределами максимального радиуса блока 32.",
  "psi.spellerror.outsidetrigdomain": "ОШИБКА: Значение находится за пределами области обратной тригнометрической функции.",
  "psi.spellerror.bossimmune": "ОШИБКА: Попытка наложить заклинание на неуязвимую сущность или босса.",
  "psi.spellerror.nocad": "ОШИБКА: У Кастер нет CAD.",
  "psi.spellerror.memoryoutofbounds": "ОШИБКА: Доступ к памяти вышел за пределы.",
  "psi.spellerror.lockedmemory": "ОШИБКА: слот памяти заблокирован.",
  "psi.spellerror.immunetarget": "ОШИБКА: Целевая сущность имеет иммунитет или является боссом.",
  "psi.spellerror.negativenumber": "ОШИБКА: Целевое число отрицательно в той части, где оно быть не может.",
  "psi.spellerror.nonaxial": "ОШИБКА: Вектор не может быть неосевым.",
  "psi.spellerror.volume": "ОШИБКА: Громкость должна быть между [0,1]",
  "psi.spellerror.instruments": "ОШИБКА: Значение прибора должно находиться в пределах [0,15]",
  "psi.spellerror.pitch": "ОШИБКА: значение шага должно находиться в пределах [0,24]",
  "psi.spellerror.out_of_bounds": "ОШИБКА: предоставленный индекс находится за пределами диапазона списка.",
  "psi.levelskip": "Пси нашел данные сохранения из предыдущего мира.<br>Хотите загрузить их?<br><br>Если вы решите загрузить их, вы мгновенно перейдете на уровень %d. В противном случае это сообщение больше не появится в этом сеансе.",
  "psi.spellerror.armor": "ОШИБКА: Селектор работает только при использовании из брони.",
  "psi.spellerror.no_message": "ОШИБКА: CAD не получил широковещательное сообщение.",
  "psi.spellerror.comparator": "ОШИБКА: Компараторы могут измерять только в 4 основных направлениях.",
  "psi.spellerror.cad_casting_only": "ОШИБКА: Этот трюк должен быть выполнен из CAD.",
  "psi.spellerror.nan": "ОШИБКА: параметр %s не является числом.",
  "command.psi.learn.usage": "/psi-learn <группа> [игрок]",
  "command.psi.learn.success": "Успешно обучил %s %s",
  "command.psi.learn.success.all": "Успешно обучил %s всему Пси.",
  "command.psi.learn.should_not": "%s уже знает %s",
  "command.psi.learn.players": "%s не игрок, только игроки могут иметь знания о Пси",
  "command.psi.learn.console": "Консоль не может изучить Psi. Попробуйте указать игрока! /psi-learn <группа> [игрок]",
  "command.psi.learn.not_a_group": "'%s' не является допустимой группой пси-частей.",
  "command.psi.learn.unknown": "У этого игрока нет пси-данных. Сообщите об этом автору мода.",
  "command.psi.unlearn.usage": "/psi-unlearn <группа> [игрок]",
  "command.psi.unlearn.success": "%s успешно заставил %s забыть %s",
  "command.psi.unlearn.success.all": "%s успешно заставил забыть весь Пси.",
  "command.psi.unlearn.should_not": "%s не знает %s",
  "command.psi.unlearn.players": "%s не игрок, только игроки могут иметь знания о Пси",
  "command.psi.unlearn.console": "Консоль не может изучить Psi. Попробуйте указать игрока! /psi-unlearn <группа> [игрок]",
  "command.psi.unlearn.not_a_group": "'%s' не является допустимой группой пси-частей.",
  "command.psi.unlearn.unknown": "У этого игрока нет пси-данных. Сообщите об этом автору мода.",
  "psi.tutorial1": "Урок 1",
  "psi.tutorial2": "Урок 2",
  "psi.tutorial3": "Урок 3",
  "psi.tutorial4": "Урок 4",
  "psi.numbers_intro": "Числа 101",
  "psi.vectors_intro": "Векторов 101",
  "psi.entities_intro": "Сущности 101",
  "psi.projectiles": "Альтернативный кастинг",
  "psi.block_works": "Блокворки",
  "psi.infusion": "Настой Псиметалла",
  "psi.movement": "Прогресс в движении",
  "psi.loopcasting": "Циклическое приведение",
  "psi.block_movement": "Блокировать движение",
  "psi.elemental_arts": "Элементальные искусства",
  "psi.greater_infusion": "Великое Наполнение",
  "psi.tool_casting": "Литье инструментов",
  "psi.positive_effects": "Положительные эффекты",
  "psi.negative_effects": "Негативные эффекты",
  "psi.exosuit_casting": "Кастинг экзокостюма",
  "psi.trignometry": "Тригонометрия",
  "psi.smeltery": "Медеплавильный завод",
  "psi.flow_control": "Управление потоком",
  "psi.block_conjuration": "Блокировать заклинание",
  "psi.eidos_ceversal": "Эйдос-манипуляция",
  "psi.detection_dynamics": "Обнаружение и фокусировка",
  "psi.memory_management": "Управление памятью",
  "psi.secondary_operators": "Вторичные операторы",
  "psi.misc_tricks": "Разные хитрости",
  "psi.list_operations": "Список операций",
  "psi.fake_level_psidust": "Настой Псидуста",
  "jei.psi.category.trick": "Настой заклинаний",
  "jei.psi.spell_copy": "Копирует заклинание",
  "psi.subtitle.book": "Sweet Alexum играет на расстоянии",
  "_comment": "Книжные вещи",
  "advancement.psi:iron_cad_pickup": "Сладкое тело",
  "advancement.psi:iron_cad_pickup.desc": "Создайте железную сборку САПР",
  "advancement.psi:gold_assembly_pickup": "На вес золота",
  "advancement.psi:gold_assembly_pickup.desc": "Создайте золотую сборку САПР",
  "advancement.psi:psimetal_assembly_pickup": "Чуть лучше",
  "advancement.psi:psimetal_assembly_pickup.desc": "Создайте сборку Psimetal CAD",
  "advancement.psi:ebony_assembly_pickup": "Сильный и толстый",
  "advancement.psi:ebony_assembly_pickup.desc": "Создайте сборку САПР из черного дерева",
  "advancement.psi:ivory_assembly_pickup": "Гладче и сексуальнее",
  "advancement.psi:ivory_assembly_pickup.desc": "Создайте сборку САПР из слоновой кости",
  "advancement.psi:psidust": "... Невозможно создать?",
  "advancement.psi:psidust.desc": "Создайте свой первый кусок Psidust",
  "advancement.psi:psimetal_pickup": "Сплав трепета",
  "advancement.psi:psimetal_pickup.desc": "Наполните свой первый кусочек Псиметалла.",
  "advancement.psi:psigem_pickup": "Кристалл мысли",
  "advancement.psi:psigem_pickup.desc": "Создайте свой первый псигем из алмазов.",
  "advancement.psi:ebony_pickup": "Высокая ценность",
  "advancement.psi:ebony_pickup.desc": "Создайте свою первую эбонитовую субстанцию из угля.",
  "advancement.psi:ivory_pickup": "Разная ценность",
  "advancement.psi:ivory_pickup.desc": "Создайте свое первое вещество цвета слоновой кости из кварца.",
  "advancement.psi:encyclopaedia_psionica": "Положи это на мой планшет",
  "advancement.psi:encyclopaedia_psionica.desc": "Создайте Энциклопедию Псионика, ваш путеводитель по всему, что касается Пси.",
  "psi.book.subtitle": "Заклинание 101",
  "psi.statlabel.is_last": "isLast",
  "psi.book.name": "Энциклопедия Псионика",
  "psi.book.landing_text": "$(thing)Psi$(0) — это мод для создания $(thing)Spells$(0), пределы которого определяются только вашей изобретательностью. Эта книга содержит все знания, необходимые для того, чтобы стать экспертом в области заклинаний.$(p)(Работа над этой книгой находится в стадии разработки. Вы можете найти старые учебные статьи в разделе «Устаревшие записи».)",
  "psi.book.category.basics": "Основы",
  "psi.book.category.basics.desc": "Если вы новичок в $(thing)Psi$(0), советую вам прочитать каждую запись здесь. Все они содержат важную информацию.",
  "psi.book.entry.introduction": "Введение",
  "psi.book.page.introduction.0": "Добро пожаловать в $(thing)Psi$(0), величайший магитехнический мод на этой стороне вселенной, основанный на программах заклинаний!$(p)$(thing)Psi$(0) — это мод (вдохновленный серией Mahouka), предназначенный для создания и применения $(thing)Заклинаний$(0) по вашему желанию.$(p)Чтобы начать свой путь к становлению магом-заклинателем, вам сначала понадобятся некоторые $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l) — однако просто создать материал невозможно.",
  "psi.book.page.introduction.1": "Вместо этого начните с создания $(l: basics/cad_assembler)$(o)$(item)CAD Assembler$(0)$(/l) и $(l: comComponents/assembly#iron)$(o)$(item)Iron CAD сборки$(0)$(/l).$(p)Поместите $(l: basics/cad_assembler)$(o)$(item)CAD Assembler$(0)$(/l), откройте его и вставьте $(l: comComponents/assembly#iron)$(o)$(item)Iron CAD Assembly$(0)$(/l), чтобы сконструировать очень простое $(thing)Casting Assistant Device$(0) (для краткости $(thing)CAD$(0).$(p)Оттуда бросьте немного $(item)Redstone Dust$(0) на землю, направьте свой новый $(thing)CAD$(0) на пыль и примените ($(k: use)) для создания $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l).",
  "psi.book.entry.cadAssembler": "САПР Ассемблер",
  "psi.book.page.cadAssembler.0": "$(item)CAD Assembler$(0) — это сердце $(thing)Psi$(0), выполняющее две основные функции.$(p)Во-первых, он собирает $(thing)CAD$(0) из его составных частей. Во-вторых, он загружает $(o)non-empty$() $(item)Spell Bullets$(0) в $(thing)CADs$(0) (а также другие вещи, содержащие $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l), такие как $(l: items/tools)$(o)$(thing)Psimetal Tools$(0)$(/l)).",
  "psi.book.page.cadAssembler.1": "Мастер-класс по созданию CAD",
  "psi.book.page.cadAssembler.2": "Самая простая САПР, которая может",
  "psi.book.page.cadAssembler.3": "$(thing)CAD$(0) состоит из пяти компонентов; простейший $(thing)CAD$(0) использует только один компонент, $(l: comComponents/assembly)$(o)$(item)Assembly$(0)$(/l), хотя это полезно только для создания $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l).$(p)$(thing)CAD$(0), способного к кастингу $(thing)Spells$(0) также требует $(l: comComponents/core)$(o)$(item)Core$(0)$(/l) и $(l: comComponents/socket)$(o)$(item)Socket$(0)$(/l).$(p)Добавление $(l: comComponents/battery)$(o)$(item)Battery$(0)$(/l) немного увеличивает максимальную $(thing)Psi-энергию пользователя$(0), а добавление $(l: comComponents/colorizer)$(o)$(item)Colorizer$(0)$(/l) изменяет цвет применяемых $(thing)Spells$(0), что носит чисто косметический характер.",
  "psi.book.page.cadAssembler.4": "После создания $(thing)CAD$(0) его можно поместить на крайнюю левую панель $(item)CAD Assembler$(0).$(p)При размещении там открываются нижние слоты; $(item)Spell Bullets$(0) можно поместить в эти слоты для загрузки в $(thing)CAD$(0).$(p)После загрузки $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l) $(thing)CAD$(0) удаляется и удерживается, а главная клавиша $(thing)Psi $(0) ($(k: psimisc. keybind)) удерживается, $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l)' $(thing)Spells$(0) будут отображаться в радиальном меню, готовые к выбору и использованию.",
  "psi.book.page.cadAssembler.5": "CAD с одной заряженной пулей",
  "psi.book.entry.spellProgrammer": "Программист заклинаний",
  "psi.book.page.spellProgrammer.0": "Если $(l: basics/cad_assembler)$(o)$(item)CAD Assembler$(0)$(/l) является сердцем $(thing)Psi$(0), то $(item)Spell Programmer$(0) является мозгом мода. Здесь $(thing)Spells$(0) записываются и компилируются, а затем копируются в $(item)Spell Bullets$(0) для применения.$(p)При размещении и открытии ($(k: use)) он отображает большую сетку 9x9; см. $(l: basics/tutorial_1)учебные статьи$(/l) для получения более глубоких знаний об использовании этой сетки.",
  "psi.book.page.spellProgrammer.1": "Час кода",
  "psi.book.entry.vectorPrimer": "Букварь по векторам",
  "psi.book.page.vectorPrimer.0": "$(thing)Psi$(0) широко использует концепцию вектора. Поэтому, если вы не имеете ни малейшего представления о том, что такое вектор, я настоятельно рекомендую вам посмотреть видео ниже.$(p)Пояснение на следующих нескольких страницах является $(l)упрощенным$() для начинающих. Не воспринимайте это как нечто окончательное.",
  "psi.book.page.vectorPrimer.1": "В мире $(thing)Psi$(0) (да и вообще в мире $(thing)Minecraft$(0)) все векторы трехмерны. По сути, это просто списки трех координат: $(o)x$(), $(o)y$(), $(o)z$().$(p)Координата $(o)x$() представляет восток, когда она положительная, и запад, когда отрицательная, направление $(o)y$() вверх и вниз и направление $(o)z$() на юг и север.$(p)Если это еще не имеет смысла, откройте экран отладки (F3) и побегайте вокруг, обращая внимание на строку с надписью «XYZ:».$(br)Вы поймете.",
  "psi.book.page.vectorPrimer.2": "Этот список из трех чисел на экране отладки, по сути, является первым типом вектора, который вы встретите: $(l)вектор положения$().$(p)Вектор положения просто представляет местоположение блока, или сущности, или, возможно, какого-то пустого места в мире. Одно фиксированное местоположение, представленное списком [$(o)x$(), $(o)y$(), $(o)z$()].$(p)Однако не все векторы представляют позиции, и важно отметить, что $(l)любые три числа в списке составляют вектор$().",
  "psi.book.page.vectorPrimer.3": "Интересный факт о векторах заключается в том, что их чрезвычайно легко складывать.$(p)Например, скажем, у нас есть блок травы в каком-то месте, который мы решили представить как [$(o)x$(), $(o)y$(), $(o)z$()].$(p)Если мы хотим добавить к этому вектору еще один вектор (например, [0, 1, 0]), все, что нам нужно сделать, это добавить соответствующие числа: $(br)наша векторная сумма будет равна [$(o)x$()+0, $(o)y$()+1, $(o)z$()+0] или просто [$(o)x$(), $(o)y$()+1, $(o)z$()].",
  "psi.book.page.vectorPrimer.4": "Поскольку компонент $(o)y$() нашего нового вектора увеличился на единицу, а положительное значение $(o)y$() означает увеличение, этот новый вектор просто представляет блок над нашим блоком травы. $(p)Вектор [0, 1, 0] представляет собой $(o)разницу$() в положении между нашим исходным и новым вектором, и это наш второй тип вектора: вектор смещения $(l)$().",
  "psi.book.page.vectorPrimer.5": "Векторы смещения — это то, на что большинство заклинателей тратят большую часть своего времени, поэтому владение ими является ключевым моментом.$(p)Обычно маг начинает с одного вектора положения, затем добавляет, вычитает или иным образом комбинирует векторы смещения с этим вектором положения, чтобы нацелиться на нужную точку мира.",
  "psi.book.page.vectorPrimer.6": "Важно отметить, что идея векторов смещения и положения является концептуальной; эти термины уникальны для терминологии этой таблички.$(p)Опять же: все векторы $(thing)Psi$(0) представляют собой просто списки из трех чисел, и ничто не мешает вам притвориться, что различия не существует.$(p)Действительно, в некоторых контекстах, выходящих за рамки этой книги, это различие даже не имеет $(o)смысла$().",
  "psi.book.page.vectorPrimer.7": "Векторы смещения имеют $(l)величины$().$(p)Вы можете рассматривать величину вектора смещения как его «длину» или расстояние между положением в мире и этим же положением, когда к нему добавляется вектор смещения.$(p)Например, наш более ранний вектор смещения [0, 1, 0] просто перемещал позицию на одну длину блока вверх, поэтому его длина и, следовательно, величина были равны 1.",
  "psi.book.page.vectorPrimer.8": "Так как расстояние всегда положительно, то и величина векторов всегда положительна.$(p)В качестве примера рассмотрим вектор [0, -3, 0]: он представляет собой три блока вниз, однако общее расстояние перемещения равно трем блокам, и бит «вниз» не имеет значения.$(p)Следовательно, величина этого вектора $(l)положительная$() 3.",
  "psi.book.page.vectorPrimer.9": "Почти все векторы также имеют $(l)направления$().$(p)Направление вектора смещения — это, ну, направление, в котором что-то двигалось бы, если бы оно следовало за вектором по прямой линии.$(p)Например, направление [0, 1, 0] просто вверх.$(p)Вектор [1, 0, -1], с другой стороны, представляет один блок на восток и один блок на север, поэтому его направление прямо вперед, строго на северо-восток.",
  "psi.book.page.vectorPrimer.10": "(Большинство направлений не так хороши, обычно они выглядят как «36,86 градуса к северу от запада, 22,62 градуса ниже горизонта».) $(p)Обратите внимание, что единственный вектор без направления — это [0, 0, 0] ($(l)нулевой вектор$()), так как вам нужно куда-то идти $(o)else$(), чтобы определить направление.$(p)Обратите внимание, что направление вектора положения почти так же бессмысленно, как и его величина — большинство $(thing)Заклинаниям$(0) не нужно знать «куда мне идти, чтобы уйти от скалы при появлении мира».",
  "psi.book.page.vectorPrimer.11": "На самом деле, вы можете восстановить любой вектор, зная только его величину и направление, в список из трех чисел (которые известны как $(l)компоненты$() вектора).$(p)Например, направление «вверх» и величина 1 соответствуют вектору [0, 1, 0].$(p)Это не так удивительно, как может показаться: в конце концов, если кто-то говорит вам, в каком направлении идти и как далеко, вы должны знать, что они хотят, чтобы вы были.",
  "psi.book.page.vectorPrimer.12": "Существует несколько простых способов манипулирования векторами положения и смещения. $(p)Во-первых, мы можем добавить положение и вектор смещения, чтобы получить другой вектор положения, как мы сделали ранее с примером блока травы. $(p)С другой стороны, мы можем, конечно, $(o)subtract$() два вектора положения, чтобы получить вектор смещения, представляющий смещение от одного к другому: $(br)[$(o)x$(), $(o)y$()+1, $(o)z$()] — [$(o)x$(), $(o)y$(), $(o)z$()] = [0, 1, 0].",
  "psi.book.page.vectorPrimer.13": "Возможно, более интересно то, что мы можем добавить два вектора смещения, чтобы получить одно смещение, представляющее их комбинацию. $(p) Добавление этого смещения к вектору положения было бы эквивалентно сначала добавлению одного из его компонентов к этому вектору положения, а затем добавлению другого.",
  "psi.book.page.vectorPrimer.14": "И последнее, но не менее важное: из простых операций: мы можем $(l)масштабировать$() вектор, умножая его на число. $(p)Обратите внимание, что мы умножаем его на число, а $(o)не$() другой вектор.$(p)Если мы хотим масштабировать вектор [$(o)p$(), $(o)q$(), $(o)r$()] на коэффициент $(o)n$(), мы просто умножаем каждое из компоненты вектора на $(o)n$():$(br)$(o)n$()·[$(o)p$(), $(o)q$(), $(o)r$()] = [$(o)n$()·$(o)p$(), $(o)n$()·$(o)q$(), $(o)n$()·$(o)r$()].",
  "psi.book.page.vectorPrimer.15": "Эта последняя операция действительно хорошо соотносится с понятиями величины и направления. $(p)Когда вы масштабируете вектор на число $(o)n$(), вы: $(li)умножаете его величину на абсолютное значение $(o)n$(), и $(li)не меняете его направление, если $(o)n$() положительно, но меняете его направление, если $(o)n$() отрицательно.$(p)Если $(o)n$()=0, то, конечно, результирующий вектор является нулевым вектором.",
  "psi.book.page.vectorPrimer.16": "С другой стороны, если мы установим $(o)n$()=-1, то мы получим вектор с той же величиной (абсолютное значение -1 равно 1), но направленный в противоположную сторону (поскольку -1 отрицательно)!$(p)Этот вектор известен как $(l)negative$() оригинала, и когда они складываются, мы получаем нулевой вектор.$(p)Это имеет смысл, поскольку, если мы идем в направлении, а затем идем в противоположном направлении на то же расстояние, наш чистое движение равно нулю.",
  "psi.book.page.vectorPrimer.17": "Если вместо умножения мы $(o) разделим $() (ненулевой) вектор на его величину, мы получим вектор с величиной 1 (поскольку все, что делится само на себя, равно 1), но того же направления (поскольку величины всегда положительны). $(p)Это важная и хорошо известная операция, известная как $(l)нормализация$() вектора; Получаемый вектор (и, по сути, любой вектор с величиной 1) называется $(l)единичным вектором$().",
  "psi.book.page.vectorPrimer.18": "Единичные векторы имеют фиксированную величину, поэтому они представляют только направление. $(p)Многие $(thing)Spell Pieces$(0), связанные с направлением, возвращают единичные векторы, например $(piece)Оператор: Vector Axis Raycast$(0) и $(piece)Оператор: Entity Look$(0).$(p)Действительно, есть $(thing)Операторы$(0), которые выполняют $(o)большинство$() векторных операций, изложенных в этой статье, обычно с понятными названиями.",
  "psi.book.page.vectorPrimer.19": "Операции и соответствующие им $(thing)Операторы$(0) следующие:$(li)Отрицание — $(piece)Оператор: Отрицание вектора$(0);$(li)Нормализация — $(piece)Оператор: Нормализация вектора$(0);$(li)Масштабирование — $(piece)Оператор: Умножение вектора$(0) и $(piece)Оператор: Разделение вектора$(0);$(li)Принятие величины $(кусок)Оператор: векторная величина$(0);$(li)Сложение — $(кусок)Оператор: векторная сумма$(0);$(li)Вычитание — $(кусок)Оператор: векторное вычитание$(0).",
  "psi.book.page.vectorPrimer.20": "Наконец: векторы по-прежнему представляют собой списки из трех чисел. Не упускайте это из виду.$(p)В $(l: basics/spell_programmer)$(o)$(item)Программисте Spell$(0)$(/l) их можно составить из трех чисел с помощью $(piece)Оператор: Vector Construct$(0).$(p)И наоборот, вектор также можно разбить на числа с помощью $(piece)Оператор: Извлечь X$(0), $(piece)Оператор: Извлечь Y$(0) и $(кусок)Оператор: Извлеките Z$(0).",
  "psi.book.page.vectorPrimer.21": "Поздравляем с прохождением этого урока!$(p)Опять же, это всего лишь введение в векторы — я ничего не говорил о скалярных произведениях, векторных произведениях или векторных проекциях, например.$(p)Но этого должно быть более чем достаточно, чтобы уже собрать несколько довольно интересных $(thing)Заклинаний$(0).$(p)Вот и все — теперь приступайте к написанию заклинаний!",
  "psi.book.entry.tutorial1": "Учебник (1): Написание заклинания",
  "psi.book.page.tutorial1.0": "Поздравляем со знакомством с вашим новеньким $(thing)CAD$(0)!$(p)Этот планшет будет служить справочным руководством для этого мода, но некоторые статьи (например, эта) представляют собой учебные пособия, знакомящие вас с концепциями и терминами настоящего заклинателя.$(p)Не волнуйтесь, это самое длинное руководство, поскольку оно охватывает все основы.",
  "psi.book.page.tutorial1.1": "$(o)Обратите внимание, что многие ключевые слова в $(item)colored$(0) $(thing)italicized$(0) $(piece)text$(0) являются ссылками, и по ним можно щелкнуть, чтобы узнать больше о соответствующих элементах или концепциях. $()$(p)Чтобы начать программировать $(thing)Spell$(0), вам понадобится (да) $(l: basics/spell_programmer)$(o)$(item)Программист заклинаний$(0)$(/l).$(p)Кроме того, для фактического выполнения ваших $(thing)Spells$(0) вам понадобится $(thing)CAD$(0) лучшего качества, чем тот, который у вас есть сейчас — вы можете построить его в своем $(l: basics/cad_assembler)$(o)$(item)CAD Ассемблер$(0)$(/l).",
  "psi.book.page.tutorial1.2": "С этой целью вы, вероятно, захотите создать $(l: comComponents/core#basic)$(o)$(item)Basic CAD Core$(0)$(/l) и $(l: comComponents/socket#basic)$(o)$(item)Basic CAD Socket$(0)$(/l).$(p)Вам не нужно создавать еще один $(l: компоненты/сборка)$(o)$(элемент)Сборка$(0)$(/l); вы можете поместить свой текущий $(thing)CAD$(0) в сетку крафта, чтобы вернуть его обратно в исходное состояние (поскольку в любом случае это всего лишь $(l: comComponents/assembly)$(o)$(item)Assembly$(0)$(/l)).$(p)Кроме того, $(thing)Spells$(0) не может быть создано непосредственно из $(thing)CAD$(0); вместо этого они хранятся в $(item)Spell Bullets$(0), так что для начала вам также понадобится небольшая горстка таких.",
  "psi.book.page.tutorial1.3": "После того, как все ваши материалы собраны, стандартный рабочий процесс создания $(thing)Spell$(0) выглядит следующим образом:$(li)Создайте $(thing)Spell$(0) в $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l);$(li)Скопируйте $(thing)Spell$(0) в файл $(thing)Spell$(0) $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l);$(li)Загрузите $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) в ваш $(thing)CAD$(0) с помощью $(l: basics/cad_assembler)$(o)$(item)CAD Ассемблер$(0)$(/l);$(li)Держите $(thing)CAD$(0), наведите курсор и выполните приведение.$(p)В этом и следующем уроках мы проведем вас через этот процесс.",
  "psi.book.page.tutorial1.4": "Когда вы откроете $(l: basics/spell_programmer)$(o)$(item)Spell Programmer$(0)$(/l), вы увидите большую сетку — именно здесь создаются $(thing)Spells$(0) и происходит волшебство. $(p)$(thing)Psi$(0) Система программирования $(o)exactly$() не является традиционной и сложной; вместо этого $(thing)Spells$(0) состоят из простых действий, называемых $(thing)Tricks$(0), выполняемых последовательно.$(p)Весь мод сосредоточен вокруг того, чтобы просто заставить $(thing)Tricks$(0) делать то, что вы от них хотите.",
  "psi.book.page.tutorial1.5": "$(thing)Psi$(0) $(thing)Spells$(0) создаются в сетке $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l) из $(thing)Spell Pieces$(0); вы можете добавить в сетку столько частей любого типа, сколько хотите, хотя не все комбинации $(thing)Spell Pieces$(0) будут создавать действительные $(thing)Spells$(0).$(p)Чтобы добавить часть в сетку, щелкните правой кнопкой мыши то место, где вы хотите, чтобы эта часть находилась, и выберите из всплывающего меню частей.",
  "psi.book.page.tutorial1.6": "Выбирая в меню $(thing)Spell Pieces$(0), вы можете навести курсор на одну из них, чтобы увидеть ее имя, и щелкнуть по ней, чтобы поместить ее в сетку.$(p)Не беспокойтесь о множестве частей, которые появляются перед вами; вы можете просто ввести текст для поиска определенных фрагментов и нажать Enter, чтобы разместить первый результат поиска. $(p)Вы можете удерживать клавишу Shift и навести курсор на знак «?» кнопку в правом нижнем углу, чтобы просмотреть полный список ярлыков.",
  "psi.book.page.tutorial1.7": "Начните с размещения фрагмента под названием $(piece)Trick: Debug$(0) в любом месте сетки.$(p)Как упоминалось ранее, $(thing)Tricks$(0), подобные этому, — это $(thing)Spell Pieces$(0), отвечающие за взаимодействие с миром.$(p)Это самый простой $(thing)Trick$(0); все, что он делает, это говорит что-то в вашем чате. Тем не менее, $(thing)Tricks$(0) может использовать вашу $(thing)пси-энергию$(0) для выполнения самых разных задач.",
  "psi.book.page.tutorial1.8": "Выберите часть сетки $(l)adjacent$() к вашему $(piece)Trick: Debug$(0) и поместите туда часть под названием $(piece)Selector: Caster$(0).$(p)$(thing)Селекторы$(0) — это $(thing)Spell Pieces$(0), которые предоставляют информацию об окружающем мире $(thing)Spells$(0).$(p)Эта конкретная часть представляет вас, возможного заклинателя этого $(вещь)Заклинание$(0). Вероятно, вы будете использовать его довольно часто, поскольку это естественная отправная точка для ваших $(thing)Spells$(0).",
  "psi.book.page.tutorial1.9": "Почти всем $(thing)Spell Pieces$(0) нужны $(l)parameters$(), которые сообщают частям, над чем выполнять свои действия.$(p)Например, мы знаем, что $(piece)Trick: Debug$(0) отправляет что-то в чат; его первый параметр сообщает $(o)что$() сказать. $(p)$(o)Параметры также имеют $(l)типы данных$()$(o) или для краткости $(l)types$()$(o), но об этом мы поговорим в следующем уроке.$()",
  "psi.book.page.tutorial1.10": "Щелкните левой кнопкой мыши по фрагменту $(piece)Trick: Debug$(0); вы должны увидеть панель слева с двумя рядами. Каждая строка должна иметь метку и несколько маленьких стрелок.$(p)Эти две строки представляют два параметра, которые принимает $(piece)Trick: Debug$(0).$(p)Игнорируйте пока строку с надписью «Number»; просто знайте, что точка в центре означает, что это необязательно. Чтобы $(thing)Spell$(0) функционировал, все $(o)не$()-необязательные параметры должны быть заполнены.",
  "psi.book.page.tutorial1.11": "Посмотрите на стрелки с надписью «Цель» и выберите ту, которая соответствует тому месту, где вы разместили $(piece)Selector: Caster$(0) (например, если вы поместили ее справа от $(piece)Trick: Debug$(0), выберите самую правую стрелку, указывающую влево), чтобы казалось, что часть $(thing)Selector$(0) указывает на часть $(thing)Trick$(0).",
  "psi.book.page.tutorial1.12": "Это заставит $(thing)Trick$(0) использовать $(thing)Selector$(0) в качестве параметра «Target».$(p)Мы говорим, что $(piece)Trick: Debug$(0) $(l)accepts$() или $(l)takes$() $(piece)Selector: Caster$(0) в качестве параметра «Target».$(p)Параметры также известны как $(l)arguments$() или просто $(l)inputs$().$(p)$(o)Техническое примечание: в словаре программирования есть небольшая разница в терминах, но она выходит за рамки данной таблицы.$()",
  "psi.book.page.tutorial1.13": "Ваше окончательное $(thing)Spell$(0) должно выглядеть примерно так.",
  "psi.book.page.tutorial1.14": "На этом этапе значок X в верхнем левом углу $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l) должен превратиться в галочку.$(p)Галочка означает, что $(thing)Spell$(0) $(l)компилировался успешно$() (это компактный способ сказать « $(l: basics/spell_programmer)$(o)$(item)Программист$(0)$(/l) убедился, что все $(thing)Части заклинания$(0), которые вы разместили, правильно подходят друг к другу»).",
  "psi.book.page.tutorial1.15": "Если в любой момент присутствует X (что означает, что компиляция $(l)failed$() или $(l)errored$()), вы можете навести на него курсор, чтобы увидеть проблему с вашим $(thing)Spell$(0) и исправить эту проблему.$(p)После успешной компиляции вашего $(thing)Spell$(0) его можно скопировать в $(l: items/basic_bullet)$(o)$(item)Spell Пуля$(0)$(/l) и бросок. Именно это мы и сделаем в $(l: basics/tutorial_2)следующем уроке$(/l)!",
  "psi.book.entry.tutorial2": "Учебник (2): Сотворение заклинания",
  "psi.book.page.tutorial2.0": "Итак, вы написали свое первое $(thing)Spell$(0)! Однако на самом деле его приведение потребует нескольких дополнительных шагов.$(p)Во-первых, закройте свой $(l: basics/spell_programmer)$(o)$(item)Spell Programmer$(0)$(/l), удерживайте $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) (который вы должны были подготовить в последнем уроке) и используйте ($(k: use)) пуля на Программисте. Вы должны услышать звуковой сигнал, и пуля должна переименоваться в «Отладка».",
  "psi.book.page.tutorial2.1": "Теперь пуля содержит копию написанного вами $(thing)Spell$(0) и готова к загрузке в ваш $(thing)CAD$(0).$(p)Чтобы загрузить $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) в ваш $(thing)CAD$(0), откройте $(l: basics/cad_assembler)$(o)$(item)CAD Assembler$(0)$(/l) и вставьте $(thing)CAD$(0) в крайний левый слот. Некоторые из слотов под ним должны открыться; поместите пулю с написанным вами $(thing)Spell$(0) в один из этих слотов. Заберите свой $(thing)CAD$(0) обратно.",
  "psi.book.page.tutorial2.2": "$(s$(0) может содержать несколько $(item)Spell Bullets$(0) и, следовательно, несколько $(thing)Spell$(0); активное $(thing)Spell$(0) для применения можно переключать на лету.$(p)Чтобы выбрать $(thing)Spell$(0) для применения, держите $(thing)CAD$(0) в любой руке и удерживайте нажатой главную клавишу $(thing)Psi$(0) ($(k: psimisc. keybind)).$(p)Должно появиться радиальное меню; наведите указатель мыши на $(thing)Spell$(0) с надписью «Debug» (тот, который вы только что написали) и отпустите клавишу, чтобы выбрать его.",
  "psi.book.page.tutorial2.3": "Когда вы применяете $(thing)Spell$(0) ($(k: use)), вы должны увидеть в чате длинный блок текста, включающий ваше имя пользователя и координаты. Если да: поздравляем! Вам удалось написать и применить свое первое $(thing)Spell$(0)!$(p)Если вам нужно создать больше $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l), снова откройте радиальное меню и выберите ячейку без сохраненного $(thing)Spell$(0), а затем произнесите заклинание в $(item)Redstone Dust$(0), как обычно.",
  "psi.book.page.tutorial2.4": "$(l)Примечание: вы должны носить с собой только один $(thing)CAD$(0) одновременно.$()$(p)Если вы носите более одного, их направленная энергия $(thing)Psi$(0) мешает, замыкая любые $(thing)Spells$(0). Этого явления, известного как «заклинивание заклинаний», лучше всего избегать, просто придерживаясь одного $(thing)CAD$(0) на каждого мага.$(p)Как только вы успешно применили отладочное $(thing)Spell$(0), вы можете перейти к $(l: basics/tutorial_3)следующему уроку$(/l).",
  "psi.book.entry.tutorial3": "Учебник (3): Типы и числа",
  "psi.book.page.tutorial3.0": "Откройте свой $(l: basics/spell_programmer)$(o)$(item)Spell Programmer$(0)$(/l) и снова взгляните на свой «Отладочный» $(thing)Spell$(0).$(p)Помните параметр «Number» в $(piece)Trick: Debug$(0), который мы видели в $(l: basics/tutorial_1)первом уроке$(/l)? Ранее мы упоминали, что этот параметр имеет дополнительную точку в центре, что означает, что его можно отключить. Но на этот раз мы $(o)не$() отключим его.",
  "psi.book.page.tutorial3.1": "Параметр «Number» $(piece)Trick: Debug$(0), если он используется, печатается как своего рода метка, так что несколько копий $(piece)Trick: Debug$(0) в сложном $(thing)Spell$(0) можно различить. $(p)$(l)type$() этого параметра — «Number», что означает, что параметр будет принимать только те аргументы, которые выводятся (или $(l)return$()). Numbers.$(p)Первый параметр Target принимает специальный тип Any, что означает, что он может принимать что угодно.",
  "psi.book.page.tutorial3.2": "Если вы удерживаете клавишу Shift и наводите курсор на часть заклинания, она сообщит вам типы всех ее параметров, а также тип выходных данных. Например, мы видим, что фрагмент $(piece)Selector: Caster$(0) возвращает сущность, которая не является числом. Итак, нам понадобится какая-то другая часть, чтобы представить одну.",
  "psi.book.page.tutorial3.3": "Подсказка для $(piece)Выбор: Caster$(0); он возвращает сущность",
  "psi.book.page.tutorial3.4": "Выберите пустой фрагмент сетки рядом с $(piece)Trick: Debug$(0) и поместите фрагмент с именем $(piece)Constant: Number$(0).$(p)Если вы наведете указатель мыши на этот фрагмент, удерживая клавишу Shift, вы увидите, что он $(o)делает$() возвращает число (на самом деле он возвращает числовую константу, которая является числом, но более конкретным).$(p)Поэтому, если вы снова щелкните левой кнопкой мыши по $(piece)Trick: Debug$(0) и укажите его параметр Number в $(piece)Constant: Number$(0), ваше $(thing)Spell$(0) должно скомпилироваться.",
  "psi.book.page.tutorial3.5": "Чтобы запустить новую улучшенную отладку $(thing)Spell$(0), вы можете подумать, что вам нужно выгрузить пулю, повторно скопировать $(thing)Spell$(0), перезагрузить пулю и повторно выбрать $(thing)Spell$(0).$(p). К счастью, ваш $(thing)CAD$(0) поставляется с ярлыком: просто выберите Debug $(thing)Spell$(0) на своем компьютере. $(thing)CAD$(0), присядьте и проведите ($(k: use)) вашим $(thing)CAD$(0) над вашим $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l), и $(thing)Spell$(0), хранящийся в соответствующем маркере, обновится до $(l: basics/spell_programmer)$(o)$(item)Версия программиста$(0)$(/l).",
  "psi.book.page.tutorial3.6": "Если вы сейчас примените Debug $(thing)Spell$(0), вы заметите, что получите тот же длинный блок текста, что и раньше, но с нулем в скобках впереди: фактически, тот же ноль, который отображался в фрагменте $(piece)Constant: Number$(0), когда вы его поместили. $(p)Итак, логичный следующий вопрос: как нам отобразить число $(o)other$(), кроме нуля?",
  "psi.book.page.tutorial3.7": "Что ж, часть $(piece)Constant: Number$(0) особенная: чтобы установить ее хранимую константу, все, что вам нужно сделать, это выбрать часть и просто ввести новое число. $(p)Все остальные части $(thing)Spell Pieces$(0) настраиваются только с левой панели параметров. $(p)$(o)Технический обходной путь: все числовые константы считаются числами, но простые числа не считаются числовыми константами. Только $(thing)Constant$(0) $(thing)Spell Pieces$(0) возвращает числовые константы.$()",
  "psi.book.page.tutorial3.8": "Попробуйте отредактировать число, хранящееся в $(piece)Constant: Number$(0), обновить $(thing)Spell$(0), хранящееся в вашем $(thing)CAD$(0), и выполнить повторное приведение. Вы должны увидеть, что номер префикса действительно изменился! Аккуратный!",
  "psi.book.page.tutorial3.9": "А вот в чем дело: мы подключили к $(piece)Trick: Debug$(0) до двух разных входных данных одновременно.$(p)По правде говоря, $(o)most$() $(thing)Spell Pieces$(0) принимает два (или даже три) входных сигнала. И когда дело доходит до этого, входные данные вашего $(thing)Spell$(0) могут оказаться рядом друг с другом. $(p)Именно здесь на помощь приходят $(piece)Connectors$(0).",
  "psi.book.page.tutorial3.10": "Соединители — это простые, но мощные элементы: они принимают один вход любого типа и возвращают тот же вход. Таким образом, если для определенной $(thing)Spell Piece$(0) требуется в качестве входных данных другая часть, находящаяся на расстоянии двух ячеек сетки, вы можете соединить их с помощью $(piece)Connector$(0).",
  "psi.book.page.tutorial3.11": "Мост в Терабитию",
  "psi.book.page.tutorial3.12": "Конечно, истинная сила $(piece)Connector$(0) заключается в том, что они могут соединяться друг с другом $(o)other$(): так что вы, конечно, можете последовательно соединить их вместе, чтобы соединить $(thing)Spell Pieces$(0) с любого расстояния. $(p)Поиграйтесь с некоторыми $(piece)Connector$(0), и как только вы почувствуете себя комфортно, вы можете перейти к $(l: basics/tutorial_4)следующему учебник $(/l)!",
  "psi.book.page.tutorial3.13": "Долгий путь вокруг",
  "psi.book.entry.tutorial4": "Урок (4): Переместите это",
  "psi.book.page.tutorial4.0": "Хорошо, хорошо. Я знаю, о чем вы думаете: «Это скучно. Когда мы начнем делать крутые вещи?» Ну... теперь!$(p)Давайте представим $(thing)Trick$(0), который на самом деле взаимодействует с миром. Представляем: $(piece)Trick: Add Motion$(0).$(p)Этот $(thing)Trick$(0) берет объект и добавляет к нему движение (т. е. толкает его) в определенном направлении.",
  "psi.book.page.tutorial4.1": "Примеры сущностей: вы, заклинатель; курица; зомби; вагонетка; падающая глыба песка; стрела; иссушитель.$(p)Этот $(thing)Trick$(0) принимает в качестве параметров Entity (который представляет объект для перемещения), вектор (направление его перемещения) и числовую константу (насколько сильно $(thing)Trick$(0) должен толкать объект).$(p)$(o)Примечание: если вы не понимаете, что означает слово «вектор», $(l: basics/vector_primer)эта запись$(/l) должна служить хорошее введение.$()",
  "psi.book.page.tutorial4.2": "Давайте напишем $(thing)Spell$(0), который при применении просто увеличивает заклинателя вперед, используя $(piece)Trick: Add Motion$(0).$(p)Как упоминалось ранее, $(piece)Selector: Caster$(0) возвращает сущность (а именно: вас, заклинателя), поэтому мы можем использовать это в качестве первого параметра для $(piece)Trick: Add Motion$(0).$(p)Нам бы хотелось $(thing)Уловка$(0), чтобы подтолкнуть вас $(o)вперед$(), то есть $(o)в том направлении, в котором вы смотрите$(). Для этого давайте представим нашу следующую часть: $(piece)Operator: Entity Look$(0).",
  "psi.book.page.tutorial4.3": "Никакие части $(thing)Operator$(0) каким-либо образом не меняют мир вокруг себя и не извлекают из него информацию (за некоторыми исключениями). Вместо этого они просто $(o)преобразуют$() информацию в более полезную форму.$(p)В частности, $(piece)Оператор: Entity Look$(0) принимает Entity и возвращает единичный вектор: направление, в котором смотрит Entity.$(p)Таким образом, один из них, подключенный к $(piece)Selector: Caster$(0), вернет вектор, который указывает, куда вы смотрите.",
  "psi.book.page.tutorial4.4": "Наконец, для последнего параметра $(piece)Trick: Add Motion$(0) подойдет простая $(piece)Constant: Number$(0).$(p)Давайте соберем это $(thing)Spell$(0) воедино: сначала откройте свой $(l: basics/spell_programmer)$(o)$(item)Spell Programmer$(0)$(/l) и очистите все $(thing)Spell$(0) в настоящее время на нем. Затем поместите $(piece)Trick: Add Motion$(0) ближе к середине сетки.",
  "psi.book.page.tutorial4.5": "Поместите $(piece)Selector: Caster$(0) прямо над $(thing)Trick$(0), $(piece)Operator: Entity Look$(0) справа от него и $(piece)Constant: Number$(0) слева от него.$(p)Введите число 3 для $(thing)Constant$(0) (вы можете поработать с этим позже).$(p)Поместите a $(piece)Connector$(0) между $(thing)Operator$(0) и $(thing)Selector$(0), а затем настройте все параметры для $(thing)Operator$(0) и $(thing)Trick$(0), чтобы $(thing)Spell$(0) компилировался – это должно выглядеть примерно так, как показано на следующей странице.",
  "psi.book.page.tutorial4.6": "Когда дело доходит до драки",
  "psi.book.page.tutorial4.7": "Скопируйте $(thing)Spell$(0) в свой $(thing)CAD$(0), посмотрите прямо перед собой и произведите заклинание. Если вас выбросит вперед, то поздравляю! Вы только что закончили писать свое первое настоящее $(thing)Spell$(0)!$(p)$(o)Примечание: применение нового $(thing)Spell$(0) слишком много раз подряд может быть вредно для вашего здоровья. Подробнее об этом в $(l: basics/tutorial_5)следующем уроке$(/l).$()",
  "psi.book.entry.tutorial5": "Учебник (5): Ограничения",
  "psi.book.page.tutorial5.0": "Откройте $(l: basics/spell_programmer)$(o)$(item)Spell Programmer$(0)$(/l) еще раз и просмотрите $(thing)Spell$(0), который вы написали в $(l: basics/tutorial_4)последнем уроке$(/l).$(p). При правильной компиляции вы должны были увидеть пять значков справа от сетки, каждый с двумя цифрами. Эти числовые характеристики определяют практические ограничения на то, какие именно $(thing)Spell$(0) вы можете использовать.",
  "psi.book.page.tutorial5.1": "Статистика вашего Add Motion $(thing)Spell$(0) (при условии, что ваша константа равна 2)",
  "psi.book.subsec.tutorial5.2": "Сложность",
  "psi.book.page.tutorial5.2": "Первый показатель — это $(thing)Complexity$(0), общее количество $(thing)Operators$(0), $(thing)Selectors$(0) и неотладочных $(thing)Tricks$(0) в $(thing)Spell$(0).$(p). Его максимальное значение определяется имеющимся у вас $(l: comComponents/core)$(o)$(item)CAD Core$(0)$(/l) установлен; если $(thing)Spell$(0) $(thing)Complexity$(0) превышает возможности вашего $(thing)CAD$(0), его нельзя будет применить.",
  "psi.book.subsec.tutorial5.3": "Потенция",
  "psi.book.page.tutorial5.3": "Второй — $(thing)Potency$(0), ограниченный вашим компонентом $(l: comComponents/assembly)$(o)$(item)Assembly$(0)$(/l); приблизительное общее энергопотребление всех $(thing)Tricks$(0), используемых в $(thing)Spell$(0).$(p)Некоторые $(thing)Tricks$(0) имеют фиксированную $(thing)Potency$(0) стоимость за использование. Однако большинство $(thing)Tricks$(0), имеющих параметр типа числовой константы, используют его для определения своей $(thing)Potency$(0); чем выше константа, тем больше $(вещь)Потенция$(0).",
  "psi.book.subsec.tutorial5.4": "Расходы",
  "psi.book.page.tutorial5.4": "Третий показатель, $(thing)Cost$(0), уникален тем, что ваш $(thing)CAD$(0) не устанавливает для него никаких ограничений. Вместо этого каждый раз, когда применяется $(thing)Spell$(0), оно потребляет $(thing)Cost$(0) из $(thing)Psi-энергии$(0) вашего собственного тела.$(p)Первое показанное число — это $(o)идеальная$() $(thing)Cost$(0) $(thing)Spell$(0) -- все $(l: comComponents/assembly)$(o)$(item)CAD Сборки$(0)$(/l) имеют недостатки, увеличивающие его.",
  "psi.book.page.tutorial5.5": "Истинная $(thing)стоимость$(0) отливки с помощью вашего $(thing)CAD$(0) — это число в скобках на дисплее $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l), и более высокая $(l: comComponents/assembly)$(o)$(item)Assembly$(0)$(/l) $(thing)Efficiency$(0), тем ближе к идеалу становится фактическая $(thing)Cost$(0) отливки из вашего $(thing)CAD$(0).",
  "psi.book.page.tutorial5.6": "Ваша $(thing)Пси-энергия$(0) восстанавливается со скоростью около 500 единиц в секунду, что ограничивает скорость, с которой вы можете использовать $(thing)Spells$(0).$(p)Доступ к вашему текущему уровню $(thing)Пси-энергии$(0) можно получить из $(thing)Spell$(0) с помощью $(piece)Селектор: Caster Energy$(0).",
  "psi.book.page.tutorial5.7": "Обратите внимание, что если вы накладываете $(thing)Заклинание$(0) без достаточного количества $(thing)Пси-энергии$(0) (так называемое $(l)overdrawing$()), ваш $(thing)CAD$(0) будет расходовать лишние затраты из вашего собственного здоровья и быстро отключится до тех пор, пока ваша $(thing)Пси-энергия$(0) полностью не восстановится, для вашей же безопасности.$(p)A $(l: comComponents/battery)$(o)$(item)Battery$(0)$(/l), добавленный в $(thing)CAD$(0), может защитить от этого.$(p)Будьте осторожны — перерасход чреват болезненными и, возможно, даже смертельными последствиями!",
  "psi.book.subsec.tutorial5.8": "Проекция",
  "psi.book.page.tutorial5.8": "Четвертый показатель, отображаемый в $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l), — это $(thing)Projection$(0): общее количество неотладочных $(thing)Tricks$(0) в $(thing)Spell$(0).$(p)Ваших $(thing)CAD$(0) $(l: comComponents/core)$(o)$(item)Core$(0)$(/l) определяет максимальную $(thing)Projection$(0) на $(thing)Spell$(0); слишком много $(thing)Tricks$(0) и $(thing)Spell$(0) невозможно применить.",
  "psi.book.subsec.tutorial5.9": "Пропускная способность",
  "psi.book.page.tutorial5.9": "И пятый и последний показатель — $(thing)Bandwidth$(0), ограниченный вашим $(l: comComponents/socket)$(o)$(item)CAD Socket$(0)$(/l): ширина или высота $(thing)Spell$(0), измеренная в ячейках сетки — в зависимости от того, что больше.$(p)Это, при некоторой изобретательности, одна из самых интересных характеристик для работы; Если ваше $(thing)Spell$(0) слишком велико, метод перемещения некоторых частей и удаления других, чтобы упаковать их в меньшее пространство, известен как $(l)сжатие$().",
  "psi.book.page.tutorial5.10": "Есть одно последнее ограничение на $(thing)Spells$(0): никакая $(thing)Trick$(0) не может воздействовать на что-либо дальше, чем в 32 блоках от его $(l: items/spell_bullet#focal_point)$(o)$(thing)Фокусная точка$(0)$(/l) (для простого $(l: items/basic_bullet)$(o)$(item)Заклинания Bullet$(0)$(/l), это только вы, заклинатель), за исключением самого заклинателя $(thing)Spell$(0).$(p)$(thing)Spell$(0) при попытке сделать это отобразит ошибку в чате, а затем $(l)fizzle$().$(p)Когда $(thing)Spell$(0) сработает, оно безвредно рассеет сохраненный $(thing)Psi Energy$(0), и любые оставшиеся $(thing)Tricks$(0), которые в противном случае были бы выполнены, не выполняются.",
  "psi.book.page.tutorial5.11": "Чтобы прояснить ранее упомянутое исключение: $(br)Некоторые типы $(item)Spell Bullets$(0) имеют $(l: items/spell_bullet#focal_point)$(o)$(thing)Фокусные точки$(0)$(/l), которые $(o)не$() являются их заклинателями — однако в этих случаях их сохраненные $(thing)Заклинания$(0) все равно могут влиять на их заклинателей посредством $(piece)Селектор: Caster$(0), независимо от того, как далеко находятся их $(l: items/spell_bullet#focal_point)$(o)$(thing)Фокусные точки$(0)$(/l).$(p)Намечено $(l: basics/tutorial_6)одно последнее руководство$(/l), объединяющее большую часть того, что мы узнали, а затем мы выпустим вас в более широкий мир $(вещь)Пси$(0). Удачи!",
  "psi.book.entry.tutorial6": "Учебник (6): ВЗРЫВ",
  "psi.book.page.tutorial6.0": "Вам нравятся взрывы?$(p)Конечно, нравятся. Все любят взрывы!$(p)Итак, давайте создадим $(thing)Заклинание$(0), которое взрывает все, на что вы смотрите, когда его произносите.$(p)Что может пойти не так?",
  "psi.book.page.tutorial6.1": "Чтобы написать это $(thing)Spell$(0), давайте начнем с $(thing)Trick$(0), который мы будем использовать, чтобы вызвать взрыв, и пойдем в обратном направлении.$(p)Удобно, он называется $(piece)Trick: Explode$(0) — так что откройте свой $(l: basics/spell_programmer)$(o)$(item)Spell Programmer$(0)$(/l), очистите сетку и поместите $(piece)Trick: Explode$(0) ближе к середине. $(p)Наведение курсора на нее, удерживая нажатой клавишу Shift, показывает, что она принимает вектор и числовую константу в качестве параметров.",
  "psi.book.page.tutorial6.2": "Параметр «Числовая константа» представляет мощность взрыва — его достаточно легко заполнить $(piece)Constant: Number$(0) кусок. $(p)Вектор, с другой стороны, принимает вектор положения места, в котором вы хотите, чтобы произошел взрыв. Это то, что потребует немного больше усилий для расчета.",
  "psi.book.page.tutorial6.3": "$(l: basics/tutorial_5)В прошлом уроке$(/l) мы использовали $(piece)Operator: Entity Look$(0).$(p)Однако этот $(thing)Operator$(0) возвращает единичный вектор, а $(piece)Trick: Explode$(0) требует позиции, поэтому подача этого фрагмента непосредственно в $(thing)Trick$(0), вероятно, не даст желаемых результатов.$(p)Итак, давайте представим еще один $(вещь)Оператор$(0): а именно, $(кусок)Оператор: Позиция сущности$(0).",
  "psi.book.page.tutorial6.4": "$(piece)Оператор: Entity Position$(0) принимает сущность (например, заклинателя $(thing)Spell$(0)) и возвращает позицию этой сущности (точнее: для такого игрока, как вы, он возвращает вашу позицию на уровне глаз).$(p)Однако мы не хотим передавать это напрямую в $(piece)Trick: Explode$(0), потому что при применении он буквально взорвется вам в лицо.",
  "psi.book.page.tutorial6.5": "Здесь мы $(o)могли бы$() просто увеличить вектор, полученный из $(piece)Operator: Entity Look$(0), скажем, в 10 раз, а затем добавить его к выходным данным $(piece)Operator: Entity Position$(0).$(p)При подаче в $(piece)Trick: Explode$(0) это создаст $(thing)Spell$(0), которое при применении создаст взрыв $(o)ровно в десяти кварталах от вас, в том направлении, куда вы смотрите$().",
  "psi.book.page.tutorial6.6": "Но ограничения этого $(thing)Заклинания$(0) кажутся очевидными: если вы хотите взорвать что-то, что находится ближе или дальше десяти блоков, вам придется совершать неуклюжие перемещения и угадывать расстояния.$(p)Не очень практично, учитывая все обстоятельства.$(p)Вместо этого давайте воспользуемся более умным оператором: $(piece)Оператор: Vector Raycast$(0).",
  "psi.book.page.tutorial6.7": "Функция $(thing)Operator$(0) интуитивно проста; он принимает вектор положения и вектор «луча» (который является просто вектором, представляющим направление). $(p)Его возвращаемое значение в значительной степени представляет собой «если бы я стоял там и смотрел в этом направлении, на какую позицию я бы смотрел?», что делает его идеальным для наших целей. $(p)Для получения более подробной информации, включая то, что делает аргумент «Макс», прочитайте страницу об операторе $(piece): Vector Raycast$(0).",
  "psi.book.page.tutorial6.8": "Так! Чтобы построить это $(thing)Spell$(0), давайте поработаем в обратном порядке.$(p)Если вы еще этого не сделали, поместите $(piece)Constant: Number$(0) рядом с $(piece)Trick: Explode$(0) (если вы все еще используете $(thing)CAD$(0), который вы построили в $(l: basics/tutorial_1), первое руководство$(/l), 1.4 будет хорошим числом для его установки. to).$(p)Затем поместите $(piece)Operator: Vector Raycast$(0) рядом с $(thing)Trick$(0) и подключите $(thing)Trick$(0) к двум другим $(thing)Spell Pieces$(0).",
  "psi.book.page.tutorial6.9": "Затем поместите $(piece)Operator: Entity Position$(0) и $(piece)Operator: Entity Look$(0), а затем соедините $(piece)Operator: Vector Raycast$(0) с ними. $(p)Обязательно подключите «Position» к Entity Position и «Ray» к Entity Look, а не наоборот, иначе вы получите странные результаты/ошибки при приведении $(thing)Spell$(0).$(p)Наконец, поместите $(piece)Selector: Caster$(0) и подключите его к двум Entity $(thing)Operators$(0).",
  "psi.book.page.tutorial6.10": "Что-то в этом духе",
  "psi.book.page.tutorial6.11": "Как только ваше $(thing)Spell$(0) успешно скомпилируется, загрузите его в свой $(thing)CAD$(0), тщательно прицельтесь во что-нибудь (желательно в то, что вас не особо волнует) и произнесите заклинание.$(p)Если вещь, на которую вы смотрите, взорвется, найдите минутку, чтобы насладиться вновь обретенной силой.$(p)Просто, эээ, постарайтесь не бросать его себе под ноги.",
  "psi.book.page.tutorial6.12": "И последнее замечание: попробуйте применить новое $(thing)Spell$(0) «Взрыв» к чему-то, что находится на расстоянии более 32 блоков (или ни к чему, например к небу).$(p)Вы не должны увидеть взрыва, и в чате должна появиться ошибка, сообщающая вам: «$(c)Цель заклинания находится за пределами максимального радиуса блока в 32 блока.$(0)» (этот предел обсуждался в прошлом уроке).$(p)Подобные ошибки, всплывающие в чате, могут быть довольно серьезными. раздражает.",
  "psi.book.page.tutorial6.13": "Чтобы исправить это, просто поместите фрагмент $(piece)Error Suppressor$(0) в любое место сетки, и полученное $(thing)Spell$(0) вместо этого будет молча терпеть неудачу при применении.$(p)Однако при отладке вы можете захотеть удалить этот фрагмент. Ошибки $(o)can$() иногда могут быть полезны.",
  "psi.book.page.tutorial6.14": "На этом мы завершаем этот набор руководств!$(p)Прочитайте остальную часть этой книги, чтобы получить представление о том, что именно вы можете сделать с этим модом. В конце концов, опытные маги могут делать ужасающие вещи.$(p)Вы можете экспериментировать с вашими $(thing)CAD$(0) и $(l: basics/spell_programmer)$(o)$(item)Программистом заклинаний$(0)$(/l) и создавать свои собственные уникальные $(thing)Заклинания$(0).$(p)Удачи и добро пожаловать в широкий мир $(thing)Psi$(0)!",
  "psi.book.entry.evalOrder": "Порядок оценки",
  "psi.book.page.evalOrder.0": "Почти все $(thing)Tricks$(0) выполняются одновременно с $(thing)Spell$(0), содержащим их. Тем не менее, чтобы использовать $(piece)трюки управления потоком$(0), вам потребуются базовые знания о порядке вычислений; то есть порядок, в котором оцениваются $(thing)Spell Pieces$(0).",
  "psi.book.page.evalOrder.1": "Есть три основных правила порядка оценки; они объяснены более подробно на следующих страницах, но следует краткое описание:$(li)Когда $(thing)Заклинание$(0) выполняется, каждый его $(thing)Tricks$(0) оценивается (а затем выполняется) слева направо, затем сверху вниз;$(li)Любая оцениваемая $(thing)Spell Piece$(0) сначала оценивает все свои входные данные;$(li)$(thing)Spell Piece$(0) оценивается не чаще одного раза за выполнение $(thing)Spell$(0), когда его значение требуется впервые.",
  "psi.book.page.evalOrder.2": "Первое правило не требует пояснений: $(thing)Trick$(0), расположенный выше в сетке, выполняется раньше, чем $(thing)Trick$(0), расположенный ниже, и когда два или более $(thing)Tricks$(0) находятся в одном ряду, первым выполняется самый левый.$(p)Таким образом, $(thing)Spell$(0), показанный на следующей странице, должен отображать «1.0», «2.0», «3.0», и «4.0» в чате именно в таком порядке.",
  "psi.book.page.evalOrder.3": "СDelightе это значимым",
  "psi.book.page.evalOrder.4": "Второе правило столь же просто; $(thing)Часть Заклинания$(0) оценивается только тогда, когда требуется его значение. $(p)Однако, примечательно, что обратное утверждение $(o)также$() верно, а именно: если $(thing)Часть Заклинания$(0) $(o)не$() требуется для $(thing)Trick$(0), прямо или косвенно, она никогда не оценивается, когда $(thing)Spell$(0) выполняется.$(p)Любая $(thing)Spell Piece$(0), которая не связана с $(thing)Trick$(0), вызывает $(l)неопределённое поведение$() – в таких случаях нет никаких гарантий на поведение $(thing)Spell$(0).",
  "psi.book.page.evalOrder.5": "Не рекомендуется",
  "psi.book.page.evalOrder.6": "Третье и последнее правило немного более тонкое и лучше всего проиллюстрировано в $(thing)Spell$(0) на следующей странице: $(p)A $(thing)Spell Piece$(0) оценивается только один раз и возвращает $(o)то же самое значение$() для последующих вычислений. Таким образом, все четыре отображаемые копии $(piece)Trick: Debug$(0) будут выводить $(o)одно и то же $() число, поскольку $(piece)Operator: Random$(0) оценивается только один раз. $(p)$(piece)Trick: Evaluate$(0) можно использовать для оценки $(thing)Spell Piece$(0) «рано».",
  "psi.book.page.evalOrder.7": "В порядке очереди",
  "psi.book.category.components": "Материалы и компоненты",
  "psi.book.category.components.desc": "В этом разделе книги подробно описаны все новые исходные материалы, которые $(thing)Psi$(0) добавляет в игру, а также все компоненты, необходимые для создания правильного $(thing)CAD$(0).",
  "psi.book.entry.psidust": "Псидуст",
  "psi.book.page.psidust.0": "$(item)Psidust$(0) — это материал, преобразованный из $(item)Redstone Dust$(0) несфокусированным выбросом $(thing)пси-энергии$(0), и, как таковой, является хорошим проводником указанных энергий.$(p)Следовательно, это критический компонент низкоуровневого $(s$(0), поскольку он используется в простом $(l: comComponents/core#basic)$(item)CAD Ядра$(0)$(/l), $(l: comComponents/socket#basic)$(item)Разъемы$(0)$(/l) и $(l: comComponents/battery#basic)$(item)Батареи$(0)$(/l), а также все $(l: comComponents/colorizer)$(o)$(item)CAD Колоризаторы$(0)$(/l).$(p)Также используется в $(item)Spell Bullets$(0).",
  "psi.book.page.psidust.1": "Чтобы создать $(item)Psidust$(0), сначала бросьте на землю немного $(item)Redstone Dust$(0). Затем встаньте рядом и примените ($(k: use)) с помощью $(thing)CAD$(0) $(l), у которого не выбрано $(thing)Spell$(0)$(), чтобы преобразовать красный камень в $(item)Psidust$(0).$(p)$(item)Psidust$(0) также можно создать с помощью любого из приемов $(piece)infusion$(0).",
  "psi.book.entry.psimetal": "Псиметал",
  "psi.book.page.psimetal.0": "$(item)Псиметалл$(0) — это материал, трансмутированный из $(item)Золотых слитков$(0), который проводит, хранит и передает $(thing)Пси-энергию$(0) $(o)much$() лучше, чем $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l).$(p)Помимо того, что он является компонентом более мощных $(l: компоненты/ядро)$(o)$(item)Ядра САПР$(0)$(/l), $(l: компоненты/разъем)$(o)$(item)Разъемы$(0)$(/l) и $(l: компоненты/батарея#расширенный)$(item)Батареи$(0)$(/l), его можно превратить в превосходный $(l: компоненты/сборка#psimetal)$(item)CAD-сборка$(0)$(/l). Он также используется для изготовления $(l: items/tools)$(o)$(thing)Psimetal Tools$(0)$(/l) и $(l: items/exosuit)$(o)$(thing)Armor$(0)$(/l), а также $(l: comComponents/ebony_ivory)$(o)$(item)Слитков черного дерева и слоновой кости$(0)$(/l).",
  "psi.book.page.psimetal.1": "Чтобы создать $(item)Псиметалл$(0), сначала бросьте $(item)Золотые слитки$(0) на землю.$(p)Затем встаньте рядом и примените $(thing)Заклинание$(0) с $(piece)Trick: Infusion$(0) (или любой другой $(piece)Infusion$(0)) в качестве одного из его $(thing)Tricks$(0), чтобы превратить золото в $(предмет)Псиметалл$(0).",
  "psi.book.entry.psigem": "Псигем",
  "psi.book.page.psigem.0": "$(item)Psigems$(0) — это кристаллы, преобразованные из $(item)Diamonds$(0), преломляющие свойства которых делают их чрезвычайно хорошими для проведения, передачи и хранения $(thing)пси-энергии$(0).$(p)Они используются для создания первоклассных $(l: comComponents/core)$(o)$(item)CAD Cores$(0)$(/l), $(l: comComponents/socket)$(o)$(item)Розетки$(0)$(/l) и $(l: comComponents/battery#ultradense)$(item)Батареи$(0)$(/l), а также в качестве основных компонентов в $(l: items/tools)$(o)$(thing)Psimetal Tools$(0)$(/l) и $(l: items/exosuit)$(o)$(вещь)Доспехи$(0)$(/l).",
  "psi.book.page.psigem.1": "Чтобы создать $(item)Psigem$(0), сначала бросьте $(item)Diamond$(0) на землю.$(p)Затем встаньте рядом и примените $(thing)Spell$(0) с $(piece)Trick: Greater Infusion$(0) (или $(piece)Trick: Ebony & Ivory$(0)) в качестве одного из трюков, чтобы превратить $(item)Diamond$(0) в $(предмет)Псигем$(0).",
  "psi.book.entry.ebonyIvory": "Черное дерево и слоновая кость",
  "psi.book.page.ebonyIvory.0": "$(thing)End$(0) гораздо ближе к измерению разума, чем $(thing)Overworld$(0). Следовательно, его сущности гораздо более восприимчивы к $(thing)Пси-энергии$(0), которая также исходит от разума.$(p)$(piece)Хитрость: Эбеновое дерево и слоновая кость$(0) можно использовать для захвата этих эссенций в $(item)Уголь$(0) и $(item)Кварц Пустоты$(0), превращая их в $(item)Эбеновое вещество$(0) и $(item)Слоновая кость Вещество$(0) соответственно.",
  "psi.book.page.ebonyIvory.1": "К сожалению, как выяснилось, ни $(item)Ebony$(0), ни $(item)Ivory Substance$(0) несовместимы с материалами $(thing)Overworld$(0)-y.$(p)Это означает, что их преобразование в $(l: comComponents/core)$(o)$(item)CAD Cores$(0)$(/l), $(l: компоненты/розетка)$(o)$(item)Розетки$(0)$(/l) и $(l: компоненты/батарея)$(o)$(item)Батареи$(0)$(/l) оказывается довольно сложной задачей.$(p)Мы $(o)можем$(), однако, покрыть $(l: comComponents/psimetal)$(o)$(item)Psimetal Ingots$(0)$(/l) с материалом, дающим $(item)Ebony$(0) и $(item)Ingots Psimetal Ingots$(0) соответственно, которые достаточно стабильны, чтобы их можно было сформировать в $(l: comComponents/assembly)$(o)$(item)CAD-сборки$(0)$(/l).",
  "psi.book.page.ebonyIvory.2": "Чтобы создать $(item)Эбонитовую субстанцию$(0), сначала отправляйтесь в $(thing)Конец$(0) и бросьте туда $(item)Уголь$(0).$(p)Затем встаньте рядом и примените $(thing)Заклинание$(0) с $(piece)Trick: Ebony & Ivory$(0) в качестве одной из его $(thing)Tricks$(0), чтобы преобразовать $(item)Уголь$(0) в $(item)Эбеновое вещество$(0).",
  "psi.book.page.ebonyIvory.3": "Чтобы создать $(item)Вещество цвета слоновой кости$(0), сначала отправляйтесь в $(thing)Конец$(0) и бросьте туда $(item)Кварц Пустоты$(0).$(p)Затем встаньте рядом и примените $(thing)Заклинание$(0) с $(piece)Trick: Ebony & Ivory$(0) в качестве одной из его $(thing)Tricks$(0), чтобы преобразовать $(item)Кварц Пустоты$(0) в $(item)Вещество слоновой кости$(0).",
  "psi.book.page.ebonyIvory.4": "Dark'ness Dementia Raven Way",
  "psi.book.page.ebonyIvory.5": "При его создании ни один слон не пострадал.",
  "psi.book.entry.assembly": "Сборки",
  "psi.book.page.assembly.0": "$(item)CAD Assembly$(0) имеет простую структуру, однако это самый важный компонент $(thing)CAD$(0).$(p)$(item)Assembly$(0) отвечает за передачу $(thing)пси-энергии $(0) пользователя $(thing)Psi$(0) — это просто канал удобной формы для выполнения задачи.$(p)Все $(thing)Psi$(0) $(thing)CAD$(0) изготовлены из четырех слитков составляющего материала в сетке крафта, имеющей форму бокового L.$(p)",
  "psi.book.page.assembly.1": "$(item)Assembly$(0) — единственный компонент $(thing)CAD$(0), который строго необходим в $(l: basics/cad_assembler)$(o)$(item)CAD Assembler$(0)$(/l) — действительно, любой $(thing)CAD$(0), состоящий только из $(item)Assembly$(0), можно вернуть в один из компонентов при крафте Grid.$(p)Каждая $(item)Assembly$(0) имеет $(l: basics/tutorial_5#potency)$(o)$(thing)Potency$(0)$(/l): грубо говоря, максимальную скорость, с которой он может направлять $(thing)пси-энергию$(0).$(p)Он также имеет $(l: basics/tutorial_5#cost)$(o)$(thing)Efficiency$(0)$(/l), который представляет собой процент $(thing)Пси-энергии$(0) пользователя, которую он может фактически $(o)использовать$() в $(thing)Заклинании$(0) — более высокую $(l: basics/tutorial_5#cost)$(o)$(thing)Эффективность$(0)$(/l) лучше.",
  "psi.book.page.assembly.2": "Скромная $(item)Iron CAD Assembly$(0) имеет самую низкую $(l: basics/tutorial_5#potency)$(o)$(thing)Potency$(0)$(/l) и $(l: basics/tutorial_5#cost)$(o)$(thing)эффективность$(0)$(/l) среди всех $(item)Assembly$(0) в этой книге.$(p)Но это относительно дешев и создает $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l), а также любую другую $(thing)CAD$(0), так что это идеальный вариант $(item)Assembly$(0) для начинающих.",
  "psi.book.page.assembly.3": "Изящный и простой",
  "psi.book.page.assembly.4": "$(item)Gold CAD Assembly$(0) может похвастаться более высокой $(l: basics/tutorial_5#potency)$(o)$(thing)Potency$(0)$(/l), а также более высокой $(l: basics/tutorial_5#cost)$(o)$(thing)эффективностью$(0)$(/l), чем его железный аналог — фактически, он лучший $(item)Сборка$(0) в книге, сделанная из обычных материалов.",
  "psi.book.page.assembly.5": "Хоть и тяжеловато носить с собой",
  "psi.book.page.assembly.6": "$(item)Psimetal CAD Сборка$(0) имеет более высокую $(l: basics/tutorial_5#cost)$(o)$(thing)Эффективность$(0)$(/l), чем $(l: comComponents/assembly#iron)$(item)Железная Сборка$(0)$(/l), а также более высокую $(l: basics/tutorial_5#potency)$(o)$(thing)Потенция$(0)$(/l), чем $(l: comComponents/assembly#gold)$(item)Gold Assembly$(0)$(/l), что делает его действительно универсальным.$(p)Оба $(piece)Trick: Greater Infusion$(0) и $(piece)Trick: Ebony & Ivory$(0) требуют $(thing)CAD$(0) с $(item)Assembly$(0) этого калибра или выше для отливки.",
  "psi.book.page.assembly.7": "Лучшее из обоих миров",
  "psi.book.page.assembly.8": "$(item)Ebony Psimetal CAD Assembly$(0) — это $(item)Assembly высшего уровня.$(0)$(p)Он немного менее эффективен, но может обрабатывать больше $(l: basics/tutorial_5#potency)$(o)$(thing)Potency$(0)$(/l), чем его аналог $(item)Ivory$(0).",
  "psi.book.page.assembly.9": "Большие пушки (так сказать)",
  "psi.book.page.assembly.10": "$(item)Ivory Psimetal CAD Assembly$(0) — это $(item)Assembly высшего уровня.$(0)$(p)Он немного менее эффективен, но имеет большую $(l: basics/tutorial_5#cost)$(o)$(thing)Эффективность$(0)$(/l), чем его аналог из $(item)Ebony$(0).",
  "psi.book.page.assembly.11": "Плывите по течению",
  "psi.book.entry.core": "Ядра",
  "psi.book.page.core.0": "$(thing)CAD$(0) $(item)Core$(0) по сути является его процессором: он отвечает за чтение $(thing)Spell$(0) из $(l: comComponents/socket)$(o)$(item)Socket$(0)$(/l), выполнение вычислений и использование $(thing)Psi-энергии$(0) для создания эффектов $(thing)Tricks$(0) в world.$(p)$(item)CAD Ядра$(0) состоят из четырёх $(thing)Psi$(0)-проводящих материалов, помещенных вокруг центрального куска пыли (в качестве процессора).",
  "psi.book.page.core.1": "Каждое $(item)CAD Core$(0) имеет значение $(l: basics/tutorial_5#complexity)$(o)$(thing)Complexity$(0)$(/l), которое представляет собой максимальное количество вычислений ($(thing)Selectors$(0), $(thing)Operators$(0), неотладочные $(thing)Tricks$(0)) которое может выполнить $(item)Core$(0) per-$(thing)Spell$(0).$(p)A $(item)Core$(0) также имеет $(l: basics/tutorial_5#projection)$(o)$(thing)Projection$(0)$(/l), который представляет собой просто общее количество неотладочных $(thing)Tricks$(0), которые он может выполнить за один раз.",
  "psi.book.page.core.2": "Созданное из $(item)Iron$(0) оболочки вокруг куска $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l), $(item)Basic CAD Core$(0) часто является первым $(item)CAD Core$(0), который создает маг.$(p)Это не фантастика (в частности, оно может сотворить только одно $(thing)Trick$(0) за раз), но для нужд новичка этого вполне достаточно.",
  "psi.book.page.core.3": "Напишите это по буквам",
  "psi.book.page.core.4": "Замена $(l: comComponents/psimetal)$(o)$(item)Psimetal$(0)$(/l) на $(item)Iron$(0) вокруг $(item)CAD Core$(0) позволяет нам использовать другой компонент пыли в центре $(item)Core$(0).$(p)Если для пыли используется $(item)Redstone Dust$(0), мы получаем $(item)Разогнанное CAD Core$(0), которое имеет вдвое большую $(l: basics/tutorial_5#complexity)$(o)$(thing)сложность$(0)$(/l) своего предшественника $(l: comComponents/core#basic)$(item)Basic$(0)$(/l) и в три раза большую $(l: basics/tutorial_5#projection)$(o)$(thing)Проекция$(0)$(/l).",
  "psi.book.page.core.5": "Хет-трик",
  "psi.book.page.core.6": "Если вместо этого мы поместим кусок $(item)Glowstone Dust$(0) в оболочку $(l: comComponents/psimetal)$(o)$(item)Psimetal$(0)$(/l), мы создадим $(item)проводящее CAD-ядро$(0).$(p)Это $(item)Core$(0) обрабатывает меньше $(l: basics/tutorial_5#complexity)$(o)$(thing)Complexity$(0)$(/l), чем его аналог на основе $(item)Redstone Dust$(0), но может обрабатывать четыре $(thing)Tricks$(0) одновременно, а не три $(l: comComponents/core#overclocked)$(item)Overclocked$(0)$(/l).",
  "psi.book.page.core.7": "Какой-то очень сложный бизнес",
  "psi.book.page.core.8": "Встраивание двух $(l: comComponents/psigem)$(o)$(item)Psigems$(0)$(/l) в рецепт $(item)CAD Core$(0) дает $(o)серьезный $() выигрыш в производительности.$(p)Ядро $(item)CAD Core$(0) с гипертактовой частотой и $(item)Redstone Dust$(0) в центре имеет двойную производительность $(l: basics/tutorial_5#complexity)$(o)$(thing)Сложность$(0)$(/l) $(l: comComponents/core#conductive)$(item)Проводящая$(0)$(/l) сердцевина $(o)and$() удваивает $(l: basics/tutorial_5#projection)$(o)$(thing)Проекцию$(0)$(/l) $(l: компоненты/ядро#разогнано)$(item)Разогнано$(0)$(/l) один.",
  "psi.book.page.core.9": "Хотя время не скажу",
  "psi.book.page.core.10": "Если мы используем $(l: comComponents/psigem)$(o)$(item)Psigems$(0)$(/l) в $(item)CAD Core$(0) с $(item)Glowstone Dust$(0) в его центре, мы получаем $(item)Radiative CAD Core$(0).$(p)Это $(item)Core$(0) имеет меньшую $(l: basics/tutorial_5#projection)$(o)$(thing)Projection$(0)$(/l), чем $(l: comComponents/core#hyperclocked)$(item)Hyperclocked$(0)$(/l), но имеет возможность выполнять ошеломляющие $(o)семь$() $(thing)Tricks$(0) за каждое приведение.",
  "psi.book.page.core.11": "Технеций не участвует",
  "psi.book.entry.socket": "Розетки",
  "psi.book.page.socket.0": "$(thing)CAD$(0) $(item)Socket$(0) — это, по сути, его зажим для пули.$(p)Это то, во что загружаются $(item)Spell Bullets$(0), и он отвечает за передачу скомпилированных $(thing)Spells$(0), содержащихся в $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l), в $(l: comComponents/core)$(o)$(item)Core$(0)$(/l) для обработки.$(p)$(item)Гнезда$(0) создаются из куска пыли, который взаимодействует с $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l), на металлической подложке.",
  "psi.book.page.socket.1": "$(item)Socket$(0) имеет $(l: basics/tutorial_5#bandwidth)$(o)$(thing)Пропускная способность$(0)$(/l), которая представляет собой максимальный размер (в пространстве сетки) $(thing)Spell$(0), который он может передать в $(l: comComponents/core)$(o)$(item)Core$(0)$(/l), все в один раз — например, $(item)Socket$(0) с пропускной способностью 5 может передавать $(thing)Spell$(0) размером до 5x5.$(p)Он также имеет несколько $(item)Socket$(0), которые представляют собой отсеки, в которых может храниться один $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) каждый.",
  "psi.book.page.socket.2": "$(item)Базовое гнездо CAD$(0) — это самое простое из $(item)Sockets$(0), созданное из $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l) на подложке из $(item)Iron$(0).$(p). Оно вмещает до четырех $(item)Заклинательных пуль$(0) одновременно и может передаваться $(вещь)Заклинания$(0) размером до 5x5.",
  "psi.book.page.socket.3": "Подключи и пыхни",
  "psi.book.page.socket.4": "Замена подложки $(item)Iron$(0) в $(item)Socket$(0) на металл, который более проводит $(thing)пси-энергию$(0) (т. е. $(l: comments/psimetal)$(o)$(item)Psimetal$(0)$(/l)) позволяет нам выбрать другую пыль для взаимодействия с $(item)Spell Bullets$(0).$(p)Использование $(item)Redstone Dust$(0) дает нам $(item)Signaling CAD Socket$(0), который вмещает до шести $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l), каждая из которых содержит $(thing)Spell$(0) размером до 7x7.",
  "psi.book.page.socket.5": "Тебе повезло, панк?",
  "psi.book.page.socket.6": "Размещение $(item)Glowstone Dust$(0) на подложке $(l: comComponents/psimetal)$(o)$(item)Psimetal$(0)$(/l) создает $(item)Большое гнездо CAD$(0).$(p)Это $(item)Socket$(0) не может обрабатывать $(thing)Заклинания$(0) такого размера, как его $(l: comComponents/socket#signaling)$(item)Signaling$(0)$(/l) аналог может управлять только теми объектами размером до 6x6, но может хранить до восьми $(l: items/spell_bullet)$(o)$(thing)Bullet$(0)$(/l) одновременно.",
  "psi.book.page.socket.7": "Практически бесконечный",
  "psi.book.page.socket.8": "Дополнение $(item)Socket$(0) в его рецепте $(l: comComponents/psigem)$(o)$(item)Psigem$(0)$(/l) позволяет передавать намного больше данных и намного быстрее.$(p)A $(l: comComponents/socket#signaling)$(item)Сигнализация CAD Socket$(0)$(/l) с помощью такого аугментация становится $(item)Transmissive CAD Socket$(0), который может вместить до десяти $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l) и фактически может обрабатывать $(o)любое$() $(thing)Spell$(0), которое помещается в $(l: basics/spell_programmer)$(o)$(item)Spell Программист$(0)$(/l).",
  "psi.book.page.socket.9": "Проклятие Аваритии",
  "psi.book.page.socket.10": "$(l: comComponents/socket#large)$(item)Large CAD Socket$(0)$(/l), дополненный $(l: comComponents/psigem)$(o)$(item)Psigem$(0)$(/l), становится образно названным $(item)Huge CAD Socket$(0).$(p)Один из них не имеет $(l: basics/tutorial_5#bandwidth)$(o)$(thing)Пропускная способность$(0)$(/l) его $(l: comComponents/socket#transmissive)$(item)Transmissive$(0)$(/l) аналога (только $(thing)Spells$(0) размером 8x8 или меньше), но может хранить до полной дюжины $(item)Spell Пули$(0).",
  "psi.book.page.socket.11": "Надеюсь, Змееносец не против.",
  "psi.book.entry.battery": "Батареи",
  "psi.book.page.battery.0": "$(item)CAD Battery$(0) — это дополнительное дополнение к $(thing)CAD$(0), позволяющее ему хранить небольшое количество $(thing)пси-энергии$(0) пользователя на неопределенный срок. Его $(thing)Overflow$(0) показывает, сколько именно.$(p)$(item)Battery$(0) разряжается после того, как у пользователя закончится основной запас $(thing)пси-энергии$(0), но до того, как $(thing)CAD$(0) использует здоровье своего пользователя.",
  "psi.book.page.battery.1": "По сути, $(item)Battery$(0) представляет собой небольшую страховочную сеть накопленной $(thing)Пси-энергии$(0).$(p)Она предназначена для того, чтобы вы могли использовать $(o)bit$(), не получая урона и не дожидаясь пополнения $(thing)Пси-энергии$(0).$(p)Все $(item)Батареи$(0) созданы с использованием $(thing)Пси проводящий энергию$(0) материал, заключенный между $(item)Iron$(0) и $(item)Gold Ingot$(0).$(p)Текущий заряд $(item)Battery$(0) можно получить из $(thing)Spell$(0) с помощью $(piece)Селектор: Caster Battery$(0).",
  "psi.book.page.battery.2": "Не литий-ионный",
  "psi.book.page.battery.3": "Это довольно металлический",
  "psi.book.page.battery.4": "Позвоните по номеру 1-(800)-АККУМУЛЯТОР",
  "psi.book.entry.colorizer": "Колоризаторы",
  "psi.book.page.colorizer.0": "$(item)CAD Colorizer$(0) — это дополнительное дополнение к $(thing)CAD$(0), которое изменяет цвет $(thing)пси-энергии$(0) пользователя так, как она проявляется в физическом мире.$(p)Все $(item)Colorizer$(0) создаются на основе $(item)Железного слитка$(0), куска $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l) сверху, два куска $(item)Glass$(0) (по одному с каждой стороны) и, конечно же, цветной элемент, который нужно применить в центре.",
  "psi.book.page.colorizer.1": "$(item)Colorizer$(0) может быть создан с использованием любого из шестнадцати ванильных $(item)Dyes$(0) соответствующего цвета.$(p)Если вместо красителя используются $(item)Prismarine Crystals$(0), то полученный $(item)Colorizer$(0) будет менять цвета радуги.$(p)Если, с другой стороны, используется цветной элемент $(o)no$(), то $(item)Colorizer$(0) $(o)draw$() раскрасит $(o)out$() $(thing)пси-энергию$(0) пользователя, и полученные частицы будут практически невидимы.",
  "psi.book.page.colorizer.2": "Использование куска $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l) в качестве элемента цвета в $(item)Colorizer$(0), по-видимому, не имеет известного эффекта для большинства людей, хотя $(l: https://www. patreon. com/Vazkii)некоторые люди сообщили об ином$(/l).$(p)A $(item)Colorizer$(0) в $(thing)CAD$(0) влияет на:$(li)частицы, испускаемые $(thing)CAD$(0);$(li)снарядами и $(l: items/circle_bullet)$(o)$(thing)Колдовские круги$(0)$(/l);$(li)блоки и огни, созданные с помощью трюков $(piece)колдовства$(0).",
  "psi.book.page.colorizer.3": "Вкус радуги",
  "psi.book.category.items": "Предметы",
  "psi.book.category.items.desc": "Этот раздел до краев наполнен всевозможными предметами, инструментами и утилитами, которые вы можете использовать, чтобы улучшить свой опыт применения $(thing)Spell$(0).",
  "psi.book.entry.spellBullet": "Типы пуль заклинаний",
  "psi.book.page.spellBullet.0": "$(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) — это простое устройство. При вставке в $(thing)CAD$(0) $(l: comComponents/socket)$(o)$(item)Socket$(0)$(/l) $(thing)CAD$(0) оно просто передает содержащиеся в нем данные (и метаданные) $(thing)Spell$(0) $(thing)CAD$(0).$(p)Но $(thing)Bullet$(0) бывает нескольких типов, каждый из которых имеет свои преимущества.$(p)Каждая запись на следующей странице содержит более подробную информацию об этом типе $(thing)Bullet$(0).",
  "psi.book.page.spellBullet.1": "Если вам нужен конкретный тип $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l), вот вам.",
  "psi.book.page.spellBullet.2": "Каждый тип $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) изготавливается из $(item)Железного слитка$(0) и куска $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l), горизонтально расположенных в сетке крафта.$(p)Если в рецепт больше ничего не добавлено, это дает самый простой тип $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l), (несколько сбивчиво) называемый просто $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l).$(p)Другие типы Для создания $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) требуется еще один ингредиент, расположенный горизонтально рядом с $(item)Железным слитком$(0).",
  "psi.book.page.spellBullet.3": "Ингредиенты для других типов $(item)Spell Bullets$(0) следующие:$(li)a $(l: items/projectile_bullet)$(o)$(item)Projectile Spell Bullet$(0)$(/l) требует некоторого вида $(item)Arrow$(0),$(li)a $(l: items/loopcast_bullet)$(o)$(item)Loopcast Spell Bullet$(0)$(/l) нужен кусок $(item)String$(0),$(li)a $(l: items/circle_bullet)$(o)$(item)Circle Spell Bullet$(0)$(/l) нужен, ну, что-то круглое ($(item)Snowball$(0) или $(item)Slimeball$(0)),$(li)a $(l: items/grenade_bullet)$(o)$(item)Пуля заклинания гранаты$(0)$(/l) нуждается в куске $(item)Пороха$(0),$(li)a $(l: items/charge_bullet)$(o)$(item)Пуля заклинания заряда$(0)$(/l) нуждается в куске $(item)Красной пыли$(0), и $(li)a $(l: items/mine_bullet)$(o)$(item)Mine Spell Bullet$(0)$(/l) нужна какая-то $(item)Button$(0).",
  "psi.book.page.spellBullet.4": "Прежде чем $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) можно будет загрузить в $(thing)CAD$(0), на нем должно быть сохранено $(thing)Spell$(0).$(p)Чтобы сохранить $(thing)Spell$(0) в $(l: basics/spell_programmer)$(o)$(item)Spell Программист$(0)$(/l) в $(thing)Bullet$(0), просто проведите $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) над $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l) ($(k: use)).$(p)A $(thing)Spell$(0), хранящийся в $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l), можно скопировать в пустой $(l: items/spell_drive)$(o)$(item)Spell Drive$(0)$(/l) в сетке крафта для хранения.",
  "psi.book.page.spellBullet.5": "$(l: basics/spell_programmer)$(o)$(item)Spell Programmer$(0)$(/l) отображает $(l: basics/tutorial_5#cost)$(o)$(thing)Cost$(0)$(/l) для любого $(thing)Spell$(0), который он успешно компилирует, но для разных типов $(thing)Bullets$(0), это $(l: basics/tutorial_5#cost)$(o)$(thing)Стоимость$(0)$(/l) может быть разной.$(p)Значение $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l) калибруется по самому базовому типу $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l), (несколько сбивчиво) просто называется $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l).",
  "psi.book.page.spellBullet.6": "Все остальные типы $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) отображают $(thing)Cost Multiplier$(0) в процентах, который можно просто умножить на стоимость, отображаемую на $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l), чтобы определить Истинная $(l: basics/tutorial_5#cost)$(o)$(thing)Cost$(0)$(/l) $(thing)Spell$(0) для этого типа $(thing)Bullet$(0).$(p)Например, если $(thing)Spell$(0) отображает окончательную стоимость 300 в $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l), при копировании в $(l: items/projectile_bullet)$(o)$(item)Projectile Spell Bullet$(0)$(/l) (с $(thing)Cost Multiplier$(0) 102%%) будет иметь истинное значение $(l: basics/tutorial_5#cost)$(o)$(thing)Стоимость$(0)$(/l) of$(br)300 × 102%% = 306 $(thing)Пси-энергии$(0) за применение.",
  "psi.book.page.spellBullet.7": "Многие типы $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) вводят задержку между применением $(thing)Spell$(0) и моментом его фактического выполнения.$(p)Таким образом, важно отметить, что $(l: basics/tutorial_5#cost)$(o)$(thing)Cost$(0)$(/l) Разыгрываемое $(thing)Spell$(0) оплачивается авансом в полном объеме и не подлежит возврату, даже если $(thing)Tricks$(0) в $(thing)Spell$(0) фактически не применяется.",
  "psi.book.page.spellBullet.8": "Каждое $(thing)Заклинание$(0) при его применении имеет $(thing)Фокусную точку$(0).$(p)$(thing)Фокусная точка$(0) — это место, где $(thing)Пси-энергия$(0) заклинателя проецируется в мир (в виде одного или нескольких $(thing)Трюков$(0)).$(p)Конечно, $(thing)Фокусная точка$(0) не может выполнять никаких действий. $(thing)Tricks$(0) или оцените любые $(thing)Selectors$(0) на расстоянии более 32 блоков (за исключением тех, которые влияют на его заклинателя).$(p)$(thing)Spell$(0) может получить доступ к своей $(thing)Focal Point$(0) с помощью $(piece)Selector: Focal Point$(0).",
  "psi.book.page.spellBullet.9": "Расположение $(thing)Focal Point$(0) зависит от типа $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l), из которого он был выпущен.$(p)Базовый $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) $(thing)Focal Point$(0) — это просто заклинатель $(thing)Spell$(0), но другие типы $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) могут создавать другие $(thing)Focal Points$(0).$(p)Например, $(l: items/projectile_bullet)$(o)$(item)Заклинание снаряда $(thing)Focal Point$(0) Bullet$(0)$(/l) — это сам снаряд.$(p)Для получения дополнительной информации о $(thing)Focal Points$(0) и причудах каждого типа $(thing)Bullet$(0) и причудах см. отдельные записи.",
  "psi.book.entry.basicBullet": "Заклинание Пуля",
  "psi.book.page.basicBullet.0": "Самый простой тип $(item)Spell Bullet$(0) (и тезка линейки предметов), скромный $(item)Spell Bullet$(0) хранит $(thing)Spell$(0), готовый к исполнению.$(p)При загрузке в $(thing)CAD$(0) посредством $(l: basics/cad_assembler)$(o)$(item)CAD Assembler$(0)$(/l), он позволяет $(thing)CAD$(0) использовать хранящееся в нем $(thing)Spell$(0).",
  "psi.book.page.basicBullet.1": "Если выбрать $(item)Spell Bullet$(0) из $(thing)CAD$(0) и нажать $(k: use), то немедленно исполнится $(thing)Spell$(0), хранящийся внутри. $(l: items/spell_bullet#focal_point)$(o)$(thing)Фокусная точка$(0)$(/l) для этого типа $(l: items/spell_bullet)$(o)$(thing)Bullet$(0)$(/l) — это всего лишь заклинатель.$(p)Другие, более продвинутые $(item)Spell Bullets$(0) могут делать интересные вещи! Дополнительную информацию можно найти в $(l: items/spell_bullet)списке$(/l).",
  "psi.book.page.basicBullet.2": "Порох не нужен",
  "psi.book.entry.projectileBullet": "Снаряд Заклинание Пуля",
  "psi.book.page.projectileBullet.0": "$(thing)Spell$(0), произнесенный из $(item)Projectile Spell Bullet$(0), не срабатывает немедленно.$(p)Вместо этого быстро движущийся $(thing)Spell Projectile$(0), содержащий его, вылетает из конца $(thing)CAD$(0), из которого он был выпущен.$(p)Этот снаряд действует как $(l: items/spell_bullet#focal_point)$(o)$(thing)Focal Point$(0)$(/l) для своего $(thing)Spell$(0), выполняющего его, когда снаряд с чем-то сталкивается.",
  "psi.book.page.projectileBullet.1": "Не совсем полдень",
  "psi.book.page.projectileBullet.2": "$(thing)Снаряд заклинаний$(0) не является физическим; вместо этого это тонкая оболочка из $(thing)Пси-энергии$(0) вокруг содержащегося в нем $(thing)Spell$(0) (отсюда и дополнительная стоимость в $(l: items/spell_bullet)$(o)$(thing)Bullet$(0)$(/l)).$(p)Таким образом, он может длиться до тридцати секунд, прежде чем рассеется.$(p)Снаряд $(thing)Spell_bullet$(0) движется довольно быстро и за всю свою жизнь может преодолеть расстояние более 200 кварталов без посторонней помощи.",
  "psi.book.page.projectileBullet.3": "Сохраненное в снаряде $(thing)Spell$(0) активируется, если он сталкивается с какими-либо блоками или объектами.$(p)В последнем случае можно использовать $(piece)Selector: Attack Target$(0) для идентификации объекта, в который был нанесен удар.$(p)С другой стороны, если снаряд попадет в $(o)nothing$() за это время, $(thing)Spell$(0) сработает, тратя впустую В него вложено $(вещь)пси-энергии$(0) — так что цельтесь осторожно!",
  "psi.book.entry.loopcastBullet": "Заклинание «Петля»",
  "psi.book.page.loopcastBullet.0": "$(thing)Spell$(0), произнесенное из $(item)Loopcast Spell Bullet$(0), выполняется так же, как если бы из обычного $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l).$(p)Многократно.$(p)$(thing)Spell$(0), произнесенное из одного из них $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l) выполняется снова и снова без остановки, четыре раза в секунду, пока $(thing)CAD$(0), из которого он был сотворен, не перестанет удерживаться в той же руке или не будет выбрано другое $(thing)Spell$(0).",
  "psi.book.page.loopcastBullet.1": "Определение безумия",
  "psi.book.page.loopcastBullet.2": "$(l: items/spell_bullet#focal_point)$(o)$(thing)Фокусная точка$(0)$(/l) для $(thing)Spell$(0), наложенного из $(item)Loopcast Spell Bullet$(0), — это всего лишь заклинатель, и при каждом исполнении взимается полная стоимость $(thing)пси-энергии$(0).$(p)Основное преимущество использования одного из них $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l) вместо простого повторения очень быстрого заклинания заключается в $(o)регенерации$() вашей $(thing)пси-энергии$(0).",
  "psi.book.page.loopcastBullet.3": "Когда вы применяете $(thing)Заклинание$(0) (или когда вы получаете урон), ваша $(thing)Пси-энергия$(0) на мгновение остается в состоянии неравновесия; он не сможет регенерировать, пока вы не сможете сфокусироваться внутрь и повторно стабилизировать его.$(br)Хотя эта рестабилизация и не сложна, для ее достижения требуется некоторое время.$(p)Но когда вы применяете из $(item)Loopcast Spell Bullet$(0), эта задержка происходит только $(o)изначально$() -- впоследствии $(l: items/spell_bullet)$(o)$(thing)Bullet$(0)$(/l) не нарушает вашу $(thing)пси-энергию$(0), позволяя ей восстанавливаться как обычно.",
  "psi.book.page.loopcastBullet.4": "$(thing)Spell$(0), примененное из одного из этих $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l), может выполнять разные действия при каждом вызове.$(p)В частности, $(piece)Selector: Loopcast Index$(0) возвращает количество раз, когда $(thing)Spell$(0) было выполнено с момента его первого применения.$(p)Таким образом, оно возвращает 1 при первом выполнении $(thing)Spell$(0), 2 при втором выполнении и так далее.",
  "psi.book.page.loopcastBullet.5": "При использовании с $(piece)Operator: Integer Divide$(0) и $(piece)Operator: Modulus$(0) эти $(l: items/spell_bullet)$(o)$(thing)Bullets$(0)$(/l) могут с легкостью выполнять операции $(o)en Masse$() на больших площадях.",
  "psi.book.entry.circleBullet": "Круговая пуля заклинания",
  "psi.book.page.circleBullet.0": "$(thing)Spell$(0), наложенное из $(item)Круговой пули $(0), выполняется последовательно ровно двадцать раз.$(p)Когда $(thing)Spell$(0) применяется впервые, в точке, на которую смотрит заклинатель, создается $(thing)Spell Circle$(0), который действует как $(l: items/spell_bullet#focal_point)$(o)$(thing)Фокусная точка$(0)$(/l) для $(thing)Заклинания$(0). Этот круг выполняет $(thing)Заклинание$(0) четыре раза в секунду, пока через пять секунд у него не закончится $(thing)Пси-энергия$(0).",
  "psi.book.page.circleBullet.1": "Costco заклинаний",
  "psi.book.page.circleBullet.2": "$(thing)Spell Circle$(0) при первом применении создается на расстоянии до 32 блоков от позиции заклинателя или в ближайшем блоке, на который он смотрит (в зависимости от того, что ближе).$(p)Аналогично $(l: items/loopcast_bullet)$(o)$(item)Loopcast Spell Bullet$(0)$(/l), $(thing)Spell$(0), наложенному из $(thing)Spell Circle$(0) может узнать, на какой итерации он находится, используя $(piece)Selector: Loopcast Index$(0) (который вернет число от 1 до 20 включительно).",
  "psi.book.page.circleBullet.3": "$(thing)Spell Circle$(0) истощает всю $(thing)Пси-энергию$(0), необходимую ему при первом применении, поэтому его $(thing)Cost Multiplier$(0) составляет колоссальные 1500%.$(p)Однако его ненасытная $(l: basics/tutorial_5#cost)$(o)$(thing)Cost$(0)$(/l) не лишена пользы; его компактный, автономный дизайн делает его $(o)чрезвычайно$() эффективным, позволяя ему выполнить $(thing)Заклинание$(0) 20 раз по цене 15.$(p)Для тех из вас, кто следит за этим, это полная скидка 25%% за каждое выполнение.",
  "psi.book.page.circleBullet.4": "$(item)Круговые заклинания-пули$(0) популярны среди новых и опытных заклинателей как из-за своей универсальности, так и из-за сохранения $(thing)пси-энергии$(0).$(p)Таким образом, существует несколько относительно распространенных $(thing)трюков$(0), используемых с $(item)Круговыми заклинаниями$(0), в частности, которые больше нигде не встречаются.",
  "psi.book.page.circleBullet.5": "Идиома $(thing)Circlesync$(0), относительно простая в построении, позволяет одновременно выполнить все двадцать исполнений $(thing)Spell$(0), позволяя им накапливаться в гораздо более грандиозном эффекте, чем одно выполнение в одиночку. $(p)Идиома $(thing)20-Bit Tower$(0) имеет немного более сложную настройку, включающую $(l: items/vector_ruler)$(o)$(item)Vector Линейка$(0)$(/l); но позволяет $(thing)Spell$(0) делать что-то только в подмножестве из двадцати выполнений.",
  "psi.book.subsec.circleBullet.6": "Кругсинхронизация",
  "psi.book.page.circleBullet.6": "Идиома $(thing)Circlesync$(0) (на фото справа) использует $(piece)Trick: Sleep$(0) в своей основе.$(p)При размещении в $(thing)Spell$(0) она задерживает каждое выполнение, точно соответствующее оставшемуся времени, пока не активируется последний $(thing)Trick$(0).$(p)Любой $(thing)Tricks$(0), помещенный после $(piece)Trick: Sleep$(0), затем выполните одновременно.",
  "psi.book.page.circleBullet.7": "Когда звезды сойдутся...",
  "psi.book.subsec.circleBullet.8": "20-битная башня",
  "psi.book.page.circleBullet.8": "Идиома $(thing)20-Bit Tower$(0) — это довольно продвинутая техника, довольно техническая по дизайну.$(p)Чтобы использовать ее, выберите блок с $(l: items/vector_ruler)$(o)$(item)Векторной линейкой$(0)$(/l), затем поместите несколько блоков (неважно какого типа) в вертикальное пространство высотой двадцать блоков непосредственно над выбранным вами местом, затем скопируйте код со следующей страницы вверху. вашего $(вещи)Заклинания$(0).",
  "psi.book.page.circleBullet.9": "Каждая позиция блока в этом вертикальном пространстве представляет собой одно выполнение $(thing)Spell$(0); самое нижнее место башни соответствует первому выполнению, следующее место — второму и т. д. $(p)Пустое место в башне означает «выполнение $(o)DO$() на этой итерации», а блок в этом положении сообщает $(thing)Spell$(0) «$(o)НЕ$()».$(p)Наконец, скопируйте код на следующей странице в начало вашего $(thing)Spell$(0).",
  "psi.book.page.circleBullet.10": "Условно",
  "psi.book.entry.grenadeBullet": "Граната Заклинательная Пуля",
  "psi.book.page.grenadeBullet.0": "$(thing)Заклинание$(0), сотворенное из $(item)Grenade Spell Bullet$(0), вместо немедленного выполнения, вылетает в конце $(thing)CAD$(0), оно было сотворено как $(thing)Spell Grenade$(0).$(p)В отличие от $(l: items/projectile_bullet)$(o)$(thing)Заклинания Снаряд$(0)$(/l), однако, граната $(o)$() подвергается воздействию гравитации.$(p)Она выполняет содержащееся в ней $(thing)Заклинание$(0) ровно через три секунды, ни раньше, ни позже.",
  "psi.book.page.grenadeBullet.1": "Нажимайте на спусковой крючок, а не на штифт",
  "psi.book.page.grenadeBullet.2": "$(thing)Магическая граната$(0) — это нематериальная тонкая оболочка $(thing)Пси-энергии$(0), созданная из избытка $(item)Магической пули $(item)Граната$(0).$(p)Сотворённая граната также действует как $(l: items/spell_bullet#focal_point)$(o)$(thing)Фокусная точка$(0)$(/l) для $(thing)Spell$(0) при исполнении.$(p)Хотя на первый взгляд ее возможности использования кажутся довольно ограниченными, $(thing)Spell Grenade$(0) может достигать мест, куда $(l: items/projectile_bullet)$(o)$(thing)Spell Projectile$(0)$(/l) не может (например, через стену или внутри дыры).",
  "psi.book.page.grenadeBullet.3": "$(thing)Spell Grenade$(0) запишет последний объект, с которым он вошел в контакт.$(p)Когда содержащееся в нем $(thing)Spell$(0) выполняется, к этому объекту можно получить доступ из $(piece)Selector: Attack Target$(0), если применимо.",
  "psi.book.entry.chargeBullet": "Зарядная пуля заклинания",
  "psi.book.page.chargeBullet.0": "$(thing)Spell$(0), примененное из $(item)Charge Spell Bullet$(0), вместо немедленного выполнения, выбрасывается в конец $(thing)CAD$(0), из которого оно было применено, в $(thing)Spell Charge$(0), который подчиняется гравитации точно так же, как $(l: items/grenade_bullet)$(o)$(thing)Заклинание Граната$(0)$(/l).$(p)Однако, в отличие от $(l: items/grenade_bullet)$(o)$(thing)Spell Grenade$(0)$(/l), $(thing)Spell Charge$(0) может длиться до пяти минут и выполняет свое $(thing)Spell$(0) только тогда, когда ему специально прикажут это сделать $(l: items/detonator)$(o)$(item)Детонатор заклинаний$(0)$(/l).",
  "psi.book.page.chargeBullet.1": "Они накапливают",
  "psi.book.page.chargeBullet.2": "$(thing)Spell Charge$(0) — это устойчивая оболочка из $(thing)пси-энергии$(0) вокруг содержащегося в нем $(thing)Spell$(0), действующая как $(l: items/spell_bullet#focal_point)$(o)$(thing)Фокусная точка$(0)$(/l) $(thing)Spell$(0) при исполнении.$(p)Если $(thing)Заклинание Заряд$(0) никогда не активируется в течение своего срока службы, он просто рассеивается, разрушая $(thing)Заклинание$(0) внутри и тратя вложенную $(thing)Пси-энергию$(0).",
  "psi.book.page.chargeBullet.3": "Однако множество $(thing)Spell Charges$(0) в непосредственной близости могут быть активированы одновременно одним $(l: items/detonator)$(o)$(item)Spell Detonator$(0)$(/l) (или $(piece)Trick: Detonate$(0)), что делает их весьма полезными для массового эффекта. $(p)$(thing)Spell Charge$(0) запишет последний объект, с которым он столкнулся (или, как это может случиться, последний объект, наступивший на него).$(p)Когда содержащееся в нем $(thing)Spell$(0) выполняется, к этому объекту можно получить доступ из $(piece)Selector: Attack Target$(0), если применимо.",
  "psi.book.entry.mineBullet": "Моя заклинательная пуля",
  "psi.book.page.mineBullet.0": "$(thing)Заклинание$(0), сотворенное из $(item)Минной Заклинательной Пули$(0), вылетает из $(thing)CAD$(0), которое оно было сотворено в $(thing)Заклинательной Мине$(0).$(p)$(thing)Заклинательная Мина$(0) подчиняется гравитации и имеет пятиминутную продолжительность жизни. Он выполняет сохраненное $(thing)Spell$(0) только после того, как на него кто-то (или что-то) наступит.",
  "psi.book.page.mineBullet.1": "Проселочные дороги...",
  "psi.book.page.mineBullet.2": "Условия выполнения $(thing)Spell Mine$(0) довольно привередливы; мина начинается с того, что она стоит на земле и ждет, пока на нее наступят. $(p)Когда на нее наступает один или несколько объектов, мина не срабатывает сразу; вместо этого он просто запускает себя.$(p)Когда он заряжен и на нем больше нет никаких сущностей, тогда и только тогда он выполнит содержащееся в нем $(thing)Заклинание$(0).",
  "psi.book.page.mineBullet.3": "Сущность, которая активировала $(thing)Spell$(0) (т. е. последняя сущность, сошедшая с $(thing)Spell Mine$(0)) доступна из $(piece)Selector: Attack Target$(0).$(p)Однако, если условия активации $(thing)Spell Mine$(0) никогда не будут выполнены в течение ее срока службы, мина просто рассеется, исчерпав запасенную энергию.$(p)Так что, если вы в конечном итоге приземлившись на $(thing)Spell Mine$(0), ожидание может быть предпочтительнее, чем знать, что заклинатель приготовил для вас.",
  "psi.book.entry.detonator": "Заклинание Детонатор",
  "psi.book.page.detonator.0": "$(item)Детонатор заклинаний$(0) изготавливается из двух $(item)Железных слитков$(0), $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l) и $(item)Кнопки$(0).$(p)Он выполняет ровно одну функцию: при срабатывании ($(k: use)) он активирует каждый $(l: items/charge_bullet)$(o)$(thing)Заряд заклинаний$(0)$(/l) (и $(l: items/exosuit_sensor#trigger)$(o)$(item)Датчик детонации экзокостюма$(0)$(/l)) наложен вами в радиусе 32 блоков, поручая им одновременно выполнить содержащиеся в них $(thing)Заклинания$(0).",
  "psi.book.page.detonator.1": "Первая бомба",
  "psi.book.entry.exosuit": "Псиметаллический экзокостюм",
  "psi.book.page.exosuit.0": "$(thing)Псиметаллический экзокостюм$(0) — это доспех, позволяющий легко интегрировать $(thing)Заклинания$(0) в ваши повседневные приключения!$(p)Каждая часть $(thing)Экзокостюма$(0) изготовлена из двух $(l: comComponents/psigem)$(o)$(item)Псигемов$(0)$(/l) и некоторых $(l: comComponents/psimetal)$(o)$(item)Psimetal$(0)$(/l) и способен накладывать $(thing)Spell$(0) при активации соответствующего триггера.",
  "psi.book.page.exosuit.1": "$(thing)Заклинания$(0) костюмов используются с вашим $(thing)CAD$(0) в качестве фокуса, поэтому применяются обычные ограничения $(thing)CAD$(0).$(p)Каждая часть $(thing)Psimetal Exosuit$(0) может быть загружена максимум тремя $(item)Spell Bullet$(0) в $(l: basics/cad_assembler)$(o)$(item)CAD Assembler$(0)$(/l), хотя, к сожалению, некоторые варианты $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) плохо сочетаются с костюмом.$(p)Часть костюма запоминает, сколько раз он успешно наложил $(thing)Spell$(0); доступ к этому счетчику можно получить из $(piece)Selector: Success Counter$(0).",
  "psi.book.page.exosuit.2": "Чтобы выбрать, какое $(thing)Заклинание$(0) использовать для части костюма, создайте $(item)Контроллер экзокостюма$(0) из $(item)Redstone Dust$(0), $(item)Glass$(0) и $(l: comComponents/psimetal)$(o)$(item)Psimetal$(0)$(/l). Чтобы использовать $(item)Контроллер$(0), удерживайте его и нажмите главную клавишу $(thing)Psi $(0) ($(k: psimisc. keybind)).$(p)Используйте правую и левую кнопки мыши, чтобы переключаться между частями костюма.",
  "psi.book.page.exosuit.3": "Это не JARVIS, но он работает",
  "psi.book.page.exosuit.4": "После того, как вы выбрали часть костюма, который хотите настроить, выберите одну из $(item)Spell Bullets$(0), которая отображается так же, как и в вашем $(thing)CAD$(0).$(p)Выбор пустого четвертого слота полностью отключает эту часть костюма — никакие $(thing)Заклинания$(0) не будут применены, даже если критерии его активации выполнены.",
  "psi.book.page.exosuit.5": "$(thing)Псиметаллический экзокостюм$(0) немного лучше, чем $(thing)Железная броня$(0) по прочности и долговечности.$(p)Все части костюма будут черпать избыток $(thing)Пси-энергии$(0) своего владельца для возмещения нанесенного себе урона, что стало возможным благодаря $(l: comComponents/psigem)$(o)$(item)Псигемам$(0)$(/l), используемым в их строительство.",
  "psi.book.page.exosuit.6": "$(item)Шлем экзокостюма $(0) является наиболее настраиваемым из всей группы, он применяет назначенное ему $(thing)Заклинание$(0) всякий раз, когда он содержит $(l: items/exosuit_sensor)$(o)$(thing)Датчик экзокостюма$(0)$(/l) срабатывает.$(p)A $(l: items/exosuit_sensor)$(o)$(thing)Датчик$(0)$(/l) прикрепляется к $(item)Шлем$(0) и отсоединяется от него в сетке крафта; к $(item)Шлему$(0) одновременно может быть прикреплен только один $(l: items/exosuit_sensor)$(o)$(thing)Датчик экзокостюма$(0)$(/l).",
  "psi.book.page.exosuit.7": "Вы слышите звук, обернитесь",
  "psi.book.page.exosuit.8": "$(item)Нагрудник экзокостюма псиметалла$(0) применяет выбранное $(thing)Заклинание$(0) каждый раз, когда его пользователь получает любую форму урона.$(p)$(piece)Селектор: Атакующий$(0) и $(piece)Селектор: Полученный урон$(0) можно использовать для определения источника и суммы урона соответственно.",
  "psi.book.page.exosuit.9": "Взрывоопасные шипы",
  "psi.book.page.exosuit.10": "$(item)Поножи псиметаллического экзокостюма$(0) $(o)никогда не прекращайте$() кастовать выбранное $(thing)Заклинание$(0).$(p)Фактически, они делают это один раз за такт $(thing)CAD$(0), который представляет собой единицу времени, равную 0,05 секунды.$(p)Они довольно популярны как «лучше» $(l: items/loopcast_bullet)$(o)$(item)Пули заклинаний Loopcast$(0)$(/l).\"",
  "psi.book.page.exosuit.11": "Пока (истина) {}",
  "psi.book.page.exosuit.12": "$(item)Ботинки экзокостюма из псиметала$(0) просто применяют назначенное им $(thing)заклинание$(0), когда их владелец отпрыгивает от земли.$(p)Ни больше, ни меньше.",
  "psi.book.page.exosuit.13": "Ускоритель прыжка... э-э, Ботинки",
  "psi.book.entry.exosuitSensor": "Датчики экзокостюма",
  "psi.book.page.exosuitSensor.0": "$(thing)Датчики экзокостюма$(0) — это небольшие устройства, предназначенные для встраивания в более крупные части брони (например, $(l: items/exosuit#helmet)$(o)$(item)Шлем экзокостюма Psimetal$(0)$(/l)), а также для сигнализации о наличии там брони при срабатывании.$(p)Каждый $(thing)Sensor$(0) имеет разные условия, при которых он активируется.",
  "psi.book.page.exosuitSensor.1": "Все $(thing)Датчики$(0) изготавливаются из двух $(item)Железных слитков$(0) и двух $(l: comComponents/psimetal)$(o)$(item)Псиметалла$(0)$(/l) вокруг реагента; используемый реагент определяет результирующий эффект $(thing)Датчика$(0):$(li)$(item)Датчик света$(0) использует $(item)Светящаяся пыль$(0);$(li)$(item)Датчик тепла$(0) использует $(item)Огненный заряд$(0);$(li)$(item)Датчик стресса$(0) использует кусочек $(item)Глистера Дыня$(0);$(li)$(item)Датчик воды$(0) использует $(item)Примариновые кристаллы$(0);$(li)$(item)Датчик детонации$(0) использует $(item)Порох$(0).",
  "psi.book.page.exosuitSensor.2": "$(item)Датчик освещенности экзокостюма$(0) срабатывает один раз, когда его владелец перемещается в темную область (т. е. в область, достаточно темную, чтобы порождать монстров) из нетемной области.$(p)Его можно активировать вручную в темной области с помощью $(piece)Trick: Conjure Light$(0) по таймеру.",
  "psi.book.page.exosuitSensor.3": "Кто выключил свет?",
  "psi.book.page.exosuitSensor.4": "$(item)Теплодатчик экзокостюма$(0) срабатывает всякий раз, когда его владелец загорается.$(p)$(piece)Трюк: огнестойкость$(0) или $(piece)Трюк: Торрент$(0) — хорошие реакции на срабатывание этого $(thing)Датчика$(0), если только вы $(o)действительно$() не знаете, что делаете.",
  "psi.book.page.exosuitSensor.5": "Мы продолжаем",
  "psi.book.page.exosuitSensor.6": "$(item)Датчик стресса в экзокостюме$(0) срабатывает, когда у его владельца мало здоровья (в частности, если у владельца три сердца или меньше).$(p)$(piece)Хитрость: Регенерация$(0) может быть хорошим ответом на эту проблему.",
  "psi.book.page.exosuitSensor.7": "Не паникуйте",
  "psi.book.page.exosuitSensor.8": "$(item)Датчик воды в экзокостюме$(0) срабатывает, когда его владелец касается воды.$(p)Проявив немного изобретательности, его можно активировать вручную с помощью $(piece)Trick: Torrent$(0).",
  "psi.book.page.exosuitSensor.9": "Произвести фурор",
  "psi.book.page.exosuitSensor.10": "$(item)Датчик детонации экзокостюма$(0) срабатывает всякий раз, когда $(l: items/detonator)$(o)$(item)Детонатор заклинаний$(0)$(/l) срабатывает в радиусе 32 блоков или когда $(piece)Trick: Detonate$(0) применяется в той же области.",
  "psi.book.page.exosuitSensor.11": "Одним нажатием кнопки",
  "psi.book.entry.tools": "Псиметаллические инструменты",
  "psi.book.page.tools.0": "$(thing)Psimetal Tools$(0) — это набор инструментов, сравнимых по качеству с $(item)Diamond$(0)-уровнем, каждый из которых может накладывать $(thing)Spell$(0) каждый раз, когда выполняет намеченное действие.$(p)Все $(thing)Psimetal Tools$(0) изготавливаются из $(item)Железных слитков$(0) вместо $(item)Палок$(0), один $(l: comComponents/psigem)$(o)$(item)Psigem$(0)$(/l) и некоторый $(l: comComponents/psimetal)$(o)$(item)Psimetal$(0)$(/l).",
  "psi.book.page.tools.1": "Это бонусное действие",
  "psi.book.page.tools.2": "В $(thing)Psimetal Tool$(0) можно загрузить до трёх $(item)Spell Bullets$(0) в $(l: basics/cad_assembler)$(o)$(item)CAD Assembler$(0)$(/l) (хотя некоторые $(item)Spell Bullets$(0) плохо сочетаются с этими инструментами).$(p)Чтобы выбрать $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l) для использования в качестве инструмента, удерживайте $(thing)Psi master keybind$(0) ($(k: psimisc. keybind)) и выберите в меню, как обычно.$(p)Выбор пустого слота в меню полностью отключает использование инструмента.",
  "psi.book.page.tools.3": "Все $(thing)Psimetal Tools$(0), кроме $(item)Psimetal Sword$(0), используют выбранное $(thing)Spell$(0) один раз каждый раз, когда разбивают блок. Вместо этого $(item)Sword$(0) применяет каждый раз, когда поражает живое существо (хотя в стратегических целях следует отметить, что после повреждения живое существо становится неуязвимым в течение половины секунды). во-вторых).$(p)$(thing)Псиметаллические инструменты$(0) будут черпать избыток $(thing)Пси-энергии$(0) своего владельца для ремонта.",
  "psi.book.page.tools.4": "$(thing)Psimetal Tools$(0) также имеет удобную интеграцию с $(thing)Spell Pieces$(0).$(p)Когда $(item)Psimetal Sword$(0) использует $(thing)Spell$(0), $(piece)Selector: Attack Target$(0) возвращает моба, которого вы ударили для этого.$(p)Когда один из других $(thing)Tools$(0) ломает блок, $(piece)Selector: Block Broken$(0) возвращает положение сломанного блока, а $(piece)Selector: Block Broken Side$(0) возвращает осевой вектор, соответствующий направлению, в котором блок был сломан.",
  "psi.book.entry.vectorRuler": "Векторная линейка",
  "psi.book.page.vectorRuler.0": "$(item)Векторная линейка$(0) может хранить произвольный вектор, к которому затем можно получить доступ из $(thing)Spell$(0) в удобное для вас время.$(p)Она сделана из $(item)Железных слитков$(0) и кончика $(l: comComponents/psidust)$(o)$(item)Psidust$(0)$(/l).",
  "psi.book.page.vectorRuler.1": "Векторы правило",
  "psi.book.page.vectorRuler.2": "Нажатие $(item)Ruler$(0) на блоке ($(k: use)) во время приседания сохраняет позицию этого блока в $(item)Ruler$(0) в виде вектора.$(p)После сохранения позиции блока нажатие $(item)Ruler$(0) без приседания на другом блоке сохранит смещение между двумя блоками.$(p)A Доступ к сохраненному вектору $(item)Ruler$(0) можно получить с помощью $(piece)Selector: Vector Ruler$(0).",
  "psi.book.page.vectorRuler.3": "Если вы носите с собой несколько $(item)Rulers$(0) одновременно, $(piece)Selector: Vector Ruler$(0) вернет сохраненное значение самой левой $(item)Ruler$(0) на вашей панели быстрого доступа или самой высокой $(item)Ruler$(0) в вашем инвентаре, если на панели быстрого доступа ее нет.",
  "psi.book.entry.spellDrive": "Заклинание драйва",
  "psi.book.page.spellDrive.0": "$(item)Spell Drive$(0), созданный из двух слитков $(l: comComponents/psimetal)$(o)$(item)Psimetal$(0)$(/l) и куска $(item)Redstone Dust$(0), может хранить одно $(thing)Spell$(0) для дальнейшего использования.$(p)Чтобы сохранить $(thing)Spell$(0) в $(l: basics/spell_programmer)$(o)$(item)Spell Programmer$(0)$(/l) на $(item)Drive$(0), присядьте и проведите ($(k: use)) по пустому $(item)Drive$(0) по нему.$(p)Чтобы скопировать $(thing)Spell$(0) обратно, проведите пальцем по $(item)Drive$(0) с помощью $(thing)Spell$(0), хранящийся в $(l: basics/spell_programmer)$(o)$(item)Programmer$(0)$(/l).",
  "psi.book.page.spellDrive.1": "Создайте себе библиотеку",
  "psi.book.page.spellDrive.2": "Чтобы очистить сохраненное $(thing)Spell$(0), проведите $(item)Drive$(0) по любому другому блоку.$(p)$(item)Drive$(0) с сохраненным $(thing)Spell$(0) можно поместить в сетку крафта с пустым $(item)Drive$(0) или $(l: items/basic_bullet)$(o)$(item)Spell Bullet$(0)$(/l), чтобы скопировать на него $(thing)Spell$(0).",
  "psi.book.category.legacy": "Устаревшие записи",
  "psi.book.category.legacy.desc": "Эти записи являются пережитком времен $(thing)Psi$(0) для версии 1.12 и ниже. Поскольку эта книга наполняется переписанной документацией, размер этого раздела будет уменьшаться до тех пор, пока вся документация не будет перенесена, а затем она исчезнет навсегда.",
  "psi.book.entry.vectors101": "Векторов 101",
  "psi.book.page.vectors101.0": "Манипулирование векторами является важным компонентом программирования $(thing)Spell$(0). Большинство векторных операций описаны $(l: basics/vector_primer#ops)здесь$(/l); единственная недостающая часть — это $(piece)Оператор: векторное векторное произведение$(0).",
  "psi.book.page.vectors101.1": "$(l)перекрестное произведение$() двух векторов — это вектор, перпендикулярный обоим. Вы можете использовать это, чтобы получить вектор, указывающий на вашу сторону, взяв векторное произведение вектора взгляда игрока и [0, 1, 0] (которое вы можете создать с помощью $(piece)Operator: Vector Construct$(0)).",
  "psi.book.entry.entities101": "Сущности 101",
  "psi.book.page.entities101.0": "Манипулирование сущностями является важным компонентом программирования $(thing)Spell$(0). Самый очевидный объект, которым можно манипулировать, — это вы, заклинатель, с помощью $(piece)Selector: Caster$(0). Однако другие части позволяют вам нацеливаться на другие сущности в мире.$(p)Вы можете использовать эти части для создания $(thing)Заклинаний$(0), которые влияют на другие сущности. Попробуйте использовать их с $(piece)Хитростью: добавьте Motion$(0), чтобы перебрасывать их вокруг других.",
  "psi.book.entry.blockworks": "Блокворки",
  "psi.book.page.blockworks.0": "Работа с блоками — важнейший навык для мага. Конечно, вы можете ссылаться на положение блока через вектор, поэтому знание векторов важно для понимания того, как работать с блоками. $(p)Двумя наиболее простыми блоками в этой группе являются $(piece)Trick: Place Block$(0) и $(piece)Trick: Break Block$(0).",
  "psi.book.page.blockworks.1": "Оба они принимают вектор позиции и, соответственно, размещают и разбивают блок в этой позиции. $(piece)Хитрость: Place Block$(0) использует для размещения блок справа от вашего $(thing)CAD$(0) на панели быстрого доступа. Знать положение блока, который нужно сломать, легко; $(piece)Оператор: достаточно Vector Raycast$(0).",
  "psi.book.page.blockworks.2": "Однако разместить блок сложнее: $(piece)Оператор: Vector Raycast$(0) дает нам блок, на который смотрит игрок. Мы не можем разместить там блок — $(o)is$() уже есть! Чтобы исправить это, мы можем объединить наш $(piece)Operator: Vector Raycast$(0) с фрагментом $(piece)Operator: Vector Axis Raycast$(0), который даст нам вектор, представляющий сторону блока, на который мы смотрим.",
  "psi.book.page.blockworks.3": "Например, если мы посмотрим на верхнюю часть блока, это даст нам аксиальный вектор [0, 1, 0]. Мы можем использовать $(piece)Operator: Vector Sum$(0), чтобы добавить его в наш простой Raycast и сообщить нам, куда будет идти наш блок! $(p)$(piece)Оператор: Entity Axial Look$(0) аналогичен $(piece)Operator: Entity Look$(0), но возвращает значение, привязанное к одному из шести осевых векторов (например, если вы смотрите на восток, он возвращает [1, 0, 0]). Подумайте о значении «Облицовка» в меню F3.",
  "psi.book.page.blockworks.4": "Два других $(thing)Tricks$(0) доступны здесь: $(piece)Trick: Place Block Sequence$(0) и $(piece)Trick: Break Block Sequence$(0). Эти $(thing)Tricks$(0) разбивают или размещают ряд блоков. Подобно стандартному разрыву и размещению $(thing)Tricks$(0), для начала им требуется позиция, но им также требуется другой вектор, «Цель», который определяет направление работы. Таким образом, если «Цель» равно [0, 1, 0], он будет размещать или разбивать блоки, начиная со значения «Позиция» вверх.",
  "psi.book.page.blockworks.5": "Последний компонент этих $(thing)Tricks$(0) — «Макс». Это числовая константа, обозначающая максимальное количество блоков, которые $(thing)Trick$(0) может разбить или разместить. Поскольку требования к векторам не являются постоянными, это работает как средство расчета эффективности и стоимости $(thing)Trick$(0). Чем выше вы его установите, тем дороже будет стоить $(thing)Spell$(0).$(p)Последний элемент в этой группе — $(piece)Оператор: Vector Project$(0).",
  "psi.book.page.blockworks.6": "Векторная проекция — довольно сложная тема, поэтому ниже мы объясним только возможные варианты ее использования.$(p)Скажем, вы хотите создать $(thing)Spell$(0), которое размещает блоки от вашей позиции в мире до позиции, на которую вы смотрите, но по прямой линии, выровненной по стороне блока, на которую вы смотрите (используя $(piece)Operator: Vector Axis Raycast$(0)).",
  "psi.book.page.blockworks.7": "Вы начинаете с поиска вектора, вдоль которого хотите разместить блоки, чтобы можно было подключить его к $(piece)Trick: Place Block Sequence$(0). Однако если вы находитесь по диагонали к блоку, вы можете получить что-то вроде [3, 2, 4]. Это не прямая линия! Мы можем использовать $(piece)Operator: Vector Project$(0), чтобы спроецировать это на ось стороны, на которую вы смотрите, скажем, [0, 0, 1].",
  "psi.book.page.blockworks.8": "Итак, наш «Вектор A» — это [3, 2, 4], а наш «Вектор B» — [0, 0, 1]. Применение проекции оставляет нам [0, 0, 4]. Если бы наш «Вектор B» был, например, [1, 0, 0], мы бы получили [3, 0, 0]. В общем, когда для «Вектора B» используется аксиальный вектор, $(piece)Operator: Vector Project$(0) удаляет все компоненты A, которые равны 0 в B, оставляя вам прямую линию. $(p)Чтобы собрать все это воедино, попробуйте создать $(thing)Spell$(0), которое обрушит столбец высотой 8 блоков, чтобы вы могли «деревоглавить»!",
  "psi.book.entry.movementAdvances": "Прогресс в движении",
  "psi.book.page.movementAdvances.0": "Основы движения $(thing)Tricks$(0) были рассмотрены, когда мы говорили о $(piece)Trick: Add Motion$(0). В этой группе есть детали, которые улучшают эту идею.$(p)$(piece)Хитрость: Blink$(0) просто телепортирует целевой объект вперед в том направлении, в котором он смотрит. Отрицательное значение телепортирует объект назад.",
  "psi.book.page.movementAdvances.1": "$(piece)Trick: Mass Blink$(0) делает то же самое, что и $(piece)Trick: Blink$(0), но вместо этого принимает список сущностей; На каждый объект в списке отдельно воздействует $(thing)Trick$(0).$(p)$(piece)Trick: Mass Add Motion$(0) аналогичен; это версия $(piece)Trick: Add Motion$(0).$(p)для списка сущностей$(0).$(p)Наконец, $(piece)Trick: Mass Exodus$(0) тянет каждый объект в списке сущностей к заданной позиции с заданной скоростью. Вместо этого отрицательная скорость оттолкнет их.",
  "psi.book.entry.blockMovement": "Блокировать движение",
  "psi.book.page.blockMovement.0": "Возможность перемещать блоки не так важна, как способность разбивать и размещать их, но, тем не менее, весьма полезна.$(p)$(piece)Хитрость: Move Block$(0) занимает позицию блока в мире и перемещает его в направлении целевого вектора, как если бы его толкал поршень. Целевой вектор должен быть осевым; если это не так, $(thing)Trick$(0) потерпит неудачу.",
  "psi.book.page.blockMovement.1": "С другой стороны, $(piece)Trick: Collapse Block$(0) заставляет блок падать, как будто это песок или гравий.$(p)Оба эти $(thing)Tricks$(0) не сработают на сложных блоках (так называемых Tile Entities) и блоках, которые невозможно собрать с помощью Silk Touch.",
  "psi.book.entry.elementalArts": "Элементальные искусства",
  "psi.book.page.elementalArts.0": "Что за магическая система без возможности использовать элементарные $(thing)Заклинания$(0)?$(p)Эта группа содержит $(thing)Tricks$(0) для четырех элементов; например, $(piece)Trick: Smite$(0) вызывает молнию в указанном месте.",
  "psi.book.page.elementalArts.1": "Группа также содержит $(piece)Operator: Random$(0), фрагмент, который генерирует случайное число от 0 (включительно) до переданного числа (исключительно). Это можно использовать вместе с Loopcast или Spell Circle $(thing)Spells$(0) разными способами. Например, можно создать $(thing)Заклинание$(0), которое будет использовать $(piece)Trick: Overgrow$(0) для массового измельчения костной муки на плантации.",
  "psi.book.entry.positiveEffects": "Положительные эффекты",
  "psi.book.page.positiveEffects.0": "Способность применять магические эффекты к вещам и людям — обязательная черта любого достойного магического словаря. Мы не пишем $(thing)Spells$(0) из книги заклинаний, но вы в любом случае можете применять эффекты к объектам. $(p)Все части в этой группе будут применять соответствующие эффекты зелья к целевому объекту в течение заданного времени (в секундах).",
  "psi.book.page.positiveEffects.1": "Если у фигуры также есть параметр «Сила», он представляет уровень применяемого эффекта. $(p) Например, $(piece)Trick: Speed$(0) со временем 20 и силой 2 применит эффект «Скорость II» на 20 секунд к целевому объекту.",
  "psi.book.entry.negativeEffects": "Негативные эффекты",
  "psi.book.page.negativeEffects.0": "Как и следовало ожидать, вместе с $(l: legacy/positive_effects)Positive Effects$(/l) появляются и отрицательные эффекты.$(p)На самом деле здесь особо нечего сказать. Все трюки в этой группе делают именно то, что написано на упаковке.$(p)Удачи.",
  "psi.book.entry.trigonometry": "Тригонометрия",
  "psi.book.page.trigonometry.0": "В эту группу входят $(thing)Operators$(0), относящиеся к тригонометрическим функциям. $(piece)Константа: Pi$(0) — это именно то, что написано на банке, константа, которая дает вам значение π=3,1415….$(p)В эту группу входят также элементарные тригонометрические операции: функции синуса и косинуса, а также их обратные функции (арксинус и арккосинус).",
  "psi.book.page.trigonometry.1": "Кроме того, $(piece)Operator: Vector Dot Product$(0) возвращает скалярное произведение двух векторов: произведение величин двух векторов, умноженное на косинус угла между ними. Использование $(piece)Operator: Arc Cosine$(0) для результата позволит вам получить угол между двумя векторами.",
  "psi.book.entry.smeltery": "Медеплавильный завод",
  "psi.book.page.smeltery.0": "Детали этой группы функционируют довольно просто; все они переплавляют одни вещи в другие, как будто их положили в печь.$(p)$(piece)Хитрость: Переплавка предмета$(0) превращает один выпавший предмет в мир в его переплавленный аналог.",
  "psi.book.page.smeltery.1": "$(piece)Хитрость: плавление блока$(0) переплавит блок в мире в его выплавленную версию, при условии, что эта выплавленная форма также является блоком.$(p)Таким образом, булыжник можно переплавить в камень, а затем в гладкий камень, но бревно не переплавится в древесный уголь.",
  "psi.book.entry.flowControl": "Управление потоком",
  "psi.book.page.flowControl.0": "Управление потоком — довольно сложная тема. Все включенные сюда части позволяют $(thing)Spell$(0) функционировать совершенно по-разному. Однако понимание того, как правильно использовать эти части, требует знания самой внутренней структуры системы заклинаний — прочитайте $(l: basics/eval_order)эту статью$(/l) для получения дополнительной информации.",
  "psi.book.page.flowControl.1": "Имея под рукой всю эту информацию, давайте начнем с $(piece)Trick: Sleep$(0). Эта часть заставляет $(thing)Spell$(0), из которого она была применена, задерживать свое выполнение на количество полученных тиков. (Тик составляет 0,05 секунды.) Поэтому, если вы хотите задержать дальнейшую обработку $(thing)Spell$(0) на полсекунды, вы должны использовать 10 в качестве параметра «Время». $(piece)Хитрость: Sleep$(0) не добавляет $(l: basics/tutorial_5#projection)$(o)$(thing)Projection$(0)$(/l) к вашему $(thing)Spell$(0), но стоит $(l: basics/tutorial_5#potency)$(o)$(thing)Potency$(0)$(/l).",
  "psi.book.page.flowControl.2": "$(piece)Трюк: Evaluate$(0) — это $(thing)Trick$(0), который абсолютно ничего не делает.$(p)Да, вы не ослышались. Этот $(thing)Trick$(0) ничего не делает. Он также не добавляет никакой статистики к вашему $(thing)Spell$(0).$(p)Его единственное практическое применение — оценить значение перед выполнением $(piece)Trick: Sleep$(0), что позволяет вам, например, получить место, где находился объект до срабатывания $(piece)Trick: Sleep$(0), для последующего использования в $(thing)Spell$(0).",
  "psi.book.page.flowControl.3": "$(piece)Хитрость: Die$(0), с другой стороны, является частью управления потоком в прямом смысле этого слова.$(p)Он принимает числовой параметр, и если абсолютное значение этого числа лежит строго ниже 1 (также исключительное), оно тут же сводит на нет $(thing)Spell$(0). Любые другие значения, переданные в $(thing)Trick$(0), позволят $(thing)Spell$(0) продолжать работу в обычном режиме.$(p)Этот фрагмент не требует $(l: basics/tutorial_5#projection)$(o)$(thing)Projection$(0)$(/l).",
  "psi.book.page.flowControl.4": "Очень простой способ использовать $(piece)Trick: Die$(0) — это связать его с $(piece)Selector: Sneak Status$(0), который удобно возвращает 0, если заклинатель крадется, и 1, если нет. $(p)Почему, это почти как если бы они были созданы для совместного использования!",
  "psi.book.page.flowControl.5": "$(piece)Constant: Wrapper$(0) позволяет использовать фрагменты, возвращающие числа для $(thing)Tricks$(0), для которых в противном случае потребовались бы числовые константы.$(p)Как вы уже знаете, числовые константы, переданные в $(thing)Tricks$(0), используются для расчета статистики $(thing)Spell$(0) (включая $(l: basics/tutorial_5#cost)$(o)$(thing)Cost$(0)$(/l)) до того, как $(thing)Spell$(0) когда-либо будет применено. $(p)Поскольку эти константы требуются во время компиляции, простые числа, которые оцениваются во время выполнения, здесь явно непригодны.",
  "psi.book.page.flowControl.6": "$(piece)Constant: Wrapper$(0) решает эту проблему, принимая два числа: константу и неконстанту. $(p)Константа, переданная в часть, будет использоваться для вычислений компиляции $(thing)Spell$(0); но неконстантное число будет использоваться при фактическом выполнении $(thing)Spell$(0).$(p)Значение неконстантного числа будет ограничено значением константы во время выполнения $(thing)Spell$(0), чтобы предотвратить дурачество.",
  "psi.book.page.flowControl.7": "Знак числа времени выполнения изменен на знак числовой константы, так что знаки обоих чисел совпадают. Если число констант равно 0, $(piece)Constant: Wrapper$(0) всегда возвращает 0, независимо от ввода.",
  "psi.book.entry.blockConjuration": "Блокировать заклинание",
  "psi.book.page.blockConjuration.0": "В эту группу входят детали, которые действуют точно так, как рекламируется: они создают блоки.$(p)$(piece)Хитрость: «Вызов блока»$(0) создает «Сотворенный блок», полупрозрачный сплошной блок, в заданной позиции. Созданные блоки, если они созданы с параметром «Время», могут незаметно разрушиться по истечении указанного времени.",
  "psi.book.page.blockConjuration.1": "Если используется параметр «Время», он указывается в тиках (единица измерения 0,05 секунды). Таким образом, если вы хотите создать блок, который исчезает через полсекунды, установите параметр «Время» на 10 тиков.$(p)$(piece)Хитрость: Conjure Light$(0) вместо этого создает источник света, с которым невозможно столкнуться.",
  "psi.book.page.blockConjuration.2": "$(piece)Трюк: Создание последовательности блоков$(0) работает так же, как $(piece)Трюк: Размещение последовательности блоков$(0), но вместо этого создает созданные блоки. Обе эти части также включают параметр «Время». $(p)Сотворенные блоки хрупкие и мгновенно сломаются от любого инструмента, которым игрок захочет ими воспользоваться.",
  "psi.book.entry.eidosManipulation": "Эйдос-манпуляция",
  "psi.book.page.eidosManipulation.0": "$(thing)Tricks$(0) Эйдоса позволяют заклинателю манипулировать пространственно-временным континуумом в свою пользу.$(p)$(piece)Трюк: Обращение Эйдоса$(0) заставляет заклинателя повторять свои шаги в обратном направлении с двойной скоростью в течение указанного времени (в секундах).",
  "psi.book.page.eidosManipulation.1": "Одновременно может быть активным только один Обратный ход Эйдоса, и после того, как Обратный ход был использован, любые последующие Обратные ходы могут вернуться только к тому месту, где закончился последний. Скрытность остановит продолжающееся обращение.$(p)Другая $(thing)Trick$(0) часть группы, $(piece)Trick: Eidos Anchor$(0) создает «якорь» для заклинателя.",
  "psi.book.page.eidosManipulation.2": "По истечении указанного времени (в секундах) заклинатель вернется в место своего якоря. Несколько исполнений $(piece)Trick: Eidos Anchor$(0) могут произойти в быстрой последовательности, но активируется только последний созданный якорь.",
  "psi.book.page.eidosManipulation.3": "Наконец, $(piece)Selector: Eidos Changelog$(0) принимает один числовой параметр (назовем его n) и дает вам позицию в n-м индексе журнала изменений Eidos, начиная с конца. Другими словами, он дает вам вектор позиции того места, где вы были n тиков назад.$(p)$(piece)Хитрость: Eidos Reversal$(0) переносит вас назад в журнале изменений, уничтожая все места, которые встречаются «потом». $(piece)Хитрость: Eidos Anchor$(0) не изменяет журнал изменений.",
  "psi.book.entry.detectionDynamics": "Обнаружение и фокусировка",
  "psi.book.page.detectionDynamics.0": "Как следует из названия, в эту группу входят два типа частей: обнаружение и фокусировка. Чтобы понять это, необходимо представить концепцию слот-фокуса.",
  "psi.book.page.detectionDynamics.1": "Уже известным примером Slot Focus является семейство стилей Place Block $(thing)Tricks$(0). Они используют блок справа от вашего $(thing)CAD$(0). Slot Focus — это слот, который будут использовать подобные $(thing)Tricks$(0). Он может быть относительным (по отношению к положению вашего $(thing)CAD$(0)) или абсолютным, может находиться только на панели быстрого доступа и иметь значения от 1 до 9.",
  "psi.book.page.detectionDynamics.2": "По умолчанию, когда применяется $(thing)Spell$(0), его значение равно «Относительно 1», то есть оно находится на 1 слот справа от вашего $(thing)CAD$(0). Если бы это было «Относительно -1», это был бы 1 слот слева от вашего $(thing)CAD$(0). «Абсолютный 3» будет третьим слотом на вашей панели быстрого доступа. Он также зацикливается, поэтому, если у вас есть $(thing)CAD$(0) в последнем слоте и значение «Относительное 1», это будет ваш первый слот.",
  "psi.book.page.detectionDynamics.3": "Чтобы установить фокусируемый слот, вы можете использовать $(piece)Trick: Switch Focus Slot$(0). Это принимает один из двух параметров. Оба являются необязательными и взаимоисключающими, и если вы их не определите, фокус будет установлен на значение по умолчанию «Относительный 1». Если вы решите установить параметр «Позиция», будет установлено абсолютное значение, тогда как параметр «Сдвиг» будет установлен относительное значение.",
  "psi.book.page.detectionDynamics.4": "Это позволяет вам, например, строить вещи из разных блоков в зависимости от обстоятельств. Этот $(thing)Trick$(0) работает только для текущего применения $(thing)Spell$(0), и фокус будет сброшен в следующий раз, когда будет применено $(thing)Spell$(0) (даже если это то же самое $(thing)Spell$(0)).$(p)Другие две части в группе установлены в области «обнаружения».",
  "psi.book.page.detectionDynamics.5": "Во-первых, $(piece)Selector: Item Presence$(0) принимает необязательный номер слота (если он не установлен, по умолчанию будет выбран ваш выделенный слот) и возвращает количество предметов в этом слоте, 0, если он, конечно, пуст.",
  "psi.book.page.detectionDynamics.6": "Наконец, $(piece)Selector: Block Presence$(0) принимает вектор, который будет использоваться в качестве координат в мире, и находит там блок. Возвращаемое значение равно 0, если блока нет или заменяемого блока (например, высокой травы), 1, если это не сплошной блок, и 2, если это сплошной блок.",
  "psi.book.entry.memoryManagement": "Управление памятью",
  "psi.book.page.memoryManagement.0": "Эта группа представляет возможность $(thing)Spell$(0) постоянно хранить информацию внутри $(thing)CAD$(0). $(thing)CAD$(0) может сохранять векторы для последующего извлечения при будущих выполнениях $(thing)Spell$(0). $(thing)CAD$(0) может хранить один вектор для каждых трёх имеющихся у него $(l: comComponents/socket)$(o)$(item)Socket$(0)$(/l) слотов.",
  "psi.book.page.memoryManagement.1": "Количество векторов, которые может хранить $(thing)CAD$(0), называется количеством имеющихся в нем $(thing)слотов памяти$(0).$(p)Эта группа частей включает в себя две части $(thing)Spell Pieces$(0), которые могут сохранять и загружать векторы в $(thing)CAD$(0) $(thing)слоты памяти$(0).$(p)$(piece) и обратно. вектор в назначенный $(thing)слот памяти$(0), тогда как $(piece)Selector: Saved Vector$(0) извлекает вектор, сохраненный в назначенном $(thing)слоте памяти$(0).",
  "psi.book.page.memoryManagement.2": "$(thing)CAD$(0) $(thing)Слоты памяти$(0) нумеруются, начиная с 1, поэтому $(thing)CAD$(0) с 3 слотами памяти может сохранять данные в слоты 1, 2 и 3. $(p)Оба $(thing)Tricks$(0) в этой группе добавляют От $(l: basics/tutorial_5#potency)$(o)$(thing)Potency$(0)$(/l) до $(thing)Заклинания$(0) они используются в количестве, равном номеру используемого слота.$(p)Например, сохранение в слот 2 или загрузка из него стоит два $(l: basics/tutorial_5#potency)$(o)$(thing)Potency$(0)$(/l).",
  "psi.book.page.memoryManagement.3": "$(piece)Трюк: Сохранение вектора$(0) имеет несовершенство: оно «блокирует» $(thing)Ячейку памяти$(0), в которую он сохраняет.$(p)Это предотвращает взаимодействие любой из двух частей с той же самой $(thing)Ячейкой памяти$(0) позже в $(thing)Spell$(0).$(p)Поэтому, если вам нужно загрузить значение, сохраненное в ячейке, прежде чем сохранять в нее что-то новое, помните правила управления потоком чтобы гарантировать, что загрузка происходит до сохранения.",
  "psi.book.entry.secondaryOperators": "Вторичные операторы",
  "psi.book.page.secondaryOperators.0": "Как следует из названия, эта группа состоит из математических $(thing)Операторов$(0), которые не так важны, как «основные» операции, такие как сложение или вычитание. Эта группа представляет собой просто смесь всевозможных математических и логических взаимосвязей, которые можно использовать для создания $(thing)Spell$(0). Мы разделим части на два набора, чтобы их было легче объяснить.",
  "psi.book.page.secondaryOperators.1": "Первый набор связан с возведением чисел в степень, включая такие части, как $(piece)Оператор: Square$(0), $(piece)Оператор: Power$(0), $(piece)Оператор: Квадратный корень$(0) и даже $(piece)Оператор: Логарифм$(0). Большинство из них работают именно так, как вы от них ожидаете.$(p)Обратите внимание, что $(piece)Operator: Logarithm$(0) принимает необязательный базовый аргумент; если основание не указано, по умолчанию используется основание 10.$(p)$(piece)Константа: e$(0) также можно использовать для получения натурального логарифма.",
  "psi.book.page.secondaryOperators.2": "Второй набор $(thing)Operators$(0) связан с логикой. Это части, которые округляют (до целого числа).$(p)$(piece)Оператор: Ceiling$(0), $(piece)Оператор: Floor$(0) и $(piece)Оператор: Round$(0) округляет вверх, вниз и до ближайшего целого числа соответственно. $(p)В эту группу также входят $(piece)Оператор: Min$(0) и $(piece)Оператор: Max$(0). Они получают наименьший и наибольший из своих параметров соответственно.",
  "psimisc.spellmaynotfunctionasintended": "Ржу не могу"
}