提供: Minecraft Modding Wiki
移動先: 案内検索
(ページの作成:「{{前提MOD|reqmod="Fabric API 0.3.2 build 230~"}} {{チュートリアル難易度|difficulty=0|clear=none}} {{チュートリアルカテゴリー|difficulty=0|type=B…」)
 
(Registry)
 
(同じ利用者による、間の13版が非表示)
2行目: 2行目:
 
{{チュートリアル難易度|difficulty=0|clear=none}}
 
{{チュートリアル難易度|difficulty=0|clear=none}}
 
{{チュートリアルカテゴリー|difficulty=0|type=Block}}
 
{{チュートリアルカテゴリー|difficulty=0|type=Block}}
<p>ワールド上に設置できる簡単な無機能ブロックの追加方法</p>
+
ワールド上に設置できる簡単な無機能ブロックの追加方法
 +
 
 +
動作確認済みのバージョン:1.14~1.16.3
 
==ブロックの追加==
 
==ブロックの追加==
  
 
===ソースコード===
 
===ソースコード===
 +
*SampleMod.java
 +
<source lang = "java">
 +
package com.example.block;
 +
 +
import net.fabricmc.api.ModInitializer;
 +
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
 +
import net.minecraft.item.Item;
 +
import net.minecraft.block.Block;
 +
import net.minecraft.item.BlockItem;
 +
import net.minecraft.item.ItemGroup;
 +
import net.minecraft.util.Identifier;
 +
import net.minecraft.util.registry.Registry;
 +
 +
public class SampleMod implements ModInitializer
 +
    {
 +
        /**
 +
        * ModID文字列
 +
        */
 +
        public static final String MOD_ID = "samplemod";
 +
 +
        //ブロック作成
 +
        public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL));
 +
 +
        @Override
 +
        public void onInitialize()
 +
        {
 +
            //ブロック登録
 +
            Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK);
 +
            //ブロックアイテムの登録
 +
            Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC)));
 +
 +
        }
 +
    }
 +
}
 +
</source>
 +
===ソースコード2===
 +
*SampleBlock.java
 +
<source lang = "java">
 +
package com.example.block;
 +
 +
import net.minecraft.block.Block;
 +
 +
public class SampleBlock extends Block
 +
{
 +
    public SampleBlock(Settings settings)
 +
    {
 +
        super(settings);
 +
    }
 +
}
 +
</source>
 
*SampleMod.java
 
*SampleMod.java
 
<source lang = "java">
 
<source lang = "java">
26行目: 78行目:
  
 
         //ブロック作成
 
         //ブロック作成
         public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL).build());
+
         public static final Block SAMPLE_BLOCK = new SampleBlock(FabricBlockSettings.of(Material.METAL).build());
  
 
         @Override
 
         @Override
40行目: 92行目:
 
}
 
}
 
</source>
 
</source>
 +
==解説==
 +
===Block===
 +
 +
<source lang = "java">
 +
public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL));
 +
</source>
 +
素材を金属として設定。
 +
ブロックを作成。
 +
「hardness(3f)」で硬さを指定
 +
「resistance(5f)」で爆発耐性を設定
 +
「breakByTool(FabricToolTags.PICKAXES,1)」で破壊するツールを設定、採掘レベルを指定
 +
====例====
 +
<source lang = "java">
 +
public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL).hardness(3.0F).resistance(5.0F).breakByTool(FabricToolTags.AXES,2));
 +
</source>
 +
===Registry===
 +
<source lang = "java">
 +
Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK);
 +
Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC)));
 +
</source>
 +
ブロックIDとアイテムIDの登録。
 +
ブロックをアイテムとしてクリエイティブタグ、ItemGroup.MISC(その他)に登録。

2020年10月12日 (月) 22:41時点における最新版

この記事は"Fabric API 0.3.2 build 230~"を前提MODとしています。

Wood pickaxe.png
初心者向けのチュートリアルです。
C block.png
Blockに関係のあるチュートリアルです。

ワールド上に設置できる簡単な無機能ブロックの追加方法

動作確認済みのバージョン:1.14~1.16.3

ブロックの追加[編集]

ソースコード[編集]

  • SampleMod.java
package com.example.block;

import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.item.Item;
import net.minecraft.block.Block;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemGroup;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;

public class SampleMod implements ModInitializer
    {
        /**
         * ModID文字列
         */
        public static final String MOD_ID = "samplemod";

        //ブロック作成
        public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL));

        @Override
        public void onInitialize()
        {
            //ブロック登録
            Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK);
            //ブロックアイテムの登録
            Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC)));

        }
    }
}

ソースコード2[編集]

  • SampleBlock.java
package com.example.block;

import net.minecraft.block.Block;

public class SampleBlock extends Block
{
    public SampleBlock(Settings settings)
    {
        super(settings);
    }
}
  • SampleMod.java
package com.example.block;

import net.fabricmc.api.ModInitializer;
import net.minecraft.item.Item;
import net.minecraft.block.Block;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemGroup;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;

public class SampleMod implements ModInitializer
    {
        /**
         * ModID文字列
         */
        public static final String MOD_ID = "samplemod";

        //ブロック作成
        public static final Block SAMPLE_BLOCK = new SampleBlock(FabricBlockSettings.of(Material.METAL).build());

        @Override
        public void onInitialize()
        {
            //ブロック登録
            Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK);
            //ブロックアイテムの登録
            Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC)));

        }
    }
}

解説[編集]

Block[編集]

public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL));

素材を金属として設定。 ブロックを作成。 「hardness(3f)」で硬さを指定 「resistance(5f)」で爆発耐性を設定 「breakByTool(FabricToolTags.PICKAXES,1)」で破壊するツールを設定、採掘レベルを指定

[編集]

public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL).hardness(3.0F).resistance(5.0F).breakByTool(FabricToolTags.AXES,2));

Registry[編集]

Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK);
Registry.register(Registry.ITEM, new Identifier(MOD_ID, "sample_block"), new BlockItem(SAMPLE_BLOCK, new Item.Settings().group(ItemGroup.MISC)));

ブロックIDとアイテムIDの登録。 ブロックをアイテムとしてクリエイティブタグ、ItemGroup.MISC(その他)に登録。