Skip to content
kaputina edited this page Mar 6, 2021 · 47 revisions

DamageAPI

実行者のエンティティにダメージを与えます。
実行者は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について

補正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

HealAPI

実行者のエンティティを回復させます。
実行者は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

MPAPI

対象プレイヤーのMPに関する処理ができます。

MP増減

任意の数値MPを増減させます。

引数

要求データ 必須 説明
実行者 o Player MPを増減させるプレイヤー
$Fluctuation o Scoreboard MPの増減量

scoreboard players set $Fluctuation Lib <number>
execute as <selector> run function lib:mp/fluctuation

MP設定

任意の数値MPをその値に設定します。

引数

要求データ 必須 説明
実行者 o Player MPを設定するプレイヤー
$Set o Scoreboard MPの設定値

scoreboard players set $Set Lib <number>
execute as <selector> run function lib:mp/set

MPチェック

指定した数値より現在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取得

MPの現在値を取得します。
注: このライブラリはもやんのせいでfunction内以外から実行すると成功し続けます。function内で実行する分には問題ないからバグ報告しないでね☆

引数

要求データ 必須 説明
実行者 o Player MPの現在値を取得するプレイヤー

返り値

データ 想定される値 説明
Result 0.. Scoreboard 対象のMPの現在値

execute as <selector> store success score <entity> OBJECTIVE run function lib:mp/get

MP最大値取得

MPの最大値を取得します。
注: このライブラリはもやんのせいでfunction内以外から実行すると成功し続けます。function内で実行する分には問題ないからバグ報告しないでね☆

引数

要求データ 必須 説明
実行者 o Player MPの最大値を取得するプレイヤー

返り値

データ 想定される値 説明
Result 0.. Scoreboard 対象のMPの最大値

execute as <selector> store success score <entity> OBJECTIVE run function lib:mp/get_max

EntityLinkAPI

Work In Progress...

Clone this wiki locally