Minecraft Fabric模组开发教程#8 添加武器

本文介绍了如何创建一个名为EndToolMaterial的工具材质类,用于制作武器,如SwordItem,以及如何设置其耐久度、挖掘速度、攻击伤害等属性,并在游戏合成表中进行注册和纹理设计。
摘要由CSDN通过智能技术生成

首发于Enaium的个人博客


工具材料

和添加盔甲差不多,需要创建一个EndToolMaterial类,之后实现ToolMaterial接口,这样我们就可以创建武器了。

public enum EndToolMaterial implements ToolMaterial {
    ;
    @Override
    public int getDurability() {
        return 0;
    }

    @Override
    public float getMiningSpeedMultiplier() {
        return 0;
    }

    @Override
    public float getAttackDamage() {
        return 0;
    }

    @Override
    public int getMiningLevel() {
        return 0;
    }

    @Override
    public int getEnchantability() {
        return 0;
    }

    @Override
    public Ingredient getRepairIngredient() {
        return null;
    }
}

之后仿照net.minecraft.item.ToolMaterials枚举类完成这些方法。

 package com.example.tool;

+import com.example.ExampleMod;
 import net.minecraft.item.ToolMaterial;
 import net.minecraft.recipe.Ingredient;

+import java.util.function.Supplier;
+
 public enum EndToolMaterial implements ToolMaterial {
-    ;
+    END(5, 2592, 17.0f, 4.0f, 15, () -> Ingredient.ofItems(ExampleMod.END_HEART));
+
+    private final int miningLevel;
+    private final int itemDurability;
+    private final float miningSpeed;
+    private final float attackDamage;
+    private final int enchantability;
+    private final Supplier<Ingredient> repairIngredient;
+
+    private EndToolMaterial(int miningLevel, int itemDurability, float miningSpeed, float attackDamage, int enchantability, Supplier<Ingredient> repairIngredient) {
+        this.miningLevel = miningLevel;
+        this.itemDurability = itemDurability;
+        this.miningSpeed = miningSpeed;
+        this.attackDamage = attackDamage;
+        this.enchantability = enchantability;
+        this.repairIngredient = repairIngredient;
+    }
+
     @Override
     public int getDurability() {
-        return 0;
+        return this.itemDurability;
     }

     @Override
     public float getMiningSpeedMultiplier() {
-        return 0;
+        return this.miningSpeed;
     }

     @Override
     public float getAttackDamage() {
-        return 0;
+        return this.attackDamage;
     }

     @Override
     public int getMiningLevel() {
-        return 0;
+        return this.miningLevel;
     }

     @Override
     public int getEnchantability() {
-        return 0;
+        return this.enchantability;
     }

     @Override
     public Ingredient getRepairIngredient() {
-        return null;
+        return this.repairIngredient.get();
     }
 }

注册武器

和盔甲不同的是,在创建SwordItem时,额外需要传入武器的伤害和攻击速度,需要注意的是攻击速度始终会多出4.0f。

    public static final Item END_SWORD = Registry.register(Registries.ITEM, new Identifier("awesome", "end_sword"), new SwordItem(EndToolMaterial.END, 4, 0f, new FabricItemSettings()));

添加武器纹理

武器物品

end_sword

{
  "parent": "item/handheld",
  "textures": {
    "layer0": "awesome:item/end_sword"
  }
}

合成表

{
  "type": "minecraft:crafting_shaped",
  "pattern": [
    " E ",
    " E ",
    " S "
  ],
  "key": {
    "E": {
      "item": "awesome:end_heart"
    },
    "S": {
      "item": "minecraft:stick"
    }
  },
  "result": {
    "item": "awesome:end_sword",
    "count": 1
  }
}

多语言

{
  "item.awesome.end_sword": "End Sword"
}

最后将武器添加到物品组中。

@@ -44,6 +44,7 @@
                 entries.add(END_CHESTPLATE);
                 entries.add(END_LEGGINGS);
                 entries.add(END_BOOTS);
+                entries.add(END_SWORD);
             })
             .build());

8-1

8-2

### 回答1: Minecraft Fabric模组开发是指使用Fabric API和Minecraft游戏的Java版本开发自定义模组的过程。Fabric是一种轻量级的模组API,它提供了一种简单的方式来创建和管理Minecraft模组开发者可以使用Java语言编写自己的模组,并通过Fabric API与Minecraft游戏进行交互。Fabric模组开发可以为玩家提供更多的游戏内容和功能,使游戏更加有趣和多样化。 ### 回答2: Minecraft Fabric是一个轻量级的模组平台,它与Minecraft的Java版兼容。与其他模组平台相比,它具有更高的灵活性和自由度。因此,Fabric模组开发对于有一定编程知识的人来说是一个不错的选择。 首先,要开始Fabric模组开发,需要下载和安装Minecraft Fabric和Java开发工具包。然后,需要学习Java编程语言。如果你已经有了Java编程经验,那么你可以开始学习Fabric API,其提供的开发框架和API使你的开发更加容易上手。在这个过程中,你也可以参考Fabric官方文档和其他开发者的经验分享,尤其是那些已经开发出成功模组开发者学习他们的思路和技巧是非常重要的。 在进行开发的过程中,需要有一些基本的开发工具,比如开发IDE、代码管理工具和构建工具等,这些工具能够提高开发效率,让你更好地掌控开发进程。在具有一定的基础后,可以开发各种各样的模组,比如新方块,新物品,新生物和新机制等。其中,当你开发出一个好的模组后可以将其分享给其他玩家,在资源网站发布自己开发模组,也可以帮助广大玩家增加游戏的趣味性。 最后,Fabric模组开发需要耐心和热情,在掌握基础知识后,勇于尝试和不断的思考能够使你的模组更加优秀,同时也需要和其他开发者积极交流和分享,在大家的共同努力下,可以让我们的Minecraft更加完美。 ### 回答3: Minecraft Fabric模组开发是介于游戏基础和高级开发之间的活动,它结合了游戏玩法和软件编程技术。FabricMinecraft的一个轻量级模组库,通过将模组代码嵌入游戏的核心运行环境中,实现了游戏机制的修改和扩展。 在Fabric模组开发中,需要掌握Java编程语言以及各种API和工具。首先要学会使用Gradle进行项目管理以及构建模组,其次要熟悉Fabric API的各种类和方法,以及在游戏中使用的相关命令和配置文件的编写。此外,还需要了解模组的相关概念,包括模组结构和生命周期等。 在开发具体的模组时,需要有一定的创意和设计能力。例如,可以通过添加新的生物、方块、物品等来扩展游戏内容,或者修改游戏机制,实现新的游戏玩法。不过,在进行模组开发时,需要注意游戏的性能和稳定性,避免过多的资源消耗和崩溃等问题。 总之,Minecraft Fabric模组开发是一项高度具有创造性和技术性的活动,它让玩家可以更加深入地了解游戏机制,并且可以通过自己的努力创造出属于自己的独特游戏体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Enaium

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

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

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

打赏作者

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

抵扣说明:

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

余额充值