-
Notifications
You must be signed in to change notification settings - Fork 6
api
実行者のエンティティにダメージを与えます。
実行者はHealthを持つEntityである必要があります。
固定ダメージでない場合は、補正function(lib:damage/modifier)を実行すること
| 要求データ | 必須 | 型 | 説明 | デフォルト |
|---|---|---|---|---|
| 実行者 | o | Entity | ダメージを与える対象 | - |
| Argument.Damage | o | float | 与えるダメージ | - |
| Argument.AttackType | o |
"Physical"/"Magic"
|
ダメージの第一属性 | - |
| Argument.ElementType | x |
"None"/"Fire"/"Water"/"Thunder"
|
ダメージの第二属性 | "None" |
| Argument.DisableParticle | x | boolean | パーティクルを無効化するか否か | false |
| Argument.BypassResist | x | boolean | 属性耐性・防御力/防具強度・耐性エフェクトを無視するか否か | false |
Note: 実装の都合上、function lib:damage/を呼び出してもArgumentはリセットされない為、実行後にリセットすること。
リセット方法は例を参照。
補正function(lib:damage/modifier)を実行することで、実行者の信仰等による自身のダメージ補正値をArgument.Damageに適用するよ。
通常はダメージを与える場合はこれを使用するんだけど、必ず決まったダメージを与えたい場合とかは実行者の補正値を適用してしまうとダメージ量が増減してしまうので、使用しないようにしてね。基本的には1回の実行で十分だよ。これを実行すると、引数のDamageの値が変わるから、一回補正を掛けた後に異なる数値のダメージを再度与えたかったらDamageを再設定&補正functionを実行してね。
範囲5Mのゾンビに7.5の魔法・雷属性ダメージを与える
# 引数の設定 // 慣れている場合はdata mergeを使っても構わない # 与えるダメージ = 7.5 data modify storage lib: Argument.Damage set value 7.5f # 第一属性 data modify storage lib: Argument.AttackType set value "Magic" # 第二属性 data modify storage lib: Argument.ElementType set value "Thunder" # 補正functionを実行 function lib:damage/modifier # 範囲5m以内のゾンビを対象に execute as @e[type=zombie,distance=..5] run function lib:damage/ # リセット data remove storage lib: Argument
範囲5Mのゾンビに7.5の魔法・雷属性の貫通ダメージを与える(信仰等によるダメージ補正あり)
# 引数の設定 // 慣れている場合はdata mergeを使っても構わない # 与えるダメージ = 7.5 data modify storage lib: Argument.Damage set value 7.5f # 第一属性 data modify storage lib: Argument.AttackType set value "Magic" # 第二属性 data modify storage lib: Argument.ElementType set value "Thunder" # 属性耐性・防御力/防具強度・耐性エフェクトを無視するか否か data modify storage lib: Argument.BypassResist set value true # 補正functionを実行 function lib:damage/modifier # 範囲5m以内のゾンビを対象に execute as @e[type=zombie,distance=..5] run function lib:damage/ # リセット data remove storage lib: Argument
範囲5Mのゾンビに7.5の魔法・雷属性の貫通ダメージを確定で与える
# 引数の設定 // 慣れている場合はdata mergeを使っても構わない # 与えるダメージ = 7.5 data modify storage lib: Argument.Damage set value 7.5f # 第一属性 data modify storage lib: Argument.AttackType set value "Magic" # 第二属性 data modify storage lib: Argument.ElementType set value "Thunder" # 属性耐性・防御力/防具強度・耐性エフェクトを無視するか否か data modify storage lib: Argument.BypassResist set value true # 範囲5m以内のゾンビを対象に execute as @e[type=zombie,distance=..5] run function lib:damage/ # リセット data remove storage lib: Argument
実行者のエンティティを回復させます。
実行者はHealthを持つEntityである必要があります。
回復量が固定でない場合は、補正function(lib:heal/modifier)を実行すること
| 要求データ | 必須 | 型 | 説明 |
|---|---|---|---|
| 実行者 | o | Player | 回復を与える対象 |
| Argument.Heal | o | float | 回復する量 |
Note: 実装の都合上、function lib:heal/を呼び出してもArgumentはリセットされない為、実行後にリセットすること。
リセット方法は例を参照。
# 引数の設定 # 回復する量 = 7.5 data modify storage lib: Argument.Heal set value 7.5f # 補正function function lib:heal/modifier # 範囲5m以内のプレイヤーを対象に execute as @a[distance=..5] run function lib:heal/ # リセット data remove storage lib: Argument
対象プレイヤーのMPに関する処理ができます。
任意の数値MPを増減させます。
| 要求データ | 必須 | 型 | 説明 |
|---|---|---|---|
| 実行者 | o | Player | MPを増減させるプレイヤー |
$Fluctuation |
o | Scoreboard | MPの増減量 |
scoreboard players set $Fluctuation Lib <number> execute as <selector> run function lib:mp/fluctuation
任意の数値MPをその値に設定します。
| 要求データ | 必須 | 型 | 説明 |
|---|---|---|---|
| 実行者 | o | Player | MPを設定するプレイヤー |
$Set |
o | Scoreboard | MPの設定値 |
scoreboard players set $Set Lib <number> execute as <selector> run function lib:mp/set
指定した数値より現在MPが多いか確認します。
注: このライブラリはもやんのせいでfunction内以外から実行すると成功し続けます。function内で実行する分には問題ないからバグ報告しないでね☆
| 要求データ | 必須 | 型 | 説明 |
|---|---|---|---|
| 実行者 | o | Player | MPをチェックする対象のプレイヤー |
$CheckMP |
o | Scoreboard | MPのしきい値 |
| データ | 想定される値 | 型 | 説明 |
|---|---|---|---|
| Result | 0,1 | Scoreboard | 対象がMPを持っているか否か |
scoreboard players set $CheckMP Lib <number> execute as <selector> store success score <entity> OBJECTIVE run function lib:mp/check
MPの現在値を取得します。
注: このライブラリはもやんのせいでfunction内以外から実行すると成功し続けます。function内で実行する分には問題ないからバグ報告しないでね☆
| 要求データ | 必須 | 型 | 説明 |
|---|---|---|---|
| 実行者 | o | Player | MPの現在値を取得するプレイヤー |
| データ | 想定される値 | 型 | 説明 |
|---|---|---|---|
| Result | 0.. | Scoreboard | 対象のMPの現在値 |
execute as <selector> store success score <entity> OBJECTIVE run function lib:mp/get
MPの最大値を取得します。
注: このライブラリはもやんのせいでfunction内以外から実行すると成功し続けます。function内で実行する分には問題ないからバグ報告しないでね☆
| 要求データ | 必須 | 型 | 説明 |
|---|---|---|---|
| 実行者 | o | Player | MPの最大値を取得するプレイヤー |
| データ | 想定される値 | 型 | 説明 |
|---|---|---|---|
| Result | 0.. | Scoreboard | 対象のMPの最大値 |
execute as <selector> store success score <entity> OBJECTIVE run function lib:mp/get_max
Work In Progress...