text:
#> api:data_get/selected_item
#
# 対象のSelectedItemをstorageに軽量に取得します。
#
# @input as player
# @output storage api: SelectedItem
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SelectedItem.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run function api:data_get/selected_item_fetch
# outputのstorageに移す
    data modify storage api: SelectedItem set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SelectedItem.Data


text:
#> api:data_get/root_vehicle
#
# 対象のRootVehicleをstorageに軽量に取得します。
#
# @input as player
# @output storage api: RootVehicle
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.RootVehicle.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.RootVehicle.Data set from entity @s RootVehicle
# outputのstorageに移す
    data modify storage api: RootVehicle set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.RootVehicle.Data

repo_name: ProjectTSB/TheSkyBlessing

repo_language: mcfunction

mime_type: text/plain


text:
#> api:data_get/on_ground
#
# 対象のOnGroundをstorageに軽量に取得します。
#
# @input as player
# @output storage api: OnGround
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.OnGround.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.OnGround.Data set from entity @s OnGround
# outputのstorageに移す
    data modify storage api: OnGround set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.OnGround.Data


text:
#> api:data_get/recipe_book
#
# 対象のrecipeBookをstorageに軽量に取得します。
#
# @input as player
# @output storage api: recipeBook
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.recipeBook.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.recipeBook.Data set from entity @s recipeBook
# outputのstorageに移す
    data modify storage api: recipeBook set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.recipeBook.Data


text:
#> api:data_get/custom_name
#
# 対象のCustomNameをstorageに軽量に取得します。
#
# @input as player
# @output storage api: CustomName
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.CustomName.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.CustomName.Data set from entity @s CustomName
# outputのstorageに移す
    data modify storage api: CustomName set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.CustomName.Data


text:
#> api:data_get/motion
#
# 対象のMotionをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Motion
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Motion.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Motion.Data set from entity @s Motion
# outputのstorageに移す
    data modify storage api: Motion set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Motion.Data


text:
#> api:data_get/food_tick_timer
#
# 対象のfoodTickTimerをstorageに軽量に取得します。
#
# @input as player
# @output storage api: foodTickTimer
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodTickTimer.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodTickTimer.Data set from entity @s foodTickTimer
# outputのstorageに移す
    data modify storage api: foodTickTimer set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodTickTimer.Data


text:
#> api:data_get/passengers
#
# 対象のPassengersをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Passengers
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Passengers.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Passengers.Data set from entity @s Passengers
# outputのstorageに移す
    data modify storage api: Passengers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Passengers.Data


text:
#> api:data_get/active_effects_fetch
#
#
#
# @within function api:data_get/active_effects

data modify storage api: Temp set from entity @s ActiveEffects
execute if data storage api: Temp run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.ActiveEffects.Data set from storage api: Temp
execute unless data storage api: Temp run data remove storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.ActiveEffects.Data

data remove storage api: Temp
data remove storage api: ActiveEffects


text:
#> api:data_get/data_version
#
# 対象のDataVersionをstorageに軽量に取得します。
#
# @input as player
# @output storage api: DataVersion
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.DataVersion.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.DataVersion.Data set from entity @s DataVersion
# outputのstorageに移す
    data modify storage api: DataVersion set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.DataVersion.Data


text:
#> api:data_get/death_time
#
# 対象のDeathTimeをstorageに軽量に取得します。
#
# @input as player
# @output storage api: DeathTime
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.DeathTime.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.DeathTime.Data set from entity @s DeathTime
# outputのstorageに移す
    data modify storage api: DeathTime set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.DeathTime.Data


text:
#> api:data_get/pos
#
# 対象のPosをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Pos
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Pos.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 at @s as 0-0-0-0-0 run function api:data_get/pos_fetch
# outputのstorageに移す
    data modify storage api: Pos set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Pos.Data


text:
#> api:data_get/spawn_y
#
# 対象のSpawnYをstorageに軽量に取得します。
#
# @input as player
# @output storage api: SpawnY
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnY.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnY.Data set from entity @s SpawnY
# outputのstorageに移す
    data modify storage api: SpawnY set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnY.Data


text:
#> api:data_get/glowing
#
# 対象のGlowingをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Glowing
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Glowing.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Glowing.Data set from entity @s Glowing
# outputのstorageに移す
    data modify storage api: Glowing set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Glowing.Data


text:
#> api:data_get/previous_player_game_type
#
# 対象のpreviousPlayerGameTypeをstorageに軽量に取得します。
#
# @input as player
# @output storage api: previousPlayerGameType
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.previousPlayerGameType.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.previousPlayerGameType.Data set from entity @s previousPlayerGameType
# outputのstorageに移す
    data modify storage api: previousPlayerGameType set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.previousPlayerGameType.Data


