【総合】トピック立てるまでもない質問【Mod制作】

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

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by ayamitsu » 2013年1月15日(火) 20:15

iokonkon さんが書きました:えっとですね
クラッシュエラーメッセージについてです
まあいろいろブロックを作ろうとmoddingしてるんですが
意味不明なエラーが出てきました
コード: 全て選択

      Minecraft has crashed!     
      ----------------------     

Minecraft has stopped running because it encountered a problem; ModLoader has failed to initialize.

A full error report has been saved to C:\Users\iori\Desktop\mcp725\jars\.\crash-reports\crash-2013-01-15_20.00.19-client.txt - Please include a copy of that file (Not this screen!) if you report this crash to anyone; without it, they will not be able to help fix the crash :(



--- BEGIN ERROR REPORT 226f8662 --------
Full report at:
C:\Users\iori\Desktop\mcp725\jars\.\crash-reports\crash-2013-01-15_20.00.19-client.txt
Please show that file to Mojang, NOT just this screen!

Generated 13/01/15 20:00

-- System Details --
Details:
   Minecraft Version: 1.4.7
   Operating System: Windows 7 (amd64) version 6.1
   Java Version: 1.7.0_09, Oracle Corporation
   Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
   Memory: 964140872 bytes (919 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
   JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
   AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
   Suspicious classes: Start[net.minecraft.src.IPlayerUsage, MinecraftFakeLauncher, ThreadShutdown, ...]
   IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
   ModLoader: Mods loaded: 3
ModLoader 1.4.7
mod_hoge 1.0.0
mod_recipe 1.4.7


java.lang.ArrayIndexOutOfBoundsException: 399

   at net.minecraft.src.ModLoader.initStats(ModLoader.java:1010)
   at net.minecraft.src.ModLoader.init(ModLoader.java:983)
   at net.minecraft.src.ModLoader.addAllRenderers(ModLoader.java:190)
   at net.minecraft.src.RenderManager.<init>(RenderManager.java:93)
   at net.minecraft.src.RenderManager.<clinit>(RenderManager.java:14)
   at net.minecraft.client.Minecraft.startGame(Minecraft.java:421)
   at net.minecraft.src.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:41)
   at net.minecraft.client.Minecraft.run(Minecraft.java:741)
   at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT cb37d0fb ----------



これはどういういみでしょうか
ご回答お願いします

推測ですが、Blockを追加する際のBlockのIDを4095よりも上、具体的に言うと4095+399にしていませんか?
BlockはIDが現時点(1.4.7)で0~4095の4096です。
それを超えると配列の範囲を超えるのでArrayIndexOutOfBoundsExceptionがでたのだろうと思われます。

それともModLoaderに問題がある可能性も否めないので、まずご自分のMODのソースが入ってない状態で起動できるかお試しください。
アバター
ayamitsu
ID:ca3e574e
ラピスラズリ収集家
 
記事: 1068
登録日時: 2011年8月10日(水) 19:04
お住まい: 琵琶湖の底らへん

  • (PostNo.73858)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by iokonkon » 2013年1月15日(火) 21:48

ayamitsu さんが書きました:
iokonkon さんが書きました:えっとですね
クラッシュエラーメッセージについてです
まあいろいろブロックを作ろうとmoddingしてるんですが
意味不明なエラーが出てきました
コード: 全て選択

      Minecraft has crashed!     
      ----------------------     

Minecraft has stopped running because it encountered a problem; ModLoader has failed to initialize.

A full error report has been saved to C:\Users\iori\Desktop\mcp725\jars\.\crash-reports\crash-2013-01-15_20.00.19-client.txt - Please include a copy of that file (Not this screen!) if you report this crash to anyone; without it, they will not be able to help fix the crash :(



--- BEGIN ERROR REPORT 226f8662 --------
Full report at:
C:\Users\iori\Desktop\mcp725\jars\.\crash-reports\crash-2013-01-15_20.00.19-client.txt
Please show that file to Mojang, NOT just this screen!

Generated 13/01/15 20:00

-- System Details --
Details:
   Minecraft Version: 1.4.7
   Operating System: Windows 7 (amd64) version 6.1
   Java Version: 1.7.0_09, Oracle Corporation
   Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
   Memory: 964140872 bytes (919 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
   JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
   AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
   Suspicious classes: Start[net.minecraft.src.IPlayerUsage, MinecraftFakeLauncher, ThreadShutdown, ...]
   IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
   ModLoader: Mods loaded: 3
ModLoader 1.4.7
mod_hoge 1.0.0
mod_recipe 1.4.7


java.lang.ArrayIndexOutOfBoundsException: 399

   at net.minecraft.src.ModLoader.initStats(ModLoader.java:1010)
   at net.minecraft.src.ModLoader.init(ModLoader.java:983)
   at net.minecraft.src.ModLoader.addAllRenderers(ModLoader.java:190)
   at net.minecraft.src.RenderManager.<init>(RenderManager.java:93)
   at net.minecraft.src.RenderManager.<clinit>(RenderManager.java:14)
   at net.minecraft.client.Minecraft.startGame(Minecraft.java:421)
   at net.minecraft.src.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:41)
   at net.minecraft.client.Minecraft.run(Minecraft.java:741)
   at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT cb37d0fb ----------



これはどういういみでしょうか
ご回答お願いします

推測ですが、Blockを追加する際のBlockのIDを4095よりも上、具体的に言うと4095+399にしていませんか?
BlockはIDが現時点(1.4.7)で0~4095の4096です。
それを超えると配列の範囲を超えるのでArrayIndexOutOfBoundsExceptionがでたのだろうと思われます。

それともModLoaderに問題がある可能性も否めないので、まずご自分のMODのソースが入ってない状態で起動できるかお試しください。



ありがとうございます
アイテムIDを399から1にしてみたら
なんと!!!
失敗しました(クラッシュなう)


ということで
コードから公開します
wikiからのまるっきり引用なので
指摘お願いします

mod_hoge.java
コード: 全て選択
package net.minecraft.src;
 
public class mod_hoge extends BaseMod{
 
    public static Block oreHoge;
    public int blockID;
    public String fileToOverride;
    public String textureFilePath;
 
    public mod_hoge()
    {
    }
    public void load()
    {
       blockID = 1;
       fileToOverride = "/terrain.png";
       textureFilePath = "/block/hoge.png";
/*
     BlockHogeクラスから新規BlockのIDとテクスチャファイルを指定
     blockID:追加するBlockのIDを指定 ここでは120として定義
     fileToOverride:GUIインベントリを使用しない場合は"/terrain.png"
             GUIインベントリを使用する場合は"/gui/items.png"
     textureFilePath:テクスチャの参照ファイルパスを指定
    */
       oreHoge = new BlockHoge(blockID, ModLoader.addOverride(fileToOverride, textureFilePath));
/*
     setHardness:対象Blockの硬さをFloatで指定 デフォルトは3F
    */
       oreHoge.setHardness(3F);
/*
     setBlockName:対象Blockの名前を指定
    */
       oreHoge.setBlockName("oreHoge");
/*
     setResistance:対象Blockの爆破耐性をFloatで指定 デフォルトは5F
    */
       oreHoge.setResistance(5F);
/* setStepSound:対象Blockの上を歩いた際の音を指定
     下記では石の上を歩いた場合と同じ音を参照
    */
       oreHoge.setStepSound(Block.soundStoneFootstep);
       oreHoge.setLightValue(1.0F);
/*
     ModLoader.registerBlock:指定したBlockデータを登録します。
    */
       ModLoader.registerBlock(oreHoge);
       ModLoader.addRecipe(new ItemStack(oreHoge, 1), new Object[] { "XXX",
          Character.valueOf('X'), Block.dirt });
/*       
     ModLOader.addName:Minecraftで表示させるBlockの名前を指定
    */
        ModLoader.addName(oreHoge, "Hoge Ore");

    }
    public String getVersion()
    {
            return "1.0.0";
         


        }
     
    }


BlockHoge.java
コード: 全て選択
package net.minecraft.src;
 
import java.util.Random;
 
public class BlockHoge extends Block
{
/*
  親クラスを初期化する必要があるため定義
  */
  public BlockHoge(int i, int j)
{
  /*
    Material.rock:石と同じ処理をさせる定義をしているだけです。
    */
   super(i, j, Material.rock);
 }
    /*
  ブロックが破壊された時にドロップするものを設定
  returnでthis.blockIDなので同じ物をドロップさせています
  */
 public int idDropped(int i, Random random, int j)
    {
        return this.blockID;
    }
    /*
  上記破壊時のドロップアイテムの個数を指定
  returnで1個ドロップするように指定しています。
  */
 public int quantityDropped(Random random)
    {
        return 1;
    }
}


誰かご回答お願い致します
あと、追加機能を全部ぬいて起動してみたところ、正常に動きましたことを報告いたします
サーバー開いてました。
いおサーバー!
画像
http://forum.minecraftuser.jp/viewtopic.php?f=26&t=7263
プラグイン作ってみたい
iokonkon
ID:46533e0c
石掘り
 
記事: 70
登録日時: 2012年10月19日(金) 20:20

  • (PostNo.73864)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by tuyapin » 2013年1月15日(火) 22:02

iokonkon さんが書きました:
ayamitsu さんが書きました:
iokonkon さんが書きました:えっとですね
クラッシュエラーメッセージについてです
まあいろいろブロックを作ろうとmoddingしてるんですが
意味不明なエラーが出てきました
コード: 全て選択

      Minecraft has crashed!     
      ----------------------     

Minecraft has stopped running because it encountered a problem; ModLoader has failed to initialize.

A full error report has been saved to C:\Users\iori\Desktop\mcp725\jars\.\crash-reports\crash-2013-01-15_20.00.19-client.txt - Please include a copy of that file (Not this screen!) if you report this crash to anyone; without it, they will not be able to help fix the crash :(



--- BEGIN ERROR REPORT 226f8662 --------
Full report at:
C:\Users\iori\Desktop\mcp725\jars\.\crash-reports\crash-2013-01-15_20.00.19-client.txt
Please show that file to Mojang, NOT just this screen!

Generated 13/01/15 20:00

-- System Details --
Details:
   Minecraft Version: 1.4.7
   Operating System: Windows 7 (amd64) version 6.1
   Java Version: 1.7.0_09, Oracle Corporation
   Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
   Memory: 964140872 bytes (919 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
   JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
   AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
   Suspicious classes: Start[net.minecraft.src.IPlayerUsage, MinecraftFakeLauncher, ThreadShutdown, ...]
   IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
   ModLoader: Mods loaded: 3
ModLoader 1.4.7
mod_hoge 1.0.0
mod_recipe 1.4.7


java.lang.ArrayIndexOutOfBoundsException: 399

   at net.minecraft.src.ModLoader.initStats(ModLoader.java:1010)
   at net.minecraft.src.ModLoader.init(ModLoader.java:983)
   at net.minecraft.src.ModLoader.addAllRenderers(ModLoader.java:190)
   at net.minecraft.src.RenderManager.<init>(RenderManager.java:93)
   at net.minecraft.src.RenderManager.<clinit>(RenderManager.java:14)
   at net.minecraft.client.Minecraft.startGame(Minecraft.java:421)
   at net.minecraft.src.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:41)
   at net.minecraft.client.Minecraft.run(Minecraft.java:741)
   at java.lang.Thread.run(Unknown Source)
--- END ERROR REPORT cb37d0fb ----------



これはどういういみでしょうか
ご回答お願いします

推測ですが、Blockを追加する際のBlockのIDを4095よりも上、具体的に言うと4095+399にしていませんか?
BlockはIDが現時点(1.4.7)で0~4095の4096です。
それを超えると配列の範囲を超えるのでArrayIndexOutOfBoundsExceptionがでたのだろうと思われます。

それともModLoaderに問題がある可能性も否めないので、まずご自分のMODのソースが入ってない状態で起動できるかお試しください。



ありがとうございます
アイテムIDを399から1にしてみたら
なんと!!!
失敗しました(クラッシュなう)


ということで
コードから公開します
wikiからのまるっきり引用なので
指摘お願いします

mod_hoge.java
コード: 全て選択
package net.minecraft.src;
 
public class mod_hoge extends BaseMod{
 
    public static Block oreHoge;
    public int blockID;
    public String fileToOverride;
    public String textureFilePath;
 
    public mod_hoge()
    {
    }
    public void load()
    {
       blockID = 1;
       fileToOverride = "/terrain.png";
       textureFilePath = "/block/hoge.png";
/*
     BlockHogeクラスから新規BlockのIDとテクスチャファイルを指定
     blockID:追加するBlockのIDを指定 ここでは120として定義
     fileToOverride:GUIインベントリを使用しない場合は"/terrain.png"
             GUIインベントリを使用する場合は"/gui/items.png"
     textureFilePath:テクスチャの参照ファイルパスを指定
    */
       oreHoge = new BlockHoge(blockID, ModLoader.addOverride(fileToOverride, textureFilePath));
/*
     setHardness:対象Blockの硬さをFloatで指定 デフォルトは3F
    */
       oreHoge.setHardness(3F);
/*
     setBlockName:対象Blockの名前を指定
    */
       oreHoge.setBlockName("oreHoge");
/*
     setResistance:対象Blockの爆破耐性をFloatで指定 デフォルトは5F
    */
       oreHoge.setResistance(5F);
/* setStepSound:対象Blockの上を歩いた際の音を指定
     下記では石の上を歩いた場合と同じ音を参照
    */
       oreHoge.setStepSound(Block.soundStoneFootstep);
       oreHoge.setLightValue(1.0F);
/*
     ModLoader.registerBlock:指定したBlockデータを登録します。
    */
       ModLoader.registerBlock(oreHoge);
       ModLoader.addRecipe(new ItemStack(oreHoge, 1), new Object[] { "XXX",
          Character.valueOf('X'), Block.dirt });
/*       
     ModLOader.addName:Minecraftで表示させるBlockの名前を指定
    */
        ModLoader.addName(oreHoge, "Hoge Ore");

    }
    public String getVersion()
    {
            return "1.0.0";
         


        }
     
    }


BlockHoge.java
コード: 全て選択
package net.minecraft.src;
 
import java.util.Random;
 
public class BlockHoge extends Block
{
/*
  親クラスを初期化する必要があるため定義
  */
  public BlockHoge(int i, int j)
{
  /*
    Material.rock:石と同じ処理をさせる定義をしているだけです。
    */
   super(i, j, Material.rock);
 }
    /*
  ブロックが破壊された時にドロップするものを設定
  returnでthis.blockIDなので同じ物をドロップさせています
  */
 public int idDropped(int i, Random random, int j)
    {
        return this.blockID;
    }
    /*
  上記破壊時のドロップアイテムの個数を指定
  returnで1個ドロップするように指定しています。
  */
 public int quantityDropped(Random random)
    {
        return 1;
    }
}


誰かご回答お願い致します
あと、追加機能を全部ぬいて起動してみたところ、正常に動きましたことを報告いたします

blockIDは使用されいないところに登録してください。
200あたりはまだ開いています。
アバター
tuyapin
ID:8a54b2b8
鉄鉱掘り
 
記事: 344
登録日時: 2011年12月19日(月) 23:21
お住まい: Hyogo, Japan

  • (PostNo.73926)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by 迷路色 » 2013年1月16日(水) 15:23

Ubuntu12.10でMOD制作を始めたのですが、
ちょっとソースを書いてMCPのstartclient.shを実行し、
試してみようと思ったところ、Linuxだとキー入力を受け付けません
どうすればいいでしょうか?
インプットメソッドがIBusで、これを切ればいいのですが、毎回切るのは
面倒くさいのでいい方法はないでしょうか?
迷路色
ID:30470b4c
水から上がったとこ
 
記事: 2
登録日時: 2013年1月16日(水) 14:25

  • (PostNo.73958)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by iokonkon » 2013年1月16日(水) 18:34

えーっと
何か質問多くてすいません

ブロックの追加はできたんですが(hoge)
それ以降のブロック2とブロック3ができません。
クラッシュなどはしないのですが
レシピに追加?などが出来ていません

コード: 全て選択
package net.minecraft.src;
 
public class mod_hoge extends BaseMod{
 
    public static Block oreHoge,p2,p3;
    public int blockID;
    public String fileToOverride;
    public String textureFilePath;
    public mod_hoge()
    {
    }
    public void load()
    {
       blockID = 200;
       fileToOverride = "/terrain.png";
       textureFilePath = "/block/hoge.png";
/*
     BlockHogeクラスから新規BlockのIDとテクスチャファイルを指定
     blockID:追加するBlockのIDを指定 ここでは120として定義
     fileToOverride:GUIインベントリを使用しない場合は"/terrain.png"
             GUIインベントリを使用する場合は"/gui/items.png"
     textureFilePath:テクスチャの参照ファイルパスを指定
    */
       oreHoge = new BlockHoge(blockID, ModLoader.addOverride(fileToOverride, textureFilePath));
/*
     setHardness:対象Blockの硬さをFloatで指定 デフォルトは3F
    */
       oreHoge.setHardness(3F);
/*
     setBlockName:対象Blockの名前を指定
    */
       oreHoge.setBlockName("oreHoge");
/*
     setResistance:対象Blockの爆破耐性をFloatで指定 デフォルトは5F
    */
       oreHoge.setResistance(5F);
/* setStepSound:対象Blockの上を歩いた際の音を指定
     下記では石の上を歩いた場合と同じ音を参照
    */
       oreHoge.setStepSound(Block.soundStoneFootstep);
       oreHoge.setLightValue(1.0F);
/*
     ModLoader.registerBlock:指定したBlockデータを登録します。
    */
       ModLoader.registerBlock(oreHoge);
       ModLoader.addRecipe(new ItemStack(oreHoge, 1), new Object[] { "XXX",
          Character.valueOf('X'), Block.glowStone });
/*       
     ModLOader.addName:Minecraftで表示させるBlockの名前を指定
    */
        ModLoader.addName(oreHoge, "プレゼントブロック1");

    }
    public String getVersion()
    {
            return "1.0.0";
         


        }
     
   


//2個目BLOCK


    {
       blockID = 201;
       fileToOverride = "/terrain.png";
       textureFilePath = "/block/p2.png";
    /*
     BlockHogeクラスから新規BlockのIDとテクスチャファイルを指定
     blockID:追加するBlockのIDを指定 ここでは120として定義
     fileToOverride:GUIインベントリを使用しない場合は"/terrain.png"
             GUIインベントリを使用する場合は"/gui/items.png"
     textureFilePath:テクスチャの参照ファイルパスを指定
    */
       p2 = new BlockHoge(blockID, ModLoader.addOverride(fileToOverride, textureFilePath));
    /*
     setHardness:対象Blockの硬さをFloatで指定 デフォルトは3F
    */
       p2.setHardness(3F);
    /*
     setBlockName:対象Blockの名前を指定
    */
       p2.setBlockName("p2");
    /*
     setResistance:対象Blockの爆破耐性をFloatで指定 デフォルトは5F
    */
       p2.setResistance(5F);
    /* setStepSound:対象Blockの上を歩いた際の音を指定
     下記では石の上を歩いた場合と同じ音を参照
    */
       p2.setStepSound(Block.soundStoneFootstep);
       p2.setLightValue(1.0F);
    /*
     ModLoader.registerBlock:指定したBlockデータを登録します。
    */
       ModLoader.registerBlock(p2);
       ModLoader.addRecipe(new ItemStack(p2), new Object[] { "Y Y",
                                                            " X ",
                                                            "Y Y",
          Character.valueOf('X'), Block.cake , Character.valueOf('Y'), Block.cloth});
    /*       
     ModLOader.addName:Minecraftで表示させるBlockの名前を指定
    */
        ModLoader.addName(p2, "プレゼントブロック2");

    }

 
//3個目ブロック
{
   blockID = 202;
   fileToOverride = "/terrain.png";
   textureFilePath = "/block/p3.png";
/*
 BlockHogeクラスから新規BlockのIDとテクスチャファイルを指定
 blockID:追加するBlockのIDを指定 ここでは120として定義
 fileToOverride:GUIインベントリを使用しない場合は"/terrain.png"
         GUIインベントリを使用する場合は"/gui/items.png"
 textureFilePath:テクスチャの参照ファイルパスを指定
*/
   p3 = new BlockHoge(blockID, ModLoader.addOverride(fileToOverride, textureFilePath));
/*
 setHardness:対象Blockの硬さをFloatで指定 デフォルトは3F
*/
   p3.setHardness(3F);
/*
 setBlockName:対象Blockの名前を指定
*/
   p3.setBlockName("p3");
/*
 setResistance:対象Blockの爆破耐性をFloatで指定 デフォルトは5F
*/
   p3.setResistance(5F);
/* setStepSound:対象Blockの上を歩いた際の音を指定
 下記では石の上を歩いた場合と同じ音を参照
*/
   p3.setStepSound(Block.soundStoneFootstep);
   p3.setLightValue(1.0F);
/*
 ModLoader.registerBlock:指定したBlockデータを登録します。
*/
    ModLoader.addRecipe(new ItemStack(p3,1),
             new Object[]{"XZX","ZYZ","XZX",
             Character.valueOf('X'),Block.cloth,Character.valueOf('Y'),Block.cake,Character.valueOf('Z'),Item.appleRed});
/* 
 ModLOader.addName:Minecraftで表示させるBlockの名前を指定
*/
    ModLoader.addName(p3, "プレゼントブロック3");

}



    }
 



回答お願いします
サーバー開いてました。
いおサーバー!
画像
http://forum.minecraftuser.jp/viewtopic.php?f=26&t=7263
プラグイン作ってみたい
iokonkon
ID:46533e0c
石掘り
 
記事: 70
登録日時: 2012年10月19日(金) 20:20

  • (PostNo.74053)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by takanasayo » 2013年1月17日(木) 03:32

iokonkon さんが書きました:ブロックの追加はできたんですが(hoge)
それ以降のブロック2とブロック3ができません。
クラッシュなどはしないのですが
レシピに追加?などが出来ていません

まずはJavaの文法からちゃんと勉強しましょう。
追加されないのは「当たり前」です。
あなたがそういう風に書いています。
Javaの基本についての質問はフォーラムの範囲を超えていますので、ネットなどでご自分で習得してください。
アバター
takanasayo
ID:0269d120
ラピスラズリ収集家
 
記事: 954
登録日時: 2012年7月26日(木) 04:00
お住まい: 石の中にいる

  • (PostNo.74079)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by 迷路色 » 2013年1月17日(木) 12:06

迷路色 さんが書きました:Ubuntu12.10でMOD制作を始めたのですが、
ちょっとソースを書いてMCPのstartclient.shを実行し、
試してみようと思ったところ、Linuxだとキー入力を受け付けません
どうすればいいでしょうか?
インプットメソッドがIBusで、これを切ればいいのですが、毎回切るのは
面倒くさいのでいい方法はないでしょうか?


自己解決しました
startclient.shにXMODIFIERS= padspを付け加えたらできました
迷路色
ID:30470b4c
水から上がったとこ
 
記事: 2
登録日時: 2013年1月16日(水) 14:25

  • (PostNo.74257)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by iokonkon » 2013年1月18日(金) 18:21

takanasayo さんが書きました:
iokonkon さんが書きました:ブロックの追加はできたんですが(hoge)
それ以降のブロック2とブロック3ができません。
クラッシュなどはしないのですが
レシピに追加?などが出来ていません

まずはJavaの文法からちゃんと勉強しましょう。
追加されないのは「当たり前」です。
あなたがそういう風に書いています。
Javaの基本についての質問はフォーラムの範囲を超えていますので、ネットなどでご自分で習得してください。

そうですか、、、
もうちょっと頑張ってみます・・・。
Σ(゚д゚lll)......
サーバー開いてました。
いおサーバー!
画像
http://forum.minecraftuser.jp/viewtopic.php?f=26&t=7263
プラグイン作ってみたい
iokonkon
ID:46533e0c
石掘り
 
記事: 70
登録日時: 2012年10月19日(金) 20:20

  • (PostNo.74446)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by Takken » 2013年1月19日(土) 15:20

質問させていただきます。
1.4.7でForgeバージョン6.6.0.497でModdingしていて、ロボットを追加したいと思い、
とりあえず練習にとゾンビとほとんど同じMOBの追加を試みているのですが、うまくいきません。
たくさんのサイトなどを見て回ってできるとこまでやったのですが、最新版の情報が少なく
、手さぐりでソースを書いていて、プロキシシステムで詰まってしまいました。
どなたかご教授お願いします。
Minecraft has crashed!
----------------------

Minecraft has stopped running because it encountered a problem; Failed to start game

A full error report has been saved to D:\forge1.4.7\mcp\jars\.\crash-reports\crash-2013-01-19_15.16.43-client.txt - Please include a copy of that file (Not this screen!) if you report this crash to anyone; without it, they will not be able to help fix the crash :(



--- BEGIN ERROR REPORT 8f44b77c --------
Full report at:
D:\forge1.4.7\mcp\jars\.\crash-reports\crash-2013-01-19_15.16.43-client.txt
Please show that file to Mojang, NOT just this screen!

Generated 13/01/19 15:16

-- System Details --
Details:
Minecraft Version: 1.4.7
Operating System: Windows 7 (x86) version 6.1
Java Version: 1.7.0_11, Oracle Corporation
Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
Memory: 836388632 bytes (797 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Suspicious classes: FML and Forge are installed
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v7.26 FML v4.7.4.520 Minecraft Forge 6.6.0.497 4 mods loaded, 4 mods active
mcp [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed
FML [Forge Mod Loader] (coremods) Unloaded->Constructed
Forge [Minecraft Forge] (coremods) Unloaded->Constructed
ItemsMod-Takken's [ItemsMod] (bin) Unloaded->Errored
LWJGL: 2.4.2
OpenGL: Intel(R) HD Graphics Family GL version 3.1.0 - Build 8.15.10.2509, Intel
Is Modded: Definitely; Client brand changed to 'forge,fml'
Type: Client (map_client.txt)
Texture Pack: Default
Profiler Position: N/A (disabled)
Vec3 Pool Size: ~~ERROR~~ NullPointerException: null

cpw.mods.fml.common.LoaderException: java.lang.ClassNotFoundException: mods.ItemsMod.client.ClientProxy
at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:69)
at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:462)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:140)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:83)
at cpw.mods.fml.common.Loader.loadMods(Loader.java:479)
at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:161)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:410)
at net.minecraft.client.MinecraftAppletImpl.startGame(MinecraftAppletImpl.java:44)
at net.minecraft.client.Minecraft.run(Minecraft.java:744)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: mods.ItemsMod.client.ClientProxy
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:185)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at cpw.mods.fml.common.ModClassLoader.loadClass(ModClassLoader.java:57)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at cpw.mods.fml.common.ProxyInjector.inject(ProxyInjector.java:52)
... 27 more
Caused by: java.lang.NoClassDefFoundError: mods/ItemsMod/client/ClientProxy (wrong name: mods/ItemsMod/Client/ClientProxy)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:174)
... 33 more
--- END ERROR REPORT 53f8fe10 ----------

