Noppes氏によるMinecraftMod『CustomNPCs』の日本語Wikiです。詳しい説明やMod応用法などをまとめています。

CustomNPCsの雑談

0 mizu814 mizu814 - 17/07/28 13:11:28

CustomNPCsの分からないことを聞きたいなどのスレです

「CustomNPCsの雑談」の画像
  • 39名無し - 19/05/22 13:47:52 - ID:BpF+PwFPiA

    このMODで作ったNPCはなぜ自分より高いところにいる敵には攻撃出来て、自分より低い位置にいる敵には攻撃しないのでしょう?
    これではせっかく見張り用のNPCを作っても木偶の坊になるだけです。
    ましてやこのmodにはflyingで空を飛べるのですから、空を飛んだNPCはほとんど攻撃しなくなります。今後のアプデに期待するしかないのですかねぇ

  • 40 cherimoyage cherimoyage - 19/05/24 18:57:10

    >>39
    1.12.2で試してみましたが、特に問題は見つからなかったです。
    飛行するNPCも攻撃はしました。
    ただ、飛行するNPCはスピードは変更しても意味がなくノロノロと動きました。
    問題を再現できるのであれば、具体的な状況を教えていただけるとありがたいです。

  • 41名無し - 19/05/26 21:24:09 - ID:fU0579sTNw

    >>40
    申し訳ありません。言葉が足らなかったですね
    具体的には弓兵を作成して物見やぐらのような10ブロックの高さの塔を作り、その上に弓兵を配置したのですが、最大の索敵範囲64ブロックに設定し、その範囲内に敵がいるのにもかかわらず全く攻撃する意思がありません。
    もしよろしければ設定画面を見せていただく事は可能でしょうか?

  • 42 cherimoyage cherimoyage - 19/05/26 22:57:51

    >>41
    試してみて原因となりそうなものがいくつか見つかりました。
    まず、フェンスでNPCを囲うと敵をあまり攻撃しなくなります。これはフェンスを外して、AI => Movement => MoveSpeedを0にして回避します。
    次に、遠距離攻撃の範囲はStats => RangedOptions => Rangeで設定します。これをAggroRangeと同じ64に設定してあげます。範囲は直径です。
    とりあえず上記を試してみてください。

  • 43名無し - 19/05/27 21:27:09 - ID:fU0579sTNw

    >>42
    原因が分かりました
    どうもこのmodのアップデートを怠っていて古いバージョンの状態を使っていたようです
    無事アプデしたあとcherimoyageさんの御指摘通りに設定しました所、自分の望むような動作をしてくれました。
    画像までご用意していただいたのにこんな初歩的なミスだったとは…申し訳ありませんでした。そして本当に感謝しております

  • 44 cherimoyage cherimoyage - 19/05/28 00:34:11

    >>43
    無事解決したようでよかったです。
    modの更新は気づきにくいので仕方ないと思います。
    むしろアップデートで機能が壊れてることがあったりするんですけどね(笑)
    少しでも気づきやすくなるよう、最新バージョンが出たらこのWikiでお知らせしようと思います。
    また質問があればお気軽にどうぞ。

  • 45名無し - 19/07/26 21:45:51 - ID:FhgeYhibBg

    とても初歩的な質問でしたらすみません。
    本MODで作成したNPCの満腹度を回復させる方法はありますか?
    難易度ノーマルでプレイしているのですが、空腹でダメージを受け続けていて困っています。

    可能であればこちらから食料等与えるのではなく、NPC自ら一定数空腹になった場合もしくは定期的に回復するようにしたいです(無理であれば手動で大丈夫です)。
    それか、満腹度そのものを無効にすることが可能ならそれでも構いません。

    関係があるか解りませんが、バージョンは1.12.2、使用MODはforge、optifine、本MODです。
    よろしければどなたか教えていただけると嬉しいです。

  • 46 cherimoyage cherimoyage - 19/07/27 01:30:36

    >>45
    NPCに満腹度があるということは、Role(役割)のCompanion(仲間)を使っていますか?
    それ以外のNPCの満腹度を知らないので、Companionについての解決策がないか調べました。

    /effect @p minecraft:saturation
    というコマンドでプレイヤーの満腹度を回復できます。NPCを指定すると
    /effect @e[name=NPCの名前] minecraft:saturation
    のようになります。しかし、これは効果がありませんでした。
    スクリプトでもできないかと調べたのですが、プレイヤーの満腹度についてのメソッドのみでした。
    ただ、即時回復の効果はNPCにも効きました。

    おそらくNPCの満腹度は独自実装してるのでコマンドが効かないのだと思います。
    一応Companionは開発途中なのでお手上げとは言い切れませんが、現時点では満腹度をどうにかするのは難しいです。。。

  • 4745 - 19/07/27 23:51:00 - ID:FhgeYhibBg

    >>46 様
    わー!迅速なご回答ありがとうございます!
    上で満腹度について質問させて頂いた45です。

    はい、仰るとおりcompanionを使用しています……と、言うよりcompanionしか使っておりませんでした……!(元々お供が欲しくて本MODを導入したため)
    そもそもが満腹度があるのがcompanionだけだったんですね……無知ですみません……。

    色々調べて頂いて本当にありがとうございます。
    現時点でのcompanion運用は厳しいようなのでとりあえず諦めようと思います。
    今後のアップデートに期待せず期待しようと思います!

    そしてついでのようですみません、もう一つ質問させて頂いてもいいですか?
    共に戦ってくれる仲間のようなNPCを他のroleで作るならfollowerだと思うのですが(合ってますか?)、followerの場合、スプラッシュポーション以外にも体力の回復方法があれば教えてください。

    質問ばかりですみません。。よろしければお願いしますm(_ _)m

  • 48 cherimoyage cherimoyage - 19/07/30 15:10:16

    >>47
    返信が遅くなりすみません。

    解決策が見つからず申し訳ありません。
    仰る通り、代替手段としてはFollowerがあります。ただ、
    ・NPCに持たせた武器、防具はステータスに影響しない(全てStats(データ)に入力したデータで決まる)
    ・インベントリがない
    などの違いがあるので注意してください。

    Followerの回復は、NPCをNPCの杖で右クリックして
    Stats(データ)=>Health Regen(体力回復)
    に数を入力すると、10tick毎にその分回復します。

    Companionを使っている人がいるとはビックリしました。
    長い間使い方がわからず、Wikiに書くのに時間がかかったので。。
    でもCompanionは高機能で、サバイバルでは最適なRoleだと思うので、自分もアップデートに期待しています。

    関係ないですが、、
    自分はCustomNPCsでスクリプトも書いているのですが、Followerの上位互換を作れないかと模索中です。
    もし完成したらこのWikiのスクリプト集というページで配布しようと思っています。

  • 49名無し - 19/09/30 16:58:57 - ID:UQOwlDNgKg

    バーション1.12.2で使用すると、NPC作成時にこんな悲惨な状態になります……
    モデルからNPC(64x32)に変更すると一応は直るのですが、その状態で違うスキンに変更するとまた同じ状態になります。
    MODの中を覗いてみたところ、スキンが全て64x64だったので、64x32のスキンを追加してみるとそれは正常に反映されました。
    これは、このMODは64x32スキン以外非対応ということなんでしょうか……
    他の方の動画では64x64のスキンを使用していましたし、NPC作成時に形が崩れてもいませんでした。
    何か解決法をご存知の方がいましたら教えて下さい

  • 50 cherimoyage cherimoyage - 19/10/02 10:20:04

    >>49
    64x32のスキンを64x64に変換するのが最善策になると思います。
    Minecraft Skin Converterというソフトで、64x32から64x64に変換できました。
    https://nilssoderman.com/downloads/minecraft-skin-converter/
    このリンクの下の方にある"Minecraft_Skin_Converter.zip"からダウンロードできます。
    もしくはNovaSkinでもできます。

  • 51名無し - 19/10/03 00:36:08 - ID:q+MKk6ACtQ

    すみません。わかる方がいたら教えてください。
    forge 1.14.4にCustomNPCs_1.12.2-(01Oct19).jarを入れてプレイしようとすると、「旧バージョンのFoege用のため読み込めません」と出てしまいます。
    forge 1.13.2にすると「有効なMODではありません」と出てしまい、どうしていいかわかりません。

  • 52 cherimoyage cherimoyage - 19/10/03 19:48:50

    >>49
    ひどい勘違いをしていました。申し訳ありません。。。
    NPC作成時は64x64のモデルで生成され、64x64のスキンが適用されるはずです。
    しかし、そちらの環境ではもしかしたら生成時に64x64のモデルに64x32のスキンが適用されているのかもしれません。
    ややこしいですが、モデルもスキンも64x64か64x32で一致させなければなりません。

  • 53 cherimoyage cherimoyage - 19/10/03 19:51:43

    >>51
    CustomNPCs_1.12.2-(01Oct19).jarはマインクラフト1.12.2用のmodです。
    そのため、forgeも1.12.2である必要があります。

  • 54名無し - 19/10/28 15:17:48 - ID:UQOwlDNgKg

    >>52
    モデルもスキンも見ての通り64x64にしています。
    MODのバージョンの確認や、スキンに新たに64xのスティーブを追加して反映させてみたりなど、考えうる問題は片っ端から試して見ましたが上手くいきません……
    ここまでくると私には根本的にモデルがバグっているようにしか見えませんが、何か原因として思い当たるものがありますでしょうか?
    導入しなければいけないMODを失念している等の可能性もありますが、流石にないと思うので……

  • 55 cherimoyage cherimoyage - 19/10/29 15:31:57

    >>54
    確かにテクスチャの貼られ方からしてモデルがおかしく見えますね・・・。
    念のため自分の現在の環境を書いておきます。

    Javaのバージョン:jre1.8.0_221
    Forgeのバージョン:1.12.2 - 14.23.5.2768
    CNPCsのバージョン:CustomNPCs_1.12.2-(01Oct19)

    もし他にmodを導入されてるなら、競合が考えられます。
    一度CustomNPCsのみ導入した状態で起動してみてください。
    また、CustomNPCsは10月にアップデートされたので、もしバージョンアップされていないなら最新版を導入してください。

  • 56名無し - 20/01/13 12:49:17 - ID:5kmw2MpOKw

    1.12.2のcustomnpcsで召喚したnpcがすぐに死んでしまいます。
    即死するのは特定のnpcだけで、敵対した瞬間に死にます。
    何か解決方法はあるのでしょうか...?

  • 57 cherimoyage cherimoyage - 20/01/13 22:30:30

    >>56
    特定のNPCの特徴を教えていただけませんか?
    また、CustomNPCsのバージョンが最新か確認してみてください。
    最新版は「CustomNPCs_1.12.2-(01Oct19).jar」です。

  • 58名無し - 20/04/23 20:34:02 - ID:5kmw2MpOKw

    >>58
    返事が遅れて申し訳ございません。
    バージョンは01Oct19で合っていました。
    消えてしまうものは二種類います。
    片方は「死神」という名前のHP500の飛行しながら移動するmobです。
    もう片方は「ダイオウトビイカ」という名前のHP180の飛行するmobです。
    両方敵を召喚します。
    移動方法や職業なども変えてみましたが直りませんでした。
    また、殴っても消滅することがわかりました。

  • 59 cherimoyage cherimoyage - 20/04/24 21:05:09

    >>58
    職業がスポナーなら、スポナーの編集画面にある
    「スポーン後に死亡」をいいえ(No)にしてみてください。
    「スポーン後に死亡」がはい(Yes)の場合、攻撃すると消える現象も確認しました。

  • 60名無し - 20/04/27 19:41:25 - ID:VepjAx2+VQ

    >>54
    自分の場合smartmoving reloadedが競合してました
    バージョン等は同じでsmartmovingは1.12.2-0.0.4でした

  • 61名無し - 20/10/01 15:40:28 - ID:EMAWlUNOxw

    やっと1.13に対応か・・・・・。1.16まで果てしなく長い・・・。

  • 62闇くん - 21/01/31 23:40:26 - ID:QRy8zE/+4A

    CustomNPCでスキンを適用させると1部のスキンが黒と紫の見た目になります(´・ω・`)

  • 63 cherimoyage cherimoyage - 21/02/01 17:12:37

    >>62
    再起動で直る場合があるので一旦試してみてください。
    マインクラフトのバージョンはいくつでしょうか?
    1.11からはスキンの仕様が変わったので、それに合わせてテクスチャも対応したものにする必要があります。
    テクスチャは1.11から64x64のサイズになりました。
    64x32の場合、NPCのモデルを「NPC 64x32」に変更してください。
    スキンの名前も重要で、半角英数字(と記号)のみ使用できます。
    テクスチャ名に全角の日本語などが入っていると画像のようにエラーが起きます。
    たとえば、「skin01.png」のような名前はエラーが起きません。

  • 64名無し - 21/02/09 19:04:27 - ID:IEujzcSTmg

    一定時間使ったり時間がたった後に殴ったりすると一定の間隔でダメージを食らい続けたり、止まったままになったりします。直す方法はあるのですか?

  • 65 cherimoyage cherimoyage - 21/02/10 16:42:55

    >>64
    すみません、説明があまりわからないので、もう少し具体的に教えていただけたら幸いです。
    お使いのバージョンにバグがあるのかもしれませんので、バージョンも教えてください。

  • 66名無し - 21/06/12 11:01:20 - ID:CXqep9UznA

    「雨のように上から攻撃を降らせる」みたいな設定はできるのでしょうか?何かの動画で見た気がしたのですが分からなくて

  • 67名無し - 21/06/13 03:10:09 - ID:DuKUlPCuBQ

    というか「座標を指定してそこから遠距離攻撃を飛ばす」みたいな事は可能なんですかね?
    スクリプトによるものならすいません…

  • 68 cherimoyage cherimoyage - 21/06/14 10:57:09

    >>67
    「minecraft 矢 雨」で検索してみたら、コマンドで矢を雨のように降らせる動画がヒットするので、プレイヤーのみ攻撃するならそれでできます。
    NPCの遠距離攻撃は座標から飛ばすのが普通ですので、工夫が必要です。
    CustomNPCsの標準機能で再現しようとするなら、ShootIndirectをオンにして上部に間接的に射撃するようにし、一定時間は矢などを非表示にすることでできそうですが、エンティティ(矢)を非表示にするコマンドがなさそうです(あったらすみません)。
    コマンドで再現するなら、敵の座標を取得し、Y軸にいくつか足し、X軸とZ軸はランダムにばらつかせ、その座標にエンティティ(矢)を出現させて落とす、というコマンドをループさせればできそうです。
    ただ、NPCが攻撃する瞬間にコマンドを実行する方法が分からないので、スクリプトならできると言っておきます。
    スクリプトでも仕組みは同じなうえ、そんなに複雑ではないので要望があるなら書きますよ。

  • 69名無し - 21/06/15 21:34:02 - ID:gxmH3pamcA

    可能ならぜひお願いしたいです!
    一応1.12.2と1.7.10でやっているのですが、バージョンによって使うコードが違ったりとかはあるのでしょうか...?

  • 70 cherimoyage cherimoyage - 21/06/17 00:16:22

    >>69
    いつのバージョンからか忘れましたけど、書き方が大きく変わりました。
    CNPCsは新しいバージョンに新機能が追加されるので、古いバージョンでは仕様が異なります。
    ですので、1.12.2と1.7.10どちらもコードを書きましたが、少し仕様が違います。

    以下の点に注意してください。
    ・矢は放ったNPCにも当たる(解決方法が分かりませんでした)
    ・自身に当たるのでなるべく遠くから撃つようにする
    ・1.7.10版はNPCが放つ矢が消えない

    このリンクにスクリプトが載っています。
    ・1.7.10
    https://pastebin.com/dg9stBMU
    ・1.12.2
    https://pastebin.com/GKbS9wFh

    コードの使い方に関してはスクリプト基礎をご参照ください。
    あと、コードの先頭の方にある変数の数値を変えると、いろいろ設定できるのでいじってみてください。

  • 71 cherimoyage cherimoyage - 21/06/17 00:22:49

    1.7.10でのスクリプトの導入方法の説明がないのを忘れていました。
    基本的には1.12.2と同じですが、[Scripts] -> [Attack]を選択してPasteボタン(貼り付け)を押してください。

  • 72名無し - 21/06/18 15:28:32 - ID:CXqep9UznA

    導入できました、ありがとうございます
    これって矢以外のものも落とせるんですかね?

  • 73名無し - 21/06/19 14:25:07 - ID:1aq/wphafw

    >>72
    導入できたようでよかったです。
    var arrow = event.npc.world.createEntity('minecraft:arrow');
    の'minecraft:arrow'の部分を変えればできます。
    ただ、あくまでエンティティのみなのでmobはできてもブロックはできません。
    また、たとえば火の玉を落とすとなると出現しても動かないので加速させる必要があるなど別途設定が必要です。
    NPCのモデルを変更してそのNPCを落とすのはできそうです。

  • 74名無し - 21/06/20 14:27:57 - ID:hqJ+8JGEjw

    mobやtntは落とすことができました!falling_blockというものもあったので一応やってみましたが、エラーが起きてしまいました
    これとは関係ないのですが、遠距離攻撃をしたときにparticleを発生させたいなと思い手探りでやってみたところ
    function meleeAttack(event){
    var basePos = {
    x: event.target.getX(),
    y: event.target.getY(),
    z: event.target.getZ(),
    };//x,y,z値を取得
    event.world.spawnParticle('minecraft:dragon_breath_trail',basePos.x,basePos.y,basePos.z,1, 1, 1, 0.5, 100);//particleをスポーン
    }
    に落ち着いたのですができませんでした... 何が間違っているのでしょうか?(直貼りですいません)
    TypeError: Cannot read property "spawnParticle" from undefined in <eval> at line number 9
    というエラーが出ました

  • 75 cherimoyage cherimoyage - 21/06/21 00:37:47

    >>74
    falling_blockは確かにエラーが出ますね。
    自分はワールドが開けなくなりました(テスト用ワールドです)。
    event.npc.executeCommand('/summon falling_block ~1 ~ ~ {TileID:1}');
    という感じでコマンドをスクリプトで実行する方法ならエラーが出ませんでした。
    ブロックが落ちなかったですが、単純に自分に知識がないだけだと思います。

    particleのことですが、まずmeleeAttackは近接攻撃なので、rangedLaunched(遠距離攻撃)を使用します。
    event引数はworldは含みません。npcからworldを取得するので、event.npc.worldという風にしてください。
    event.npc.world.spawnParticle('minecraft:dragon_breath_trail',basePos.x,basePos.y,basePos.z,1, 1, 1, 0.5, 100);
    で動くと思います。

  • 76名無し - 21/06/25 17:34:16 - ID:CXqep9UznA

    >>75
    返信遅れました、すいません!パーティクルは成功しました、ありがとうございます

    あと、運営は海外の方がやっているみたいですがcustomnpcs用のdicord鯖があるみたいですね
    加入者もおよそ2000人と、結構賑わってました

  • 77 cherimoyage cherimoyage - 21/06/26 02:41:09

    >>76
    成功したようで良かったです。
    海外のDiscordサーバーは開発者のNoppes氏もいる公式のものです。
    困ったときに検索すると解決方法が結構のっています(ほぼ英語ですが)。
    日本のサーバーもありまして、日本語で対応できます。
    Discord

  • 78名無し - 21/06/26 23:30:23 - ID:CXqep9UznA

    >>77
    それは知りませんでした、加入してみます!
    そういえば、以前書いて頂いたarrowrainのスクリプトのイベントの部分をsetBlockにして少し書き換えてみたところ砂や砂利なら落とすことができました 
    本当は落石を再現してみたかったのですが、まあこれではきつそうです

  • 79名無し - 21/06/26 23:45:33 - ID:CXqep9UznA

    というかすいません、discordで聞いたほうがいいですね...

  • 80名無し - 21/12/23 19:43:14 - ID:YyriwqQNOg

    何故か設定したはずの近接攻撃の攻撃力が、他のページを開いたり、一度閉じてもう一度設定画面を開くと、必ず1に変更されてしまいます。ほかの数値は特に変動しません。
    どうしたらいですか?

  • 81 cherimoyage cherimoyage - 21/12/24 23:44:38

    >>80
    1.16.5、1.13.2、1.12.2、1.10.2、1.7.10で試してみましたが、そのバグを再現できませんでした。
    マインクラフトのバージョンとCustomNPCsのバージョン、それ以外にも他にmodを入れているかなど環境について詳しく教えていただけますでしょうか。

  • 82 cherimoyage cherimoyage - 21/12/30 19:14:16

    pastebinのアカウントを削除したため、pastebinのリンクから一部のスクリプトを見られなくなりました。その代わりDiscordサーバーにバックアップをアップロードしました。「スクリプトチャンネル」というチャンネルにあります。

  • 83名無し - 22/02/09 11:48:53 - ID:1Q/b5ekoEw

    CustomNPCsが読み込まれなくなってる・・・・・。何故じゃ!!

  • 84名無し - 22/06/26 21:45:09 - ID:Z+lmzo6aRw

    1.7.10から1.12.2で使い始めたんですが1.7.10まであった多彩な武器や防具のアイテムは消えてしまったんですか?
    クリエイティブタブになかったんですが

  • 85名無し - 22/06/26 22:18:40 - ID:Z+lmzo6aRw

    自己解決しました。すみません。

  • 86名無し - 22/07/16 21:47:33 - ID:N61osg5egA

    Custom NPC の名前の色を緑から白に変えたいのですが方法とかありますでしょうか?

  • 87 cherimoyage cherimoyage - 22/07/18 01:05:58

    >>86
    Factions(派閥)の設定で名前の色を白に変更できます。
    Global->Factions->Friendlyをクリック->Colorをクリック
    で色を変更できます。

    装飾コード(§)も試してみましたがこれはNPCパサーの画面からは直接入力できませんでした。
    スクリプトだと変更できましたが一番手軽なのはFactionsの設定だと思います。

    サンプルコード
    function init(event) {
    event.npc.setName('§1Steve');
    }

  • 88えんぴつ - 22/08/29 11:50:06 - ID:Bl3bOkHKqQ

    customNPCsで、チェストからアイテムを取って別のところに運ばせるスクリプトを組む
    にはどうすればいいですか。

このスレッドに投稿する(は入力必須)

全角1000文字以内

※それぞれ5MB以下のJPG,PNG,GIF形式のファイルを3枚までアップロードできます。

利用規約をご確認のうえご記入下さい

どなたでも編集できます

メンバー募集!