EntityTNTprimedが白く残る

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.32613)

EntityTNTprimedが白く残る

投稿記事by hoge » 2012年4月02日(月) 17:27

TNTの挙動を変更するMODを作成したのですが、
添加して爆発しても、EntityTNTPrimedが残ります。
起爆中の白いTNTのやつです。

改造TNTは、EntityTNT.javaやEntityTNTPrimed.java等をコピーして作成しました。
少し変更を加えただけなのですが、なぜでしょうか?

わかる方がいましたら、御教授願います
hoge
ID:82916cee
 

  • (PostNo.32790)

Re: EntityTNTprimedが白く残る

投稿記事by edke » 2012年4月03日(火) 12:35

Entityは消滅する処理として、setEntityDead();(綴り間違ってるかもしれない)
とかっていうメソッドを実行していたかと・・・
これはモンスターがデスポーンする、倒されるなどと消滅するときに実行されます。
おそらくTNTも例外ではないのではないでしょうか。
抜けていたら追加してみましょう
*初心もっだーの成れの果て*
アバター
edke
ID:a76b853b
金掘り
 
記事: 382
登録日時: 2011年12月12日(月) 21:42

  • (PostNo.32795)

Re: EntityTNTprimedが白く残る

投稿記事by alice » 2012年4月03日(火) 13:06

edke さんが書きました:setEntityDead();(綴り間違ってるかもしれない)
今のMCPだとsetDead()になってますね。
エンティティ共通の処理なので、呼ばないと消えてくれません。
アバター
alice
ID:ee811112
金掘り
 
記事: 442
登録日時: 2011年10月23日(日) 20:10
お住まい: 舞天市

  • (PostNo.33662)

Re: EntityTNTprimedが白く残る

投稿記事by hoge » 2012年4月08日(日) 13:57

御返事が遅れて申し訳ございません。


setDead()ですが、しっかりと呼んでいます。
ソースを確認しましたが、そもそもTNTのsetDead()が呼ばれている箇所を変更していませんし、
もしかしてと思い必ず通る箇所にsetDeadを追加したりしてみましたが、状況は変わりませんでした。


setDeadは最終的に何を呼び出してEntityを削除しているのでしょうか。
それがわかれば無理矢理にでも削除できる気もするのですが、
ラップをしているということはそれなりの長い複雑な処理なのでしょうか。
質問が重なり申し訳ございません。ご存知でしたら御教授いただければ幸いです。
hoge
ID:82916cee
 

  • (PostNo.33683)

Re: EntityTNTprimedが白く残る

投稿記事by lain14 » 2012年4月08日(日) 17:12

試しに自分の環境で新しくTNTのクローンブロックを作成しテストしてみましたが、
EntityTNTprimedが白く残るようなことはありませんでした

質問文からではどのような変更が加えられたのかほとんど把握できないのでなんとも言えませんが
おそらく新しく作ったEntityTNTprimedクローンクラスに対応する
RenderTNTPrimedクローンクラスが定義されていないからではないかとエスパーしてみる(`・ω・´)

強制するわけではありませんが、以下のトピックに従ってソースコードを添付していただけるともう少し正確な情報を提供できると思います
これからMOD制作についての質問をする方へのお願い


追記
setDeadメソッドが呼び出されるとEntityクラスのisDeadフィールドがtrueになり、
WorldクラスのupdateEntitiesメソッド(2016行目あたり)内でこの値が参照され、
エンティティが削除されます
(Minecraft1.2.5, mcp62でのデコンパイル結果)
アバター
lain14
ID:8725f8a9
木を殴ってる
 
記事: 26
登録日時: 2011年7月09日(土) 20:49

  • (PostNo.34356)

Re: EntityTNTprimedが白く残る

投稿記事by hoge » 2012年4月14日(土) 17:32

解答ありがとうございます。
そして、お返事が遅れて申し訳ありません。


最近忙しくなってしまって、またバージョンがころころとアップデートされる影響で
MOD作成ができていません。

ご指摘頂きました対応するRenderのクローンや、
作成したTNTクローンのソース開示をしたいのですが、時間がなく準備が整っていません。

しばらくして落ち着きましたら、また質問をさせていただきたく思います。
その際は、また、ご協力いただければ嬉しく思います。
hoge
ID:82916cee
 


Return to 質問:開発・制作関連

x