コード: 全て選択
package mods.ItemsMod;
 
import java.util.logging.Level;

import net.minecraft.src.*;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.world.biome.BiomeGenBase;
 
import net.minecraftforge.common.Configuration;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.Property;
 
import cpw.mods.fml.common.FMLLog;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.network.NetworkRegistry;
 
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
 
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.common.registry.EntityRegistry;
 
@Mod(
   modid = "ItemsMod-Takken's",
   name  = "ItemsMod",
   version = "1.4.7"
)
@NetworkMod(
   clientSideRequired = true,
   serverSideRequired = false
)
public class ItemsMod
{
   @SidedProxy(clientSide = "mods.ItemsMod.client.ClientProxy", serverSide = "mods.ItemsMod.CommonProxy")
   public static CommonProxy proxy;
   
   @Mod.Instance("ItemsMod")
   public static ItemsMod instance;

   public static final CreativeTabs Modtabs = new ModTabTakkens("Takken's Item");
   
   public static Item GNSword;
   public static Item ItemEdge;
   
   public int GNSwordID;
   public int ItemEdgeID;
   public int ROBOTTO_ID;
 
   @Mod.PreInit
   public void preInit(FMLPreInitializationEvent event)
   {
      Configuration cfg = new Configuration(event.getSuggestedConfigurationFile());
      try
      {
         cfg.load();
         Property Edge_P  = cfg.getItem("φ's_Edge",4002);
         Property GNSword_P = cfg.getItem("SampleItem",4003);
         Property ROBOTTO_P =cfg.get("ROBOTTO",Configuration.CATEGORY_GENERAL,240);
               
         Edge_P.comment   = "φ's Edge's ID";
         GNSword_P.comment  = "GNSword's ID";
         ROBOTTO_P.comment = "ROBOTTO's ID";
         ItemEdgeID  = Edge_P.getInt();
         GNSwordID = GNSword_P.getInt();
         ROBOTTO_ID = ROBOTTO_P.getInt();
      }
      catch (Exception e)
      {
         FMLLog.log(Level.SEVERE,e,"Error Message");
      }
      finally
      {
         cfg.save();
      }
   }
 
