ktyrmp 返信遅れて申し訳ありません。
可能ですよ!
というより、データパックは他のデータパックと競合しないように
個別にloadとtickを持てるようになっています。
【minecraft:load (my_datapack/data/minecraft/tags/functions/load)】
{
"replace": false,
"values": [
"my_datapack:install"
]
}
このようにあなたのデータパックでmy_datapack:installを定義すると、
clickデータパックを含み、他のデータパックで競合することなく
my_datapack:installはデータパック(再)読み込み時に
ちゃんと実行されます。
つまり、click:installも同時に実行されるわけです。
【minecraft:tick (my_datapack/data/minecraft/tags/functions/tick)】
{
"replace": false,
"values": [
"my_datapack:update"
]
}
minecraft:tickについても同様です。
このように定義すれば毎ティックmy_datapack:updateは実行されますし、
click:updateも妨害されることなく毎ティック実行されることになります。
ただ、競合しないようにするには1つだけ条件があって、上記の記述内で
"replace : false"
が指定されている必要があります。
{
"replace": false, ←これが false であること!!
"values": [
"my_datapack:update"
]
}
というのも、"replace"がtrueになると他のデータパックが定義した
minecraft:loadやminecraft:tick関数タグを全部上書きして
消去してしまうのです。
正直"replace"がtrueになって得するデータパックはまずないので、
falseを定型文として覚えてもらって、ぜひ活用していってください!
【補足】
ちなみにですが、click:installとmy_datapack:installは
データパックの(再)読み込み時に両方実行されますが、
どちらが先に実行されるかは不定です。
click:updateとmy_datapack:updateも同様です。
必ず毎ティック実行されますが、click:updateが先に実行されるのか、
my_datapack:updateが先に実行されるのかは決まっていません。
この順番が重要になることもあるかもしれませんが、
clickデータパックではまず重要にはならないので、一応豆知識程度に…。