-
Notifications
You must be signed in to change notification settings - Fork 6
api
ChenCMD edited this page Jan 13, 2021
·
36 revisions
実行者のエンティティにダメージを与えます。
実行者はHealthを持つEntityである必要があります。
storage lib:に引数を入れ、ダメージを与えたい対象を実行者にしてfunction lib:damage/を実行することでダメージを与えることが可能です。
| NBTPath | 型 | 説明 |
|---|---|---|
| Argument.Damage | float | 与えるダメージ |
| Argument.AttackType |
"Physical"/"Magic"
|
ダメージの第一属性 |
| Argument.ElementType |
"None"/"Fire"/"Water"/"Thunder"
|
ダメージの第二属性 |
| Argument.DisableParticle | boolean | パーティクルを無効化するか否か |
| Argument.BypassArmor | boolean | 防御力/防具強度を無視するか否か |
| Argument.BypassResist | boolean | 耐性エフェクトを無視するか否か |
Note: 実装の都合上、function lib:damage/を呼び出してもArgumentはリセットされない為、実行後にリセットすること。
リセット方法は例を参照。
# 引数の設定 // 慣れている場合は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.DisableParticle set value false
# 防御力/防具強度を無視するか否か
data modify storage lib: Argument.BypassArmor set value false
# 耐性エフェクトを無視するか否か
data modify storage lib: Argument.BypassResist set value false
# 範囲5m以内のゾンビを対象に
execute at @s as @e[type=zombie,distance=..5] run function lib:damage/
# リセット
data remove storage lib: ArgumentWork In Progress...
対象プレイヤーのMPの確認及び、増減ができます。
任意の数値MPを増減させます。
scoreboard players set $Fluctuation Lib NUMBER
execute as PLAYER run function lib:mp/fluctuation
| データ名 | 種別 | 入力内容 | 要否 |
|---|---|---|---|
| PLAYER | 実行エンティティ | MPを増減させるプレイヤー | 必須 |
| NUMBER | スコア | MPの増減量 | 必須 |
指定した数値より現在MPが多いか確認します。
scoreboard players set $CheckMP Lib NUMBER
execute as PLAYER store success score ENTITY OBJECTIVE run function lib:mp/check
| データ名 | 種別 | 入力内容 | 要否 |
|---|---|---|---|
| PLAYER | 実行エンティティ | MPをチェックするプレイヤー | 必須 |
| NUMBER | スコア | MPのしきい値 | 必須 |
実行コマンドのstore resultに書いたスコアボードに結果が入る
| スコア保持エンティティ名 | スコアボード名 | 値 |
|---|---|---|
| - | - | 0:MPを保持していない 1:MPを保持している |
Work In Progress...