基于上一文章继续,
下面完成以下功能:制作一个方块和物品,物品有描述信息。
快速指南 (第一次看请跳过这步)
如何制作物品与方块
1、/resources/assets/xxx/lang/... 添加物品或方块id
例:
item.demo01_item.name=demo01_item
item.demo01_item.desc=this is a demo.
item.demo01_item.name=演示物品
item.demo01_item.desc=这是一个演示的物品,毫无作用
2、com/xxx/xxx/item/ModItems或com/xxx/xxx/blocks/ModBlocks 添加代码
例:
方块
public static final Block GRID_BLOCK_1 = new BlockBase("demo01_block", Material.GRASS);
物品
public static final Item DEMO_ITEM = new ItemBase("demo01_item");
3、/resources/assets/xxx/textures/item(block)/xxx 添加贴图
4、GenBlockJson.lua 快速配置
运行bat
例:
GenItem("misc", "demo01_item");GenBlock("demo01_block");
正式开始
找到lang文件下的en_us.lang、zh_cn.lang文件,以下用en、zh代表这两个文件
一、添加名字
en文件items注释下面增加:
item是物品的意思,item后面是物品id,desc是描述的意思。
item.demo01_item.name=demo01
item.demo01_item.desc=this is a demo.
方块同样,在Blocks注释下面添加:
但是与物品不同的是不能添加描述。
tile.demo01_block.name=demo01_block
zh文件items注释下增加:
增加的时候先写英文,然后复制到中文zh文件下,把英文改为中文。
item.demo01_item.name=演示物品
item.demo01_item.desc=这是一个演示的物品,毫无作用
方块:
tile.demo01_block.name=演示方块
二、代码
找到ModItems类增加
public static final Item 变量名 = new ItemBase("物品id");
public static final Item DEMO_ITEM = new ItemBase("demo01_item");
找到ModBlocks类增加
public static final Block 变量名 = new BlockBase("方块id",Material.质地之一);
public static final Block GRID_BLOCK_1 = new BlockBase("demo01_block", Material.GRASS);
其中质地有个Material类专门存放,选择其中之一,质地即方块样式。
三、贴图
准备贴图,可以使用绘图工具(我使用的是GIMP),尽量尺寸为16×16、32×32。
物品贴图:resources/textures/item/类别
方块贴图:resources/textures/blocks
准备贴图
这里准备两张贴图
把贴图名字命名为和物品、方块id一样,以防混乱。
四、配置json
物品需要一个json,方块需要三个json;
一键生成json可以减少犯错概率
提前下载lua
后面的bat运行需要依赖这个。
LuaForWindows_v5.1.4-46.exe
一键生成json
工程下找到GenBlockJson.lua
将里面的modeName改成你的modeid
添加:物品:GenItem(“类别”,“物品id”);方块:GenBlock(“方块id”);
在后面运行bat成功后,以下内容可删可不删。
GenItem("misc", "demo01_item");GenBlock("demo01_block");
之后,运行,目录下的这个文件
当出现以下界面,表示成功
查看models是否出现你的json文件
至此,则完成了一个物品和方块的制作。