【1.7.10】装備中の鎧を消費してプレイヤー周囲のMOBにダメージを与えたい

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

【1.7.10】装備中の鎧を消費してプレイヤー周囲のMOBにダメージを与えたい

投稿記事by delvi » 2016年5月17日(火) 13:41

こんにちは、デルビと申します。
私は、まだjavaの知識が乏しいと自覚しているので、java言語について書かれた本を片手にModdingを行っております。
↓前置きですが、長いので折り畳みにしました。
学校でプログラミングを学ぶ授業の一環として、「自らの手で完成させたゲーム等のプログラムを公開する」というイベントが近々行われるので、
数年前に開発依頼を出していたModについて、改めて自分で手を加えて完成させようと思ったのですが…
とっくの昔に流行りのバージョンは1.6.4から1.7、果ては1.8などと上がっていくばかり。技術がとても追いつきません。

とにかくModding wikiでも見ながらやるしかないと思い、某氏が提供してくださったソースを見ながら、色々とやってきました。

しかし、行き詰りました。

元ネタ作品に登場する武器や鎧のテクスチャは設定できました。初歩の初歩です。武器・防具を実装できて喜んだのもつかの間、「鎧が爆発する」というイメージのModに仕上げたかったのですが、
「装備中の鎧を消費」というプログラムと、「もし鎧を消費したならば、プレイヤーの周囲にいるMOB(もしくはエンティティ)にダメージを与える」というプログラムがうまく書けません…

今までC++を使って簡単なゲームを作ったりしたこともあり、ソースを読むこと自体は初心者よりはできたつもりだったのですが…正直、結構ショックでした。
javaとC++が、思った以上に使い勝手が違っていたので、うまく扱えずかなりショックでした…。

↑前置きここまでです

そんなわけで、皆さんに再び手を貸していただけないかと思い、トピックを立てさせていただいた次第です。
ですが、今回はマルチポストにならないように、少しだけ投稿内容を変えさせていただきます。

以前は「アーマーパージするMODを作ってもらいたい」でしたが、今回は「アーマーパージするMODのソースはある程度できてきたけど、行き詰ったのでどう改善すればいいか教えていただきたい」です。

どうか、どうか皆さんの力を貸してください。

具体的に教えていただきたい事は、「どこをどう手直しすれば、『特定のキーを押したときに、装備中の該当する防具を消滅させて周囲のMOB(理想はエンティティ)にダメージを与える』という処理ができるか」です。

ご助力ください、お願いいたします。

ちなみに、今現在バグとしてわかっているのは「指定しているはずのキーを押しているのに、鎧も消費されずまた爆発のようなものもない(何も起きない)」です。
エラーもないし、横に点打ってデバッグしてもなんも起きないし、果たしてちゃんと処理読んでくれてるんだろうか…

↓githubにもアップロードしておきました。
https://github.com/delvi511/symphogearMOD
添付ファイル
SymphogearMOD.zip
こちらはプロジェクトごと圧縮したものになります。一応、アップロードしておきます。
(41.35 KiB) ダウンロード数: 18 回
symphogearmod.zip
ソース部分だけ圧縮したものになります。
(4.42 KiB) ダウンロード数: 20 回
javaについて勉強している途中です。夢はでっかくSEGA就職です。
delvi
ID:019357e2
木を殴ってる
 
記事: 38
登録日時: 2013年12月02日(月) 15:52

  • (PostNo.273377)

Re: 【1.7.10】装備中の鎧を消費してプレイヤー周囲のMOBにダメージを与えたい

投稿記事by delvi » 2016年5月22日(日) 15:35

友人に手伝ってもらい、防具を装備しているときにダメージを与えるということはできるようになりました。
あとは、防具が破壊されないようなので、それをどうにかしたいです。

ちなみに、そのソースはちゃんとgithubにて更新されていると思いますので、良かったらぜひ見てみてください(大部分は友人が書きましたが)。
javaについて勉強している途中です。夢はでっかくSEGA就職です。
delvi
ID:019357e2
木を殴ってる
 
記事: 38
登録日時: 2013年12月02日(月) 15:52

  • (PostNo.273514)

Re: 【1.7.10】装備中の鎧を消費してプレイヤー周囲のMOBにダメージを与えたい

投稿記事by kegare » 2016年5月24日(火) 00:17

コード: 全て選択
public void breakArmor(EntityPlayer player, ItemStack itemStack)
{
    for (int i = 0; i < player.inventory.armorInventory.length; ++i)
    {
        ItemStack armor = player.inventory.armorInventory[i];

        if (armor != null && ItemStack.areItemStackTagsEqual(itemStack, armor))
        {
            player.renderBrokenItemStack(armor);

            player.inventory.armorInventory[i] = null;
            player.inventory.markDirty();

            break;
        }
    }
}


これで破壊させることができます。参考までにどうぞ。
アバター
kegare
ID:8c5f0b09
レッドスト―ン掘り
 
記事: 680
登録日時: 2012年10月27日(土) 06:06


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

x