[1.10.2]アイテムの耐久値を燃焼可能回数として扱う方法(Forge)

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

[1.10.2]アイテムの耐久値を燃焼可能回数として扱う方法(Forge)

投稿記事by Acylaston » 2016年10月14日(金) 20:09

件名の通りですが、アイテムの耐久値を燃焼可能回数として扱うにはどのようにすればよいでしょうか、
かなり古いトピック(製品版1.4.x)を参考にコーディングしました。
アイテムとレシピを登録するのは成功して、今は一つの耐久値を消耗して一つの精錬をできるようにしようとしていますが、どうしても燃料化(かまどの下にも入れられない……。)がうまくいきません。
ご教授をください。

追伸 : Minecraft のソースコードをどうやったら見れるのかも教えてくれると助かります。

"SF_Solidfuel.java"
コード: 全て選択
public class SF_SolidFuel extends Item implements IFuelHandler{

   public SF_SolidFuel(int Timer,String Name){
      super();
      this.setMaxDamage(Timer);
      this.setMaxStackSize(1);
      this.setUnlocalizedName(Name);
   }

   @Override
   public int getBurnTime(ItemStack fuel) {
      if(### ここに何か書かなきゃいけないけどそのメソッドがなかった……。 ###){
         return 200;
      }else{
         return 0;
      }
   }

   public ItemStack getContainerItemStack(ItemStack fuel){
      if(fuel.getItemDamage() <= fuel.getMaxDamage()){
         fuel.setItemDamage(fuel.getItemDamage() + 1);
         fuel.stackSize = 1;
         return fuel;
      }else{
         return new ItemStack(this.getContainerItem());
      }
   }

}


"SFItemInit.java"
コード: 全て選択
public class SFItemInit {

   public static Item SFuel;
   public static Item Container;

   public static void ItemInit(){
      ItemStruction();
      ItemRecipe();
      ItemRegister();
   }

   private static void ItemStruction(){
      SFuel = new SF_SolidFuel(64, "SolidFuel").setCreativeTab(CreativeTabs.MATERIALS).setContainerItem(Container);
      Container = new Item().setCreativeTab(CreativeTabs.MATERIALS).setMaxStackSize(64).setUnlocalizedName("Container");
   }

   private static void ItemRegister(){
      GameRegistry.register(SFuel, new ResourceLocation(SolidFuel.ModID, "SolidFuel"));
      GameRegistry.register(Container, new ResourceLocation(SolidFuel.ModID, "Container"));
   }

   private static void ItemRecipe(){
      GameRegistry.addShapelessRecipe(new ItemStack(Container),
         new ItemStack(Items.IRON_INGOT)
         );

      GameRegistry.addRecipe(new ItemStack(SFuel),
            "AAA",
            "ABA",
            "AAA",
            'A', new ItemStack(Items.COAL),
            'B', new ItemStack(Container)
            );
   }
}
Acylaston
ID:0155cb6e
木を殴ってる
 
記事: 15
登録日時: 2015年10月24日(土) 08:57

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

x