ゆにゅbの~と

不定期更新

EBIMOD開発日記1【Minecraft MOD】

春休みですが、外出もできずに、することないので、MinecraftのMODを開発することにしました。内容は最近流行りの「お前はエビ」の影響を受けたものとなります。まだ公開できるほどの内容ではないですが、いずれ機能が充実してきたら公開する予定です。 いつ完成するんだろう?最近原神にはまってるので、完成する気がしません。

スクリーンショット

f:id:yzzytan:20210213005848p:plain

f:id:yzzytan:20210213010511p:plain
エビ(食べられる)
f:id:yzzytan:20210213005301p:plain
エビブロックの家
f:id:yzzytan:20210213005113p:plain
エビとエビブロック

絵のセンスが絶望的……

環境

Minecraft1.12.2 foege

MOD開発講座 | TNT Modders

基本的に環境構築から、MODの開発までこのサイトの通りにやりました。

今後の予定

  • 効果音(お前はエビ)の追加

  • テクスチャーの改善 絵が描けないよ……

  • バニラのアイテムからクラフトできるようにレシピ構成

  • エビ料理の追加

  • エビブロックの機能追加

メインのコード

こんな感じでアイテムやブロックを登録するようです。(EbiMod.java)

package com.ebi.youare;

import net.minecraft.block.Block;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLConstructionEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

@Mod(modid = "ebimod", version = "0.1", name = "EbiMod", acceptedMinecraftVersions = "1.12.2")
public class EbiMod {
    public static final Item EBI = new ItemEbi();
    public static final Block OMAEBI = new BlockOmaebi();

    @Mod.EventHandler
    public void construct(FMLConstructionEvent event)
    {
        MinecraftForge.EVENT_BUS.register(this);
    }

    @SubscribeEvent
    public void registerItems(RegistryEvent.Register<Item> event) {
        event.getRegistry().register(EBI);
        event.getRegistry().register(new ItemBlock(OMAEBI).setRegistryName("ebimod", "omaebi"));
    }

    @SubscribeEvent
    public void registerBlocks(RegistryEvent.Register<Block> event){
        event.getRegistry().register(OMAEBI);
    }

    @SubscribeEvent
    @SideOnly(Side.CLIENT)
    public void registerModels(ModelRegistryEvent event) {
        ModelLoader.setCustomModelResourceLocation(EBI, 0,
                new ModelResourceLocation(new ResourceLocation("ebimod", "ebi"), "inventory"));
        ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(OMAEBI), 0,
                new ModelResourceLocation(new ResourceLocation("ebimod", "omaebi"),"inventory"));
    }

}