目标
- 米克拉做到了
- Java可以通过某种方式完成
- 我知道有关于Maven和Gradle的信息
- 没有经验的mod开发
- VS Code用户
展示
https://www.youtube.com/watch?v=SqMGHoBOeYY
准备
从https://github.com/FabricMC/fabric-example-mod
分叉项目
Mod基本信息设置1
织物性能
从https://fabricmc.net/获得最新版本信息,并复制并粘贴
Mod属性
-
在
maven_group 中输入以net. 开头的任何组名。net.ハンドル名.MOD名 是合适的(确实很合适,因此请稍后检查是否有习惯)
依存关系
您可以将其保留为
依赖源准备
从
VS代码的终端执行
Mod基本信息设置2
-
在
src/main/resources/fablic.mod.json 的开头更改id 。以下,将其称为" MOD_ID"。 -
适当更改同一文件的
entrypoints 。我想知道グループ名.mod名 是否还可以。
如果您想更改后一部分,请进行更改
创建一个入口点
创建与
添加项目
在入口点类
中编写以下代码
ExampleMod.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package net.realanalysis.testmod; import net.fabricmc.api.ModInitializer; import net.minecraft.item.ItemGroup; import net.minecraft.item.Item; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; public class ExampleMod implements ModInitializer{ public static final Item FABRIC_ITEM = new Item(new Item.Settings().group(ItemGroup.MISC)); // アイテムそのものの定義 @Override public void onInitialize() { Registry.register(Registry.ITEM, new Identifier("MOD_ID","アイテム名"), FABRIC_ITEM); // アイテムの登録 } } |
这将添加没有纹理的项目
确认
单击VS代码左侧的错误标记,然后单击侧栏上方的开始按钮以启动Minecraft
在自己的课堂上初始化
在与入口点
相同的文件夹中创建继承
TestItem.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | package net.realanalysis.testmod; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.sound.SoundEvents; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.TypedActionResult; import net.minecraft.world.World; public class TestItem extends Item{ public TestItem(Settings item$Settings_1) { super(item$Settings_1); //コンストラクタはそのままスーパークラスのを呼びだす } @Override public TypedActionResult<ItemStack> use(World world, PlayerEntity playerEntity, Hand hand){ playerEntity.playSound(SoundEvents.BLOCK_WOOL_BREAK, 1.0F, 1.0F); return new TypedActionResult<ItemStack>(ActionResult.SUCCESS, playerEntity.getStackInHand(hand)); // 右クリックすると羊毛を壊した時の音がなる } } |
然后按如下所示重写入口点类
ExampleMod.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package net.realanalysis.testmod; import net.fabricmc.api.ModInitializer; import net.minecraft.item.ItemGroup; import net.minecraft.item.Item; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; public class ExampleMod implements ModInitializer{ public static final Item FABRIC_ITEM = new TestItem(new Item.Settings().group(ItemGroup.MISC)); // 自作クラスでの定義にした @Override public void onInitialize() { Registry.register(Registry.ITEM, new Identifier("MOD_ID","アイテム名"), FABRIC_ITEM); // アイテムの登録 } } |
右键单击,您应该会听到声音。
质地
在
项目名称.json
1 2 3 4 5 6 | { "parent" :"item/generated", "textures" : { "layer0" : "MOD_ID:item/アイテム名" } } |
如果在