   @Mod.Init
   public void init(FMLInitializationEvent event)
   {
      ItemEdge  = new ItemEdge(ItemEdgeID).setIconCoord(0,0).setItemName("Edge").setCreativeTab(Modtabs);
      GNSword = new Item_GNSword(GNSwordID).setIconCoord(0,1).setItemName("GNSword").setCreativeTab(Modtabs);
      
      LanguageRegistry.addName(GNSword,"GN_Sword");
      LanguageRegistry.instance().addNameForObject(GNSword, "ja_JP","GNソード");
 
      LanguageRegistry.addName(ItemEdge,"φ's_Edge");
      LanguageRegistry.instance().addNameForObject(ItemEdge,"ja_JP","φ's_Edge");
 
      GameRegistry.addShapelessRecipe(
         new ItemStack(ItemEdge, 1),
            new Object[]
            {
               Block.stone
            });
 
      GameRegistry.addShapelessRecipe(
         new ItemStack(GNSword, 1),
            new Object[]
            {
               Block.stone, Block.stone
            });

      EntityRegistry.registerGlobalEntityID(Entity_ROBOTTO.class, "ROBOTTO_1", ROBOTTO_ID, 0xFFFFFF, 0x000000);
      EntityRegistry.registerModEntity(Entity_ROBOTTO.class,"ROBOTTO_1",0,this,250,5,true);
      EntityRegistry.addSpawn(Entity_ROBOTTO.class, 20, 1, 4, EnumCreatureType.monster, BiomeGenBase.plains);
      proxy.registerRenderers();
      LanguageRegistry.instance().addStringLocalization("entity.sample.name", "en_US", "ROBOTTO_1");
      
      MinecraftForge.EVENT_BUS.register(new SwordPulus());
   }
}