text:
#> api:data_get/absorption_amount
#
# 対象のAbsorptionAmountをstorageに軽量に取得します。
#
# @input as player
# @output storage api: AbsorptionAmount
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.AbsorptionAmount.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.AbsorptionAmount.Data set from entity @s AbsorptionAmount
# outputのstorageに移す
    data modify storage api: AbsorptionAmount set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.AbsorptionAmount.Data


text:
#> api:data_get/spawn_forced
#
# 対象のSpawnForcedをstorageに軽量に取得します。
#
# @input as player
# @output storage api: SpawnForced
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnForced.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnForced.Data set from entity @s SpawnForced
# outputのstorageに移す
    data modify storage api: SpawnForced set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnForced.Data


text:
#> api:data_get/seen_credits
#
# 対象のseenCreditsをstorageに軽量に取得します。
#
# @input as player
# @output storage api: seenCredits
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.seenCredits.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.seenCredits.Data set from entity @s seenCredits
# outputのstorageに移す
    data modify storage api: seenCredits set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.seenCredits.Data


text:
#> api:data_get/pos_fetch
#
# Posデータを汎用Entityから取得します
#
# @within function api:data_get/pos

# fetch
    execute in overworld run tp @s ~ ~ ~
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Pos.Data set from entity @s Pos
# リセット
    execute in overworld run tp @s 0.0 0.0 0.0 0.0 0.0


text:
#> api:data_get/selected_item_slot
#
# 対象のSelectedItemSlotをstorageに軽量に取得します。
#
# @input as player
# @output storage api: SelectedItemSlot
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SelectedItemSlot.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SelectedItemSlot.Data set from entity @s SelectedItemSlot
# outputのstorageに移す
    data modify storage api: SelectedItemSlot set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SelectedItemSlot.Data


text:
#> api:data_get/sleeping_z
#
# 対象のSleepingZをstorageに軽量に取得します。
#
# @input as player
# @output storage api: SleepingZ
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SleepingZ.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SleepingZ.Data set from entity @s SleepingZ
# outputのstorageに移す
    data modify storage api: SleepingZ set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SleepingZ.Data


text:
#> api:data_get/health
#
# 対象のHealthをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Health
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Health.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Health.Data set from entity @s Health
# outputのstorageに移す
    data modify storage api: Health set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Health.Data


text:
#> api:data_get/xp_total
#
# 対象のXpTotalをstorageに軽量に取得します。
#
# @input as player
# @output storage api: XpTotal
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.XpTotal.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.XpTotal.Data set from entity @s XpTotal
# outputのstorageに移す
    data modify storage api: XpTotal set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.XpTotal.Data


text:
#> api:data_get/tags
#
# 対象のTagsをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Tags
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Tags.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Tags.Data set from entity @s Tags
# outputのstorageに移す
    data modify storage api: Tags set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Tags.Data


text:
#> api:data_get/brain
#
# 対象のBrainをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Brain
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Brain.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Brain.Data set from entity @s Brain
# outputのstorageに移す
    data modify storage api: Brain set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Brain.Data


text:
#> api:data_get/dimension
#
# 対象のDimensionをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Dimension
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Dimension.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Dimension.Data set from entity @s Dimension
# outputのstorageに移す
    data modify storage api: Dimension set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Dimension.Data


text:
#> api:data_get/spawn_z
#
# 対象のSpawnZをstorageに軽量に取得します。
#
# @input as player
# @output storage api: SpawnZ
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnZ.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnZ.Data set from entity @s SpawnZ
# outputのstorageに移す
    data modify storage api: SpawnZ set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnZ.Data


text:
#> api:data_get/fall_flying
#
# 対象のFallFlyingをstorageに軽量に取得します。
#
# @input as player
# @output storage api: FallFlying
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.FallFlying.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.FallFlying.Data set from entity @s FallFlying
# outputのstorageに移す
    data modify storage api: FallFlying set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.FallFlying.Data


text:
#> api:data_get/food_exhaustion_level
#
# 対象のfoodExhaustionLevelをstorageに軽量に取得します。
#
# @input as player
# @output storage api: foodExhaustionLevel
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodExhaustionLevel.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodExhaustionLevel.Data set from entity @s foodExhaustionLevel
# outputのstorageに移す
    data modify storage api: foodExhaustionLevel set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodExhaustionLevel.Data


text:
#> api:data_get/xp_seed
#
# 対象のXpSeedをstorageに軽量に取得します。
#
# @input as player
# @output storage api: XpSeed
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.XpSeed.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.XpSeed.Data set from entity @s XpSeed
# outputのstorageに移す
    data modify storage api: XpSeed set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.XpSeed.Data


