長押し中にクールダウンやMP不足が解消しても、押し直すまでチャージできなくなる場合があります。 原因は、本体の長押し時間が神器の発動条件とは独立して進むことです。[increment](https://github.com/ProjectTSB/TheSkyBlessing/blob/7ecb161fc41bc1fa52a73da0597fc5f17cfe6f0e/TheSkyBlessing/data/asset_manager/functions/artifact/triggers/using_item/increment.mcfunction) は神器側の条件判定より先に時間を加算します。そのため、条件判定で処理を中断しても、特定tickとの一致で行う更新は後から再実行されません。 例として [Asset #2176](https://github.com/ProjectTSB/Asset/pull/2176) のアポカリプスは、[1・21・41…141tickの完全一致時だけチャージを更新](https://github.com/ProjectTSB/Asset/blob/bdcfb30c917778cd2e22b4b9c3de266608c6f3cb/Asset/data/asset/functions/artifact/1269.apocalypse/using_item/update_stack.mcfunction#L9-L30)します。使用直後の240tickクールダウン中から長押しすると、全更新時点を通過し、解除後もチャージされない構成です。 発動条件を満たした後は、押し直さずチャージを開始できるようにしたいです。本体側で提供する長押し時間と神器側の条件判定をどう組み合わせるか整理してください。 コード上の確認に基づく報告です。実サーバーでは未検証です。
Activity
[-]長押し中に発動条件を満たしてもチャージ更新を取り逃す[/-][+]神器の発動条件を満たさない間も長押し時間が進む[/+][-]神器の発動条件を満たさない間も長押し時間が進む[/-][+]神器の発動条件を満たさない間も長押し・スニーク時間が進む[/+]tatuharu commentedon Oct 26, 2026
この問題を実サーバーで再現したので、結果と、同じ判定方法を使っている Asset のレビュー中の神器を共有します。
再現結果
Asset #2122 の 1619 P.C.D.L.R. Volt-Rave(head 2f15fb0)で確かめました。本体は TheSkyBlessing master の 95528d1、Minecraft は 1.20.4 です。1619 はチャージの段階を
UsingItemTime{mainhand:17}・{mainhand:20}との一致で判定しています。UsingItemTime長押しは
core:handler/using_itemの進捗を毎 tick 付与して作りました。このときUsingItemとUsingItem.Mainhandは1 tick に1ずつ進みました。付与をやめて1 tick 進めたものを、離した入力として扱っています。そこからusing_item/2.check_conditionとrelease_using_item/3.mainまでは実際のトリガーを通っています。同じ判定方法の神器(レビュー中の Asset PR)
どれも、チャージの段階を
UsingItemTimeとの一致で判定しています。神器ごとの境界の値は各レビューコメントに書いています。#2184 と #2122 のレビューでは、この件は本体側で対応する問題として扱われています。