新しいMODを公開。


そう、フェンスとフェンスゲートに使用した木材と同じ色がつくように(`・ω・)b
[ダウンロードはフォーラムへ]

ついでというか、棒(Stick)も使用した木材の色によって色が違う棒ができるように。
地味にこの色違いの棒を作るのに苦労しましたw
既にレシピが存在していたので、どの色の木材を使っても普通の棒ができるから・・・

なのでCraftingManagerからレシピの一覧を引っ張ってきて、既存の棒を作成するためのレシピを削除。
削除といっても、削除用のメゾットは用意されていないので自作。

棒のレシピを削除するサンプルは↓

List recipes = CraftingManager.getInstance().getRecipeList();
for (int i=0;i<recipes.size();i++) {
    ShapedRecipes recipe = null;
    try {
        recipe = (ShapedRecipes)recipes.get(i);
    } catch (Exception e) {
        continue;
    }
 
    ItemStack itemstack = recipe.getRecipeOutput();
    if (itemstack.itemID == 280) {
        recipes.remove(i);
        break;
    }
}

いやー短いコードww
ItemStackの所で参照する部分を間違えていたので、それに気づくのに30分以上かかりましたw

MinecraftのMODを作ってる方ならわかると思いますが、itemstack.itemID == 280の式があるところで削除しています。
棒のIDは24だけど、アイテムなのでID+256で280。

関連するかもしれない記事



トラックバックURL


スパム対策のためトラックバックURLを動的に生成しています。
生成されるトラックバックURLはコンテンツURLと紐付けされますので、コンテンツURLで指定したサイト以外では使用できませんのでご注意ください。
トラックバックの注意事項などの詳しい説明は About ページを閲覧してください。
「コンテンツURL」を入力し「URL生成」ボタンを押してください。
トラックバックを送る際はあなたの記事やコンテンツにこの記事のURLを書くかリンクしておいてください。
URLがない場合はスパムとして削除され以降の全トラックバックは拒否されます。
  • コメント
  • ピンバック/トラックバック
  1. 1267
    comment
    0
    0
    ARID: ea7kFun6TI.2c
    2013/04/24 (水曜日) 17:44:51返信

    削除のコードですが
    int count = 0;
    for (ShapedRecipes var1 : (ShapedRecipes[])CraftingManager.getInstance().getRecipeList().toArray()) {
    if (var1.getRecipeOutput().itemID == 280){
    CraftingManager.getInstance().getRecipeList().remove(count);
    break;
    }
    count++;
    }
    こうでもよかったのでは?と思うのですがどうでしょうかね

    • 1268
      comment
      0
      0
      れいまID: -
      2013/04/24 (水曜日) 19:23:06

      こんな書き方もあるんですねー

      余計な変数を使わなくて良いのでスッキリしていい感じです。
      参考になりました。


コメントを残す

メールアドレスは公開されません、また は必須項目です。
このブログに初めてコメントする方は こちら をご覧ください。


画像認証は待機中です、先にコメント本文を入力して下さい。

コメントを送信しています、しばらくお待ち下さい...
(Akismetスパムデータベース及びブラックリストへの照会を行っています)


キャンセルをした場合でもコメント投稿が完了している場合があります