コード: 全て選択
package mods.ItemsMod;

import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.world.World;

public class Entity_ROBOTTO extends EntityZombie
{

   public Entity_ROBOTTO(World par1World) {
      super(par1World);
   }
}

コード: 全て選択
package mods.ItemsMod.Client;

import net.minecraft.src.*;

import mods.ItemsMod.CommonProxy;
import mods.ItemsMod.Entity_ROBOTTO;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.model.ModelZombie;
import net.minecraft.client.renderer.entity.RenderBiped;
import cpw.mods.fml.client.registry.RenderingRegistry;

@SideOnly(Side.CLIENT)
public class ClientProxy extends CommonProxy
{
   public void registerRenderers()
   {
      RenderingRegistry.registerEntityRenderingHandler(Entity_ROBOTTO.class, new RenderBiped(new ModelZombie(), 0.5F));
   }
}

コード: 全て選択
package mods.ItemsMod;

public class CommonProxy
{
   public void registerRenderers()
   {
   }
}
アバター
Takken
ID:6643f4c1
石掘り
 
記事: 80
登録日時: 2012年7月19日(木) 01:15

  • (PostNo.74454)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by FirstSpring » 2013年1月19日(土) 15:41

Takken さんが書きました: 

MOD側のmods.ItemsMod.client.ClientProxyをmods.ItemsMod.Client.ClientProxyに変えてやってください。
Javaは大文字と小文字を区別するので注意が必要です。
FirstSpring
ID:5ab9d9c0
レッドストーン掘り
 
