提供: Minecraft Modding Wiki
移動先: 案内検索
(解説)
(Registry)
 
(同じ利用者による、間の5版が非表示)
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
 
==ブロックの追加==
 
==ブロックの追加==
  
11行目: 13行目:
  
 
import net.fabricmc.api.ModInitializer;
 
import net.fabricmc.api.ModInitializer;
 +
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
 
import net.minecraft.item.Item;
 
import net.minecraft.item.Item;
 
import net.minecraft.block.Block;
 
import net.minecraft.block.Block;
26行目: 29行目:
  
 
         //ブロック作成
 
         //ブロック作成
         public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL).build());
+
         public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL));
  
 
         @Override
 
         @Override
90行目: 93行目:
 
</source>
 
</source>
 
==解説==
 
==解説==
 +
===Block===
 +
 
<source lang = "java">
 
<source lang = "java">
public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL).build());
+
public static final Block SAMPLE_BLOCK = new Block(FabricBlockSettings.of(Material.METAL));
 
</source>
 
</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">
 
<source lang = "java">
 
Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK);
 
Registry.register(Registry.BLOCK, new Identifier(MOD_ID, "sample_block"), SAMPLE_BLOCK);

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(その他)に登録。