データパックのマルチプレイ対応について

Minecraftのゲームプレイ全般の質問はこちらへどうぞ。
CKenJa
ID: 3ER3CK1OZ1
記事: 2
登録日時: 2019年11月01日(金) 22:11
Minecraft ID: CKenJa
連絡する:

データパックのマルチプレイ対応について

投稿記事 by CKenJa » 2019年11月01日(金) 23:51

エンティティを何らかの形(ユーザーIDをタグに入れるなど)で持ち主のプレイヤーを区別したいのですが、どうすればよいでしょうか。
試したこと
  • コード: 全て選択

    execute store result entity @e[tag=test,limit=1] Tags int 1 run data get entity @p CustomName
    execute store result entityを用いて、タグにユーザー名を入れようとしたが、CustomNameに一致する要素がないと怒られた
  • コード: 全て選択

    execute store result entity @e[tag=test,limit=1] Tags int 1 run data get entity @p UUIDMost
    execute store result entityを用いて、タグにUUIDを入れようとしたが、変化なし
  • コード: 全て選択

    execute store result score @p test_UUIDMost run data get entity @p UUIDMost
    execute store result scoreで、スコアボードにUUIDを入れようとしたが、スコアボードは2億くらいまでしか入らなかった。
  • その他いろいろググりましたが、ググり方が悪いのか、使えそうな情報は出てきませんでした。
また、その他データパックのマルチプレイ対応に役立つ知識や、
データパックについて勉強になるサイトなどを紹介していただけるとありがたいです。
0


建築エンジョイ勢からコマンド勢になりたい。

ちぇん
ID: 30QHSF8LS4
記事: 4
登録日時: 2019年7月03日(水) 13:59
お住まい: コマンドブロックの中
Minecraft ID: ChenBR
連絡する:

Re: データパックのマルチプレイ対応について

投稿記事 by ちぇん » 2019年11月07日(木) 19:33

CKenJa さんが書きました:
2019年11月01日(金) 23:51
エンティティを何らかの形(ユーザーIDをタグに入れるなど)で持ち主のプレイヤーを区別したいのですが、どうすればよいでしょうか。
試したこと
  • コード: 全て選択

    execute store result entity @e[tag=test,limit=1] Tags int 1 run data get entity @p CustomName
    execute store result entityを用いて、タグにユーザー名を入れようとしたが、CustomNameに一致する要素がないと怒られた
  • コード: 全て選択

    execute store result entity @e[tag=test,limit=1] Tags int 1 run data get entity @p UUIDMost
    execute store result entityを用いて、タグにUUIDを入れようとしたが、変化なし
  • コード: 全て選択

    execute store result score @p test_UUIDMost run data get entity @p UUIDMost
    execute store result scoreで、スコアボードにUUIDを入れようとしたが、スコアボードは2億くらいまでしか入らなかった。
  • その他いろいろググりましたが、ググり方が悪いのか、使えそうな情報は出てきませんでした。
また、その他データパックのマルチプレイ対応に役立つ知識や、
データパックについて勉強になるサイトなどを紹介していただけるとありがたいです。
どのようなDatapackを作ろうとしているのかわからないので有効な方法かはわかりませんが参考程度に私がやっている方法を...

初回join時にプレイヤーに固有のIDをセットしておく

コード: 全て選択

scoreboard players add #global UserID 1
scoreboard players operation @s UserID = #global UserID
コピーはこいつ

コード: 全て選択

scoreboard players operation [コピー先Entity] UserID = [コピー元プレイヤー] UserID
0
しがない底辺コマンダーしてます・・・
アイディアとモチベはあっても技術とモチベがない:thinking:

CKenJa
ID: 59OJWTF2UU
記事: 2
登録日時: 2019年11月01日(金) 22:11
Minecraft ID: CKenJa
連絡する:

Re: データパックのマルチプレイ対応について

投稿記事 by CKenJa » 2019年11月08日(金) 17:07

なるほど。エンティティのスコアボードを利用するんですね。
こんな不適切な質問に回答してくださり、ありがとうございます。
0
建築エンジョイ勢からコマンド勢になりたい。

ちぇん
ID: WA8ICQ9102
記事: 4
登録日時: 2019年7月03日(水) 13:59
お住まい: コマンドブロックの中
Minecraft ID: ChenBR
連絡する:

Re: データパックのマルチプレイ対応について

投稿記事 by ちぇん » 2019年11月08日(金) 17:31

書き忘れてましたがEntity側からプレイヤーを呼び出す方法は

コード: 全て選択

execute as @s at @s as [可能性のあるプレイヤー全員を対象に] if score @s UserID = @e[distance=0,limit=1,sort=nearest] UserID run ...
このコマンドでas = プレイヤー at = Entityの状態を作ってます。
0
しがない底辺コマンダーしてます・・・
アイディアとモチベはあっても技術とモチベがない:thinking:

返信する