記事: 517
登録日時: 2012年10月12日(金) 23:14
お住まい: null

  • (PostNo.74457)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by Takken » 2013年1月19日(土) 15:49

FirstSpring さんが書きました:MOD側のmods.ItemsMod.client.ClientProxyをmods.ItemsMod.Client.ClientProxyに変えてやってください。
Javaは大文字と小文字を区別するので注意が必要です。

確かにクラスパスを間違えていました。直すとエラーが出なくなりました。
回答をくださりありがとうございました。
アバター
Takken
ID:6643f4c1
石掘り
 
記事: 80
登録日時: 2012年7月19日(木) 01:15

  • (PostNo.74579)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by Kutachu » 2013年1月20日(日) 02:29

初めまして、Techneを使用して単純なMOBを追加するMODを制作しようとしています。(ModLoaderを使用します。)eclipseは使用していません。
http://www.youtube.com/watch?v=gaKPUj-TWSA を見てソースを書き、 http://minecraftjp.info/modding/index.p ... C%E3%82%8B にてmcpの準備を致しました。
decompile後、C:\McRoot\src\minecraft\net\minecraft\srcへMODを追加するためのjavaファイルを4つと、C:\McRoot\jars\binのminecraft.jar内のmobフォルダ内へテクスチャを1つ入れ、recompileを実行してみましたが、以下のエラーが発生しました。

