开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[BE教程] sapi示例1:部分触发器的使用

 发表于 2024-9-14 16:15:11 来自手机|显示全部楼层|阅读模式 IP:贵州省
是的没错小学了点sapi,于是写个贴,也许会带动论坛做这种示例或者教程也说不定呢,那么直接开始

(PS:好久没写addons教程了,回头看来,曾经写的其实存在大量错误)

首先是玩家出生:
  1. mc.world.afterEvents.playerSpawn.subscribe((event) => {
  2.   const player = event.player
  3.     if (true) {
  4.       player.runCommand('camera @p fade time 0.0 0 1.0 color 0 0 0')
  5.       player.runCommand('title @s title 实验仍未结束')
  6.     }   
  7. })
复制代码


这其中可以执行两个指令,当玩家进入世界和重生将执行该触发器然后可以执行指令(如果你学的更通透,还不止可以执行指令)

那么下一个则是生物生成
  1. mc.world.afterEvents.entitySpawn.subscribe(end => {
  2.   if (end.entity.typeId == "him:test") {
  3.     end.entity.runCommand(`summon zombie`)
  4.   }
  5. })
复制代码


当生物出现在这个世界就会触发,注意是出现,也就是说,如果是通过类似蝌蚪变青蛙的转换那种也可以执行这个触发器

那么接下来是攻击
  1. mc.world.afterEvents.entityHitEntity.subscribe(end => {
  2.   if (end.damagingEntity.typeId == "him:test") {
  3.     end.damagingEntity.runCommand(`say 打死你!`)
  4.   }
  5. })
复制代码


当指定生物攻击生物时这个触发器就会被触发,借此你可以做些技能,比如巨型石像攻击时会有滴水石锥冒出来

接下来是受伤
  1. mc.world.afterEvents.entityHurt.subscribe(end => {
  2.   if (end.hurtEntity.typeId == "him:test") {
  3.     end.hurtEntity.runCommand(`say 别打了!`)
  4.   }
  5. })
复制代码


当指定生物受伤以后就会触发,是不是想起什么熟悉的东西了,对没错,就是on:hurt

最后,就是死亡
  1. mc.world.afterEvents.entityDie.subscribe(end => {
  2.   if (end.deadEntity.typeId == "him:test") {
  3.     end.deadEntity.runCommand(`say 我死了`)
  4.   }
  5. });
复制代码


顾名思义,死了触发 其实可以加个;到你的sapi代码中,至少我的朋友告诉我有好处

那么就是这些示例了,我想可以帮你移植部分addons到无假日版本,另外,sapi要不了命,假日删了不要哭爹喊娘,就这样,也许会有下一期,但你得知道我好久没写这种教程了,但愿借此掀起制作sapi教程的热潮吧(我也要看)
苦力怕论坛,感谢有您~
 发表于 2024-11-9 07:27:48 来自手机|显示全部楼层 IP:山西省
第一个if(true)直接给我看傻了
2#2024-11-9 07:27:48回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供支持 | GMT+8, 2024-11-24 11:00

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号-3