on chest close みたいなことがしたい
チェストの開閉を検知したいです
ひとしきり調べてみたのですが
いい方法が思い浮かびませんでした
なにとぞ知恵をお貸しください…
20 Replies
周囲のプレイヤーのcurrent inventoryがそのチェストのものなら~とか
天才
on inventory open:
if type of block at event-inventory.getLocation() is a chest:
.getLocation()
なんてあるのか…(困惑
なぜか「そのチェストが開かれているかどうか」って勘違いしてた
それでいいですわね
特にcloseを検知したい
できると思う
これでいいんじゃない
試してないから動くかはわからん
やっぱchest inventoryしかないのかなぁ…
{crateLoc::*}にチェストのlocationが数百単位で保存されてるんすよ
😇
egu
多分1000くらい
5の倍数でwait 1 tickでいい気がしてきたな…(実装の都合的に
ん
さっきの方法じゃなんか都合悪いの?
色々よくわからないんだけどルートチェスト作りたいなら、チェストの位置保存するんじゃなくて、設置するチェストに名前付けて開けたときにチェストの名前がルートチェストの物だったらその時に中身をランダム生成するのがいいと思う
やっぱ定期的に中身生成するのはやめたほうがいいかなぁ…
識別するうえでloop量がやたら多いから処理の重さが不安なんすよ
でもまあそれもwait 1 tickで分散すればいいかなって
えーと
識別って閉じたチェストのlocationが欲しいってこと?
開いたときに生成にすれば、閉じたときにその座標を変数なりでクールダウン状態にしてwait10分なりしてクールダウン解除ってすれば処理終わりだから絶対楽だと思うんだけど
なんか定期的に中身変える利点とかあるのかな
まあそんなかんじすねえ
たぶんない
システム作るときに「もうlooooooooooopすればいいや^^」と思ってやった
レアアイテムが生成されたときにサーバー内に放送したりして探索を促すとか面白いことは確かにあると思うけど、処理の重さを気にするなら、ぼくは今からでも変更したくなる
だよなぁ~…
やっぱそこから作り直したほうがよさそうではある
プレイヤーのターゲットブロックから取得するか
あるいはinventory holderから入手するか
すればlocationは手に入れられそうだけど
いまいちどういうことをしたいのか分からないから
なんとも言えん🤔