== ERRORS FOUND ==

src\minecraft\net\minecraft\src\ModelKutachu.java:112: エラー: クラス ModelBaseのメソッド setRotationAnglesは指定された型に適用できません。

super.setRotationAngles(f ,f1 ,f2 ,f3 ,f4 ,f5);
^

期待値: float,float,float,float,float,float,Entity
検出値: float,float,float,float,float,float
理由: 実引数リストと仮引数リストの長さが異なります
注意:入力ファイルの操作のうち、未チェックまたは安全ではないものがあります。
注意:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。
エラー1個
==================

ModelBase.javaを見てみると、public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) {} となっているために不都合が出ているのではないかと推測するまでは出来たのですが、Teckneを使った様々な動画やMOD制作ページを見てもExportしたjavaファイルはそのまま使っているようでどのように記述を変えて良いのか分かりませんでした。
ModelKutachu.java内の112行目で、適当にfloatの後にEntity entityなどを追加すればいいのでしょうか?教えていただきたいです。(ちなみに←をしたときは91行目のsetRotationAngles(f, f1, f2, f3, f4, f5);でエラーが発生しました。)
また、出来れば全体的に間違っている所が無いか、など見ていただけると嬉しいです。よろしくお願いします。
添付ファイル
errorKutachumod.zip
(2.89 KiB) ダウンロード数: 8 回
Kutachu
ID:e0cff06f
 

  • (PostNo.74582)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by ayamitsu » 2013年1月20日(日) 02:46