text:
#> api:data_get/invulnerable
#
# 対象のInvulnerableをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Invulnerable
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Invulnerable.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Invulnerable.Data set from entity @s Invulnerable
# outputのstorageに移す
    data modify storage api: Invulnerable set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Invulnerable.Data


text:
#> api:data_get/shoulder_entity_left
#
# 対象のShoulderEntityLeftをstorageに軽量に取得します。
#
# @input as player
# @output storage api: ShoulderEntityLeft
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.ShoulderEntityLeft.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.ShoulderEntityLeft.Data set from entity @s ShoulderEntityLeft
# outputのstorageに移す
    data modify storage api: ShoulderEntityLeft set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.ShoulderEntityLeft.Data


text:
#> api:data_get/xp_level
#
# 対象のXpLevelをstorageに軽量に取得します。
#
# @input as player
# @output storage api: XpLevel
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.XpLevel.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.XpLevel.Data set from entity @s XpLevel
# outputのstorageに移す
    data modify storage api: XpLevel set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.XpLevel.Data


text:
#> api:data_get/custom_name_visible
#
# 対象のCustomNameVisibleをstorageに軽量に取得します。
#
# @input as player
# @output storage api: CustomNameVisible
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.CustomNameVisible.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.CustomNameVisible.Data set from entity @s CustomNameVisible
# outputのstorageに移す
    data modify storage api: CustomNameVisible set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.CustomNameVisible.Data


text:
#> api:data_get/entered_nether_position
#
# 対象のenteredNetherPositionをstorageに軽量に取得します。
#
# @input as player
# @output storage api: enteredNetherPosition
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.enteredNetherPosition.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.enteredNetherPosition.Data set from entity @s enteredNetherPosition
# outputのstorageに移す
    data modify storage api: enteredNetherPosition set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.enteredNetherPosition.Data


text:
#> api:data_get/active_effects
#
# 対象のActiveEffectsをstorageに軽量に取得します。
#
# @input as player
# @output storage api: ActiveEffects
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.ActiveEffects.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run function api:data_get/active_effects_fetch
# outputのstorageに移す
    data modify storage api: ActiveEffects set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.ActiveEffects.Data


text:
#> api:data_get/spawn_x
#
# 対象のSpawnXをstorageに軽量に取得します。
#
# @input as player
# @output storage api: SpawnX
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnX.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnX.Data set from entity @s SpawnX
# outputのstorageに移す
    data modify storage api: SpawnX set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SpawnX.Data


text:
#> api:data_get/no_gravity
#
# 対象のNoGravityをstorageに軽量に取得します。
#
# @input as player
# @output storage api: NoGravity
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.NoGravity.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.NoGravity.Data set from entity @s NoGravity
# outputのstorageに移す
    data modify storage api: NoGravity set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.NoGravity.Data


text:
#> api:data_get/shoulder_entity_right
#
# 対象のShoulderEntityRightをstorageに軽量に取得します。
#
# @input as player
# @output storage api: ShoulderEntityRight
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.ShoulderEntityRight.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.ShoulderEntityRight.Data set from entity @s ShoulderEntityRight
# outputのstorageに移す
    data modify storage api: ShoulderEntityRight set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.ShoulderEntityRight.Data


text:
#> api:data_get/score
#
# 対象のScoreをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Score
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Score.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Score.Data set from entity @s Score
# outputのstorageに移す
    data modify storage api: Score set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Score.Data


text:
#> api:data_get/no_ai
#
# 対象のNoAIをstorageに軽量に取得します。
#
# @input as player
# @output storage api: NoAI
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.NoAI.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.NoAI.Data set from entity @s NoAI
# outputのstorageに移す
    data modify storage api: NoAI set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.NoAI.Data


text:
#> api:data_get/ender_items
#
# 対象のEnderItemsをstorageに軽量に取得します。
#
# @input as player
# @output storage api: EnderItems
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.EnderItems.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.EnderItems.Data set from entity @s EnderItems
# outputのstorageに移す
    data modify storage api: EnderItems set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.EnderItems.Data


text:
#> api:data_get/abilities
#
# 対象のabilitiesをstorageに軽量に取得します。
#
# @input as player
# @output storage api: abilities
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.abilities.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.abilities.Data set from entity @s abilities
# outputのstorageに移す
    data modify storage api: abilities set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.abilities.Data


text:
#> api:data_get/selected_item_fetch
#
#
#
# @within function api:data_get/selected_item

item replace entity 0-0-0-0-1 weapon.mainhand from entity @s weapon.mainhand
data modify storage api: Temp set from entity 0-0-0-0-1 HandItems[0]
execute if data storage api: Temp run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SelectedItem.Data set from storage api: Temp
execute unless data storage api: Temp run data remove storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.SelectedItem.Data

