Minecraft Fabric模组开发教程#3 编写简单的代码

首发于Enaium的个人博客


前言

在上篇文章中我们已经了解了模组和项目的基本信息,这篇文章我们将会编写一些简单的代码。

调整模组信息

我们首先删除无用的文件。

删除client文件夹

删除之后我们还需要调整其他地方。

  • 删除build.gradle中的client部分,由于之后不需要区分客户端和服务端,所以就把loom的一整块代码删除。
  • 删除src/main/resources中的fabric.mod.json中的client部分。
        "entrypoints": {
                "main": [
                        "com.example.ExampleMod"
-               ],
-               "client": [
-                       "com.example.ExampleModClient"
                ]
        },
        "mixins": [
-               "modid.mixins.json",
-               {
-                       "config": "modid.client.mixins.json",
-                       "environment": "client"
-               }
+               "modid.mixins.json"
        ],
        "depends": {
                "fabricloader": ">=0.15.0",

修改模组信息

  • 修改idnamedescriptionauthorsicon
 {
        "schemaVersion": 1,
-       "id": "modid",
+       "id": "awesome",
        "version": "${version}",
-       "name": "Example mod",
-       "description": "This is an example description! Tell everyone what your mod is about!",
+       "name": "Awesome",
+       "description": "This is an awesome mod",
        "authors": [
-               "Me!"
+               "Enaium"
        ],
        "contact": {
                "homepage": "https://fabricmc.net/",
                "sources": "https://github.com/FabricMC/fabric-example-mod"
        },
        "license": "CC0-1.0",
-       "icon": "assets/modid/icon.png",
+       "icon": "assets/awesome/icon.png",
        "environment": "*",
        "entrypoints": {
                "main": [
@@ -20,7 +20,7 @@
                ]
        },
        "mixins": [
-               "modid.mixins.json"
+               "awesome.mixins.json"
        ],
        "depends": {
                "fabricloader": ">=0.15.0",
  • 修改modid.mixins.jsonawesome.mixins.json
  • 修改assets/modid/icon.pngassets/awesome/icon.png
  • 修改ExampleMod.java中的日志名称
-    public static final Logger LOGGER = LoggerFactory.getLogger("modid");
+    public static final Logger LOGGER = LoggerFactory.getLogger("awesome");

编写代码

ExampleMixin类中添加一行日志。

@@ -1,5 +1,6 @@
 package com.example.mixin;

+import com.example.ExampleMod;
 import net.minecraft.server.MinecraftServer;
 import org.spongepowered.asm.mixin.Mixin;
 import org.spongepowered.asm.mixin.injection.At;
@@ -11,5 +12,6 @@
        @Inject(at = @At("HEAD"), method = "loadWorld")
        private void init(CallbackInfo info) {
                // This code is injected into the start of MinecraftServer.loadWorld()V
+               ExampleMod.LOGGER.info("Hello Mixin World!");
        }
 }

测试

运行游戏,创建一个世界,查看日志。

[22:23:52] [Server thread/INFO] (awesome) Hello Mixin World!
  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Enaium

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值