- Source of resources
- Reprinted
- Applicable platforms
- JE服务端/Geyser互通
- Copyright link
- https://github.com/SkriptLang/Skript
- Applicable versions
- 1.12-1.17
什么是Skript:
Skript是一款由 Njol 开发的一种 仅适用于 Minecraft (Java)服务器的编程语言
但是原作者 从 2.1 版本弃坑 (仅支持到1.7.10) 现维护者 bensku 更新 Skript 至 2.5 (支持1.9-1.15.2)
想必很多服务器服主都或多或少了解/使用过 脚本方块(ScriptBlock) 这个插件
脚本方法在触发其所携带的脚本的时候 首先会触发一些条件 比如 权限判断 游戏币数量判断
其次他会执行一个动作 比如 发送信息 给予物品 给予权限 对于脚本方块来说
它所能做到的也仅仅只有这些 不依赖 JS 或者 其他插件 脚本方块插件内置的条件和效果也少到可怜
远远不足以开发一套完善的游戏机制 但是 Skirpt 为你提供了这样的可能
Skript 能做到很多插件可以做到的事情 与其说它是一个插件 更不如说它是一种编程语言首先 Skript 为所有使用者提供了绝大多数 CraftBukkit(水桶服) 提供的事件触发方式
比如说 玩家死亡 玩家重生 生物死亡 生物生成 放置方块 破坏方块 击杀玩家 击杀生物 等
也为使用者提供了丰富的效果 比如 传送生物 设置物品数据 设置玩家数据 等
同时相较于 Java 对格式严格要求 Skript 容错率更高 例如
在 Java 内如果你需要判断一个玩家是否拥有权限 你基本上写法就是 if player.hasPermission("...")
但是在 Skript 内你可以这样写 player has permission "..."
也可以这样写 if player has permission "..."
甚至可以这样写 if player has permissions "..."
这就意味着 相比起其他语言 Skript 简化语法的学习过程 关注的更多是逻辑上的学习过程
也就和我标题所写 只需要会英语 会用英语造句子 那么你所需要关注的仅仅是编程的逻辑学习
什么是逻辑学习 我这里还是举一个例子 很多菜单插件 都会有这样一个功能 "以管理员身份执行命令"
很多初学编程的会这样写 op player -> execute player command -> deop player(即给予管理权限 -> 执行命令 -> 取消管理权限)
缺遗漏了本身拥有管理权限玩家的判定 而判断就是编程语言逻辑的一种体现方式
(介绍原帖:https://www.mcbbs.net/thread-975466-2-1.html)
Skript对基岩版的支持:
Skript的扩展插件实现了调用Floodgate 2.0 API从而实现对基岩版玩家的甄别和操作,从而可以实现将Skript脚本简单易懂的功能用于针对BE玩家的游戏体验开发上。
国内Geyser相关开发者ZIMZAZA4基于Floodgate2.0API和Skript制作了一个能够直接使用skript就能够写出BE原生菜单——BE Form的API插件—— BEMenuAPI,也将会分享至JE-BE互通板块,方便各位开发者开发使用。
选择Skript:
Skript是一款插件 也就意味着你需要像安装其他插件一样 需要放在 plugins 目录下
很多人认为越新版本的插件对服务器越好 但实际上对于 Skript 不是这样的
作为用户我大致上体验了 2.1.2 2.2dev36 2.2dev37c 2.3.5 这几个版本
不同版本的服务器个人推荐使用的 Skript 插件版本如下
1.7.10 推荐版本 2.1.2 https://dev.bukkit.org/projects/skript/files/779542/download
1.8.8 或者 1.12.2 Mod 推荐版本 2.2dev37c https://github.com/SkriptLang/Skript/releases/download/dev37c/Skript.jar
1.9+ 推荐版本 最新版 https://github.com/SkriptLang/Skript/releases
Skript是一款由 Njol 开发的一种 仅适用于 Minecraft (Java)服务器的编程语言
但是原作者 从 2.1 版本弃坑 (仅支持到1.7.10) 现维护者 bensku 更新 Skript 至 2.5 (支持1.9-1.15.2)
想必很多服务器服主都或多或少了解/使用过 脚本方块(ScriptBlock) 这个插件
脚本方法在触发其所携带的脚本的时候 首先会触发一些条件 比如 权限判断 游戏币数量判断
其次他会执行一个动作 比如 发送信息 给予物品 给予权限 对于脚本方块来说
它所能做到的也仅仅只有这些 不依赖 JS 或者 其他插件 脚本方块插件内置的条件和效果也少到可怜
远远不足以开发一套完善的游戏机制 但是 Skirpt 为你提供了这样的可能
Skript 能做到很多插件可以做到的事情 与其说它是一个插件 更不如说它是一种编程语言首先 Skript 为所有使用者提供了绝大多数 CraftBukkit(水桶服) 提供的事件触发方式
比如说 玩家死亡 玩家重生 生物死亡 生物生成 放置方块 破坏方块 击杀玩家 击杀生物 等
也为使用者提供了丰富的效果 比如 传送生物 设置物品数据 设置玩家数据 等
同时相较于 Java 对格式严格要求 Skript 容错率更高 例如
在 Java 内如果你需要判断一个玩家是否拥有权限 你基本上写法就是 if player.hasPermission("...")
但是在 Skript 内你可以这样写 player has permission "..."
也可以这样写 if player has permission "..."
甚至可以这样写 if player has permissions "..."
这就意味着 相比起其他语言 Skript 简化语法的学习过程 关注的更多是逻辑上的学习过程
也就和我标题所写 只需要会英语 会用英语造句子 那么你所需要关注的仅仅是编程的逻辑学习
什么是逻辑学习 我这里还是举一个例子 很多菜单插件 都会有这样一个功能 "以管理员身份执行命令"
很多初学编程的会这样写 op player -> execute player command -> deop player(即给予管理权限 -> 执行命令 -> 取消管理权限)
缺遗漏了本身拥有管理权限玩家的判定 而判断就是编程语言逻辑的一种体现方式
(介绍原帖:https://www.mcbbs.net/thread-975466-2-1.html)
Skript对基岩版的支持:
Skript的扩展插件实现了调用Floodgate 2.0 API从而实现对基岩版玩家的甄别和操作,从而可以实现将Skript脚本简单易懂的功能用于针对BE玩家的游戏体验开发上。
国内Geyser相关开发者ZIMZAZA4基于Floodgate2.0API和Skript制作了一个能够直接使用skript就能够写出BE原生菜单——BE Form的API插件—— BEMenuAPI,也将会分享至JE-BE互通板块,方便各位开发者开发使用。
选择Skript:
Skript是一款插件 也就意味着你需要像安装其他插件一样 需要放在 plugins 目录下
很多人认为越新版本的插件对服务器越好 但实际上对于 Skript 不是这样的
作为用户我大致上体验了 2.1.2 2.2dev36 2.2dev37c 2.3.5 这几个版本
不同版本的服务器个人推荐使用的 Skript 插件版本如下
1.7.10 推荐版本 2.1.2 https://dev.bukkit.org/projects/skript/files/779542/download
1.8.8 或者 1.12.2 Mod 推荐版本 2.2dev37c https://github.com/SkriptLang/Skript/releases/download/dev37c/Skript.jar
1.9+ 推荐版本 最新版 https://github.com/SkriptLang/Skript/releases
Skript相关:
- Skript 官方Github
- Skript 官方Github下载
- Skript 官方开发wiki
- Skript 非官方开发英文wiki
- [Skript 中文wiki(待补充)]
- Skript 站内介绍贴
- Skript mcbbs介绍贴
- Skript mcbbs中文基础开发介绍
扩展相关:
- BEMenuAPI v1.0 ——by ZIMZAZA4
- floodgate-Skript ——skript对接调用floodgate api扩展插件
- Skript-reflect ——skript扩展插件
- skript-placeholders ——Skript变量插件
- skript-yaml ——Skript yml配置文件扩展
Skript脚本开发案例:
服务器相关:
- 免费测试服务器:[IMC.RE服务器孵化计划]
- 免费服务器介绍:[IMC.RE服务器孵化计划详情介绍]