item replace entity 0-0-0-0-1 weapon.mainhand with air
data remove storage api: Temp
data remove storage api: SelectedItem


text:
#> api:data_get/food_level
#
# 対象のfoodLevelをstorageに軽量に取得します。
#
# @input as player
# @output storage api: foodLevel
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodLevel.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodLevel.Data set from entity @s foodLevel
# outputのstorageに移す
    data modify storage api: foodLevel set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodLevel.Data


text:
#> api:data_get/team
#
# 対象のTeamをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Team
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Team.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Team.Data set from entity @s Team
# outputのstorageに移す
    data modify storage api: Team set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Team.Data


text:
#> api:data_get/air
#
# 対象のAirをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Air
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Air.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Air.Data set from entity @s Air
# outputのstorageに移す
    data modify storage api: Air set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Air.Data


text:
#> api:data_get/fall_distance
#
# 対象のFallDistanceをstorageに軽量に取得します。
#
# @input as player
# @output storage api: FallDistance
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.FallDistance.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.FallDistance.Data set from entity @s FallDistance
# outputのstorageに移す
    data modify storage api: FallDistance set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.FallDistance.Data


text:
#> api:data_get/player_game_type
#
# 対象のplayerGameTypeをstorageに軽量に取得します。
#
# @input as player
# @output storage api: playerGameType
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.playerGameType.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.playerGameType.Data set from entity @s playerGameType
# outputのstorageに移す
    data modify storage api: playerGameType set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.playerGameType.Data


text:
#> api:data_get/attributes
#
# 対象のAttributesをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Attributes
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Attributes.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Attributes.Data set from entity @s Attributes
# outputのstorageに移す
    data modify storage api: Attributes set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Attributes.Data


text:
#> api:data_get/rotation
#
# 対象のRotationをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Rotation
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Rotation.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 at @s as 0-0-0-0-0 run function api:data_get/rotation_fetch
# outputのstorageに移す
    data modify storage api: Rotation set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Rotation.Data


text:
#> api:data_get/uuid
#
# 対象のUUIDをstorageに軽量に取得します。
#
# @input as player
# @output storage api: UUID
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# キャッシュされていなければ取得
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.UUID.Data run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.UUID.Data set from entity @s UUID
# outputのstorageに移す
    data modify storage api: UUID set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.UUID.Data


text:
#> api:data_get/food_saturation_level
#
# 対象のfoodSaturationLevelをstorageに軽量に取得します。
#
# @input as player
# @output storage api: foodSaturationLevel
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodSaturationLevel.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodSaturationLevel.Data set from entity @s foodSaturationLevel
# outputのstorageに移す
    data modify storage api: foodSaturationLevel set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.foodSaturationLevel.Data


text:
#> api:data_get/silent
#
# 対象のSilentをstorageに軽量に取得します。
#
# @input as player
# @output storage api: Silent
# @public

#>Temp
# @private
    #declare score_holder $NotLatestData

# EntityStorage呼び出し
    function oh_my_dat:please
# 最新のものかチェックし、最新じゃなければ取得
    execute store result score $NotLatestData Temporary run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Silent.Time set from storage global Time
    execute if score $NotLatestData Temporary matches 1 run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Silent.Data set from entity @s Silent
# outputのstorageに移す
    data modify storage api: Silent set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].DataCache.Silent.Data


text:
#> api:mob/summon
#
# MobAssetの召喚処理を叩く処理
#
# @input storage api:
#   Argument.ID : int
#   Argument.FieldOverride? : compound
# @api

# validate
    execute unless data storage api: Argument.ID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" ID","color":"red"}]
# 呼び出し
    execute if data storage api: Argument.ID run function api:mob/core/summon
# リセット
    data remove storage api: Argument.ID
    data remove storage api: Argument.FieldOverride


text:
#> api:mob/get_max_health
#
# 実行MobのHP最大値を取得します
#
# @api

scoreboard players get @s MobHealthMax


text:
#> api:mob/get_health_percent
#
# 実行Mobの現在体力を0～1の割合で取得します
#
# @output storage api: Return.HealthPer : double
# @api

#> 計算用スコアホルダー
# @private
    #declare score_holder $Health
    #declare score_holder $MaxHealth

# 現在体力を割合で出す
    execute store result score $Health Temporary run data get entity @s AbsorptionAmount 1000
    execute store result score $MaxHealth Temporary run function api:mob/get_max_health

# 計算結果を api: Return.HealthPer
    execute store result storage api: Return.HealthPer double 0.001 run scoreboard players operation $Health Temporary /= $MaxHealth Temporary

# リセット
    scoreboard players reset $Health Temporary
    scoreboard players reset $MaxHealth Temporary


