主题 1.19+ KubeJS教程集
创建 2023年7月30日 / 更新 2023年7月30日
浏览 — / 评论 — / 字数 219
Content · Minecraft KubeJS 1.19+ 类星露谷种植系统脚本:自制洒水壶右键泥土变为湿润耕地并产生粒子效果,浇水消耗耐久、对水右键可灌水补充。
水壶右键土方块可以将土方块转换为湿润的耕地(有水花的粒子效果),并在公屏发送信息 ,浇水有间隔(CD)。水壶浇水消耗自身耐久,对着水右键可以灌水补充耐久,并发送灌水成功的消息。

(sever_scripts)
BlockEvents.rightClicked("minecraft:dirt", (event) => {
if (event.player.mainHandItem.id == Item.of("kubejs:watering_can")) {
if (event.item.nbt.Damage == 4) //判断当水壶只剩1点耐久时禁用浇水
{
event.server.runCommand(`say 触发保护机制`);
event.cancel();
} else {
event.server.runCommandSilent(
`setblock ${event.block.x} ${event.block.y} ${event.block.z} minecraft:farmland[moisture= 7]`,
); //替换方块为湿润的耕地
event.server.runCommandSilent(
`particle create:fluid_drip ${event.block.x} ${event.block.y} ${event.block.z} 0.5 0.5 0.5 0.1 50`,
); //生成粒子(fliuid_drip可替换为其他),相关详见MCwiki中particle指令的内容
event.server.runCommand(`say 浇水成功喉~`); //公屏播放
event.player.damageHeldItem("main_hand", 1); //消耗一点耐久
event.player.addItemCooldown("kubejs:watering_can", 20); //废物代码)不影响浇水频率)
}
}
});
ItemEvents.rightClicked((e) => {
let player = e.player;
if (player.getHeldItem(e.hand) == "kubejs:watering_can") {
let target = player.rayTrace(5);
if (
target.block.id == "minecraft:water"
) //通过玩家实现追踪实现辨认玩家对着水右键
{
e.server.runCommand(`say 灌水成功喉~`); //公屏播放
let pos = player.block;
e.server.runCommandSilent(
`particle create:fluid_drip ${pos.x} ${pos.y} ${pos.z} 0.5 0.5 0.5 0.1 50`,
);
e.player.damageHeldItem("main_hand", -1); //增加一点耐久
}
}
});
(starup_scripts)
//星露谷种菜系统=========================================================================
StartupEvents.registry("item", (event) => {
event
.create("watering_can", "basic")
.glow(true)
.unstackable()
.maxDamage(5)
.displayName("洒水壶");
});
自备水壶材质 脚本粒子部分用到“机械动力”模组,如不想要使用可以替换为原版粒子。
点击跳转至GitHub 觉得对你有帮助请❤STAR❤这对我帮助很大谢谢~
评论
欢迎留下笔记、问题和后续想法。
评论将在接近此区域时加载。
评论暂时不可用,因为尚未配置 WALINE_SERVER_URL or PUBLIC_WALINE_SERVER_URL。