Techneで出力したソースは少し古いものです。
なので適宜引数をかえたりしなければなりません。
ModelBaseのクラスを参考にすればおそらくいけるかと思われます。
アバター
ayamitsu
ID:b4621cc3
ラピスラズリ収集家
 
記事: 1068
登録日時: 2011年8月10日(水) 19:04
お住まい: 琵琶湖の底らへん

  • (PostNo.74620)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by Kutachu » 2013年1月20日(日) 10:56

やはり少し古いものが出力されるのですね。
ModelBaseを参考に変えてみます、ありがとうございました!
Kutachu
ID:e0cff06f
 

  • (PostNo.75731)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by Takken » 2013年1月26日(土) 02:20

新規ブロックにおいて、6面で違うテクスチャを貼ることができたのですが、
かぼちゃのように向きを変えられません。どのような処理が必要なのでしょうか。
コード: 全て選択
//関係のありそうな関数を2つかぼちゃクラスから抜いてきました
package mods.ApplePlus;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;

public class BigApple extends Block
{
   public BigApple(int par1,int par2)
   {
      super(par1,102,Material.wood);
   }
   public int getBlockTextureFromSideAndMetadata(int par1, int par2)
   {
      if (par1 == 1)
      {
         return this.blockIndexInTexture;
      }
      else if (par1 == 0)
      {
         return this.blockIndexInTexture;
      }
      else
      {
         int var3 = this.blockIndexInTexture + 2 + 16;
            return par2 == 2 && par1 == 2 ? var3 : (par2 == 3 && par1 == 5 ? var3 : (par2 == 0 && par1 == 3 ? var3 : (par2 == 1 && par1 == 4 ? var3 : this.blockIndexInTexture + 16)));
        }
    }
   public int getBlockTextureFromSide(int par1)
   {
      return par1 == 1 ? this.blockIndexInTexture : (par1 == 0 ? this.blockIndexInTexture : (par1 == 3 ? this.blockIndexInTexture + 1 + 16 : this.blockIndexInTexture + 16));
   }
}

アバター
Takken
ID:6643f4c1
石掘り
 
記事: 80
登録日時: 2012年7月19日(木) 01:15

  • (PostNo.76147)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by FirstSpring » 2013年1月27日(日) 19:56

Takken さんが書きました: 

プレイヤーがブロックを設置した時にブロックのonBlockPlacedByメソッドが呼ばれます。
カボチャはここでメタデータをセットして向きを設定してます。(詳しくはBlockPumpkinを参照してください)
そしてTakkenさんのソースにもあるgetBlockTextureFromSideAndMetadataでメタデータからテクスチャを取得しています。
これを使えば向きが変わると思います。
FirstSpring
ID:5ab9d9c0
レッドストーン掘り
 
