minecraft1.12.2 レシピ削除について

Modやプラグインの制作/開発に関する質問はこちらへどうぞ。
Asphere
リアクション:
記事: 1
登録日時: 2019年9月13日(金) 18:35
Minecraft ID: Asphere103

minecraft1.12.2 レシピ削除について

投稿記事 by Asphere » 2019年9月13日(金) 18:39

いつも使っていたフォーラムが閲覧できなくなっていたので質問します。
今1.12.2でmodを製作中なのですが、既存のレシピ(minecraftバニラに存在しているレシピ)の削除はできないのでしょうか。
かまどで鉄鉱石を焼いた時鉄インゴットがでなくなるようにしたいです。
よろしくおねがいします。



アバター
menndouyukkuri
リアクション:
記事: 51
登録日時: 2019年8月13日(火) 06:16
Minecraft ID: menndouyukkuri
連絡する:

Re: minecraft1.12.2 レシピ削除について

投稿記事 by menndouyukkuri » 2019年9月17日(火) 18:33

MOD製作、それも1.12.2となるとそれ自体は全然わかりませんが、Minecraft非公式日本ユーザーフォーラムの各トピックははかなりの率でWayback Machineに保存されていました。
書き込みはもうできませんが、閲覧だけならいつものURLの先頭(httpより前)に

コード: 全て選択

https://web.archive.org/web/20190715130350/
とつけてやればできるかもしれません。
最後に編集したユーザー menndouyukkuri [ 2019年10月12日(土) 15:49 ], 累計 1 回
どこにでもいそうな 感覚マヒを起こしつつあるマイクラプレイヤー。
自己満足のために投稿してる吹けば飛ぶような動画投稿者。
画像
トピック:
[1.7.10 他]MOD等の日本語化langファイルの配布 2019/09/15更新:Traincraft追加!
Minecraft非公式日本ユーザーフォーラム(旧フォーラム)を閲覧する方法

アバター
noriokun4649
リアクション:
記事: 2
登録日時: 2019年9月17日(火) 09:09
Minecraft ID: noriokun4649
連絡する:

Re: minecraft1.12.2 レシピ削除について

投稿記事 by noriokun4649 » 2019年9月21日(土) 05:31

コード: 全て選択

    @Mod.EventHandler
    public void postInit(FMLPostInitializationEvent event) {
        ItemStack result;
        ItemStack iron = new ItemStack(Items.IRON_INGOT, 1, 0);
        ItemStack iron_ore = new ItemStack(Blocks.IRON_ORE, 1, 32767);
        Map<ItemStack, ItemStack> recipes = FurnaceRecipes.instance().getSmeltingList();
        Iterator<ItemStack> interator = recipes.keySet().iterator();
        while (interator.hasNext())
        {
            ItemStack recipe = interator.next();
            result = recipes.get(recipe);
            if (ItemStack.areItemStacksEqual(iron, result) && ItemStack.areItemStacksEqual(iron_ore,recipe))
            {
                interator.remove();
            }
        }
    }
こんな感じでどうでしょう。
FurnaceRecipesからかまどレシピのインスタンス取得して、レシピのリストを取得。
ItemStackの比較は難しいので、イテレータを使ってItemStackのStaticメソッドのareItemStacksEqualを使って、
かまどレシピの素材が鉄鉱石で、結果が鉄インゴットなものだけレシピ削除みたいな感じです。
質問した問題を解決に導いてくれた人には感謝の気持ちを忘れずに・・・・・・
フォーラムでの活動をまともにするかは不明。需要のなさそうなMod作ったりしてます。

返信する