攻撃性アイテムの基礎スペックを設定できるNBT

【やりたいこと(要望)】 攻撃力、攻撃速度、所持状態での重量?などを設定できるNBTのテンプレを教えていただけないでしょうか。 変数を利用して数値を代入することで自由にスペックを変えられるのが理想です。 【最終的な目標実装】 YAMLファイルから情報を取り、スペックを反映した武器を作成 (想定しているYAMLファイルのテンプレ)
name: "temp",
spec: {
attack: 0,
speed: 0,
weight: 0
}
name: "temp",
spec: {
attack: 0,
speed: 0,
weight: 0
}
【基礎情報】 ver1.12.2 PRではありません。 必要プラグインは言ってくだされば入れますが、該当しそうなのだと1.10対応のskBee入れてます。
8 Replies
tanoKun
tanoKun2y ago
上ほんとにymlか? 普通にそれぞれ名前つけてファンクション作ればいいと思います
Tsukineko(月雲)
すみません。NBT基礎の基礎も理解してなくて、、、 可能なら攻撃力・攻撃速度・重量 の三項目を設定できるNBTのテンプレを教えていただけないでしょうか💦
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
mcstacker等で設定したい項目に適当な数字入れると 分かりやすいからおすすめ
/give @p minecraft:iron_sword 1 0 {AttributeModifiers:[{AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:99,Operation:0,UUIDLeast:312092,UUIDMost:121895},{AttributeName:"generic.attackSpeed",Name:"generic.attackSpeed",Amount:0.99,Operation:0,UUIDLeast:196361,UUIDMost:100164}]}
/give @p minecraft:iron_sword 1 0 {AttributeModifiers:[{AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:99,Operation:0,UUIDLeast:312092,UUIDMost:121895},{AttributeName:"generic.attackSpeed",Name:"generic.attackSpeed",Amount:0.99,Operation:0,UUIDLeast:196361,UUIDMost:100164}]}
攻撃力と攻撃速度はmodifiersっていう項目でいじる コマンド中のAmount:がその数値なので、実際に武器化する時はその部分に任意の数値を代入する
Tsukineko(月雲)
ありがとうございます( •̥ࡇ•̥ )‎ とりあえず試すまでフォーラムは維持させて頂きます…
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
ところでnbtは自分で好きなように追加(作成)できるので、例えば今回の重量という概念を追加したい場合
#nbtを追加
set {_item} to iron sword
add "{weight:5}" to nbt of {_item}

#nbtの値を取得
set {_weight} to tag "weight" of nbt of {_item}
#nbtを追加
set {_item} to iron sword
add "{weight:5}" to nbt of {_item}

#nbtの値を取得
set {_weight} to tag "weight" of nbt of {_item}
と言ったことが出来る
Tsukineko(月雲)
なるほど。。。んで所持時に{_weight}を参照して移動速度を操作するんですかね、、、
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
on tool change:
set {_speed} to getWeight(player's tool)*0.05
set player's walk speed to {_speed}

command /setWeight <number>:
trigger:
setWeight(player's tool, arg-1)

function getWeight(item: item) :: number:
set {_weight} to tag "weight" of nbt of {_item}
return {_weight}

function setWeight(item: item, value: number):
set tag "weight" of nbt of {_item} tp {_value}
on tool change:
set {_speed} to getWeight(player's tool)*0.05
set player's walk speed to {_speed}

command /setWeight <number>:
trigger:
setWeight(player's tool, arg-1)

function getWeight(item: item) :: number:
set {_weight} to tag "weight" of nbt of {_item}
return {_weight}

function setWeight(item: item, value: number):
set tag "weight" of nbt of {_item} tp {_value}
とかかな? 最近sk書いてなくて覚えてないな
Tsukineko(月雲)
できました(´;ω;`) ひとまず目的の処理はできたので解決済みにさせていただきます
Want results from more Discord servers?
Add your server
More Posts
スキルの発動についてRez関係ないサーバーで運営をやっていて、スキル(必殺技)を作成しようと思い鯖主の方と議論していたのですがRIGHTCLICK-LEFTCLICK-RIGHTCLICKなどでスキル使用できたりするか、ChiyogamiでSkriptは使えますか?SkriptはChiyogamiで使えますか? https://github.com/bea4dev/Chiyogami/tree/ver/1.16.5 試してみましたがやはりエラーが...↓ ```耐久値でのクールタイムを成功させる方法を教えてください質問失礼します。 ```on right click: if name of event-player's tool contains "ジャンプロッド": if damageLunaChatを使いながらSkriptでPrefixを簡単に設定したいサーバーに称号という要素を作り チャット時に名前の横に付けたいです しかしLunaChatは消したくないです 何かいい方法はありますか?ネームタグを消す方法scoreboardのteamsを**用いらず**に、ネームタグを消す方法を教えてください。 アーマースタンドを頭の位置に配置するとは聞いたことあるのですが、実際にどのようなコードを書けばいいのかがわDiskyが動かないネットで調べたコードを書いて /sk reload scriptsを実行しても ボットがオンラインになりません Disky,Skriptは/plで緑色になっています Skript 2.6.1 ```こんにちわこんにちわ一定期間投稿が無かった場合の挙動を確認ここにはメッセージ送らないでくださいテストフォーラムタイトルと内容を記述✅