创造Minecraft 1.14.4 Forge Mod-第四集【添加方块】
首先
Minecraft 1.14/1.14.3的Modding教程 – 基础方块
电脑开发环境ここでは環境は以下のようにします。
-
Windows 10
-
JDK 8u211
-
Minecraft 1.14.4
-
Minecraft Forge 1.14.4 (28.1.0)
IntelliJ IDEA 2019.1.4
定义一个区块我打算像上一次一样,在list文件夹中创建一个名为BlockList.java的文件,只写下块的声明。
这次我想要添加琵琶湖块,简称琵块。(这是什么)
package jp.yuyu.biwako_mod.lists;
import net.minecraft.block.Block;
public class BlockList {
public static Block BiwakoBlock;
}
ブロックの登録ブロックの登録と同時にパラメータの指定も行います。
今回のブロックにはMaterial.IRONを指定しましが、これは、
-
マッピングにおけるカラー(MaterialColor.IRON)
破壊にツールを必要とする
が指定されたMaterialです。他にもプロパティがあり、
-
ブロックが燃えるかどうか
-
ブロックがピストンなどで押すことができるかどうか
ブロックが雪や葉っぱのように半透明かどうか
などを指定したMaterialを自作することもできます。
詳しくはBasic blocks – Minecraft Modding Wiki、
net.minecraft.block.material.Material.javaに書かれています。
硬度指的是挖掘方块时的难度,抗爆指的是方块的抵抗爆炸的能力。
光亮数值在非零时可作为光源。可能的取值范围大概是0到15之间。
声音可以用来指定方块破坏时播放的音效。
@SubscribeEvent
public static void onBlocksRegistry(final RegistryEvent.Register<Block> blockRegistryEvent) {
LOGGER.info("HELLO from Register Block");
blockRegistryEvent.getRegistry().registerAll(
BlockList.BiwakoBlock = new Block(Block.Properties.create(Material.IRON)
.hardnessAndResistance(2.0f, 3.0f)
.lightValue(5)
.sound(SoundType.METAL))
.setRegistryName(new ResourceLocation(MOD_ID, "biwako_block"))
);
}
アイテムの宣言
ブロックはブロックとして存在するのは当たり前ですが、アイテムとしても存在するため
同様に登録する必要があります。
package jp.yuyu.biwako_mod.lists;
import net.minecraft.item.Item;
public class ItemList {
public static Item BiwakoIngot;
public static Item BiwakoBlock;
}
アイテムの登録ブロックの場合はBlockItemクラスのインスタンスを登録します。
引数には、対応するBlock型のメンバ、クリエイティブタブのプロパティを渡します。
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public static class RegistryEvents {
@SubscribeEvent
public static void onItemsRegistry(final RegistryEvent.Register<Item> itemRegistryEvent) {
LOGGER.info("HELLO from Register Item");
itemRegistryEvent.getRegistry().registerAll(
ItemList.BiwakoIngot = new Item(new Item.Properties().group(ItemGroup.MISC))
.setRegistryName(new ResourceLocation(MOD_ID, "biwako_ingot")),
ItemList.BiwakoBlock = new BlockItem(BlockList.BiwakoBlock, new Item.Properties().group(ItemGroup.MISC))
.setRegistryName(BlockList.BiwakoBlock.getRegistryName())
);
}
资源在方块的情况下,需要写入三个JSON文件。
由于是第一次,我们将添加基本纹理的方块。
创建文件夹
以下の3つのフォルダを作成します。
/src/main/resources/assets/biwako_mod/blockstates
/src/main/resources/assets/biwako_mod/models/block
/src/main/resources/assets/biwako_mod/textures/blocks
└─resources
│ logo.png
│ pack.mcmeta
│
├─assets
│ └─biwako_mod
│ ├─*blockstates
│ │ biwako_block.json
│ │
│ ├─lang
│ │ en_us.json
│ │ ja_jp.json
│ │
│ ├─models
│ │ ├─*block
│ │ │ biwako_block_model.json
│ │ │
│ │ └─item
│ │ biwako_block.json
│ │ biwako_ingot.json
│ │
│ └─textures
│ ├─*blocks
│ │ biwako_block.png
│ │
│ └─items
│ biwako_ingot.png
区块模型 (Qu móブロックの見た目のこと。
ビーコンのような複雑なテクスチャもblock modelで設定するようです。
RSランプのように点滅するブロックは、点灯時と消灯時のmodelをそれぞれ別で用意し、
次のblock statesで状態とblock modelを指定することで実装します。
今回は全面同じテクスチャのブロックとします。
テクスチャの配置場所は
/src/main/resources/assets/biwako_mod/textures/blocks/biwako_block.png
です。
json文件位于/src/main/resources/assets/biwako_mod/models/block/biwako_block_model.json。
{
"parent":"block/cube_all",
"textures":{"all":"biwako_mod:blocks/biwako_block"}
}
封锁各个州ブロックの状態に合わせてblock modelを指定します。
今回は状態が1つしかないブロックにするので、空欄にしておきます。
指定するmodelは上のblock modelで作成したjsonファイルの名前です。
将json文件放置在/src/main/resources/assets/biwako_mod/blockstates/biwako_block.json位置上。
{
"variants": {
"": { "model": "biwako_mod:block/biwako_block_model" }
}
}
物品模型最后设置项目的模型。
由于与方块的模型相同,因此请指定(json文件名)。
将json文件放置在/src/main/resources/assets/biwako_mod/models/item/biwako_block.json中。
{
"parent":"biwako_mod:block/biwako_block_model"
}
翻译文件
{
"item.biwako_mod.biwako_ingot": "Biwako Ingot",
"block.biwako_mod.biwako_block": "Biwako Block"
}
{
"item.biwako_mod.biwako_ingot": "琵ンゴット",
"block.biwako_mod.biwako_block": "琵ロック"
}
Minecraft的启动
我在Github上公开了项目。

电脑开发环境ここでは環境は以下のようにします。
-
Windows 10
- Windows 10
-
- JDK 8u211
-
- Minecraft 1.14.4
-
- Minecraft Forge 1.14.4 (28.1.0)
- IntelliJ IDEA 2019.1.4
定义一个区块我打算像上一次一样,在list文件夹中创建一个名为BlockList.java的文件,只写下块的声明。
这次我想要添加琵琶湖块,简称琵块。(这是什么)
package jp.yuyu.biwako_mod.lists;
import net.minecraft.block.Block;
public class BlockList {
public static Block BiwakoBlock;
}
ブロックの登録ブロックの登録と同時にパラメータの指定も行います。
今回のブロックにはMaterial.IRONを指定しましが、これは、
-
マッピングにおけるカラー(MaterialColor.IRON)
package jp.yuyu.biwako_mod.lists;
import net.minecraft.block.Block;
public class BlockList {
public static Block BiwakoBlock;
}
今回のブロックにはMaterial.IRONを指定しましが、これは、
-
- マッピングにおけるカラー(MaterialColor.IRON)
- 破壊にツールを必要とする
が指定されたMaterialです。他にもプロパティがあり、
-
- ブロックが燃えるかどうか
-
- ブロックがピストンなどで押すことができるかどうか
- ブロックが雪や葉っぱのように半透明かどうか
などを指定したMaterialを自作することもできます。
詳しくはBasic blocks – Minecraft Modding Wiki、
net.minecraft.block.material.Material.javaに書かれています。
硬度指的是挖掘方块时的难度,抗爆指的是方块的抵抗爆炸的能力。
光亮数值在非零时可作为光源。可能的取值范围大概是0到15之间。
声音可以用来指定方块破坏时播放的音效。
@SubscribeEvent
public static void onBlocksRegistry(final RegistryEvent.Register<Block> blockRegistryEvent) {
LOGGER.info("HELLO from Register Block");
blockRegistryEvent.getRegistry().registerAll(
BlockList.BiwakoBlock = new Block(Block.Properties.create(Material.IRON)
.hardnessAndResistance(2.0f, 3.0f)
.lightValue(5)
.sound(SoundType.METAL))
.setRegistryName(new ResourceLocation(MOD_ID, "biwako_block"))
);
}
アイテムの宣言
ブロックはブロックとして存在するのは当たり前ですが、アイテムとしても存在するため
同様に登録する必要があります。
package jp.yuyu.biwako_mod.lists;
import net.minecraft.item.Item;
public class ItemList {
public static Item BiwakoIngot;
public static Item BiwakoBlock;
}
アイテムの登録ブロックの場合はBlockItemクラスのインスタンスを登録します。
引数には、対応するBlock型のメンバ、クリエイティブタブのプロパティを渡します。
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public static class RegistryEvents {
@SubscribeEvent
public static void onItemsRegistry(final RegistryEvent.Register<Item> itemRegistryEvent) {
LOGGER.info("HELLO from Register Item");
itemRegistryEvent.getRegistry().registerAll(
ItemList.BiwakoIngot = new Item(new Item.Properties().group(ItemGroup.MISC))
.setRegistryName(new ResourceLocation(MOD_ID, "biwako_ingot")),
ItemList.BiwakoBlock = new BlockItem(BlockList.BiwakoBlock, new Item.Properties().group(ItemGroup.MISC))
.setRegistryName(BlockList.BiwakoBlock.getRegistryName())
);
}
资源在方块的情况下,需要写入三个JSON文件。
由于是第一次,我们将添加基本纹理的方块。
创建文件夹
以下の3つのフォルダを作成します。
/src/main/resources/assets/biwako_mod/blockstates
/src/main/resources/assets/biwako_mod/models/block
/src/main/resources/assets/biwako_mod/textures/blocks
└─resources
│ logo.png
│ pack.mcmeta
│
├─assets
│ └─biwako_mod
│ ├─*blockstates
│ │ biwako_block.json
│ │
│ ├─lang
│ │ en_us.json
│ │ ja_jp.json
│ │
│ ├─models
│ │ ├─*block
│ │ │ biwako_block_model.json
│ │ │
│ │ └─item
│ │ biwako_block.json
│ │ biwako_ingot.json
│ │
│ └─textures
│ ├─*blocks
│ │ biwako_block.png
│ │
│ └─items
│ biwako_ingot.png
区块模型 (Qu móブロックの見た目のこと。
ビーコンのような複雑なテクスチャもblock modelで設定するようです。
RSランプのように点滅するブロックは、点灯時と消灯時のmodelをそれぞれ別で用意し、
次のblock statesで状態とblock modelを指定することで実装します。
package jp.yuyu.biwako_mod.lists;
import net.minecraft.item.Item;
public class ItemList {
public static Item BiwakoIngot;
public static Item BiwakoBlock;
}
引数には、対応するBlock型のメンバ、クリエイティブタブのプロパティを渡します。
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public static class RegistryEvents {
@SubscribeEvent
public static void onItemsRegistry(final RegistryEvent.Register<Item> itemRegistryEvent) {
LOGGER.info("HELLO from Register Item");
itemRegistryEvent.getRegistry().registerAll(
ItemList.BiwakoIngot = new Item(new Item.Properties().group(ItemGroup.MISC))
.setRegistryName(new ResourceLocation(MOD_ID, "biwako_ingot")),
ItemList.BiwakoBlock = new BlockItem(BlockList.BiwakoBlock, new Item.Properties().group(ItemGroup.MISC))
.setRegistryName(BlockList.BiwakoBlock.getRegistryName())
);
}
资源在方块的情况下,需要写入三个JSON文件。
由于是第一次,我们将添加基本纹理的方块。
创建文件夹
以下の3つのフォルダを作成します。
/src/main/resources/assets/biwako_mod/blockstates
/src/main/resources/assets/biwako_mod/models/block
/src/main/resources/assets/biwako_mod/textures/blocks
└─resources
│ logo.png
│ pack.mcmeta
│
├─assets
│ └─biwako_mod
│ ├─*blockstates
│ │ biwako_block.json
│ │
│ ├─lang
│ │ en_us.json
│ │ ja_jp.json
│ │
│ ├─models
│ │ ├─*block
│ │ │ biwako_block_model.json
│ │ │
│ │ └─item
│ │ biwako_block.json
│ │ biwako_ingot.json
│ │
│ └─textures
│ ├─*blocks
│ │ biwako_block.png
│ │
│ └─items
│ biwako_ingot.png
区块模型 (Qu móブロックの見た目のこと。
ビーコンのような複雑なテクスチャもblock modelで設定するようです。
RSランプのように点滅するブロックは、点灯時と消灯時のmodelをそれぞれ別で用意し、
次のblock statesで状態とblock modelを指定することで実装します。
以下の3つのフォルダを作成します。
/src/main/resources/assets/biwako_mod/blockstates
/src/main/resources/assets/biwako_mod/models/block
/src/main/resources/assets/biwako_mod/textures/blocks
└─resources
│ logo.png
│ pack.mcmeta
│
├─assets
│ └─biwako_mod
│ ├─*blockstates
│ │ biwako_block.json
│ │
│ ├─lang
│ │ en_us.json
│ │ ja_jp.json
│ │
│ ├─models
│ │ ├─*block
│ │ │ biwako_block_model.json
│ │ │
│ │ └─item
│ │ biwako_block.json
│ │ biwako_ingot.json
│ │
│ └─textures
│ ├─*blocks
│ │ biwako_block.png
│ │
│ └─items
│ biwako_ingot.png
区块模型 (Qu móブロックの見た目のこと。
ビーコンのような複雑なテクスチャもblock modelで設定するようです。
RSランプのように点滅するブロックは、点灯時と消灯時のmodelをそれぞれ別で用意し、
次のblock statesで状態とblock modelを指定することで実装します。
今回は全面同じテクスチャのブロックとします。
テクスチャの配置場所は
/src/main/resources/assets/biwako_mod/textures/blocks/biwako_block.png
です。

{
"parent":"block/cube_all",
"textures":{"all":"biwako_mod:blocks/biwako_block"}
}
封锁各个州ブロックの状態に合わせてblock modelを指定します。
今回は状態が1つしかないブロックにするので、空欄にしておきます。
指定するmodelは上のblock modelで作成したjsonファイルの名前です。
将json文件放置在/src/main/resources/assets/biwako_mod/blockstates/biwako_block.json位置上。
{
"variants": {
"": { "model": "biwako_mod:block/biwako_block_model" }
}
}
物品模型最后设置项目的模型。
由于与方块的模型相同,因此请指定(json文件名)。
将json文件放置在/src/main/resources/assets/biwako_mod/models/item/biwako_block.json中。
{
"parent":"biwako_mod:block/biwako_block_model"
}
翻译文件
{
"item.biwako_mod.biwako_ingot": "Biwako Ingot",
"block.biwako_mod.biwako_block": "Biwako Block"
}
{
"item.biwako_mod.biwako_ingot": "琵ンゴット",
"block.biwako_mod.biwako_block": "琵ロック"
}
Minecraft的启动
我在Github上公开了项目。
{
"item.biwako_mod.biwako_ingot": "Biwako Ingot",
"block.biwako_mod.biwako_block": "Biwako Block"
}
{
"item.biwako_mod.biwako_ingot": "琵ンゴット",
"block.biwako_mod.biwako_block": "琵ロック"
}

我在Github上公开了项目。