Mobの追加について

フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999

返信する

CAPTCHA 認証コード
表示されたコードを正確に入力してください。各文字は大文字・小文字の区別があります。

BBCode: OFF
スマイリー: OFF
トピックのレビュー
   

ファイルを添付します

展開ビュー トピックのレビュー: Mobの追加について

Re: Mobの追加について

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

自己解決しました。
クラスの名前をEntity.classにしていたため、minecraftのEntityと、自分で作ったEntityがごっちゃになっていました。クラスの名前をEntitiesにするとちゃんとテクスチャが描画されました。

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に置いています。
もし、原因がわかる方がいましたら、解答お願いいたします。

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 ではダメだったのですね。

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のオブジェクト構造についてまずお勉強なさることをお勧めします.

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を使用しています。

ページトップ

x