記事: 517
登録日時: 2012年10月12日(金) 23:14
お住まい: null

  • (PostNo.76177)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by Takken » 2013年1月27日(日) 21:29

FirstSpring さんが書きました:
Takken さんが書きました: 

プレイヤーがブロックを設置した時にブロックのonBlockPlacedByメソッドが呼ばれます。
カボチャはここでメタデータをセットして向きを設定してます。(詳しくはBlockPumpkinを参照してください)
そしてTakkenさんのソースにもあるgetBlockTextureFromSideAndMetadataでメタデータからテクスチャを取得しています。
これを使えば向きが変わると思います。

ありがとうございます。向きを変えることができました。
アバター
Takken
ID:6643f4c1
石掘り
 
記事: 80
登録日時: 2012年7月19日(木) 01:15

  • (PostNo.76470)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by kuronosu3327 » 2013年1月29日(火) 11:36

前回(ゲストの時)はありがとうございます!
イクリプスをミスって削除してからまた全く同じコードを打ったのですが;にエラーが出てしまいますどうすればいいですか?
コード: 全て選択
package net.minecraft.src; //MCPのパッケージを読み込む

public class mod_Tutorial extends BaseMod   //クラス本体 BaseMod(ModLoaderのMOD製作API)を継承
{
    public String getVersion()   //MODのバージョン
    {
        return "1.4.7";
    }

    public static Block Rareore;//Blockクラス型の変数を宣言します
    public static int blockID = 202; //ブロックIDを設定。既存IDとかぶらなければ何でも。

    public void load()   //ここで大体の処理を行います
    {
        Rareore = new BlockTutorial(blockID, 0).setBlockName("blockName").setHardness(3f);
        //BlockクラスのオブジェクトttrBlockを作る。
        ModLoader.registerBlock(Rareore); //ゲームに新しくブロックを登録する
        Rareore.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/ttr/ttr.png");
        //テクスチャを設定(ファイルパスについては後述)
        ModLoader.addName(Rareore, "希鉱石");//ゲーム内で表示する名前を設定
        ModLoader.addRecipe(new ItemStack(Rareore, 4),
                new Object[] { "CC", "CC",
                        'C', Block.glowStone

                             });
        //ブロックのレシピを設定(詳しいレシピの作り方は別のチュートリアルで)
        ModLoader.addSmelting(mod_Tutorial.Rareore.blockID, new ItemStack(Item.diamond, 1), 1.8F);

①public static int blockID = 202;
②ModLoader.addSmelting(mod_Tutorial.Rareore.blockID, new ItemStack(Item.diamond, 1), 1.8F);
赤字の部分にエラーがありイクリプスは
①構文エラーがあります。"}" を挿入して ClassBody を完了してください
②構文エラーがあります。"}" を挿入して MethodBody を完了してください
こういう風に直せといってるんですけどどうすればいいんですか
kuronosu3327
ID:1ec3c841
大工さん
 
記事: 66
登録日時: 2012年12月24日(月) 19:08
お住まい: SkyBlock

  • (PostNo.76473)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by FirstSpring » 2013年1月29日(火) 12:08

kuronosu3327 さんが書きました:

ソースの最後を}で閉じるのを忘れてますよ
FirstSpring
ID:5ab9d9c0
レッドストーン掘り
 
記事: 517
登録日時: 2012年10月12日(金) 23:14
お住まい: null

  • (PostNo.76474)

Re: 【総合】トピック立てるまでもない質問【Mod制作】

投稿記事by kuronosu3327 » 2013年1月29日(火) 12:14

FirstSpring さんが書きました:
kuronosu3327 さんが書きました:

ソースの最後を}で閉じるのを忘れてますよ

できましたですがいざマイクラを起動するとエラーが出ますイクリプスにはエラーは報告されていません
コード: 全て選択
package net.minecraft.src; //MCPのパッケージを読み込む

public class mod_Tutorial extends BaseMod   //クラス本体 BaseMod(ModLoaderのMOD製作API)を継承
{
    public String getVersion()   //MODのバージョン
    {
        return "1.4.7";
    }

    public static Block Rareore;//Blockクラス型の変数を宣言します
    public static int blockID = 202; //ブロックIDを設定。既存IDとかぶらなければ何でも。

    public void load()   //ここで大体の処理を行います
    {
        Rareore = new BlockTutorial(blockID, 0).setBlockName("blockName").setHardness(3f);
        //BlockクラスのオブジェクトttrBlockを作る。
        ModLoader.registerBlock(Rareore); //ゲームに新しくブロックを登録する
        Rareore.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/ttr/ttr.png");
        //テクスチャを設定(ファイルパスについては後述)
        ModLoader.addName(Rareore, "希鉱石");//ゲーム内で表示する名前を設定
        ModLoader.addRecipe(new ItemStack(Rareore, 4),
                new Object[] { "CC", "CC",
                        'C', Block.glowStone

                             });
        //ブロックのレシピを設定(詳しいレシピの作り方は別のチュートリアルで)
        ModLoader.addSmelting(mod_Tutorial.Rareore.blockID, new ItemStack(Item.diamond, 1), 1.8F);
//ここからはグロウストーンを作るためのレシピ(不定形型)
        ModLoader.addShapelessRecipe(new ItemStack(Block.glowStone, 1),
                new Object[]
                {
                    new ItemStack(Block.oreGold, 1), new ItemStack(Item.bucketLava, 1)
                });
    }
}
kuronosu3327
ID:1ec3c841
大工さん
 
記事: 66
登録日時: 2012年12月24日(月) 19:08
お住まい: SkyBlock

1つ前へ次へ

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

x