Mobの追加について

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

Mobの追加について

投稿記事by gonn » 2017年3月25日(土) 21:51

Mobの追加をしてみたく Wikiなどを参考に書いていていたのですが
EntityRegistry.registerModEntity(EntityCore.class,"PotatoMonster",0,this,25,1,false);
というところでエラーがでて、
型 EntityRegistry のメソッド registerModEntity(Class<? extends Entity>, String, int, Object, int, int, boolean) は引数 (Class<EntityCore>, String, int, Mod, int, int, boolean) に適用
できません
と表示されます。
あと、うろうろするAIとのことで
this.tasks.addTask(1, new EntityAIWander(this, 1.0D));
と書いているのですが、これもエラーとなり
コンストラクター EntityAIWander(Entity, double) は未定義です
とでてきます。インポート文はちゃんと書いています。
二つとも、Wikiをコピペしてもエラーがでるのですがどうしてでしょうか。
どなたかわかるかたがいましたら解答お願いいたします。
マイクラのバージョンは1.7.10を使用しています。
最後に編集したユーザー gonn [ 2017年3月31日(金) 22:21 ], 累計 2 回
gonn
ID:2be3d370
木を殴ってる
 
記事: 28
登録日時: 2015年7月12日(日) 00:19

  • (PostNo.298893)

Re: Mobの追加について

投稿記事by elise_blacklab » 2017年3月25日(土) 23:47

gonn さんが書きました:型 EntityRegistry のメソッド registerModEntity(Class<? extends Entity>, String, int, Object, int, int, boolean) は引数 (Class<EntityCore>, String, int, Mod, int, int, boolean) に適用
できません
と表示されます。

EntityCoreなるクラスがEntity(net.minecraft.entity.Entity)またはそのサブクラスを継承していますか?
たしかmodding wikiだと一部のページがimport文が省略されていて,IDEがどっか変なところのEntityを選んでることありますからね
また,
gonn さんが書きました:コンストラクター EntityAIWander(Entity, double) は未定義です
とでてきます。

EntityAIWanderのコンストラクタはEntityCreature(つまりは動物限定)を引数に取ります.
こちらの問題も合わせて解決するにはEntityCoreをEntityCreatureまたはそのサブクラス継承にする必要があります.

ないとは思いますが,コピペしただけでサブクラスやら継承やらが何のこっちゃという場合は,Javaのオブジェクト構造についてまずお勉強なさることをお勧めします.
メイドつくってたりします.http://el-blacklab.net/
アバター
elise_blacklab
ID:6aa17114
掘り廃人
 
記事: 2386
登録日時: 2014年6月25日(水) 18:30

  • (PostNo.298894)

Re: Mobの追加について

投稿記事by gonn » 2017年3月26日(日) 00:05

解答ありがとうございます!
型 EntityRegistry のメソッド registerModEntity(Class<? extends Entity>, String, int, Object, int, int, boolean) は引数 (Class<EntityCore>, String, int, Mod, int, int, boolean) に適用
できません

は、言われて気がつきましたが.classのクラスを間違っていました。。。

コンストラクター EntityAIWander(Entity, double) は未定義です
は継承をEntityCreatureにしたらたしかに治りました。
Wikiでは EntityLiving を継承させていたのですが、 EntityLiving ではダメだったのですね。
gonn
ID:2be3d370
木を殴ってる
 
記事: 28
登録日時: 2015年7月12日(日) 00:19

  • (PostNo.299405)

Re: Mobの追加について

投稿記事by gonn » 2017年3月31日(金) 22:30

プログラムを進めているのですが、どうしてもMobのテクスチャが反映されません。
modelの数値をいくらいじっても、テクスチャが反映されないのでもとから読み込まれてないのではないか?と思っているのですがどうなのでしょう。
Render.class
コード: 全て選択
public class Render extends RenderLiving{
   
      public Render(){
         super(new ModelPotatoSheep(),0.6f);
      }
      
      @Override
      protected ResourceLocation getEntityTexture(Entity entity){
         return new ResourceLocation("mod:textures/mobs/potatosheep.png");
      }


   }


ModelPotatoSheep
コード: 全て選択
@SideOnly(Side.CLIENT)
public class ModelPotatoSheep extends ModelBase {
   
   public ModelRenderer bottom,
                     base,
                     top;
   
   public ModelPotatoSheep(){
      this(0.0F);
   }
   
   public ModelPotatoSheep(float size){
      
      byte b0=4;
      
      this.base=new ModelRenderer(this,0,16);
      this.base.addBox(-2F, 0F, -2F, 4, 6, 4,0.5F);
      this.base.setRotationPoint(0.0F, (float)b0,0.0F);
      
      this.bottom=new ModelRenderer(this,28,8);
      this.bottom.addBox(-4F, -10F, -7F, 8, 16, 6,1.75F);
      this.bottom.setRotationPoint(0.0F, 5F,2.0F);
      
      this.top=new ModelRenderer(this,0,0);
      this.top.addBox(-3F, -4F, -4F, 6, 6, 6,0.6F);
      this.top.setRotationPoint(0.0F,6F,-8F);
   }
   

   public void render(Entity entity,float f,float f1,float f2,float f3,float f4,float f5){
      this.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
      this.base.render(f5);
      this.bottom.render(f5);
      this.top.render(f5);
   }
}


コードはWikiとTNT Moddersを参考にさしていただき、ModelPotatoSheep.classの値は他の羊を追加するModを参考にさせていただいてます。
テクスチャはmod/textures/mobs/potatosheep.png、と一応、mod/mobs/potatosheep.pngに置いています。
もし、原因がわかる方がいましたら、解答お願いいたします。
gonn
ID:2be3d370
木を殴ってる
 
記事: 28
登録日時: 2015年7月12日(日) 00:19

  • (PostNo.299658)

Re: Mobの追加について

投稿記事by gonn » 2017年4月03日(月) 22:50

自己解決しました。
クラスの名前をEntity.classにしていたため、minecraftのEntityと、自分で作ったEntityがごっちゃになっていました。クラスの名前をEntitiesにするとちゃんとテクスチャが描画されました。
gonn
ID:2be3d370
木を殴ってる
 
記事: 28
登録日時: 2015年7月12日(日) 00:19


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

x