Minecraft 1.12.2模组开发(九) 工具

本文详细指导如何在Minecraft Mod开发中创建属于自己的工具,包括在ModItem.java添加材质信息,创建ToolSword类,设置物品信息和模型,以及在en_us.lang中调整名称和材质。覆盖了从工具材质定义到游戏内展示的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们本次制作一套属于自己的新工具

1.在 ModItem.java 中进行编辑:

添加工具材质信息

	static final ToolMaterial MATERIAL_OBSIDIAN =EnumHelper.addToolMaterial(name(材质名称), harvestLevel(挖掘等级), maxUses(工具耐久), efficiency(挖掘效率), damage(工具造成的伤害), enchantability(工具附魔能力,越高附的魔越好))

示例:

	static final ToolMaterial MATERIAL_OBSIDIAN =EnumHelper.addToolMaterial("material_zstool", 4, 2670, 15.0F, 3.0F, 40)

2.在items包下 新建 tools 包

cr1.png

在tools 包中新建 ToolSword 类:

cr2.png

在ToolSword.java中编写代码:
package com.Joy187.newmod.items.tools;

import com.Joy187.newmod.Main;
import com.Joy187.newmod.init.ModItems;
import com.Joy187.newmod.util.IHasModel;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemSword;

public class ToolSword extends ItemSword implements IHasModel{
	public ToolSword(String name,CreativeTabs tab,ToolMaterial material) {
		
		super(material);
		setUnlocalizedName(name);
		setRegistryName(name);
		setCreativeTab(tab);
		
		ModItems.ITEMS.add(this);
	}
	
	@Override
	public void registerModels() {
		Main.proxy.registerItemRenderer(this, 0, "inventory");
	}
}

3.回到 ModItem.java ,继续编写物品信息:

	public static final ItemSword ZS_SWORD = new ToolSword("zs_sword", Main.ITEM_TAB, MATERIAL_ZS);
	                                                       //物品名   物品属于哪一个工具栏 物品的材质

4.在物品栏添加物品信息

新建一个 无标题的文本文件
{
                    //注意更改类型
	"parent": "item/handheld",
	"textures": {
		"layer0": "joymod:items/zs_sword" 
		                        //改成你的名字
	}
}
将物品保存到models.item 中

cr3.jpg
cr4.png

5.在en_us.lang 文件中将物品在游戏中的名称进行设置:

item.zs_sword.name=ZS Sword

同时将物品的材质放入textures.items包中

cr10.png

6.重复3、4、5步将axe(斧子)、pickaxe(稿子)、hoe(锄子)等工具都加入到游戏中(将名字中的Sword替换成其他工具)

注意:添加斧子时请在斧子的 ItemAxe.java中 写成如下样式:(斧子需要单独传递伤害和攻速)

package com.Joy187.newmod.items.tools;

import com.Joy187.newmod.Main;
import com.Joy187.newmod.init.ModItems;
import com.Joy187.newmod.util.IHasModel;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemAxe;
import net.minecraft.item.Item.ToolMaterial;

public class ToolAxe extends ItemAxe implements IHasModel{
	public ToolAxe(String name,CreativeTabs tab,ToolMaterial material) {
		
		super(material,12.0F,-1.5F);
		setUnlocalizedName(name);
		setRegistryName(name);
		setCreativeTab(tab);
		
		ModItems.ITEMS.add(this);
	}
	
	@Override
	public void registerModels() {
		Main.proxy.registerItemRenderer(this, 0, "inventory");
	}
}
五种工具都操作完后可进行下一步骤

ModItem.java 中的信息:

cr5.png

items.tools 中的五种工具类

cr6.png

en_us.lang 文件:

cr7.png

所有工具材质:

cr8.png

7保存所有文件 -> 运行游戏

cr9.png

游戏中出现所有我们制作的工具,圆满完成!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jay_fearless

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

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

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

打赏作者

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

抵扣说明:

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

余额充值