どうやらPacketでごにょごにょすればいいらしいのですが……。
だめだ、パケットがわからぬ
— キナ (@CrafterKina) 2014, 6月 28
とのこと。アイテムのデータがあるのはサーバーでレンダリングを行っているのがクライアント。
ならば、Packetで送ってやればよい話なのです。
しかし、Packetでデータを送るにはデータをbyteにしてやらなければいけないのです。
そうbyteに。
ItemStack to byte? What's?
ソンナコトデキルワケナイジャナイデスカヤダー
いや、まてよ…
UnicodeCompressorにStringをbyte[]に変換できるメソッドがあるな
— キナ (@CrafterKina) 2014, 6月
じゃあ、アイテムからアイテム名を取得してそれを送ればよいのでは?それだそれで行こう。
しかし、キナにはパケットがわからぬ。
で、ちょっと他のModder様のソースを見ていると、onMessageメソッドで何とかする模様。
で、出来たのはいいのだがうまく動作しない。
バニラパケット丸パクでいけそう
— キナ (@CrafterKina) 2014, 7月 4
せやな。なぜバニラパケット(onDataPacket)が使えないのか、それは
内部のアイテムが変更された際に逐一パケットを送らねばならぬのでバニラパケットそのままでは行かなそう
— キナ (@CrafterKina) 2014, 7月 4
で、こんなことをしていたらA.K.氏が助け舟を出してくれたので結果だけ”((EntityPlayerMP)player).playerNetServerHandler.sendPacket(getDescriptionPacket())をmarkDirtyで実行すれば良い”です。
結局バニラパケットじゃねぇかというツッコミは抜きにして、解決して良かったです。
さて、ここ2週間ぐらい悩んでいた問題が解決したところで、Moddingに戻りますか
— キナ (@CrafterKina) 2014, 7月 4
ですね。
0 件のコメント:
コメントを投稿