Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
anitmyan edited this page Jan 22, 2022 · 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.FixedDamage x boolean ダメージをプレイヤーの補正値で補正しないか否か false
Argument.DisableParticle x boolean パーティクルを無効化するか否か false
Argument.BypassResist x boolean 属性耐性・防御力/防具強度・耐性エフェクトを無視するか否か false

Note: 実装の都合上、function lib:damage/を呼び出してもArgumentはリセットされない為、実行後にリセットすること。
リセット方法は例を参照。

使い方

function lib:damage/

補正functionについて

補正function(lib:damage/modifier)を実行することで、信仰等の自身のダメージ補正値をArgument.Damageに適用するよ。
通常はダメージを与える場合はこれを使用するんだけど、必ず決まったダメージを与えたい場合とかは実行者の補正値を適用すると増減するから使用しないようにしてね。
これを実行すると、引数のDamageの値が変わるから、一回補正を掛けた後に異なる数値や属性のダメージを再度与える場合はDamageを再設定&補正functionを実行してね。

範囲5Mのゾンビに7.5の魔法・雷属性ダメージを与える

# 引数の設定
 # 与えるダメージ = 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の魔法・雷属性の貫通ダメージを与える(信仰等によるダメージ補正あり)

# 引数の設定
 # 与えるダメージ = 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の魔法・雷属性の貫通ダメージを確定で与える

# 引数の設定
 # 与えるダメージ = 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 回復する量

注: 実装の都合上、function lib:heal/を呼び出してもArgumentはリセットされない為、実行後にリセットすること。
リセット方法は例を参照。

使い方

function lib:heal/

# 引数の設定
 # 回復する量 = 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の増減量

使い方

function lib:mp/fluctuation

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

MP設定

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

引数

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

使い方

function lib:mp/set

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を持っているか否か

使い方

execute store success ~ run function lib:mp/check

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 store result ~ run function lib:mp/get

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

MP最大値取得

MPの最大値を取得します。

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

引数

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

返り値

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

使い方

execute store result ~ run function lib:mp/get_max

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

LostItemsAPI

プレイヤーの失ったアイテムに対するAPI

没収アイテム数取得

没収されたアイテムのスロット数を取得します。

引数

要求データ 必須 説明
実行者 o Player 取得するプレイヤー

返り値

データ 想定される値 説明
Result 0.. Scoreboard 対象の没収されたアイテムのスロット数

使い方

execute store result ~ run function api:lost_items/get_length

# 実行者の没収されたアイテムのスロット数を$SlotItemCount Temporaryに取得する
 execute store result score $SlotItemCount Temporary run function api:lost_items/get_length

没収アイテム返還

没収されたアイテムをランダムに指定したスロット数分返却します。
一定の確率で指定したスロット数より少ない数が返却されることがあります。

引数

要求データ 必須 説明
実行者 o Player 返却するプレイヤー
Argument.Count o int 返却するスロット数

使い方

function api:lost_items/give

# 引数の設定
 # 返却するスロット数 = 10個
 data modify storage lib: Argument.Count set value 10
# 返却するプレイヤーの上にアイテムを返却
 execute positioned ~ ~3 ~ run function api:lost_items/give

ModifierAPI

プレイヤーの与/被ダメージやHP/MP回復量に掛かる補正に対するAPI

補正対象

  • Attack
    • Base (attack/base)
    • Physical (attack/physical)
    • Magic (attack/magic)
    • None (attack/none)
    • Fire (attack/fire)
    • Water (attack/water)
    • Thunder (attack/thunder)
  • Defense
    • Base (defense/base)
    • Physical (defense/physical)
    • Magic (defense/magic)
    • None (defense/none)
    • Fire (defense/fire)
    • Water (defense/water)
    • Thunder (defense/thunder)
  • Heal (heal)
  • MPRegen (mp_regen)

補正の追加

指定したステータスに補正を追加します。

引数

要求データ 必須 説明
実行者 o Player 補正を与える対象
Argument.UUID o int[4] 削除するときに利用するID
Argument.Amount o double 補正値
Argument.Operation o "add" | "multiply_base" | "multiply" 補正計算方法
計算方法はGamepedia参照

使い方

function api:player_modifier/<補正対象>/add

# 引数の設定
 # UUID
 data modify storage api: Argument.UUID set value [I;1,1,0,0]
 # 補正値 +15%
 data modify storage api: Argument.Amount set value 0.15
 # 補正方法
 data modify storage api: Argument.Operation set value "multiply_base"
# 補正の追加(この場合与える物理ダメージが15%上昇する)
 function api:player_modifier/attack/physical/add

補正の削除

指定したステータスの指定されたUUIDの補正を削除します。

引数

要求データ 必須 説明
実行者 o Player 補正を削除する対象
Argument.UUID o int[4] 削除するID

使い方

function api:player_modifier/<補正対象>/remove

# 引数の設定
 # UUID
 data modify storage api: Argument.UUID set value [I;1,1,0,0]
# 補正の削除
 function api:player_modifier/attack/physical/remove

データ取得API

実行者のデータを軽量に取得し、storageに代入します。
このAPIをMobに対して利用すると負荷が増えることが想定されるので利用しないでください。

対応するNBT
  • id
  • Pos
  • Motion
  • Rotation
  • fallDistance
  • Fire
  • Air
  • OnGround
  • NoGravity
  • Invulnerable
  • PortalCooldown
  • UUID
  • CustomName
  • CustomNameVisible
  • Silent
  • Passengers
  • Glowing
  • Tags
  • Health
  • AbsorptionAmount
  • HurtTime
  • DeathTime
  • FallFlying
  • SleepingX
  • SleepingY
  • SleepingZ
  • Brain
  • Attributes
  • ActiveEffects
  • NoAI
  • Team
  • DataVersion
  • Dimension
  • playerGameType
  • previousPlayerGameType
  • Score
  • SlectedItemSlot
  • SlectedItem
  • SpawnX
  • SpawnY
  • SpawnZ
  • SpawnForced
  • SleepTimer
  • foodLevel
  • foodExhaustionLevel
  • foodSaturationLevel
  • foodTickTimer
  • XpLevel
  • XpP
  • XpTotal
  • XpSeed
  • Inventory
  • EnderItems
  • abilities
  • enteredNetherPosition
  • RootVehicle
  • ShoulderEntityLeft
  • ShoulderEntityRight
  • seenCredits
  • recipeBook

引数

要求データ 必須 説明
実行者 o Player データを取得する対象

返り値

データ 想定される値 説明
api: <データ名> - storage 対象のMPの最大値

使い方

function api:data_get/<対応するNBT>

# データ取得
 function api:data_get/health
# 実行者のHealthがapi: Healthに入ってるので出力する
 tellraw @a {"storage":"api:","nbt":"Health"}

EntityLinkAPI

Work In Progress...

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /