リスボーンランダムの機能について
動画で利用予定だったが色々あったので考え方や実装方法などを記載しようかなと思います。
要望があれば再度テストしたあとデータパック配布しようかなと
主な機能について
①死んだときにバラバラにリスボーンする
②ベッド設置→別途破壊で①で設定したリスボーン地点にリスボーンする機能
実装方法について
①まずはワールドリスボーン作成設定する。
function実行時の上空300座標に岩盤で5*5ぐらいの足場を作成する。
作成した足場をワールドリスボーン地点にする。
②プレイヤーをバラバラに飛ばす
spreadplayersを利用しプレイヤーをバラバラに飛ばす。
③飛んだ先をリスボーンに設定する
・プレイヤーごとにタグやスコアボードを付与する。
例:scoreboard players set @r[team=!viewer,scores={p_number=0}] p_number 1
・プレイヤーに紐づいた防具たてを召喚する。
例:execute if entity @a[scores={p_number=1}] as @a[scores={p_number=1}] at @s run summon armor_stand ~ ~ ~ {NoGravity:1b,Marker:1b,Invisible:1b,Tags:[“player1”]}
・防具たてを召喚したチャンクを強制読み込みにして指定する(防具たてを設置したプレイヤーを基準に設置)
execute as @a[team=!viewer] at @s run forceload add ~ ~
・リスボーン地点を設定する。
以上がざっくりの開始時設定
以降は常時起動のコマンド
④ワールドリスボーンにリスボーンした場合の処理
ベッド設置→別途破壊した場合ワールドリスボーンにリスボーンしてしまうため必要な処理
ベッド設置禁止やベッド破壊禁止にすれば必要ない
tickで呼び出すfunctionに岩盤にリスボーンした場合③で設定した防具たてにテレポートするようにする
execute as @a[scores={p_number=1}] at @s if block ~ ~-1 ~ bedrock run tp @e[tag=player1,limit=1]



コメント