18.2 罐头示例(包含物品注册, 配方添加, 玩家交互和persistentData的使用)


在这个例子中,我们将:

  • 添加3个物品:密封的牛肉罐头,打开的牛肉罐头,罐头盒

  • 添加配方:8个玻璃板合成3个罐头盒,罐头盒+两个牛肉无序合成密封的牛肉罐头

  • 添加事件:当玩家手持密封的牛肉罐头长按右键时打开罐头

  • 添加事件:当玩家吃完罐头后给予玩家一个空罐头盒

1、物品注册

kubejs\startup_scripts\item_registry.js

onEvent('item.registry', event => { // 监听物品注册事件
	event.create('can_empty').displayName('空罐头盒').maxStackSize(32);// 最大堆叠数:32
	event.create('can').displayName('密封的牛肉罐头').maxStackSize(8);// 最大堆叠数:8
	event.create('can_open').displayName('打开的牛肉罐头').maxStackSize(1).food(food => {
		food.hunger(18);// 设置食物信息
		food.saturation(18);
	});
})

2、配方修改

kubejs\server_scripts\recipe.js

3、罐头事件系统

kubejs\server_scripts\can_events.js

4、修改展示

(图片较大,请耐心等待)

2022-05-09_22.50.20.png
2022-05-09_22.50.35.png
2022-05-09_22.51.07.png

这有帮助吗?