From 4177b2b02b6dc7cf9d4e3ce32a1ea31f4e8743f5 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Wed, 5 Nov 2025 20:49:23 +0900 Subject: [PATCH 01/36] =?UTF-8?q?=E7=A5=9E=E5=99=A8=E3=81=AE=E3=83=97?= =?UTF-8?q?=E3=83=BC=E3=83=AB=E3=82=92=E5=8F=96=E5=BE=97=E3=81=99=E3=82=8B?= =?UTF-8?q?API=E3=82=92=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/functions/artifact/get_registry/blue.mcfunction | 8 ++++++++ .../api/functions/artifact/get_registry/green.mcfunction | 8 ++++++++ .../api/functions/artifact/get_registry/normal.mcfunction | 8 ++++++++ .../api/functions/artifact/get_registry/rare.mcfunction | 8 ++++++++ .../api/functions/artifact/get_registry/red.mcfunction | 8 ++++++++ .../asset_manager/functions/artifact/_index.d.mcfunction | 1 + 6 files changed, 41 insertions(+) create mode 100644 TheSkyBlessing/data/api/functions/artifact/get_registry/blue.mcfunction create mode 100644 TheSkyBlessing/data/api/functions/artifact/get_registry/green.mcfunction create mode 100644 TheSkyBlessing/data/api/functions/artifact/get_registry/normal.mcfunction create mode 100644 TheSkyBlessing/data/api/functions/artifact/get_registry/rare.mcfunction create mode 100644 TheSkyBlessing/data/api/functions/artifact/get_registry/red.mcfunction diff --git a/TheSkyBlessing/data/api/functions/artifact/get_registry/blue.mcfunction b/TheSkyBlessing/data/api/functions/artifact/get_registry/blue.mcfunction new file mode 100644 index 0000000000..856d597652 --- /dev/null +++ b/TheSkyBlessing/data/api/functions/artifact/get_registry/blue.mcfunction @@ -0,0 +1,8 @@ +#> api:artifact/get_registry/blue +# +# +# +# @api + +# ブルーシャードの神器プールを返す + data modify storage api: Return.Registry.Blue set from storage asset:artifact RarityRegistryWithColor.Blue diff --git a/TheSkyBlessing/data/api/functions/artifact/get_registry/green.mcfunction b/TheSkyBlessing/data/api/functions/artifact/get_registry/green.mcfunction new file mode 100644 index 0000000000..d8124b384f --- /dev/null +++ b/TheSkyBlessing/data/api/functions/artifact/get_registry/green.mcfunction @@ -0,0 +1,8 @@ +#> api:artifact/get_registry/green +# +# +# +# @api + +# グリーンシャードの神器プールを返す + data modify storage api: Return.Registry.Green set from storage asset:artifact RarityRegistryWithColor.Green diff --git a/TheSkyBlessing/data/api/functions/artifact/get_registry/normal.mcfunction b/TheSkyBlessing/data/api/functions/artifact/get_registry/normal.mcfunction new file mode 100644 index 0000000000..e0c5ffe17e --- /dev/null +++ b/TheSkyBlessing/data/api/functions/artifact/get_registry/normal.mcfunction @@ -0,0 +1,8 @@ +#> api:artifact/get_registry/normal +# +# +# +# @api + +# 通常シャードの神器プールを返す + data modify storage api: Return.Registry.Normal set from storage asset:artifact RarityRegistry diff --git a/TheSkyBlessing/data/api/functions/artifact/get_registry/rare.mcfunction b/TheSkyBlessing/data/api/functions/artifact/get_registry/rare.mcfunction new file mode 100644 index 0000000000..40f75582f1 --- /dev/null +++ b/TheSkyBlessing/data/api/functions/artifact/get_registry/rare.mcfunction @@ -0,0 +1,8 @@ +#> api:artifact/get_registry/rare +# +# +# +# @api + +# レア枠の神器プールを返す + data modify storage api: Return.Registry.Rare set from storage asset:artifact RareRarityRegistry diff --git a/TheSkyBlessing/data/api/functions/artifact/get_registry/red.mcfunction b/TheSkyBlessing/data/api/functions/artifact/get_registry/red.mcfunction new file mode 100644 index 0000000000..e9fbad6ddd --- /dev/null +++ b/TheSkyBlessing/data/api/functions/artifact/get_registry/red.mcfunction @@ -0,0 +1,8 @@ +#> api:artifact/get_registry/red +# +# +# +# @api + +# レッドーシャードの神器プールを返す + data modify storage api: Return.Registry.Red set from storage asset:artifact RarityRegistryWithColor.Red diff --git a/TheSkyBlessing/data/asset_manager/functions/artifact/_index.d.mcfunction b/TheSkyBlessing/data/asset_manager/functions/artifact/_index.d.mcfunction index 12865508a5..af3613fd6a 100644 --- a/TheSkyBlessing/data/asset_manager/functions/artifact/_index.d.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/artifact/_index.d.mcfunction @@ -4,6 +4,7 @@ #> storage # @within * # api:artifact/core/** +# api:artifact/get_registry/** # asset:artifact/*/register # asset:artifact/*/give/2.give # asset:artifact/*/*/2.check_condition From 04a905e834c759622c2698dd21446db685484e7f Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Wed, 5 Nov 2025 21:42:00 +0900 Subject: [PATCH 02/36] =?UTF-8?q?=E6=9A=AB=E5=AE=9A=E7=9A=84=E3=81=AB?= =?UTF-8?q?=E9=80=94=E4=B8=AD=E3=81=BE=E3=81=A7=E6=97=A5=E6=9B=BF=E3=82=8F?= =?UTF-8?q?=E3=82=8A=E6=9B=B4=E6=96=B0=E3=82=92core=E5=81=B4=E3=81=AB?= =?UTF-8?q?=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/_index.d.mcfunction | 1 + .../register/construct/set_data.mcfunction | 2 ++ .../trader/tick/4_interval.mcfunction | 3 +++ .../trader/tick/daily_update.mcfunction | 21 +++++++++++++++++++ .../data/core/functions/load_once.mcfunction | 3 ++- 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/tick/daily_update.mcfunction diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction index ad3ec5b910..86cfa059fe 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction @@ -12,6 +12,7 @@ # core:tick/4_interval # debug:trader/update #declare tag Trader + #declare tag Trader.DailyUpdate #> storage # @within diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/register/construct/set_data.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/register/construct/set_data.mcfunction index 3f871a71be..14c5976e61 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/register/construct/set_data.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/register/construct/set_data.mcfunction @@ -13,6 +13,8 @@ # Default位置 data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.DefaultPos set from entity @s Pos data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.DefaultRotation set from storage asset:trader Rotation +# 日替わり更新するか + execute if data storage asset:trader {DailyUpdate:true} run tag @s add Trader.DailyUpdate # 取引一覧 data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.Trades set from storage asset:trader Trades # そのまま適用するやつ diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction index 6fa05effef..02ac6569d6 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction @@ -7,5 +7,8 @@ # 奈落回避 execute if predicate lib:is_void unless predicate lib:is_vehicle run function asset_manager:trader/to_spawn +# 日替わり更新 + execute if entity @s[tag=Trader.DailyUpdate] run function asset_manager:trader/tick/daily_update + # 更新処理 execute unless score $TraderRecipeVersion Global = @s RecipeVersion run function asset_manager:trader/common/update_recipe diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/tick/daily_update.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/tick/daily_update.mcfunction new file mode 100644 index 0000000000..3e2bfefc9a --- /dev/null +++ b/TheSkyBlessing/data/asset_manager/functions/trader/tick/daily_update.mcfunction @@ -0,0 +1,21 @@ +#> asset_manager:trader/tick/daily_update +# +# +# +# @within function asset_manager:trader/tick/4_interval + +#> Private +# @private + #declare score_holder $DayTime + +# 現在のdaytimeを取得 + execute store result score $DayTime Temporary run time query daytime + +# 4tick前のdaytimeと比較し、4tick前の方がdaytimeが大きい かつ 現在のdaytimeが0~2000なら日が変わったと判定する + execute if score $DayTime Temporary < @s LatestDayTime if score $DayTime Temporary matches 0..2000 + +# LatestDayTime更新 + execute store result score @s LatestDayTime run time query daytime + +# リセット + scoreboard players reset $DayTime Temporary diff --git a/TheSkyBlessing/data/core/functions/load_once.mcfunction b/TheSkyBlessing/data/core/functions/load_once.mcfunction index 634a7be4b7..92baf0b74f 100644 --- a/TheSkyBlessing/data/core/functions/load_once.mcfunction +++ b/TheSkyBlessing/data/core/functions/load_once.mcfunction @@ -235,9 +235,10 @@ team modify NoCollision collisionRule never #> AssetManager: Trader # @within function - # asset_manager:trader/tick/4_interval + # asset_manager:trader/tick/** # asset_manager:trader/common/** scoreboard objectives add RecipeVersion dummy {"text":"商人の取引内容の更新チェック用スコア"} + scoreboard objectives add LatestDayTime dummy {"text":"商人の日替わり更新チェック用スコア"} #> イベントハンドラ用スコアボード # @within function From d0fdf109c0fec20db445ada34140726b555d2ad8 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 6 Nov 2025 01:17:31 +0900 Subject: [PATCH 03/36] =?UTF-8?q?=E3=81=A9=E3=81=86=E3=81=97=E3=81=9F?= =?UTF-8?q?=E3=82=89register=E3=82=92=E5=91=BC=E3=81=B3=E5=87=BA=E3=81=9B?= =?UTF-8?q?=E3=82=8B=E3=81=8B=E3=80=81=E3=81=A8=E3=81=84=E3=81=86=E3=81=A8?= =?UTF-8?q?=E3=81=93=E3=82=8D=E3=81=BE=E3=81=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trader/common/update_recipe.mcfunction | 1 + .../functions/trader/daily_update.mcfunction | 35 +++++++++++++++++++ .../trader/tick/4_interval.mcfunction | 2 +- .../trader/tick/daily_update.mcfunction | 21 ----------- .../data/core/functions/load_once.mcfunction | 4 ++- 5 files changed, 40 insertions(+), 23 deletions(-) create mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction delete mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/tick/daily_update.mcfunction diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe.mcfunction index 17701861a3..5b676c420a 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe.mcfunction @@ -4,6 +4,7 @@ # # @within function # asset_manager:trader/tick/4_interval +# asset_manager:trader/daily_update # asset_manager:trader/register/construct/set_data # 攻略率を取得 diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction new file mode 100644 index 0000000000..0be2483e0d --- /dev/null +++ b/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction @@ -0,0 +1,35 @@ +#> asset_manager:trader/daily_update +# +# +# +# @within function asset_manager:trader/tick/4_interval + +#> Private +# @private + #declare score_holder $DayTime + #declare score_holder $GameTime + #declare tag Update + +# 現在のdaytime/gametimeを取得 + execute store result score $DayTime Temporary run time query daytime + execute store result score $GameTime Temporary run time query gametime + +# 4tick前のdaytimeと比較し、4tick前の方がdaytimeが大きい かつ 現在のdaytimeが0~2000 +# または +# 最後に更新してから24000tick以上経過しているなら更新 + execute if score $DayTime Temporary < @s LatestDayTime if score $DayTime Temporary matches 0..2000 run tag @s add Update + + execute if entity @s[tag=!Update] run scoreboard players operation $GameTime Temporary -= @s LatestDailyUpdateTick + execute if entity @s[tag=!Update] if score $GameTime Temporary matches 24000.. run tag @s add Update + +# 更新 + execute if entity @s[tag=Update] run function asset_manager:trader/common/update_recipe + +# LatestDayTime/LatestUpdateTick更新 + execute store result score @s LatestDayTime run time query daytime + execute if entity @s[tag=Update] store result score @s LatestDailyUpdateTick run time query gametime + +# リセット + scoreboard players reset $DayTime Temporary + scoreboard players reset $GameTime Temporary + tag @s remove Update diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction index 02ac6569d6..d89b9403ac 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction @@ -8,7 +8,7 @@ execute if predicate lib:is_void unless predicate lib:is_vehicle run function asset_manager:trader/to_spawn # 日替わり更新 - execute if entity @s[tag=Trader.DailyUpdate] run function asset_manager:trader/tick/daily_update + execute if entity @s[tag=Trader.DailyUpdate] run function asset_manager:trader/daily_update # 更新処理 execute unless score $TraderRecipeVersion Global = @s RecipeVersion run function asset_manager:trader/common/update_recipe diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/tick/daily_update.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/tick/daily_update.mcfunction deleted file mode 100644 index 3e2bfefc9a..0000000000 --- a/TheSkyBlessing/data/asset_manager/functions/trader/tick/daily_update.mcfunction +++ /dev/null @@ -1,21 +0,0 @@ -#> asset_manager:trader/tick/daily_update -# -# -# -# @within function asset_manager:trader/tick/4_interval - -#> Private -# @private - #declare score_holder $DayTime - -# 現在のdaytimeを取得 - execute store result score $DayTime Temporary run time query daytime - -# 4tick前のdaytimeと比較し、4tick前の方がdaytimeが大きい かつ 現在のdaytimeが0~2000なら日が変わったと判定する - execute if score $DayTime Temporary < @s LatestDayTime if score $DayTime Temporary matches 0..2000 - -# LatestDayTime更新 - execute store result score @s LatestDayTime run time query daytime - -# リセット - scoreboard players reset $DayTime Temporary diff --git a/TheSkyBlessing/data/core/functions/load_once.mcfunction b/TheSkyBlessing/data/core/functions/load_once.mcfunction index 92baf0b74f..f6ca34c8ee 100644 --- a/TheSkyBlessing/data/core/functions/load_once.mcfunction +++ b/TheSkyBlessing/data/core/functions/load_once.mcfunction @@ -236,9 +236,11 @@ team modify NoCollision collisionRule never #> AssetManager: Trader # @within function # asset_manager:trader/tick/** + # asset_manager:trader/daily_update # asset_manager:trader/common/** scoreboard objectives add RecipeVersion dummy {"text":"商人の取引内容の更新チェック用スコア"} - scoreboard objectives add LatestDayTime dummy {"text":"商人の日替わり更新チェック用スコア"} + scoreboard objectives add LatestDayTime dummy {"text":"商人の日替わり更新チェック用スコア1"} + scoreboard objectives add LatestDailyUpdateTick dummy {"text":"商人が最後に日替わり更新したTick"} #> イベントハンドラ用スコアボード # @within function From 07813537edf0d32a8cae8173866f5a2bb9608bb9 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Wed, 12 Nov 2025 22:30:36 +0900 Subject: [PATCH 04/36] =?UTF-8?q?=E6=9A=AB=E5=AE=9A=E7=9A=84=E3=81=AB?= =?UTF-8?q?=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=A2=E3=83=83?= =?UTF-8?q?=E3=83=97=E3=81=A8=E6=97=A5=E6=9B=BF=E3=82=8F=E3=82=8A=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E3=81=AE=E5=87=A6=E7=90=86=E3=82=92=E5=88=86=E9=9B=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/_index.d.mcfunction | 4 ++-- .../{m.mcfunction => .mcfunction} | 10 +++------- .../refresh_trades/load_register.m.mcfunction | 2 +- .../trader/common/trades_map/.mcfunction | 2 +- .../common/update_recipe/by_daily.mcfunction | 8 ++++++++ .../update_recipe/by_progress/.mcfunction | 18 ++++++++++++++++++ .../by_progress/check_version.m.mcfunction | 11 +++++++++++ .../common/update_recipe/get_trades.mcfunction | 12 ++++++++++++ .../update.mcfunction} | 16 ++++------------ .../functions/trader/daily_update.mcfunction | 2 +- .../register/construct/set_data.mcfunction | 2 +- .../trader/tick/4_interval.mcfunction | 2 +- 12 files changed, 63 insertions(+), 26 deletions(-) rename TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/{m.mcfunction => .mcfunction} (62%) create mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction create mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction create mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/check_version.m.mcfunction create mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction rename TheSkyBlessing/data/asset_manager/functions/trader/common/{update_recipe.mcfunction => update_recipe/update.mcfunction} (57%) diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction index 86cfa059fe..d0af1a55bf 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction @@ -29,13 +29,13 @@ # @within function # api:trader/schedule_recipe_update_check # asset_manager:trader/tick/4_interval -# asset_manager:trader/common/update_recipe +# asset_manager:trader/common/update_recipe/by_progress/ # core:load_once #declare score_holder $TraderRecipeVersion #> update # @within * -# asset_manager:trader/common/update_recipe +# asset_manager:trader/common/update_recipe/update # asset_manager:trader/common/trades_map/** #declare score_holder $Current #declare score_holder $Required diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/m.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/.mcfunction similarity index 62% rename from TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/m.mcfunction rename to TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/.mcfunction index 1b7f43a666..139020d60f 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/m.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/.mcfunction @@ -1,10 +1,6 @@ -#> asset_manager:trader/common/refresh_trades/m -# @input args -# GameVersion: string -# @within function asset_manager:trader/common/update_recipe - -# バージョンが不一致なことをチェックする - $execute if data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData{Version:"$(GameVersion)"} run return fail +#> asset_manager:trader/common/refresh_trades/ +# +# @within function asset_manager:trader/common/update_recipe/get_trades # 更新する // TODO 本当は Trades に限らず、Pos, Name, Rotation 等も更新するべきだが、実装コストが重いので後回しにする function asset_manager:trader/common/refresh_trades/load_register.m with storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/load_register.m.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/load_register.m.mcfunction index e6de38a275..1ecd7f6661 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/load_register.m.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/refresh_trades/load_register.m.mcfunction @@ -1,6 +1,6 @@ #> asset_manager:trader/common/refresh_trades/load_register.m # @input args # ID: int -# @within function asset_manager:trader/common/refresh_trades/m +# @within function asset_manager:trader/common/refresh_trades/ $function asset:trader/$(ID)/register diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction index 3b7b3c6837..e11527458f 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction @@ -5,7 +5,7 @@ # @input storage asset:trader Trades # @output storage asset:trader Recipes # @within function -# asset_manager:trader/common/update_recipe +# asset_manager:trader/common/update_recipe/update # asset_manager:trader/common/trades_map/ # 攻略進捗 (条件) のチェック用データ取得 diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction new file mode 100644 index 0000000000..dbffbb2d9b --- /dev/null +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction @@ -0,0 +1,8 @@ +#> asset_manager:trader/common/update_recipe/by_daily +# +# +# +# @within function asset_manager:trader/tick/4_interval + +# 取引一覧を抽出 + function asset_manager:trader/common/update_recipe/get_trades diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction new file mode 100644 index 0000000000..a8a472880c --- /dev/null +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction @@ -0,0 +1,18 @@ +#> asset_manager:trader/common/update_recipe/by_progress/ +# +# 商人のレシピを更新する +# +# @within function +# asset_manager:trader/tick/4_interval +# asset_manager:trader/daily_update +# asset_manager:trader/register/construct/set_data + +# バージョンをチェックし、違うなら取引内容を更新する + function oh_my_dat:please + function asset_manager:trader/common/update_recipe/by_progress/check_version.m with storage global + +# 取引を更新 + function asset_manager:trader/common/update_recipe/update + +# バージョンを更新 + scoreboard players operation @s RecipeVersion = $TraderRecipeVersion Global diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/check_version.m.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/check_version.m.mcfunction new file mode 100644 index 0000000000..4658c99bee --- /dev/null +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/check_version.m.mcfunction @@ -0,0 +1,11 @@ +#> asset_manager:trader/common/update_recipe/by_progress/check_version.m +# +# +# +# @within function asset_manager:trader/common/update_recipe/by_progress/ + +# バージョンが不一致なことをチェックする + $execute if data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData{Version:"$(GameVersion)"} run return fail + +# 一致してないなら取引内容を取得 + function asset_manager:trader/common/update_recipe/get_trades diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction new file mode 100644 index 0000000000..95b940cc20 --- /dev/null +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction @@ -0,0 +1,12 @@ +#> asset_manager:trader/common/update_recipe/get_trades +# +# +# +# @within function +# asset_manager:trader/common/update_recipe/by_daily +# asset_manager:trader/common/update_recipe/by_progress/check_version.m + +# 取引一覧を抽出 + function oh_my_dat:please + function asset_manager:trader/common/refresh_trades/ + data modify storage asset:trader Trades set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.Trades diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/update.mcfunction similarity index 57% rename from TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe.mcfunction rename to TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/update.mcfunction index 5b676c420a..7e482ea182 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/update.mcfunction @@ -1,19 +1,14 @@ -#> asset_manager:trader/common/update_recipe +#> asset_manager:trader/common/update_recipe/update +# # -# 商人のレシピを更新する # # @within function -# asset_manager:trader/tick/4_interval -# asset_manager:trader/daily_update -# asset_manager:trader/register/construct/set_data +# asset_manager:trader/common/update_recipe/by_daily/ +# asset_manager:trader/common/update_recipe/by_progress/ # 攻略率を取得 function api:global_vars/game_progress execute store result score $Current Temporary run data get storage api: Return.Progress 100 -# 取引一覧を抽出 - function oh_my_dat:please - function asset_manager:trader/common/refresh_trades/m with storage global - data modify storage asset:trader Trades set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.Trades # 取引一覧を更新 function lib:array/session/open data modify storage lib: Array set from storage asset:trader Trades @@ -23,9 +18,6 @@ execute if data storage asset:trader Trades[0] run function asset_manager:trader/common/trades_map/ data modify entity @s Offers.Recipes set from storage asset:trader Recipes -# バージョンを更新 - scoreboard players operation @s RecipeVersion = $TraderRecipeVersion Global - # リセット scoreboard players reset $Current Temporary data remove storage asset:trader Trades diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction index 0be2483e0d..41ead59b80 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction @@ -23,7 +23,7 @@ execute if entity @s[tag=!Update] if score $GameTime Temporary matches 24000.. run tag @s add Update # 更新 - execute if entity @s[tag=Update] run function asset_manager:trader/common/update_recipe + execute if entity @s[tag=Update] run function asset_manager:trader/common/update_recipe/by_progress/ # LatestDayTime/LatestUpdateTick更新 execute store result score @s LatestDayTime run time query daytime diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/register/construct/set_data.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/register/construct/set_data.mcfunction index 14c5976e61..7a4e83788c 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/register/construct/set_data.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/register/construct/set_data.mcfunction @@ -21,7 +21,7 @@ data modify entity @s CustomName set from storage asset:trader Name data modify entity @s Rotation[0] set from storage asset:trader Rotation # 取引データ - function asset_manager:trader/common/update_recipe + function asset_manager:trader/common/update_recipe/by_progress/ # リセット tag @s remove TraderInit diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction index d89b9403ac..bd9276dade 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/tick/4_interval.mcfunction @@ -11,4 +11,4 @@ execute if entity @s[tag=Trader.DailyUpdate] run function asset_manager:trader/daily_update # 更新処理 - execute unless score $TraderRecipeVersion Global = @s RecipeVersion run function asset_manager:trader/common/update_recipe + execute unless score $TraderRecipeVersion Global = @s RecipeVersion run function asset_manager:trader/common/update_recipe/by_progress/ From be880474d6ff67a4a60254eabfbfa2f239186e29 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Wed, 12 Nov 2025 22:45:21 +0900 Subject: [PATCH 05/36] =?UTF-8?q?=E3=83=AA=E3=82=BB=E3=83=83=E3=83=88?= =?UTF-8?q?=E6=BC=8F=E3=82=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset_manager/functions/trader/register/reset.mcfunction | 1 + 1 file changed, 1 insertion(+) diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/register/reset.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/register/reset.mcfunction index 9f8be8c575..a071e3bb54 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/register/reset.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/register/reset.mcfunction @@ -6,3 +6,4 @@ data remove storage asset:trader Pos data remove storage asset:trader Name data remove storage asset:trader Rotation data remove storage asset:trader Trades +data remove storage asset:trader DailyUpdate From 82de11f9fd800d901a0b3687ac4147434079b241 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Wed, 12 Nov 2025 23:10:31 +0900 Subject: [PATCH 06/36] =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E3=81=AB=E6=97=A5?= =?UTF-8?q?=E6=9B=BF=E3=82=8F=E3=82=8A=E6=9B=B4=E6=96=B0=E3=81=95=E3=82=8C?= =?UTF-8?q?=E3=81=AA=E3=81=84=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trader/common/update_recipe/by_daily.mcfunction | 5 ++++- .../functions/trader/common/update_recipe/update.mcfunction | 2 +- .../asset_manager/functions/trader/daily_update.mcfunction | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction index dbffbb2d9b..dc2d331545 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction @@ -2,7 +2,10 @@ # # # -# @within function asset_manager:trader/tick/4_interval +# @within function asset_manager:trader/daily_update # 取引一覧を抽出 function asset_manager:trader/common/update_recipe/get_trades + +# 取引を更新 + function asset_manager:trader/common/update_recipe/update diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/update.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/update.mcfunction index 7e482ea182..63912bd9f5 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/update.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/update.mcfunction @@ -3,7 +3,7 @@ # # # @within function -# asset_manager:trader/common/update_recipe/by_daily/ +# asset_manager:trader/common/update_recipe/by_daily # asset_manager:trader/common/update_recipe/by_progress/ # 攻略率を取得 diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction index 41ead59b80..4db1955c8a 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/daily_update.mcfunction @@ -23,7 +23,7 @@ execute if entity @s[tag=!Update] if score $GameTime Temporary matches 24000.. run tag @s add Update # 更新 - execute if entity @s[tag=Update] run function asset_manager:trader/common/update_recipe/by_progress/ + execute if entity @s[tag=Update] run function asset_manager:trader/common/update_recipe/by_daily # LatestDayTime/LatestUpdateTick更新 execute store result score @s LatestDayTime run time query daytime From 513d8bf303245adad366a2e3247708407a4a3162 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Wed, 12 Nov 2025 23:32:22 +0900 Subject: [PATCH 07/36] rare -> hide --- .../api/functions/artifact/get_registry/hide.mcfunction | 8 ++++++++ .../api/functions/artifact/get_registry/rare.mcfunction | 8 -------- 2 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 TheSkyBlessing/data/api/functions/artifact/get_registry/hide.mcfunction delete mode 100644 TheSkyBlessing/data/api/functions/artifact/get_registry/rare.mcfunction diff --git a/TheSkyBlessing/data/api/functions/artifact/get_registry/hide.mcfunction b/TheSkyBlessing/data/api/functions/artifact/get_registry/hide.mcfunction new file mode 100644 index 0000000000..739555d065 --- /dev/null +++ b/TheSkyBlessing/data/api/functions/artifact/get_registry/hide.mcfunction @@ -0,0 +1,8 @@ +#> api:artifact/get_registry/hide +# +# +# +# @api + +# 隠し枠の神器プールを返す + data modify storage api: Return.Registry.Hide set from storage asset:artifact HideRarityRegistry diff --git a/TheSkyBlessing/data/api/functions/artifact/get_registry/rare.mcfunction b/TheSkyBlessing/data/api/functions/artifact/get_registry/rare.mcfunction deleted file mode 100644 index 40f75582f1..0000000000 --- a/TheSkyBlessing/data/api/functions/artifact/get_registry/rare.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#> api:artifact/get_registry/rare -# -# -# -# @api - -# レア枠の神器プールを返す - data modify storage api: Return.Registry.Rare set from storage asset:artifact RareRarityRegistry From d0626aecfeaf42ce9c219a9c137a89a10523f166 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 01:30:29 +0900 Subject: [PATCH 08/36] =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/15/register.mcfunction | 49 +++++++++++++++++++ .../trader/15/select_artifact/.mcfunction | 18 +++++++ .../combine_and_pick.m.mcfunction | 46 +++++++++++++++++ .../15/select_artifact/re_picks.mcfunction | 24 +++++++++ 4 files changed, 137 insertions(+) create mode 100644 TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction create mode 100644 TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction create mode 100644 TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction create mode 100644 TheSkyBlessing/data/asset/functions/trader/15/select_artifact/re_picks.mcfunction diff --git a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction new file mode 100644 index 0000000000..a727ce0bb6 --- /dev/null +++ b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction @@ -0,0 +1,49 @@ +#> asset:trader/15/register +# +# +# +# @within function asset_manager:trader/register/register.m + +execute unless loaded 37 15 -6 run return 1 + +# ID (int) + data modify storage asset:trader ID set value 15 +# Pos ([int] @ 3) + data modify storage asset:trader Pos set value [37,15,-6] +# 名前 (TextComponent) (オプション) + data modify storage asset:trader Name set value '{"text":"日替わり商人"}' +# 方向 (float) (オプション) + data modify storage asset:trader Rotation set value 180f + +# 日替わりで更新する (boolean) + data modify storage asset:trader DailyUpdate set value true + +# 売る神器を決める + function asset:trader/15/select_artifact/ + +# 取引 Lv1神器 + data modify storage asset:trader Trades append value {} + data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} + data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[1] + data modify storage asset:trader Trades[-1].RequiredProgress set value 5 + +# 取引 Lv2神器 + data modify storage asset:trader Trades append value {} + data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} + data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[2] + data modify storage asset:trader Trades[-1].RequiredProgress set value 29 + +# 取引 Lv3神器 + data modify storage asset:trader Trades append value {} + data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} + data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[3] + data modify storage asset:trader Trades[-1].RequiredProgress set value 54 + +# 取引 Lv4神器 + data modify storage asset:trader Trades append value {} + data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} + data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[4] + data modify storage asset:trader Trades[-1].RequiredProgress set value 75 + +# リセット + data remove storage asset:temp Sell diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction new file mode 100644 index 0000000000..52353e3d26 --- /dev/null +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction @@ -0,0 +1,18 @@ +#> asset:trader/15/select_artifact/ +# +# +# +# @within function asset:trader/15/register + +# APIで通常シャードのプールと隠し神器のプールを取得 + function api:artifact/get_registry/normal + function api:artifact/get_registry/hide + +# 初期化 + data modify storage asset:temp Sell set value [-1,0,0,0,0] + +# 各ランクごとに配列を結合し、その中から1つ選択する + function asset:trader/15/select_artifact/combine_and_pick.m {Rarity:1} + function asset:trader/15/select_artifact/combine_and_pick.m {Rarity:2} + function asset:trader/15/select_artifact/combine_and_pick.m {Rarity:3} + function asset:trader/15/select_artifact/combine_and_pick.m {Rarity:4} diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction new file mode 100644 index 0000000000..4186e3039b --- /dev/null +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction @@ -0,0 +1,46 @@ +#> asset:trader/15/select_artifact/combine_and_pick.m +# +# +# +# @within function asset:trader/15/select_artifact/ + +#> Length +# @private + #declare score_holder $CandidatesLength + #declare score_holder $Random + +# 配列を結合 + $data modify storage api: Return.Registry.Normal[$(Rarity)] append from storage api: Return.Registry.Rare[$(Rarity)] + +# 念のためdistinctして同一要素を取り除き、その中からPickする +# distinctが要らないならレビューしてくれ~ + function lib:array/session/open + +# lib: Arrayに配列をコピー + $data modify storage lib: Array set from storage api: Return.Registry.Normal[$(Rarity)] + +# 被り除去 + function lib:array/distinct + +# picksする + data modify storage lib: Picks set value [0] + execute store result score $CandidatesLength Temporary if data storage lib: Array[] + execute store result score $Random Temporary run random value 0..65535 + execute store result storage lib: Picks[0] int 1 run scoreboard players operation $Random Temporary %= $CandidatesLength Temporary + function lib:array/picks + tellraw @a {"storage":"lib:","nbt":"Elements"} + +# 2次元配列を1次元にしておく + data modify storage lib: Elements set from storage lib: Elements[] + +# 選んだ要素が要素数2以上ならもう一度picksする + execute if data storage lib: Elements[1] run function asset:trader/15/select_artifact/re_picks + tellraw @a {"storage":"lib:","nbt":"Elements"} + +# 配列に設定しておく + $data modify storage asset:temp Sell[$(Rarity)] set from storage lib: Elements[0] + +# リセット + function lib:array/session/close + scoreboard players reset $Random Temporary + scoreboard players reset $CandidatesLength Temporary diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/re_picks.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/re_picks.mcfunction new file mode 100644 index 0000000000..47ebb5b4c9 --- /dev/null +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/re_picks.mcfunction @@ -0,0 +1,24 @@ +#> asset:trader/15/select_artifact/re_picks +# +# +# +# @within function asset:trader/15/select_artifact/combine_and_pick.m + +#> Length +# @private + #declare score_holder $CandidatesLength + #declare score_holder $Random + + #tellraw @a [{"text":"aaa aaaaaaaaaaaaaaaaa "},{"storage":"lib:","nbt":"Elements"}] + + data modify storage lib: Array set from storage lib: Elements + data modify storage lib: Picks set value [0] + execute store result score $CandidatesLength Temporary if data storage lib: Elements[] + execute store result score $Random Temporary run random value 0..65535 + execute store result storage lib: Picks[0] int 1 run scoreboard players operation $Random Temporary %= $CandidatesLength Temporary + function lib:array/picks + +# リセット + scoreboard players reset $Random Temporary + scoreboard players reset $CandidatesLength Temporary + #tellraw @a [{"text":"aaa aaaaaaaaaaaaaaaaa "},{"storage":"lib:","nbt":"Elements"}] From 9c47f34b5f4d5b7315c2d52589fdc5cec24fc714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=91=A0=E7=92=83?= <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:31:30 +0900 Subject: [PATCH 09/36] =?UTF-8?q?"=E3=83=AC=E3=83=83=E3=83=89=E3=83=BC"?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/api/functions/artifact/get_registry/red.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TheSkyBlessing/data/api/functions/artifact/get_registry/red.mcfunction b/TheSkyBlessing/data/api/functions/artifact/get_registry/red.mcfunction index e9fbad6ddd..6317a8390a 100644 --- a/TheSkyBlessing/data/api/functions/artifact/get_registry/red.mcfunction +++ b/TheSkyBlessing/data/api/functions/artifact/get_registry/red.mcfunction @@ -4,5 +4,5 @@ # # @api -# レッドーシャードの神器プールを返す +# レッドシャードの神器プールを返す data modify storage api: Return.Registry.Red set from storage asset:artifact RarityRegistryWithColor.Red From 1fe7a42f27adcf2abb8e0c5a2a4329d13a8d143e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=91=A0=E7=92=83?= <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:32:31 +0900 Subject: [PATCH 10/36] =?UTF-8?q?=E3=83=87=E3=83=90=E3=83=83=E3=82=B0?= =?UTF-8?q?=E7=94=A8=E3=82=B3=E3=83=9E=E3=83=B3=E3=83=89=E3=82=92=E3=82=B3?= =?UTF-8?q?=E3=83=A1=E3=83=B3=E3=83=88=E3=82=A2=E3=82=A6=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trader/15/select_artifact/combine_and_pick.m.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction index 4186e3039b..c55cc42398 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction @@ -28,7 +28,7 @@ execute store result score $Random Temporary run random value 0..65535 execute store result storage lib: Picks[0] int 1 run scoreboard players operation $Random Temporary %= $CandidatesLength Temporary function lib:array/picks - tellraw @a {"storage":"lib:","nbt":"Elements"} + # tellraw @a {"storage":"lib:","nbt":"Elements"} # 2次元配列を1次元にしておく data modify storage lib: Elements set from storage lib: Elements[] From 2da4fd84ea4defb7e74bcf6c26f430e10be55c50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=91=A0=E7=92=83?= <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:35:00 +0900 Subject: [PATCH 11/36] =?UTF-8?q?=E3=83=87=E3=83=90=E3=83=83=E3=82=B0?= =?UTF-8?q?=E7=94=A8=E3=82=B3=E3=83=9E=E3=83=B3=E3=83=89=E3=82=92=E3=82=B3?= =?UTF-8?q?=E3=83=A1=E3=83=B3=E3=83=88=E3=82=A2=E3=82=A6=E3=83=88(1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trader/15/select_artifact/combine_and_pick.m.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction index c55cc42398..35bfc4bb3c 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction @@ -35,7 +35,7 @@ # 選んだ要素が要素数2以上ならもう一度picksする execute if data storage lib: Elements[1] run function asset:trader/15/select_artifact/re_picks - tellraw @a {"storage":"lib:","nbt":"Elements"} + # tellraw @a {"storage":"lib:","nbt":"Elements"} # 配列に設定しておく $data modify storage asset:temp Sell[$(Rarity)] set from storage lib: Elements[0] From 38574145917b61ad47dc52996440a8982c998365 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 21:00:05 +0900 Subject: [PATCH 12/36] =?UTF-8?q?MaxUses=E3=82=92=E8=A8=AD=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/asset/functions/trader/15/register.mcfunction | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction index a727ce0bb6..50fe45010b 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction @@ -25,24 +25,28 @@ execute unless loaded 37 15 -6 run return 1 data modify storage asset:trader Trades append value {} data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[1] + data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 5 # 取引 Lv2神器 data modify storage asset:trader Trades append value {} data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[2] + data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 29 # 取引 Lv3神器 data modify storage asset:trader Trades append value {} data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[3] + data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 54 # 取引 Lv4神器 data modify storage asset:trader Trades append value {} data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[4] + data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 75 # リセット From 48c03869f530439a8d85e2ee7be7cfa8fdab188c Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 22:23:22 +0900 Subject: [PATCH 13/36] =?UTF-8?q?=E6=94=BB=E7=95=A5=E5=BA=A6=E3=81=AB?= =?UTF-8?q?=E3=82=88=E3=81=A3=E3=81=A6=E6=AD=A3=E5=B8=B8=E3=81=AB=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84=E5=95=8F=E9=A1=8C?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/common/update_recipe/by_daily.mcfunction | 1 + .../trader/common/update_recipe/by_progress/.mcfunction | 1 + .../common/update_recipe/by_progress/check_version.m.mcfunction | 2 +- .../functions/trader/common/update_recipe/get_trades.mcfunction | 1 - 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction index dc2d331545..7f1927de5c 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_daily.mcfunction @@ -6,6 +6,7 @@ # 取引一覧を抽出 function asset_manager:trader/common/update_recipe/get_trades + data modify storage asset:trader Trades set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.Trades # 取引を更新 function asset_manager:trader/common/update_recipe/update diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction index a8a472880c..cd2dccb1d5 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction @@ -10,6 +10,7 @@ # バージョンをチェックし、違うなら取引内容を更新する function oh_my_dat:please function asset_manager:trader/common/update_recipe/by_progress/check_version.m with storage global + data modify storage asset:trader Trades set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.Trades # 取引を更新 function asset_manager:trader/common/update_recipe/update diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/check_version.m.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/check_version.m.mcfunction index 4658c99bee..1739bc6566 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/check_version.m.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/check_version.m.mcfunction @@ -7,5 +7,5 @@ # バージョンが不一致なことをチェックする $execute if data storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData{Version:"$(GameVersion)"} run return fail -# 一致してないなら取引内容を取得 +# 一致してないならregisterから取引内容を取得 function asset_manager:trader/common/update_recipe/get_trades diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction index 95b940cc20..e9b361b253 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction @@ -9,4 +9,3 @@ # 取引一覧を抽出 function oh_my_dat:please function asset_manager:trader/common/refresh_trades/ - data modify storage asset:trader Trades set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.Trades From d5a19a936c90ff9d896b4b7c6f6df729efdd7eba Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 22:27:35 +0900 Subject: [PATCH 14/36] =?UTF-8?q?HideRarityRegistry=E3=81=AE=E5=88=9D?= =?UTF-8?q?=E6=9C=9F=E5=8C=96=E3=82=92=E3=81=97=E3=81=A6=E3=81=84=E3=81=AA?= =?UTF-8?q?=E3=81=84=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/asset_manager/functions/artifact/load.mcfunction | 2 ++ 1 file changed, 2 insertions(+) diff --git a/TheSkyBlessing/data/asset_manager/functions/artifact/load.mcfunction b/TheSkyBlessing/data/asset_manager/functions/artifact/load.mcfunction index be7362ac37..a0a09e6649 100644 --- a/TheSkyBlessing/data/asset_manager/functions/artifact/load.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/artifact/load.mcfunction @@ -9,5 +9,7 @@ data modify storage asset:artifact RarityRegistryWithColor.Red set value [["UNUSED"], [], [], [], []] data modify storage asset:artifact RarityRegistryWithColor.Blue set value [["UNUSED"], [], [], [], []] data modify storage asset:artifact RarityRegistryWithColor.Green set value [["UNUSED"], [], [], [], []] + data modify storage asset:artifact HideRarityRegistry set value [["UNUSED"], [], [], [], []] + # 読み込み function #asset:artifact/register From 3b6f5269d9b4ee8dc8839c99c1893d0d4333064f Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 22:37:08 +0900 Subject: [PATCH 15/36] =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E3=81=AB=E9=85=8D?= =?UTF-8?q?=E5=88=97=E3=81=AE=E7=B5=90=E5=90=88=E3=81=8C=E5=87=BA=E6=9D=A5?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=81=AA=E3=81=84=E5=95=8F=E9=A1=8C=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trader/15/select_artifact/combine_and_pick.m.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction index 35bfc4bb3c..131186546c 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction @@ -10,7 +10,7 @@ #declare score_holder $Random # 配列を結合 - $data modify storage api: Return.Registry.Normal[$(Rarity)] append from storage api: Return.Registry.Rare[$(Rarity)] + $data modify storage api: Return.Registry.Normal[$(Rarity)] append from storage api: Return.Registry.Hide[$(Rarity)][] # 念のためdistinctして同一要素を取り除き、その中からPickする # distinctが要らないならレビューしてくれ~ @@ -35,7 +35,7 @@ # 選んだ要素が要素数2以上ならもう一度picksする execute if data storage lib: Elements[1] run function asset:trader/15/select_artifact/re_picks - # tellraw @a {"storage":"lib:","nbt":"Elements"} + tellraw @a {"storage":"lib:","nbt":"Elements"} # 配列に設定しておく $data modify storage asset:temp Sell[$(Rarity)] set from storage lib: Elements[0] From fc7c0965ccc59663ce5a7b9baa7f831a3cb81c06 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 22:38:36 +0900 Subject: [PATCH 16/36] =?UTF-8?q?=E3=83=87=E3=83=90=E3=83=83=E3=82=B0?= =?UTF-8?q?=E3=82=B3=E3=83=9E=E3=83=B3=E3=83=89=E3=81=8C=E3=81=9D=E3=81=AE?= =?UTF-8?q?=E3=81=BE=E3=81=BE=E3=81=AA=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trader/15/select_artifact/combine_and_pick.m.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction index 131186546c..893bf957a4 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction @@ -35,7 +35,7 @@ # 選んだ要素が要素数2以上ならもう一度picksする execute if data storage lib: Elements[1] run function asset:trader/15/select_artifact/re_picks - tellraw @a {"storage":"lib:","nbt":"Elements"} + # tellraw @a {"storage":"lib:","nbt":"Elements"} # 配列に設定しておく $data modify storage asset:temp Sell[$(Rarity)] set from storage lib: Elements[0] From 2499f008911a20c041250da0314fdaa5e8cab4e3 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 23:02:43 +0900 Subject: [PATCH 17/36] =?UTF-8?q?=E3=82=B9=E3=82=B3=E3=82=A2=E3=81=AE?= =?UTF-8?q?=E8=AA=AC=E6=98=8E=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TheSkyBlessing/data/core/functions/load_once.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TheSkyBlessing/data/core/functions/load_once.mcfunction b/TheSkyBlessing/data/core/functions/load_once.mcfunction index f6ca34c8ee..822aee4b82 100644 --- a/TheSkyBlessing/data/core/functions/load_once.mcfunction +++ b/TheSkyBlessing/data/core/functions/load_once.mcfunction @@ -239,7 +239,7 @@ team modify NoCollision collisionRule never # asset_manager:trader/daily_update # asset_manager:trader/common/** scoreboard objectives add RecipeVersion dummy {"text":"商人の取引内容の更新チェック用スコア"} - scoreboard objectives add LatestDayTime dummy {"text":"商人の日替わり更新チェック用スコア1"} + scoreboard objectives add LatestDayTime dummy {"text":"商人の日替わり更新チェック用スコア"} scoreboard objectives add LatestDailyUpdateTick dummy {"text":"商人が最後に日替わり更新したTick"} #> イベントハンドラ用スコアボード From 1418510f66990640a484041cd82b19fade280cb0 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 13 Nov 2025 23:57:38 +0900 Subject: [PATCH 18/36] =?UTF-8?q?=E5=A3=B2=E3=82=8B=E3=82=A2=E3=82=A4?= =?UTF-8?q?=E3=83=86=E3=83=A0=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=81=9F=E3=82=81=E3=81=AB=E5=BF=85=E8=A6=81=E3=81=AA=E6=94=BB?= =?UTF-8?q?=E7=95=A5%=E3=82=92=E8=A8=AD=E5=AE=9A=E3=81=A7=E3=81=8D?= =?UTF-8?q?=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/_index.d.mcfunction | 3 ++- .../trader/common/trades_map/.mcfunction | 22 +++++++++++++------ .../create_hidden_item.m.mcfunction | 6 +++++ 3 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/create_hidden_item.m.mcfunction diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction index d0af1a55bf..63944b6379 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction @@ -38,4 +38,5 @@ # asset_manager:trader/common/update_recipe/update # asset_manager:trader/common/trades_map/** #declare score_holder $Current - #declare score_holder $Required + #declare score_holder $RequiredToBuy + #declare score_holder $RequiredToDisplay diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction index e11527458f..76a2c9375b 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction @@ -8,11 +8,16 @@ # asset_manager:trader/common/update_recipe/update # asset_manager:trader/common/trades_map/ -# 攻略進捗 (条件) のチェック用データ取得 - scoreboard players set $Required Temporary 0 - execute store result score $Required Temporary run data get storage asset:trader Trades[-1].RequiredProgress +# 購入のための攻略進捗 (条件) のチェック用データ取得 + scoreboard players set $RequiredToBuy Temporary 0 + execute store result score $RequiredToBuy Temporary run data get storage asset:trader Trades[-1].RequiredProgress function asset_manager:trader/common/trades_map/create_deprecated_item.m with storage asset:trader Trades[-1] +# 売るアイテム表示のための攻略進捗 (条件) のチェック用データ取得 + scoreboard players set $RequiredToDisplay Temporary 0 + execute store result score $RequiredToDisplay Temporary run data get storage asset:trader Trades[-1].RequiredProgressToDisplay + function asset_manager:trader/common/trades_map/create_hidden_item.m with storage asset:trader Trades[-1] + # ベース data modify storage asset:trader Recipes append value {rewardExp:0b,maxUses:2147483647,xp:0} # データ設定 @@ -22,7 +27,7 @@ data remove storage asset:trader Item.tag.TSB.UUID data remove storage asset:trader Item.tag.TSB.ItemMetaData data modify storage asset:trader Recipes[-1].buy set from storage asset:trader Item - execute unless score $Current Temporary >= $Required Temporary run data modify storage asset:trader Recipes[-1].buy set from storage asset:trader DeprecatedItem + execute unless score $Current Temporary >= $RequiredToBuy Temporary run data modify storage asset:trader Recipes[-1].buy set from storage asset:trader DeprecatedItem # buyB data remove storage asset:trader Item data modify storage asset:trader Item set from storage asset:trader Trades[-1].BuyB @@ -30,22 +35,25 @@ data remove storage asset:trader Item.tag.TSB.UUID data remove storage asset:trader Item.tag.TSB.ItemMetaData data modify storage asset:trader Recipes[-1].buyB set from storage asset:trader Item - execute if data storage asset:trader Item unless score $Current Temporary >= $Required Temporary run data modify storage asset:trader Recipes[-1].buyB set from storage asset:trader DeprecatedItem + execute if data storage asset:trader Item unless score $Current Temporary >= $RequiredToBuy Temporary run data modify storage asset:trader Recipes[-1].buyB set from storage asset:trader DeprecatedItem # sell data modify storage asset:trader Item set from storage asset:trader Trades[-1].Sell function asset_manager:trader/common/trades_map/item_normalize/ data modify storage asset:trader Recipes[-1].sell set from storage asset:trader Item + execute unless score $Current Temporary >= $RequiredToDisplay Temporary run data modify storage asset:trader Recipes[-1].sell set from storage asset:trader HiddenItem # maxUses data modify storage asset:trader Recipes[-1].maxUses set from storage asset:trader Trades[-1].MaxUses # 攻略進捗 (条件) をクリアしているか - execute unless score $Current Temporary >= $Required Temporary run data modify storage asset:trader Recipes[-1].uses set from storage asset:trader Recipes[-1].maxUses + execute unless score $Current Temporary >= $RequiredToBuy Temporary run data modify storage asset:trader Recipes[-1].uses set from storage asset:trader Recipes[-1].maxUses # 末尾削除 data remove storage asset:trader Trades[-1] # リセット - scoreboard players reset $Required Temporary + scoreboard players reset $RequiredToBuy Temporary + scoreboard players reset $RequiredToDisplay Temporary data remove storage asset:trader Item data remove storage asset:trader DeprecatedItem + data remove storage asset:trader HiddenItem # 要素残ってるなら再帰 execute if data storage asset:trader Trades[0] run function asset_manager:trader/common/trades_map/ diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/create_hidden_item.m.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/create_hidden_item.m.mcfunction new file mode 100644 index 0000000000..5bb82e9e38 --- /dev/null +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/create_hidden_item.m.mcfunction @@ -0,0 +1,6 @@ +#> asset_manager:trader/common/trades_map/create_hidden_item.m +# @input args +# RequiredProgressToDisplay: int +# @within function asset_manager:trader/common/trades_map/ + +$data modify storage asset:trader HiddenItem set value {id:"minecraft:barrier",Count:1b,tag:{display:{Name:'[{"text":"表示には攻略度が","color":"white","italic":false},{"text":" $(RequiredProgressToDisplay)% ","color":"gold","italic":false},{"text":"必要です。","color":"white","italic":false}]'}}} From ab8de5455d42260ac3aea7fa4cceed1e4ba5d9d2 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 00:01:21 +0900 Subject: [PATCH 19/36] =?UTF-8?q?=E6=83=B3=E5=AE=9A=E5=A4=96=E3=81=AE?= =?UTF-8?q?=E5=80=A4=E3=81=AE=E9=9A=9B=E3=81=AB=E3=82=A8=E3=83=A9=E3=83=BC?= =?UTF-8?q?=E3=82=92=E5=87=BA=E5=8A=9B=E3=81=99=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/common/trades_map/.mcfunction | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction index 76a2c9375b..a17e7ad740 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction @@ -18,6 +18,9 @@ execute store result score $RequiredToDisplay Temporary run data get storage asset:trader Trades[-1].RequiredProgressToDisplay function asset_manager:trader/common/trades_map/create_hidden_item.m with storage asset:trader Trades[-1] +# もし、$RequiredToBuy < $RequiredToDisplayならエラーを出しておく (本来交換できないアイテムが交換できてしまうため) + execute if score $RequiredToBuy Temporary < $RequiredToDisplay Temporary run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"$RequiredToBuyが$RequiredToDisplayより小さい値に設定されています"}] + # ベース data modify storage asset:trader Recipes append value {rewardExp:0b,maxUses:2147483647,xp:0} # データ設定 From 60a6427ae1c93241be1c6358625627ed61eb0c8f Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 00:04:58 +0900 Subject: [PATCH 20/36] =?UTF-8?q?=E8=A1=A8=E7=A4=BA=E3=81=AB=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E3=81=AA=E6=94=BB=E7=95=A5=E5=BA=A6=E3=82=92=E8=A8=AD?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/asset/functions/trader/15/register.mcfunction | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction index 50fe45010b..d0b539b2e2 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction @@ -27,6 +27,7 @@ execute unless loaded 37 15 -6 run return 1 data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[1] data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 5 + data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 5 # 取引 Lv2神器 data modify storage asset:trader Trades append value {} @@ -34,6 +35,7 @@ execute unless loaded 37 15 -6 run return 1 data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[2] data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 29 + data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 29 # 取引 Lv3神器 data modify storage asset:trader Trades append value {} @@ -41,6 +43,7 @@ execute unless loaded 37 15 -6 run return 1 data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[3] data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 54 + data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 54 # 取引 Lv4神器 data modify storage asset:trader Trades append value {} @@ -48,6 +51,7 @@ execute unless loaded 37 15 -6 run return 1 data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[4] data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 75 + data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 75 # リセット data remove storage asset:temp Sell From ad6aecc337dfa98be5a2c75d209ef22312257c05 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 00:09:51 +0900 Subject: [PATCH 21/36] =?UTF-8?q?=E5=8F=96=E5=BC=95=E3=81=AE=E8=AB=B8?= =?UTF-8?q?=E3=80=85=E3=82=92=E8=A8=AD=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/15/register.mcfunction | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction index d0b539b2e2..1e7974a51e 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction @@ -23,15 +23,17 @@ execute unless loaded 37 15 -6 run return 1 # 取引 Lv1神器 data modify storage asset:trader Trades append value {} - data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} + data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"sacred_shard/lv-1",Count:1b} + data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:1b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[1] data modify storage asset:trader Trades[-1].MaxUses set value 1 - data modify storage asset:trader Trades[-1].RequiredProgress set value 5 - data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 5 + #data modify storage asset:trader Trades[-1].RequiredProgress set value 5 + #data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 5 # 取引 Lv2神器 data modify storage asset:trader Trades append value {} - data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} + data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"sacred_shard/lv-2",Count:1b} + data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:2b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[2] data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 29 @@ -39,7 +41,8 @@ execute unless loaded 37 15 -6 run return 1 # 取引 Lv3神器 data modify storage asset:trader Trades append value {} - data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} + data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"sacred_shard/lv-3",Count:1b} + data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:3b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[3] data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 54 @@ -47,7 +50,8 @@ execute unless loaded 37 15 -6 run return 1 # 取引 Lv4神器 data modify storage asset:trader Trades append value {} - data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:5b} + data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"sacred_shard/lv-4",Count:1b} + data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:4b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[4] data modify storage asset:trader Trades[-1].MaxUses set value 1 data modify storage asset:trader Trades[-1].RequiredProgress set value 75 From 7c5e8539db4af7397e1bd1776f58da0dbd482cc5 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 19:07:30 +0900 Subject: [PATCH 22/36] =?UTF-8?q?=E5=A3=B2=E3=82=8B=E7=A5=9E=E5=99=A8?= =?UTF-8?q?=E3=81=AE=E4=BB=95=E6=A7=98=E3=82=92=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/15/_index.d.mcfunction | 6 +++ .../functions/trader/15/register.mcfunction | 30 +++--------- .../trader/15/select_artifact/.mcfunction | 22 ++++++--- .../combine_and_pick.m.mcfunction | 46 ------------------- .../current_progress/.mcfunction | 21 +++++++++ .../current_progress/set_pool.m.mcfunction | 10 ++++ .../15/select_artifact/picks.mcfunction | 40 ++++++++++++++++ .../15/select_artifact/re_picks.mcfunction | 24 ---------- .../up_to_progress/.mcfunction | 28 +++++++++++ .../up_to_progress/set_pool.m.mcfunction | 10 ++++ 10 files changed, 136 insertions(+), 101 deletions(-) create mode 100644 TheSkyBlessing/data/asset/functions/trader/15/_index.d.mcfunction delete mode 100644 TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction create mode 100644 TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction create mode 100644 TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction create mode 100644 TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction delete mode 100644 TheSkyBlessing/data/asset/functions/trader/15/select_artifact/re_picks.mcfunction create mode 100644 TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/.mcfunction create mode 100644 TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction diff --git a/TheSkyBlessing/data/asset/functions/trader/15/_index.d.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/_index.d.mcfunction new file mode 100644 index 0000000000..1fe38252b8 --- /dev/null +++ b/TheSkyBlessing/data/asset/functions/trader/15/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:trader/15/_index.d +# @private + +#> tag +# @within function asset:trader/15/select_artifact/** + #declare score_holder $Current diff --git a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction index 1e7974a51e..19e6538ead 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction @@ -21,41 +21,23 @@ execute unless loaded 37 15 -6 run return 1 # 売る神器を決める function asset:trader/15/select_artifact/ -# 取引 Lv1神器 +# プレイヤーの攻略度に対応した神器 data modify storage asset:trader Trades append value {} data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"sacred_shard/lv-1",Count:1b} data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:1b} - data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[1] + data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell.CurrentProgress data modify storage asset:trader Trades[-1].MaxUses set value 1 #data modify storage asset:trader Trades[-1].RequiredProgress set value 5 #data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 5 -# 取引 Lv2神器 +# プレイヤーの攻略段階までの神器 data modify storage asset:trader Trades append value {} data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"sacred_shard/lv-2",Count:1b} data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:2b} - data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[2] + data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell.UpToProgress data modify storage asset:trader Trades[-1].MaxUses set value 1 - data modify storage asset:trader Trades[-1].RequiredProgress set value 29 - data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 29 - -# 取引 Lv3神器 - data modify storage asset:trader Trades append value {} - data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"sacred_shard/lv-3",Count:1b} - data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:3b} - data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[3] - data modify storage asset:trader Trades[-1].MaxUses set value 1 - data modify storage asset:trader Trades[-1].RequiredProgress set value 54 - data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 54 - -# 取引 Lv4神器 - data modify storage asset:trader Trades append value {} - data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"sacred_shard/lv-4",Count:1b} - data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:4b} - data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell[4] - data modify storage asset:trader Trades[-1].MaxUses set value 1 - data modify storage asset:trader Trades[-1].RequiredProgress set value 75 - data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 75 + #data modify storage asset:trader Trades[-1].RequiredProgress set value 29 + #data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 29 # リセット data remove storage asset:temp Sell diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction index 52353e3d26..3211ddc305 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction @@ -4,15 +4,23 @@ # # @within function asset:trader/15/register +# 販売する神器をプールから選択する +# 1. 攻略段階に合ったランクの神器 +# 2. 攻略段階までのランクの神器 +# +# また、低確率で、このプールが隠し神器のプールに上書きされる + +# 攻略度取得 + function api:global_vars/game_progress + execute store result score $Current Temporary run data get storage api: Return.Progress 100 + # APIで通常シャードのプールと隠し神器のプールを取得 function api:artifact/get_registry/normal function api:artifact/get_registry/hide -# 初期化 - data modify storage asset:temp Sell set value [-1,0,0,0,0] +# 1, 2それぞれで神器を選択 + function asset:trader/15/select_artifact/current_progress/ + function asset:trader/15/select_artifact/up_to_progress/ -# 各ランクごとに配列を結合し、その中から1つ選択する - function asset:trader/15/select_artifact/combine_and_pick.m {Rarity:1} - function asset:trader/15/select_artifact/combine_and_pick.m {Rarity:2} - function asset:trader/15/select_artifact/combine_and_pick.m {Rarity:3} - function asset:trader/15/select_artifact/combine_and_pick.m {Rarity:4} +# リセット + scoreboard players reset $Current Temporary diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction deleted file mode 100644 index 893bf957a4..0000000000 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/combine_and_pick.m.mcfunction +++ /dev/null @@ -1,46 +0,0 @@ -#> asset:trader/15/select_artifact/combine_and_pick.m -# -# -# -# @within function asset:trader/15/select_artifact/ - -#> Length -# @private - #declare score_holder $CandidatesLength - #declare score_holder $Random - -# 配列を結合 - $data modify storage api: Return.Registry.Normal[$(Rarity)] append from storage api: Return.Registry.Hide[$(Rarity)][] - -# 念のためdistinctして同一要素を取り除き、その中からPickする -# distinctが要らないならレビューしてくれ~ - function lib:array/session/open - -# lib: Arrayに配列をコピー - $data modify storage lib: Array set from storage api: Return.Registry.Normal[$(Rarity)] - -# 被り除去 - function lib:array/distinct - -# picksする - data modify storage lib: Picks set value [0] - execute store result score $CandidatesLength Temporary if data storage lib: Array[] - execute store result score $Random Temporary run random value 0..65535 - execute store result storage lib: Picks[0] int 1 run scoreboard players operation $Random Temporary %= $CandidatesLength Temporary - function lib:array/picks - # tellraw @a {"storage":"lib:","nbt":"Elements"} - -# 2次元配列を1次元にしておく - data modify storage lib: Elements set from storage lib: Elements[] - -# 選んだ要素が要素数2以上ならもう一度picksする - execute if data storage lib: Elements[1] run function asset:trader/15/select_artifact/re_picks - # tellraw @a {"storage":"lib:","nbt":"Elements"} - -# 配列に設定しておく - $data modify storage asset:temp Sell[$(Rarity)] set from storage lib: Elements[0] - -# リセット - function lib:array/session/close - scoreboard players reset $Random Temporary - scoreboard players reset $CandidatesLength Temporary diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction new file mode 100644 index 0000000000..da2c55d316 --- /dev/null +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction @@ -0,0 +1,21 @@ +#> asset:trader/15/select_artifact/current_progress/ +# +# +# +# @within function asset:trader/15/select_artifact/ + +# 攻略度段階に応じてプールを決める +# シャード村人に対応した攻略度で設定しておく + +# プールを設定 + execute if score $Current Temporary matches 00..28 run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:1} + execute if score $Current Temporary matches 29..53 run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:2} + execute if score $Current Temporary matches 54..74 run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:3} + execute if score $Current Temporary matches 75.. run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:4} + +# プールから神器を1つ抽出する + function lib:array/session/open + data modify storage lib: Array set from storage asset:temp Pool + function asset:trader/15/select_artifact/picks + data modify storage asset:temp Sell.CurrentProgress set from storage lib: Elements[] + function lib:array/session/close diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction new file mode 100644 index 0000000000..b27cdacfd2 --- /dev/null +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction @@ -0,0 +1,10 @@ +#> asset:trader/15/select_artifact/current_progress/set_pool.m +# args: +# Rarity : int +# @within function asset:trader/15/select_artifact/current_progress/ + +# プールを設定 + $data modify storage asset:temp Pool set from storage api: Return.Registry.Normal[$(Rarity)] + +# 指定されたランクの隠し枠神器があれば、隠し枠の神器のプールに置き換え + $execute if data storage api: Return.Registry.Hide[$(Rarity)][0] if predicate lib:random_pass_per/3 run data modify storage asset:temp Pool set from storage api: Return.Registry.Hide[$(Rarity)] diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction new file mode 100644 index 0000000000..5caf26f3b2 --- /dev/null +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction @@ -0,0 +1,40 @@ +#> asset:trader/15/select_artifact/picks +# +# プールから1つの神器を選択する +# +# @within function +# asset:trader/15/select_artifact/current_progress/ +# asset:trader/15/select_artifact/up_to_progress/ +# asset:trader/15/select_artifact/picks + +#> private +# @private + #declare score_holder $CandidatesLength + #declare score_holder $Random + + #tellraw @a [{"text":"Array: "},{"storage":"lib:","nbt":"Array"}] + + # data modify storage lib: Array set from storage asset:temp Pool + data modify storage lib: Picks set value [0] + execute store result score $CandidatesLength Temporary if data storage lib: Array[] + execute store result score $Random Temporary run random value 0..65535 + execute store result storage lib: Picks[0] int 1 run scoreboard players operation $Random Temporary %= $CandidatesLength Temporary + function lib:array/picks + +# リセット + scoreboard players reset $Random Temporary + scoreboard players reset $CandidatesLength Temporary + + #tellraw @a {"storage":"lib:","nbt":"Elements"} + +# 選択した配列のが2次元でかつ、要素数が2以上でなければ、次元を1減らしてreturnする + execute if data storage lib: Elements[][] unless data storage lib: Elements[][1] run return run data modify storage lib: Elements set from storage lib: Elements[] + +# 1次元配列ならreturn + execute unless data storage lib: Elements[][] run return fail + +# 配列の次元を1減らす + data modify storage lib: Array set from storage lib: Elements[] + +# 再帰 + function asset:trader/15/select_artifact/picks diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/re_picks.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/re_picks.mcfunction deleted file mode 100644 index 47ebb5b4c9..0000000000 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/re_picks.mcfunction +++ /dev/null @@ -1,24 +0,0 @@ -#> asset:trader/15/select_artifact/re_picks -# -# -# -# @within function asset:trader/15/select_artifact/combine_and_pick.m - -#> Length -# @private - #declare score_holder $CandidatesLength - #declare score_holder $Random - - #tellraw @a [{"text":"aaa aaaaaaaaaaaaaaaaa "},{"storage":"lib:","nbt":"Elements"}] - - data modify storage lib: Array set from storage lib: Elements - data modify storage lib: Picks set value [0] - execute store result score $CandidatesLength Temporary if data storage lib: Elements[] - execute store result score $Random Temporary run random value 0..65535 - execute store result storage lib: Picks[0] int 1 run scoreboard players operation $Random Temporary %= $CandidatesLength Temporary - function lib:array/picks - -# リセット - scoreboard players reset $Random Temporary - scoreboard players reset $CandidatesLength Temporary - #tellraw @a [{"text":"aaa aaaaaaaaaaaaaaaaa "},{"storage":"lib:","nbt":"Elements"}] diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/.mcfunction new file mode 100644 index 0000000000..2a43daa069 --- /dev/null +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/.mcfunction @@ -0,0 +1,28 @@ +#> asset:trader/15/select_artifact/up_to_progress/ +# +# +# +# @within function asset:trader/15/select_artifact/ + +# 隠しプールにするかの判定 + execute if predicate lib:random_pass_per/3 run data modify storage asset:temp IsHidePool set value true + +# プール初期化 + data modify storage asset:temp Pool set value [] + +# プールを設定 + execute unless data storage asset:temp {IsHidePool:true} run function asset:trader/15/select_artifact/up_to_progress/set_pool.m {Type:"Normal"} + execute if data storage asset:temp {IsHidePool:true} run function asset:trader/15/select_artifact/up_to_progress/set_pool.m {Type:"Hide"} + +# 要素数が0の場合、強制的に通常シャードのプールで上書きする (隠しプールの神器が0個である可能性があるため) + execute unless data storage asset:temp Pool[0] run function asset:trader/15/select_artifact/up_to_progress/set_pool.m {Type:"Normal"} + +# プールから神器を1つ抽出する + function lib:array/session/open + data modify storage lib: Array set from storage asset:temp Pool + function asset:trader/15/select_artifact/picks + data modify storage asset:temp Sell.UpToProgress set from storage lib: Elements[] + function lib:array/session/close + +# リセット + data remove storage asset:temp IsHidePool diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction new file mode 100644 index 0000000000..0e50442bbb --- /dev/null +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction @@ -0,0 +1,10 @@ +#> asset:trader/15/select_artifact/up_to_progress/set_pool.m +# +# +# +# @within function asset:trader/15/select_artifact/up_to_progress/ + + $data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[1][] + $execute if score $Current Temporary matches 29.. run data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[2][] + $execute if score $Current Temporary matches 54.. run data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[3][] + $execute if score $Current Temporary matches 75.. run data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[4][] From ae7f49f79c1a74404ee450dc7f44295f44443a65 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 19:10:55 +0900 Subject: [PATCH 23/36] =?UTF-8?q?=E5=A3=B2=E3=82=8B=E3=82=A2=E3=82=A4?= =?UTF-8?q?=E3=83=86=E3=83=A0=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B?= =?UTF-8?q?=E8=A8=AD=E5=AE=9A=E3=82=92=E3=81=AA=E3=81=8B=E3=81=A3=E3=81=9F?= =?UTF-8?q?=E3=81=93=E3=81=A8=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/15/register.mcfunction | 4 --- .../functions/trader/_index.d.mcfunction | 3 +-- .../trader/common/trades_map/.mcfunction | 27 ++++++------------- .../create_hidden_item.m.mcfunction | 6 ----- 4 files changed, 9 insertions(+), 31 deletions(-) delete mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/create_hidden_item.m.mcfunction diff --git a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction index 19e6538ead..fc9df5542a 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction @@ -27,8 +27,6 @@ execute unless loaded 37 15 -6 run return 1 data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:1b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell.CurrentProgress data modify storage asset:trader Trades[-1].MaxUses set value 1 - #data modify storage asset:trader Trades[-1].RequiredProgress set value 5 - #data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 5 # プレイヤーの攻略段階までの神器 data modify storage asset:trader Trades append value {} @@ -36,8 +34,6 @@ execute unless loaded 37 15 -6 run return 1 data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:2b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell.UpToProgress data modify storage asset:trader Trades[-1].MaxUses set value 1 - #data modify storage asset:trader Trades[-1].RequiredProgress set value 29 - #data modify storage asset:trader Trades[-1].RequiredProgressToDisplay set value 29 # リセット data remove storage asset:temp Sell diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction index 63944b6379..d0af1a55bf 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/_index.d.mcfunction @@ -38,5 +38,4 @@ # asset_manager:trader/common/update_recipe/update # asset_manager:trader/common/trades_map/** #declare score_holder $Current - #declare score_holder $RequiredToBuy - #declare score_holder $RequiredToDisplay + #declare score_holder $Required diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction index a17e7ad740..3b7b3c6837 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction @@ -5,22 +5,14 @@ # @input storage asset:trader Trades # @output storage asset:trader Recipes # @within function -# asset_manager:trader/common/update_recipe/update +# asset_manager:trader/common/update_recipe # asset_manager:trader/common/trades_map/ -# 購入のための攻略進捗 (条件) のチェック用データ取得 - scoreboard players set $RequiredToBuy Temporary 0 - execute store result score $RequiredToBuy Temporary run data get storage asset:trader Trades[-1].RequiredProgress +# 攻略進捗 (条件) のチェック用データ取得 + scoreboard players set $Required Temporary 0 + execute store result score $Required Temporary run data get storage asset:trader Trades[-1].RequiredProgress function asset_manager:trader/common/trades_map/create_deprecated_item.m with storage asset:trader Trades[-1] -# 売るアイテム表示のための攻略進捗 (条件) のチェック用データ取得 - scoreboard players set $RequiredToDisplay Temporary 0 - execute store result score $RequiredToDisplay Temporary run data get storage asset:trader Trades[-1].RequiredProgressToDisplay - function asset_manager:trader/common/trades_map/create_hidden_item.m with storage asset:trader Trades[-1] - -# もし、$RequiredToBuy < $RequiredToDisplayならエラーを出しておく (本来交換できないアイテムが交換できてしまうため) - execute if score $RequiredToBuy Temporary < $RequiredToDisplay Temporary run tellraw @a [{"storage":"global","nbt":"Prefix.ERROR"},{"text":"$RequiredToBuyが$RequiredToDisplayより小さい値に設定されています"}] - # ベース data modify storage asset:trader Recipes append value {rewardExp:0b,maxUses:2147483647,xp:0} # データ設定 @@ -30,7 +22,7 @@ data remove storage asset:trader Item.tag.TSB.UUID data remove storage asset:trader Item.tag.TSB.ItemMetaData data modify storage asset:trader Recipes[-1].buy set from storage asset:trader Item - execute unless score $Current Temporary >= $RequiredToBuy Temporary run data modify storage asset:trader Recipes[-1].buy set from storage asset:trader DeprecatedItem + execute unless score $Current Temporary >= $Required Temporary run data modify storage asset:trader Recipes[-1].buy set from storage asset:trader DeprecatedItem # buyB data remove storage asset:trader Item data modify storage asset:trader Item set from storage asset:trader Trades[-1].BuyB @@ -38,25 +30,22 @@ data remove storage asset:trader Item.tag.TSB.UUID data remove storage asset:trader Item.tag.TSB.ItemMetaData data modify storage asset:trader Recipes[-1].buyB set from storage asset:trader Item - execute if data storage asset:trader Item unless score $Current Temporary >= $RequiredToBuy Temporary run data modify storage asset:trader Recipes[-1].buyB set from storage asset:trader DeprecatedItem + execute if data storage asset:trader Item unless score $Current Temporary >= $Required Temporary run data modify storage asset:trader Recipes[-1].buyB set from storage asset:trader DeprecatedItem # sell data modify storage asset:trader Item set from storage asset:trader Trades[-1].Sell function asset_manager:trader/common/trades_map/item_normalize/ data modify storage asset:trader Recipes[-1].sell set from storage asset:trader Item - execute unless score $Current Temporary >= $RequiredToDisplay Temporary run data modify storage asset:trader Recipes[-1].sell set from storage asset:trader HiddenItem # maxUses data modify storage asset:trader Recipes[-1].maxUses set from storage asset:trader Trades[-1].MaxUses # 攻略進捗 (条件) をクリアしているか - execute unless score $Current Temporary >= $RequiredToBuy Temporary run data modify storage asset:trader Recipes[-1].uses set from storage asset:trader Recipes[-1].maxUses + execute unless score $Current Temporary >= $Required Temporary run data modify storage asset:trader Recipes[-1].uses set from storage asset:trader Recipes[-1].maxUses # 末尾削除 data remove storage asset:trader Trades[-1] # リセット - scoreboard players reset $RequiredToBuy Temporary - scoreboard players reset $RequiredToDisplay Temporary + scoreboard players reset $Required Temporary data remove storage asset:trader Item data remove storage asset:trader DeprecatedItem - data remove storage asset:trader HiddenItem # 要素残ってるなら再帰 execute if data storage asset:trader Trades[0] run function asset_manager:trader/common/trades_map/ diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/create_hidden_item.m.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/create_hidden_item.m.mcfunction deleted file mode 100644 index 5bb82e9e38..0000000000 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/create_hidden_item.m.mcfunction +++ /dev/null @@ -1,6 +0,0 @@ -#> asset_manager:trader/common/trades_map/create_hidden_item.m -# @input args -# RequiredProgressToDisplay: int -# @within function asset_manager:trader/common/trades_map/ - -$data modify storage asset:trader HiddenItem set value {id:"minecraft:barrier",Count:1b,tag:{display:{Name:'[{"text":"表示には攻略度が","color":"white","italic":false},{"text":" $(RequiredProgressToDisplay)% ","color":"gold","italic":false},{"text":"必要です。","color":"white","italic":false}]'}}} From aaacb27536099e28c579f87888699f8d82ea60d2 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 19:13:15 +0900 Subject: [PATCH 24/36] =?UTF-8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/common/trades_map/.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction index 3b7b3c6837..e11527458f 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/trades_map/.mcfunction @@ -5,7 +5,7 @@ # @input storage asset:trader Trades # @output storage asset:trader Recipes # @within function -# asset_manager:trader/common/update_recipe +# asset_manager:trader/common/update_recipe/update # asset_manager:trader/common/trades_map/ # 攻略進捗 (条件) のチェック用データ取得 From 889cd29c5491caba3f02b5d6a253e3a3a4b78bbf Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 19:17:30 +0900 Subject: [PATCH 25/36] =?UTF-8?q?=E4=BE=A1=E6=A0=BC=E3=82=92=E8=AA=BF?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/asset/functions/trader/15/register.mcfunction | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction index fc9df5542a..71fec94f32 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/register.mcfunction @@ -23,15 +23,13 @@ execute unless loaded 37 15 -6 run return 1 # プレイヤーの攻略度に対応した神器 data modify storage asset:trader Trades append value {} - data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"sacred_shard/lv-1",Count:1b} - data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:1b} + data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:8b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell.CurrentProgress data modify storage asset:trader Trades[-1].MaxUses set value 1 # プレイヤーの攻略段階までの神器 data modify storage asset:trader Trades append value {} - data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"sacred_shard/lv-2",Count:1b} - data modify storage asset:trader Trades[-1].BuyB set value {PresetItem:"currency/high",Count:2b} + data modify storage asset:trader Trades[-1].BuyA set value {PresetItem:"currency/high",Count:8b} data modify storage asset:trader Trades[-1].Sell set from storage asset:temp Sell.UpToProgress data modify storage asset:trader Trades[-1].MaxUses set value 1 From cd40d9d6ea5d5d9bfe0de80d82d99fd95501639a Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 19:24:10 +0900 Subject: [PATCH 26/36] =?UTF-8?q?=E4=B8=80=E9=83=A8=E3=82=B3=E3=83=A1?= =?UTF-8?q?=E3=83=B3=E3=83=88=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../15/select_artifact/current_progress/set_pool.m.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction index b27cdacfd2..c2bdd7a855 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction @@ -6,5 +6,5 @@ # プールを設定 $data modify storage asset:temp Pool set from storage api: Return.Registry.Normal[$(Rarity)] -# 指定されたランクの隠し枠神器があれば、隠し枠の神器のプールに置き換え +# 指定されたランクの隠し枠神器があれば、確率で隠し枠の神器のプールに置き換え $execute if data storage api: Return.Registry.Hide[$(Rarity)][0] if predicate lib:random_pass_per/3 run data modify storage asset:temp Pool set from storage api: Return.Registry.Hide[$(Rarity)] From a632822d4dc220891d48cf3d6084301355ec442b Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 20:56:16 +0900 Subject: [PATCH 27/36] =?UTF-8?q?Temporary=E3=81=8C=E6=AD=A3=E5=B8=B8?= =?UTF-8?q?=E3=81=AB=E3=83=AA=E3=82=BB=E3=83=83=E3=83=88=E3=81=95=E3=82=8C?= =?UTF-8?q?=E3=81=AA=E3=81=84=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/functions/trader/15/select_artifact/picks.mcfunction | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction index 5caf26f3b2..3c93fcdd7c 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction @@ -27,7 +27,7 @@ #tellraw @a {"storage":"lib:","nbt":"Elements"} -# 選択した配列のが2次元でかつ、要素数が2以上でなければ、次元を1減らしてreturnする +# 選択した配列が2次元でかつ、要素数が2以上でなければ、次元を1減らしてreturnする execute if data storage lib: Elements[][] unless data storage lib: Elements[][1] run return run data modify storage lib: Elements set from storage lib: Elements[] # 1次元配列ならreturn From e0c2bfde3766a13235b46c683968446fdd95939f Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 20:57:10 +0900 Subject: [PATCH 28/36] =?UTF-8?q?=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=88?= =?UTF-8?q?=E3=81=AA=E3=81=A9=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/trader/15/select_artifact/picks.mcfunction | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction index 3c93fcdd7c..2665245eb9 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/picks.mcfunction @@ -12,9 +12,7 @@ #declare score_holder $CandidatesLength #declare score_holder $Random - #tellraw @a [{"text":"Array: "},{"storage":"lib:","nbt":"Array"}] - - # data modify storage lib: Array set from storage asset:temp Pool +# pickする data modify storage lib: Picks set value [0] execute store result score $CandidatesLength Temporary if data storage lib: Array[] execute store result score $Random Temporary run random value 0..65535 @@ -25,8 +23,6 @@ scoreboard players reset $Random Temporary scoreboard players reset $CandidatesLength Temporary - #tellraw @a {"storage":"lib:","nbt":"Elements"} - # 選択した配列が2次元でかつ、要素数が2以上でなければ、次元を1減らしてreturnする execute if data storage lib: Elements[][] unless data storage lib: Elements[][1] run return run data modify storage lib: Elements set from storage lib: Elements[] From 7f90bb0b8a07263bab9f1b25824ee028a7640adb Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 14 Nov 2025 21:05:32 +0900 Subject: [PATCH 29/36] =?UTF-8?q?IMP-Doc=E3=81=AB=E3=83=9E=E3=82=AF?= =?UTF-8?q?=E3=83=AD=E3=81=AE=E5=BC=95=E6=95=B0=E3=81=AB=E3=81=A4=E3=81=84?= =?UTF-8?q?=E3=81=A6=E5=AE=9A=E7=BE=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../select_artifact/current_progress/set_pool.m.mcfunction | 2 +- .../15/select_artifact/up_to_progress/set_pool.m.mcfunction | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction index c2bdd7a855..0ae54294b7 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/set_pool.m.mcfunction @@ -1,5 +1,5 @@ #> asset:trader/15/select_artifact/current_progress/set_pool.m -# args: +# @input args: # Rarity : int # @within function asset:trader/15/select_artifact/current_progress/ diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction index 0e50442bbb..20b217fd53 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction @@ -1,7 +1,6 @@ #> asset:trader/15/select_artifact/up_to_progress/set_pool.m -# -# -# +# @input args: +# Type : string (Normal | Hide) # @within function asset:trader/15/select_artifact/up_to_progress/ $data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[1][] From 501d632830148b8931565d04551045425499f519 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Tue, 23 Dec 2025 12:12:55 +0900 Subject: [PATCH 30/36] =?UTF-8?q?global=20storage=E3=81=AB=E8=A8=AD?= =?UTF-8?q?=E5=AE=9A=E3=81=95=E3=82=8C=E3=81=9F=E3=82=B7=E3=83=A3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=81=AE=E8=A7=A3=E7=A6=81=E6=94=BB=E7=95=A5=E5=BA=A6?= =?UTF-8?q?=E3=82=92=E4=BD=BF=E3=81=86=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/asset/functions/trader/15/_index.d.mcfunction | 4 ++++ .../asset/functions/trader/15/select_artifact/.mcfunction | 6 ++++++ .../15/select_artifact/current_progress/.mcfunction | 8 ++++---- .../select_artifact/up_to_progress/set_pool.m.mcfunction | 6 +++--- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/_index.d.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/_index.d.mcfunction index 1fe38252b8..60e6385588 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/_index.d.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/_index.d.mcfunction @@ -4,3 +4,7 @@ #> tag # @within function asset:trader/15/select_artifact/** #declare score_holder $Current + #declare score_holder $UnlockLv1 + #declare score_holder $UnlockLv2 + #declare score_holder $UnlockLv3 + #declare score_holder $UnlockLv4 diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction index 3211ddc305..824740ef23 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction @@ -14,6 +14,12 @@ function api:global_vars/game_progress execute store result score $Current Temporary run data get storage api: Return.Progress 100 +# globalで定義された攻略度によるシャード解放の割合をそれぞれ取得 + execute store result score $UnlockLv1 Temporary run data get storage global UnlockShardProgress[0] + execute store result score $UnlockLv2 Temporary run data get storage global UnlockShardProgress[1] + execute store result score $UnlockLv3 Temporary run data get storage global UnlockShardProgress[2] + execute store result score $UnlockLv4 Temporary run data get storage global UnlockShardProgress[3] + # APIで通常シャードのプールと隠し神器のプールを取得 function api:artifact/get_registry/normal function api:artifact/get_registry/hide diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction index da2c55d316..e36126aea5 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction @@ -8,10 +8,10 @@ # シャード村人に対応した攻略度で設定しておく # プールを設定 - execute if score $Current Temporary matches 00..28 run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:1} - execute if score $Current Temporary matches 29..53 run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:2} - execute if score $Current Temporary matches 54..74 run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:3} - execute if score $Current Temporary matches 75.. run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:4} + execute if score $Current Temporary >= $UnlockLv1 Temporary unless score $Current Temporary >= $UnlockLv2 Temporary run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:1} + execute if score $Current Temporary >= $UnlockLv2 Temporary unless score $Current Temporary >= $UnlockLv3 Temporary run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:2} + execute if score $Current Temporary >= $UnlockLv3 Temporary unless score $Current Temporary >= $UnlockLv4 Temporary run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:3} + execute if score $Current Temporary >= $UnlockLv4 Temporary run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:4} # プールから神器を1つ抽出する function lib:array/session/open diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction index 20b217fd53..1944502f37 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/set_pool.m.mcfunction @@ -4,6 +4,6 @@ # @within function asset:trader/15/select_artifact/up_to_progress/ $data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[1][] - $execute if score $Current Temporary matches 29.. run data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[2][] - $execute if score $Current Temporary matches 54.. run data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[3][] - $execute if score $Current Temporary matches 75.. run data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[4][] + $execute if score $Current Temporary >= $UnlockLv2 Temporary run data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[2][] + $execute if score $Current Temporary >= $UnlockLv3 Temporary run data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[3][] + $execute if score $Current Temporary >= $UnlockLv4 Temporary run data modify storage asset:temp Pool append from storage api: Return.Registry.$(Type)[4][] From 492f63f00617ecdf50ce92e94e956dfd9d8d85bd Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Fri, 26 Dec 2025 05:13:13 +0900 Subject: [PATCH 31/36] =?UTF-8?q?=E3=83=AA=E3=82=BB=E3=83=83=E3=83=88?= =?UTF-8?q?=E6=BC=8F=E3=82=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/functions/trader/15/select_artifact/.mcfunction | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction index 824740ef23..45a54a9de1 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/.mcfunction @@ -30,3 +30,7 @@ # リセット scoreboard players reset $Current Temporary + scoreboard players reset $UnlockLv1 Temporary + scoreboard players reset $UnlockLv2 Temporary + scoreboard players reset $UnlockLv3 Temporary + scoreboard players reset $UnlockLv4 Temporary From 0ec6e6fe262b11099b10ba19ad031adaedba2760 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 1 Jan 2026 15:37:30 +0900 Subject: [PATCH 32/36] =?UTF-8?q?=E3=83=AA=E3=82=BB=E3=83=83=E3=83=88?= =?UTF-8?q?=E6=BC=8F=E3=82=8C=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trader/15/select_artifact/current_progress/.mcfunction | 3 +++ .../trader/15/select_artifact/up_to_progress/.mcfunction | 1 + 2 files changed, 4 insertions(+) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction index e36126aea5..c112df9aaf 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction @@ -19,3 +19,6 @@ function asset:trader/15/select_artifact/picks data modify storage asset:temp Sell.CurrentProgress set from storage lib: Elements[] function lib:array/session/close + +# リセット + data remove storage asset:temp Pool diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/.mcfunction index 2a43daa069..bd0381f910 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/up_to_progress/.mcfunction @@ -26,3 +26,4 @@ # リセット data remove storage asset:temp IsHidePool + data remove storage asset:temp Pool From 9425091f5a0f4e1b5afcf85ee70113e12b86da05 Mon Sep 17 00:00:00 2001 From: Lapis-LJA <87566955+Lapis-LJA@users.noreply.github.com> Date: Thu, 1 Jan 2026 15:39:32 +0900 Subject: [PATCH 33/36] =?UTF-8?q?=E6=94=BB=E7=95=A5=E6=AE=B5=E9=9A=8E?= =?UTF-8?q?=E3=81=AE=E8=B2=A9=E5=A3=B2=E3=81=AB=E3=81=8A=E3=81=84=E3=81=A6?= =?UTF-8?q?Lv1=E3=81=AF=E6=9C=80=E5=88=9D=E3=81=8B=E3=82=89=E8=B3=BC?= =?UTF-8?q?=E5=85=A5=E3=81=A7=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trader/15/select_artifact/current_progress/.mcfunction | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction index c112df9aaf..91349dd0be 100644 --- a/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction +++ b/TheSkyBlessing/data/asset/functions/trader/15/select_artifact/current_progress/.mcfunction @@ -8,7 +8,8 @@ # シャード村人に対応した攻略度で設定しておく # プールを設定 - execute if score $Current Temporary >= $UnlockLv1 Temporary unless score $Current Temporary >= $UnlockLv2 Temporary run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:1} +# Lv1は最初から買えるようにする + execute unless score $Current Temporary >= $UnlockLv2 Temporary run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:1} execute if score $Current Temporary >= $UnlockLv2 Temporary unless score $Current Temporary >= $UnlockLv3 Temporary run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:2} execute if score $Current Temporary >= $UnlockLv3 Temporary unless score $Current Temporary >= $UnlockLv4 Temporary run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:3} execute if score $Current Temporary >= $UnlockLv4 Temporary run function asset:trader/15/select_artifact/current_progress/set_pool.m {Rarity:4} From adf02194c43d0035b0b3484383f77d87aa392c2d Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 10 Apr 2026 13:47:47 +0900 Subject: [PATCH 34/36] =?UTF-8?q?=E5=B3=B6=E6=94=BB=E7=95=A5=E6=99=82?= =?UTF-8?q?=E3=81=AB=E5=95=86=E5=93=81=E3=81=8C=E6=9B=B4=E6=96=B0=E3=81=95?= =?UTF-8?q?=E3=82=8C=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../update_recipe/by_progress/.mcfunction | 9 +++++- .../by_progress/keep_sells/.mcfunction | 25 +++++++++++++++++ .../by_progress/keep_sells/keep.mcfunction | 28 +++++++++++++++++++ .../update_recipe/get_trades.mcfunction | 1 + 4 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/.mcfunction create mode 100644 TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction index cd2dccb1d5..b23f310aa8 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/.mcfunction @@ -7,9 +7,16 @@ # asset_manager:trader/daily_update # asset_manager:trader/register/construct/set_data -# バージョンをチェックし、違うなら取引内容を更新する +# OhMyDat呼び出し function oh_my_dat:please + +# 日替わり商人の場合は現在の商品は維持し、攻略度だけ反映する + execute if entity @s[tag=Trader.DailyUpdate] run function asset_manager:trader/common/update_recipe/by_progress/keep_sells/ + +# バージョンをチェックし、違うなら取引内容を更新する function asset_manager:trader/common/update_recipe/by_progress/check_version.m with storage global + +# storageに入れる data modify storage asset:trader Trades set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.Trades # 取引を更新 diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/.mcfunction new file mode 100644 index 0000000000..abd1164360 --- /dev/null +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/.mcfunction @@ -0,0 +1,25 @@ +#> asset_manager:trader/common/update_recipe/by_progress/keep_sells/ +# +# +# +# @within function asset_manager:trader/common/update_recipe/by_progress/ + +# 取引データ取得 + function asset_manager:trader/common/update_recipe/get_trades + +# 自身の取引データ取得 + data modify storage asset:trader TempA set from entity @s Offers.Recipes + +# 更新後のデータを取得 + data modify storage asset:trader TempB set from storage asset:trader Trades + +# + function asset_manager:trader/common/update_recipe/by_progress/keep_sells/keep + +# + data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.Trades set from storage asset:trader TempC + +# リセット + data remove storage asset:trader TempA + data remove storage asset:trader TempB + data remove storage asset:trader TempC diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction new file mode 100644 index 0000000000..c6ac44f8e0 --- /dev/null +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction @@ -0,0 +1,28 @@ +#> asset_manager:trader/common/update_recipe/by_progress/keep_sells/keep +# +# 更新前の商品と取引数を維持する +# +# storage +# @input +# asset:trader TempA: 更新前の取引データ配列 +# asset:trader TempB: 更新後の取引データ配列 +# @output +# asset:trader TempC: 更新前の商品とmaxUsesだけ維持した取引データ配列 +# +# @within function +# asset_manager:trader/common/update_recipe/by_progress/keep_sells/ +# asset_manager:trader/common/update_recipe/by_progress/keep_sells/keep + +# 最後尾のsellとmaxUsesだけ移す + data modify storage asset:trader TempB[-1].sell set from storage asset:trader TempA[-1].sell + data modify storage asset:trader TempB[-1].maxUses set from storage asset:trader TempA[-1].maxUses + +# TempCにす + data modify storage asset:trader TempC[-1] set from storage asset:trader TempB[-1] + +# 最後尾の要素を削除 + data remove storage asset:trader TempA[-1] + data remove storage asset:trader TempB[-1] + +# 要素がまだあれば再帰 + execute if data storage asset:trader TempA[0] run function asset_manager:trader/common/update_recipe/by_progress/keep_sells/keep diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction index e9b361b253..0307e860ff 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/get_trades.mcfunction @@ -4,6 +4,7 @@ # # @within function # asset_manager:trader/common/update_recipe/by_daily +# asset_manager:trader/common/update_recipe/by_progress/keep_sells/ # asset_manager:trader/common/update_recipe/by_progress/check_version.m # 取引一覧を抽出 From 1b51e16eb9bde1540941f00169eb7b43c885cfa5 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 10 Apr 2026 13:49:15 +0900 Subject: [PATCH 35/36] =?UTF-8?q?=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=88?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/update_recipe/by_progress/keep_sells/.mcfunction | 4 ++-- .../update_recipe/by_progress/keep_sells/keep.mcfunction | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/.mcfunction index abd1164360..bd2181b523 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/.mcfunction @@ -13,10 +13,10 @@ # 更新後のデータを取得 data modify storage asset:trader TempB set from storage asset:trader Trades -# +# 必要なデータだけ移す function asset_manager:trader/common/update_recipe/by_progress/keep_sells/keep -# +# OhMyDatに戻す data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].TraderData.Trades set from storage asset:trader TempC # リセット diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction index c6ac44f8e0..0e8e788b51 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction @@ -17,7 +17,7 @@ data modify storage asset:trader TempB[-1].sell set from storage asset:trader TempA[-1].sell data modify storage asset:trader TempB[-1].maxUses set from storage asset:trader TempA[-1].maxUses -# TempCにす +# TempCに移す data modify storage asset:trader TempC[-1] set from storage asset:trader TempB[-1] # 最後尾の要素を削除 From 304b900bbcfd646c1df1b556578b1e99b26e0ca2 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 10 Apr 2026 13:59:04 +0900 Subject: [PATCH 36/36] =?UTF-8?q?=E5=A3=B2=E3=81=A3=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=82=8B=E3=81=AE=E3=81=8C=E7=A5=9E=E5=99=A8=E3=81=AE=E5=A0=B4?= =?UTF-8?q?=E5=90=88=E3=81=AFID=E3=82=92=E5=85=A5=E3=82=8C=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../update_recipe/by_progress/keep_sells/keep.mcfunction | 3 +++ 1 file changed, 3 insertions(+) diff --git a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction index 0e8e788b51..a72b6ff177 100644 --- a/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction +++ b/TheSkyBlessing/data/asset_manager/functions/trader/common/update_recipe/by_progress/keep_sells/keep.mcfunction @@ -17,6 +17,9 @@ data modify storage asset:trader TempB[-1].sell set from storage asset:trader TempA[-1].sell data modify storage asset:trader TempB[-1].maxUses set from storage asset:trader TempA[-1].maxUses +# 売ってるのが神器の場合はIDを入れておく + execute if data storage asset:trader TempA[-1].sell.tag.TSB.ID run data modify storage asset:trader TempB[-1].sell set from storage asset:trader TempA[-1].sell.tag.TSB.ID + # TempCに移す data modify storage asset:trader TempC[-1] set from storage asset:trader TempB[-1]