text:
#> api:mob/get_max_health_multiplier
#
# 実行MobのHP最大値補正倍率を取得します
#
# @input as @e[type=#lib:living,type=!player]
# @output result MaxHealthMultiplier(e1)
# @api

scoreboard players get @s MobMaxHealthMultiplier


text:
#> api:mob/core/summon
#
#
#
# @within function api:mob/summon

# 既存にasset:context idが存在する場合に備えて退避させる
    function asset_manager:common/context_id/stash

# ID
    data modify storage asset:context id set from storage api: Argument.ID

# データを取得
    function #asset:mob/register
# 継承が行われている場合そのデータを追加する
    execute if data storage asset:mob ID if data storage asset:mob Extends[0] run function api:mob/core/put_id_to_map
# データが正しくあればmobを召喚する
    execute if data storage asset:mob ID run function #asset:mob/summon
    execute if data storage asset:mob ID run data modify storage asset:mob FieldOverride set from storage api: Argument.FieldOverride
    execute if data storage asset:mob ID as @e[tag=MobInit,distance=..0.01] run function asset:mob/common/summon

# 互換性維持用: mobAPI v2 では無いにもかかわらず FieldOverride が指定されてる場合はエラーを出す
    execute unless data storage asset:mob Return{Summoned:true} if data storage api: Argument.FieldOverride run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"FieldOverride が指定されましたが、次の Mob は MobAsset v2 で作成されていません: "},{"storage":"api:","nbt":"Argument.ID"}]
# 互換性維持用: mobAPI v2に存在しなければmobAPI v1を呼び出す
    execute unless data storage asset:mob Return{Summoned:true} run function #asset:mob/summon

# v1 でも召喚できなければエラーを表示する
    execute unless data storage asset:mob Return{Summoned:true} run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"次のIDのMobは存在しません: "},{"storage":"api:","nbt":"Argument.ID"}]

# リセット
    data remove storage asset:mob Return.Summoned
    data remove storage asset:mob NonExistsInRom

# 退避させたasset:context idを戻す
    function asset_manager:common/context_id/pop


text:
#> api:mob/core/put_id_to_map
#
#
#
# @within function api:mob/core/*

# ID:1, Extends: [2, 3, 4] => 1 -> 2, 2 -> 3, 3 -> 4

# Extends に1要素しかなければ ID をキーにする
    execute unless data storage asset:mob Extends[1] run data modify storage api: Argument.Address set from storage asset:mob ID
# Extends に2要素あれば Extends の最後から2番目の要素をキーにする
    execute if data storage asset:mob Extends[1] run data modify storage api: Argument.Address set from storage asset:mob Extends[-2]

# キーからROMを呼び出す
    function api:rom/please

# データを保存しつつ、すでにデータが入っているかを確認する
    execute store result storage asset:mob NonExistsInRom byte 1 run data modify storage rom: _[-4][-4][-4][-4][-4][-4][-4][-4].Mob.Extends set from storage asset:mob Extends[-1]

# リセット
    data remove storage asset:mob Extends[-1]

# まだExtendsが残っていて、かつROMに保存されていなければれば再帰する
    execute if data storage asset:mob Extends[0] if data storage asset:mob {NonExistsInRom:true} run function api:mob/core/put_id_to_map


text:
#> api:spawner/subtract_hp
#
#
#
# @input storage api: Argument.ID
# @api

# validate
    execute unless data storage api: Argument.ID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" ID","color":"red"}]
# 既存にasset:context idが存在する場合に備えて退避させる
    function asset_manager:common/context_id/stash
# 代入
    data modify storage asset:context id set from storage api: Argument.ID
# 呼び出し
    execute if data storage api: Argument.ID run function asset_manager:spawner/subtract_hp/
# 退避させたasset:context idを戻す
    function asset_manager:common/context_id/pop
# リセット
    data remove storage api: Argument.ID


text:
#> api:modifier/_index.d
# @private

#> Temp
# @within function api:modifier/core/common/update_modifier/*
    #declare score_holder $Add
    #declare score_holder $MultiplyBase
    #declare score_holder $Modifier


text:
#> api:modifier/heal/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/heal/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/heal/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/heal/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/heal/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Heal
data modify storage api: Return.Heal set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Heal


