Мод для Майнкрафт на NeoForge, который превращает математические функции в графики из блоков и траектории полёта. Он пригодится для наглядных построек и экспериментов: стрелы, TNT, фейерверки и полёт с трезубцем могут двигаться по заданной кривой.
Возможности
- Строит график функции как объёмную линию из выбранного блока. График ориентируется по ближайшей стороне света, а разрывы вроде
1/xоколо нуля не соединяются линией. - Поддерживает арифметику, степени, вложенные выражения,
sin,cos,tan, логарифмы, корни, округление,abs,min,max,mod, случайные значенияRan#иRanInt(min, max), а также константыeиpi. - Для лука и арбалета меняет полёт стрел; огниво задаёт траекторию зажжённому TNT, фейерверк летит по кривой и взрывается при столкновении, а трезубец с зачарованием «Тягун» ведёт игрока по функции во время рывка в воде или под дождём. Поддерживаются и другие подходящие снаряды, например снежки.
- Частицы отмечают траекторию, столкновения со стенами учитываются, а после удара, выхода за допустимые пределы или истечения времени предмет возвращается к обычной физике.
- Ограничения не дают строить графики за высотой мира или создавать слишком тяжёлые для игры конструкции.
Как пользоваться
Для постройки графика используйте команду:
/fx "<выражение>" <min_x> <max_x> <блок> [масштаб] [режим] [система_координат]
<min_x> и <max_x> задают диапазон переменной x, а <блок> — идентификатор блока, например minecraft:red_concrete. Масштаб от 1 до 10 определяет число блоков на единицу. Режим stand строит вертикальный график, floor — горизонтальный; true в последнем параметре добавляет оси из кварца.
Например, /fx "x^2" -5 5 minecraft:blue_wool 2 stand true построит параболу из синей шерсти с масштабом два блока на единицу и осями координат.
Чтобы задать траекторию предмету, переименуйте совместимый предмет в наковальне по шаблону f(x)=<выражение> или y=<выражение>, например f(x)=sin(x)*2. Для остановки полёта с трезубцем нажмите клавишу прыжка.
Настройки
Повторно используемые выражения создаются командами /customfunction и хранятся в custom_functions.json.
/customfunction add <имя> <выражение>— создать функцию./customfunction list— показать сохранённые функции./customfunction get <имя>— посмотреть выражение./customfunction eval <имя> <x>— вычислить значение./customfunction modify <имя> <новое_выражение>— изменить функцию./customfunction remove <имя>— удалить функцию./customfunction remove-all— очистить список; доступно оператору.
Имена не должны совпадать со встроенными функциями, константами e и pi либо с зарезервированным именем f.
Требования и совместимость
Для работы нужен NeoForge.
