Calc マクロ
概要
Calc マクロ は、数式を計算して結果を返すマクロです。
四則演算だけでなく、様々な数学関数もサポートしています。
構文
<!calc=数式>
パラメータ
| パラメータ | 説明 |
|---|---|
数式 | 計算したい数式 |
戻り値
計算結果を返します。
数式にエラーがある場合は、マクロがそのまま残ります。
サポートする演算子と関数
演算子
| 演算子 | 意味 | 優先度 | 例 | 数式 | 結果 |
|---|---|---|---|---|---|
+ | 加算 | 1 | 2+3 | 5 | |
- | 減算 | 1 | 2-3 | -1 | |
* | 乗算 | 2 | 2*3 | 6 | |
/ | 除算 | 2 | 6/3 | 2 | |
** | べき乗 | 3 | 2**3 | 8 | |
( ) | 括弧 | 4 | (2+3)*4 | 20 |
数学関数
| 関数 | 意味 | 例 | 数式 | 結果 |
|---|---|---|---|---|
sqrt | 平方根 | sqrt(9) | 3 | |
sin | 正弦 | sin(45) | 0.8509... | |
cos | 余弦 | cos(45) | 0.5253... | |
tan | 正接 | tan(45) | 1.6197... | |
asin | 逆正弦 | asin(0.5) | 0.5235... | |
acos | 逆余弦 | acos(0.5) | 1.0471... | |
atan | 逆正接 | atan(1.5) | 0.9827... | |
abs | 絶対値 | abs(-5) | 5 | |
round | 四捨五入 | round(1.5) | 2 | |
floor | 切り捨て | floor(1.9) | 1 | |
ceil | 切り上げ | ceil(1.1) | 2 | |
log10 | 常用対数 | log10(100) | 2 | |
log2 | 二進対数 | log2(8) | 3 | |
rand | ランダム値 | rand() | 0~1の小数 |
備考
rand() は 0 以上 1 未満のランダムな小数を返します。
特定の範囲の整数が必要な場合は、floor(rand()*範囲)+最小値 のように計算します。
使用例
基本的な計算
シンプルな四則演算を行います。
/execute as @a run scriptevent capi:tell 2 + 3 = <!calc=2+3>
出力例:
2 + 3 = 5
計算式:
括弧を使った計算
括弧を使って計算順序を制御します。
/execute as @a run scriptevent capi:tell (2 + 3) × 4 = <!calc=(2+3)*4>
出力例:
(2 + 3) × 4 = 20
計算式:
スコアを使った計算
スコアの値を計算に使用します。
/execute as @a run scriptevent capi:actionbar 合計: <!calc=<!score=a>+<!score=b>>
出力例(a=10, b=20の場合):
合計: 30
計算式:
数学関数の使用
平方根を計算します。
/execute as @a run scriptevent capi:tell √9 = <!calc=sqrt(9)>
出力例:
√9 = 3
計算式:
絶対値の計算
マイナスの値を絶対値に変換します。
/execute as @a run scriptevent capi:tell |<!score=money>| = <!calc=abs(<!score=money>)>
出力例(money=-100の場合):
|-100| = 100
計算式:
ダメージ計算
攻撃力と倍率からダメージを計算します。
/execute as @a run scriptevent capi:actionbar ダメージ: <!calc=<!score=attack>*<!score=critical>/100>
出力例(attack=50, critical=150の場合):
ダメージ: 75
計算式:
ランダム値の生成
ランダムな小数(0~1)を生成します。
/execute as @a run scriptevent capi:tell ランダム値: <!calc=rand()>
出力例:
ランダム値: 0.7234
計算式: は 0 以上 1 未満のランダムな小数
ダイスの目(1~6)を生成
rand() を使って 1 から 6 までのランダムな整数を生成します。
/execute as @a run scriptevent capi:tell ダイスの目: <!calc=floor(rand()*6)+1>
出力例:
ダイスの目: 4
計算式: は 1 から 6 までのランダムな整数
距離の計算
座標から距離を計算します。
/execute as @a run scriptevent capi:tell 距離: <!calc=sqrt(<!score=dx>**2+<!score=dy>**2+<!score=dz>**2)>
出力例(dx=3, dy=4, dz=0の場合):
距離: 5
計算式:
小数点の利用
Calc マクロでは小数を直接使用できます。
| 小数 | 数式 | 結果 |
|---|---|---|
0.5 | 0.5 | |
0.25 | 0.25 | |
0.125 | 0.125 |
変数からの移行
以前の変数構文からマクロ構文への変更:
| 旧構文(変数) | 新構文(マクロ) |
|---|---|
{calc:2+3} | <!calc=2+3> |
{calc:sqrt(9)} | <!calc=sqrt(9)> |
移行のポイント
旧構文の {calc:数式} は新構文の <!calc=数式> に置き換えます。
コロン(:)がイコール(=)に変わることに注意してください。
また、括弧や数学関数のサポートが追加されています。