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
制作包装
我打算在主类外的类中声明项目。
考虑到今后可能还会声明其他块,所以我决定创建一个用于集中存放它们的包。
在添加物品时,还需要创建一个名为 lang、models/item、textures/items 的文件夹。请注意文件夹名的单数和复数形式。
└─src
└─main
├─java
│ └─jp
│ └─yuyu
│ └─biwako_mod
│ │ BiwakoMod.java
│ │
│ └─*lists
│ *ItemList.java
│
└─resources
│ logo.png
│ pack.mcmeta
│
├─assets
│ └─biwako_mod
│ ├─*lang
│ ├─*models
│ │ └─*item
│ └─*textures
│ └─*items
└─META-INF
mods.toml
声明物品
我将在创建的list文件夹中创建ItemList.java,并仅仅写入项目声明。我打算添加琵琶湖Ingot,简称为琵Ngot。(什么鬼)
package jp.yuyu.biwako_mod.lists;
import net.minecraft.item.Item;
public class ItemList {
public static Item BiwakoIngot;
}
注册物品
まず、RegistryEventsクラス内にアイテムの登録用メソッドを記述します。
その中でItemクラスのインスタンスを作成し、登録します。
group(ItemGroup.MISC)でクリエイティブタブの指定、
setRegistryName(new ResourceLocation(MOD_ID, “biwako_ingot”))でアイテムID名の指定です。
アイテムID名のアルファベットは全て小文字でないとForgeがエラーを吐きます
@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"))
);
}
@SubscribeEvent
public static void onBlocksRegistry(final RegistryEvent.Register<Block> blockRegistryEvent) {
LOGGER.info("HELLO from Register Block");
}
}
翻訳ファイル
アイテムID名に対するアイテム名を言語別に記述しておきます。
日本語用のファイル名はja_jp.json、英語(US)はen_us.jsonとするルールがあります。
文件将会被创建在src/main/resources/assets/biwako_mod/lang文件夹中。
写法为item.MOD_ID. “物品ID名称”: “物品名称”。
{
"item.biwako_mod.biwako_ingot": "Biwako Ingot"
}
{
"item.biwako_mod.biwako_ingot": "琵ンゴット"
}
模型文件
在模型文件中指定如何应用纹理。
json文件应放置在src/main/resources/assets/biwako_mod/models/item文件夹中,以使用setRegistryName注册的名称.json的形式。
在我的情况下,我会放置biwako_ingot.json文件。
大多数情况下,只需要更改layer0的值,并以MOD_ID:items/TEXTURE_FILE_NAME的形式编写。
如果您准备了名为biwako_ingot.png的图片文件,则其除了扩展名之外的部分应为biwako_ingot。
{
"parent": "item/generated",
"textures": {
"layer0": "biwako_mod:items/biwako_ingot"
}
}
纹理文件
将纹理文件放置在src/main/resources/assets/biwako_mod/textures/items文件夹中。
对我来说,我会将biwako_ingot.png放在那里。

├─assets
│ └─biwako_mod
│ ├─lang
│ │ en_us.json
│ │ ja_jp.json
│ │
│ ├─models
│ │ └─item
│ │ biwako_ingot.json
│ │
│ └─textures
│ └─items
│ biwako_ingot.png
启动Minecraft
请用中文表达以下内容,只需要一种选项:
– English

请使用中文重新表达以下内容,只需要一种选项:
日本语言

我在GitHub上公开了项目。