text:
#> api:modifier/core/heal/add
#
#
#
# @within function api:modifier/heal/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Heal[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Heal set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Heal append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Heal[-1].UUID set from storage api: Argument.UUID
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Heal[-1].Amount set from storage api: Argument.Amount
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Heal[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Heal
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Heal set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/heal/remove
#
#
#
# @within function api:modifier/heal/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Heal
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Heal set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Heal set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/receive_heal/add
#
#
#
# @within function api:modifier/receive_heal/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.ReceiveHeal[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.ReceiveHeal set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.ReceiveHeal append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.ReceiveHeal[-1].UUID set from storage api: Argument.UUID
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.ReceiveHeal[-1].Amount set from storage api: Argument.Amount
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.ReceiveHeal[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.ReceiveHeal
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.ReceiveHeal set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/receive_heal/remove
#
#
#
# @within function api:modifier/receive_heal/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.ReceiveHeal
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.ReceiveHeal set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.ReceiveHeal set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/defense/fire/add
#
#
#
# @within function api:modifier/defense/fire/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Fire[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Fire set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Fire append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Fire[-1].UUID set from storage api: Argument.UUID
    execute store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Fire[-1].Amount double -0.001 run data get storage api: Argument.Amount 1000
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Fire[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Fire
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Fire set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/defense/fire/remove
#
#
#
# @within function api:modifier/defense/fire/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Fire
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 削除されたデータの加工
    execute store result storage api: Removed.Amount double -0.001 run data get storage api: Removed.Amount 1000
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Fire set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Fire set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/defense/magic/add
#
#
#
# @within function api:modifier/defense/magic/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Magic[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Magic set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Magic append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Magic[-1].UUID set from storage api: Argument.UUID
    execute store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Magic[-1].Amount double -0.001 run data get storage api: Argument.Amount 1000
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Magic[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Magic
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Magic set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/defense/magic/remove
#
#
#
# @within function api:modifier/defense/magic/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Magic
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 削除されたデータの加工
    execute store result storage api: Removed.Amount double -0.001 run data get storage api: Removed.Amount 1000
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Magic set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Magic set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/defense/base/add
#
#
#
# @within function api:modifier/defense/base/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Base[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Base set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Base append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Base[-1].UUID set from storage api: Argument.UUID
    execute store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Base[-1].Amount double -0.001 run data get storage api: Argument.Amount 1000
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Base[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Base
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Base set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/defense/base/remove
#
#
#
# @within function api:modifier/defense/base/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Base
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 削除されたデータの加工
    execute store result storage api: Removed.Amount double -0.001 run data get storage api: Removed.Amount 1000
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Base set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Base set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/defense/physical/add
#
#
#
# @within function api:modifier/defense/physical/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Physical[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Physical set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Physical append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Physical[-1].UUID set from storage api: Argument.UUID
    execute store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Physical[-1].Amount double -0.001 run data get storage api: Argument.Amount 1000
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Physical[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Physical
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Physical set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/defense/physical/remove
#
#
#
# @within function api:modifier/defense/physical/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Physical
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 削除されたデータの加工
    execute store result storage api: Removed.Amount double -0.001 run data get storage api: Removed.Amount 1000
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Physical set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Physical set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/defense/thunder/add
#
#
#
# @within function api:modifier/defense/thunder/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Thunder[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Thunder set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Thunder append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Thunder[-1].UUID set from storage api: Argument.UUID
    execute store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Thunder[-1].Amount double -0.001 run data get storage api: Argument.Amount 1000
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Thunder[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Thunder
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Thunder set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/defense/thunder/remove
#
#
#
# @within function api:modifier/defense/thunder/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Thunder
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 削除されたデータの加工
    execute store result storage api: Removed.Amount double -0.001 run data get storage api: Removed.Amount 1000
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Thunder set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Thunder set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/defense/water/add
#
#
#
# @within function api:modifier/defense/water/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Water[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Water set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Water append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Water[-1].UUID set from storage api: Argument.UUID
    execute store result storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Water[-1].Amount double -0.001 run data get storage api: Argument.Amount 1000
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Water[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Water
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Water set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/defense/water/remove
#
#
#
# @within function api:modifier/defense/water/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Water
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 削除されたデータの加工
    execute store result storage api: Removed.Amount double -0.001 run data get storage api: Removed.Amount 1000
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Defense.Water set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Water set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/attack/fire/add
#
#
#
# @within function api:modifier/attack/fire/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Fire[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Fire set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Fire append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Fire[-1].UUID set from storage api: Argument.UUID
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Fire[-1].Amount set from storage api: Argument.Amount
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Fire[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Fire
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Fire set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/attack/fire/remove
#
#
#
# @within function api:modifier/attack/fire/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Fire
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Fire set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Fire set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/attack/magic/add
#
#
#
# @within function api:modifier/attack/magic/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Magic[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Magic set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Magic append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Magic[-1].UUID set from storage api: Argument.UUID
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Magic[-1].Amount set from storage api: Argument.Amount
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Magic[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Magic
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Magic set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/attack/magic/remove
#
#
#
# @within function api:modifier/attack/magic/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Magic
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Magic set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Magic set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/attack/base/add
#
#
#
# @within function api:modifier/attack/base/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Base[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Base set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Base append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Base[-1].UUID set from storage api: Argument.UUID
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Base[-1].Amount set from storage api: Argument.Amount
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Base[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Base
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Base set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/attack/base/remove
#
#
#
# @within function api:modifier/attack/base/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Base
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Base set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Base set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/attack/physical/add
#
#
#
# @within function api:modifier/attack/physical/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Physical[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Physical set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Physical append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Physical[-1].UUID set from storage api: Argument.UUID
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Physical[-1].Amount set from storage api: Argument.Amount
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Physical[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Physical
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Physical set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/attack/physical/remove
#
#
#
# @within function api:modifier/attack/physical/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Physical
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Physical set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Physical set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/attack/thunder/add
#
#
#
# @within function api:modifier/attack/thunder/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Thunder[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Thunder set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Thunder append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Thunder[-1].UUID set from storage api: Argument.UUID
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Thunder[-1].Amount set from storage api: Argument.Amount
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Thunder[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Thunder
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Thunder set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/attack/thunder/remove
#
#
#
# @within function api:modifier/attack/thunder/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Thunder
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Thunder set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Thunder set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/attack/water/add
#
#
#
# @within function api:modifier/attack/water/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Water[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Water set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Water append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Water[-1].UUID set from storage api: Argument.UUID
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Water[-1].Amount set from storage api: Argument.Amount
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Water[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Water
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Water set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/attack/water/remove
#
#
#
# @within function api:modifier/attack/water/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Water
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.Attack.Water set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Water set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/mp_regen/add
#
#
#
# @within function api:modifier/mp_regen/add

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    execute unless data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.MPRegen[0] run data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.MPRegen set value []
# 追加する
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.MPRegen append value {}
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.MPRegen[-1].UUID set from storage api: Argument.UUID
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.MPRegen[-1].Amount set from storage api: Argument.Amount
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.MPRegen[-1].Operation set from storage api: Argument.Operation
# データの更新
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.MPRegen
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.MPRegen set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: Modifier


text:
#> api:modifier/core/mp_regen/remove
#
#
#
# @within function api:modifier/mp_regen/remove

# UserStorage呼び出し
    function oh_my_dat:please
# 無ければ入れる
    data modify storage api: Modifiers set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.MPRegen
# 配列の初期化
    data modify storage api: NewModifiers set value []
    data remove storage api: Removed
# フィルタ
    function api:modifier/core/common/remove_modifier
# 新しい配列を戻す
    data modify storage api: Modifiers set from storage api: NewModifiers
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Modifier.MPRegen set from storage api: Modifiers
# データの更新
    function api:modifier/core/common/update_modifier/
    data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.MPRegen set from storage api: Modifier
# リセット
    data remove storage api: Modifiers
    data remove storage api: NewModifiers


text:
#> api:modifier/core/common/validate
#
#
#
# @within function api:modifier/**/add

execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
execute unless data storage api: Argument.Amount run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" Amount","color":"red"}]
execute unless data storage api: Argument.Operation run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" Operation","color":"red"}]


text:
#> api:modifier/core/common/remove_modifier
#
#
#
# @within function
#   api:modifier/**/remove
#   api:modifier/core/common/remove_modifier

#> Temp
# @private
    #declare score_holder $isSuccess

# 比較用にコピー
    data modify storage api: UUID set from storage api: Argument.UUID
# 比較
    execute store success score $isSuccess Temporary run data modify storage api: UUID set from storage api: Modifiers[-1].UUID
# 同じ場合はRemoveに設定する
    execute if score $isSuccess Temporary matches 0 run data modify storage api: Removed set from storage api: Modifiers[-1]
# 違う場合は新しい配列に追加
    execute if score $isSuccess Temporary matches 1 run data modify storage api: NewModifiers append from storage api: Modifiers[-1]
# リストから削除
    data remove storage api: Modifiers[-1]
# リセット
    scoreboard players reset $isSuccess Temporary
# 要素が残ってたら再帰
    execute if data storage api: Modifiers[0] run function api:modifier/core/common/remove_modifier


text:
#> api:modifier/core/common/update_modifier/separate_modifiers
#
#
#
# @within function
#   api:modifier/core/common/update_modifier/
#   api:modifier/core/common/update_modifier/separate_modifiers

#> Temp
# @private
    #declare score_holder $Temp

# おのれもやんで直接参照(Modifiers[-1]{Operation:"~"})が出来ないので移す
    data modify storage api: Op set from storage api: Modifiers[-1].Operation
# Operationを見て別に配列に移す
    execute if data storage api: {Op:"add"} store result score $Temp Temporary run data get storage api: Modifiers[-1].Amount 1000
    execute if data storage api: {Op:"add"} run scoreboard players operation $Add Temporary += $Temp Temporary
    execute if data storage api: {Op:"multiply_base"} store result score $Temp Temporary run data get storage api: Modifiers[-1].Amount 1000
    execute if data storage api: {Op:"multiply_base"} run scoreboard players operation $MultiplyBase Temporary += $Temp Temporary
    execute if data storage api: {Op:"multiply"} run data modify storage api: Multiples append from storage api: Modifiers[-1].Amount
# 最後の要素を削除
    data remove storage api: Modifiers[-1]
# リセット
    data remove storage api: Op
# 要素がまだあったら再帰する
    execute if data storage api: Modifiers[0] run function api:modifier/core/common/update_modifier/separate_modifiers


text:
#> api:modifier/core/common/update_modifier/multiples
#
#
#
# @within function
#   api:modifier/core/common/update_modifier/
#   api:modifier/core/common/update_modifier/multiples

#> Temp
# @private
    #declare score_holder $Multiply

# Multiply値を取得
    execute store result score $Multiply Temporary run data get storage api: Multiples[-1] 1000
# ベース分1.0追加
    scoreboard players add $Multiply Temporary 1000
# 乗算する
    scoreboard players operation $Modifier Temporary *= $Multiply Temporary
    scoreboard players operation $Modifier Temporary /= $1000 Const
# 最後の要素を削除する
    data remove storage api: Multiples[-1]
# リセット
    scoreboard players reset $Multiply Temporary
# 要素がまだあったら再帰する
    execute if data storage api: Multiples[0] run function api:modifier/core/common/update_modifier/multiples


text:
#> api:modifier/receive_heal/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/receive_heal/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/receive_heal/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/receive_heal/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/receive_heal/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.ReceiveHeal
data modify storage api: Return.ReceiveHeal set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.ReceiveHeal


text:
#> api:modifier/defense/fire/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/defense/fire/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/defense/fire/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/defense/fire/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/defense/fire/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Defense.Fire
data modify storage api: Return.Defense.Fire set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Fire


text:
#> api:modifier/defense/magic/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/defense/magic/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/defense/magic/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/defense/magic/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/defense/magic/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Defense.Magic
data modify storage api: Return.Defense.Magic set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Magic


text:
#> api:modifier/defense/base/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/defense/base/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/defense/base/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/defense/base/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/defense/base/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Defense.Base
data modify storage api: Return.Defense.Base set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Base


text:
#> api:modifier/defense/physical/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/defense/physical/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/defense/physical/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/defense/physical/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/defense/physical/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Defense.Physical
data modify storage api: Return.Defense.Physical set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Physical


text:
#> api:modifier/defense/thunder/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/defense/thunder/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/defense/thunder/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/defense/thunder/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/defense/thunder/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Defense.Thunder
data modify storage api: Return.Defense.Thunder set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Thunder


text:
#> api:modifier/defense/water/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/defense/water/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/defense/water/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/defense/water/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/defense/water/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Defense.Water
data modify storage api: Return.Defense.Water set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Defense.Water


text:
#> api:modifier/attack/fire/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/attack/fire/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/attack/fire/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/attack/fire/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/attack/fire/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Attack.Fire
data modify storage api: Return.Attack.Fire set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Fire


text:
#> api:modifier/attack/magic/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/attack/magic/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/attack/magic/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/attack/magic/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/attack/magic/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Attack.Magic
data modify storage api: Return.Attack.Magic set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Magic


text:
#> api:modifier/attack/base/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/attack/base/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/attack/base/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/attack/base/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/attack/base/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Attack.Base
data modify storage api: Return.Attack.Base set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Base


text:
#> api:modifier/attack/physical/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/attack/physical/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/attack/physical/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/attack/physical/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/attack/physical/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Attack.Physical
data modify storage api: Return.Attack.Physical set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Physical


text:
#> api:modifier/attack/thunder/add
#
#
#
# @api

# データ検証
    function api:modifier/core/common/validate
# データが正しいなら入れる
    execute if data storage api: Argument.UUID if data storage api: Argument.Amount if data storage api: Argument.Operation run function api:modifier/core/attack/thunder/add
# リセット
    data remove storage api: Argument.UUID
    data remove storage api: Argument.Amount
    data remove storage api: Argument.Operation


text:
#> api:modifier/attack/thunder/remove
#
#
#
# @api

# データ検証
    execute unless data storage api: Argument.UUID run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"引数が足りません","color":"white"},{"text":" UUID","color":"red"}]
# データが正しいなら消す
    execute if data storage api: Argument.UUID run function api:modifier/core/attack/thunder/remove
# リセット
    data remove storage api: Argument.UUID


text:
#> api:modifier/attack/thunder/get
#
#
#
# @api

function oh_my_dat:please
data remove storage api: Return.Attack.Thunder
data modify storage api: Return.Attack.Thunder set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Modifiers.Attack.Thunder