• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

Skript:修订间差异

来自Minecraft插件百科
跳转到导航 跳转到搜索
无编辑摘要
 
(未显示4个用户的54个中间版本)
第1行: 第1行:
{{待完善}}
{{急需改进|缺少引言/概述|滥用一级标题|页面冗长,需要拆分子页面}}
 
= 库 =
* 什么是脚本库?
脚本库是Skript脚本的“脚本百科”,你可以在脚本库中查看各类脚本的索引。当然,你也可以在脚本库中收录/认领自己的脚本。
----
* 访问脚本库
[[Skript/脚本库|脚本库]] <---点击访问
----
* 关于脚本库
脚本库负责人:[[用户:0o酱|0o酱]]([[用户讨论:0o酱|讨论]])
 
点击右方“讨论”按钮可以咨询脚本库的相关问题''(你也可以在主页中寻找我的联系方式)''
= Skript =
==原文地址==
==原文地址==
http://njol.ch/projects/skript/
http://njol.ch/projects/skript/
第59行: 第72行:
这经常被指令使用。例如, <pre>!repair tool</pre>,将会修复你的工具。因为这些指令非常强大且用的地方很多。
这经常被指令使用。例如, <pre>!repair tool</pre>,将会修复你的工具。因为这些指令非常强大且用的地方很多。


只有在玩家拥有<pre>skript.effectcommands</pre>权限是才能使用(OP默认不拥有!)
只有在玩家拥有<pre>skript.effectcommands</pre>权限时才能使用(OP默认不拥有!)


Skript的语法不仅限制于上面的简单指令,还包括一些循环,包含等语法。
Skript的语法不仅限制于上面的简单指令,还包括一些循环,包含等语法。
第85行: 第98行:
             停止触发器
             停止触发器
</pre>
</pre>
更多信息请前往[[https://dev.bukkit.org/bukkit-plugins/skript/ BukkitDev]]<ref>译者注:作者的BukkitDev已经停止更新,请前往GitHub,在文章开始处</ref>,然后也请阅读下面的辅导材料和帮助文档。
更多信息请前往[[https://dev.bukkit.org/bukkit-plugins/skript/ BukkitDev]]<ref>译者注:作者的BukkitDev已经停止更新,请前往GitHub,在文章开始处</ref>,然后也请阅读下面的教程和帮助文档。


辅导材料是新手的必读品。它解释了如何写一个脚本。这里是[[https://dev.bukkit.org/bukkit-plugins/skript/pages/general-tutorial/ 另一段辅导材料]]<ref>译者注: 两段都翻译了</ref>
教程是新手的必读品。它解释了如何写一个脚本。这里是[[https://dev.bukkit.org/bukkit-plugins/skript/pages/general-tutorial/ 另一段教程]]<ref>译者注: 两段都翻译了</ref>


帮助文档是所有触发器的集合,这里面有所有关于脚本的东西。
帮助文档是所有触发器的集合,这里面有所有关于脚本的东西。
第96行: 第109行:
[[http://dev.bukkit.org/bukkit-plugins/skript/forum/ 链接到作者论坛]]
[[http://dev.bukkit.org/bukkit-plugins/skript/forum/ 链接到作者论坛]]


== 辅导 ==
== 教程 ==
Getting Started
===作者在自带页面给出的教程===
Before you can start writing scripts you should download and install Skript:
====开始====
Download the latest Skript.jar
在你开始写脚本之前你应该先安装Skript插件
Put the jar into your server's ‘plugin’ directory
 
start & stop the server once to generate the config files and some example scripts
下载最新的Skript插件,把它放入plugins,重启服务器来生成配置和一些示例脚本。
Writing a trigger
 
Before you even open an editor I recommend that you already know what kind of trigger you want to write, but you can also simply start writing. In this tutorial I will explain how to write a trigger similar to the one in plant with hoe.sk which is included in the download: a trigger which plants seeds when one right-clicks soil with a hoe.
====写触发器====
To start, open a text editor, e.g. Notepad. Now think about when you want your trigger to activate. In this example we need a right click, so we write that on the first line:
在你打开你的编辑器之前我推荐你知道你要写什么脚本,但你可以简单地开始写了。
 
在这个教程中我会说明如何写一个用锄头来直接撒播种子的脚本。
 
它应该包括 当一个人手持锄头右键泥土时自动种植作物。
 
首先,打开你的文档编辑器[例如NotePad++] <ref>译者注:经测试,不推荐使用微软自带的记事本!</ref>
 
现在思考怎么样能让你的触发器被触发,所以我们写下第一行:
<pre>
on right click:
on right click:
If you can't think of an event or need inspiration you can find a list of all events here.
译者注:
在右键时:
</pre>
如果你不知道有哪些条件可以触发的话,点击[[http://njol.ch/projects/skript/doc/events/ 这里]]<ref>译者注:这里是下面帮助文档的Events 事件大类</ref>
 
但是我们不想让人们右键都触发,只是在泥土上用锄头而已。


But we don't want to activate the trigger every time someone right-clicks, but only if a player right-clicks on farmland holding a hoe, thus we should change the event:
所以我们应该改变一下——
<pre>
on right click on soil holding a hoe:
on right click on soil holding a hoe:
We could also leave the event as-is and add two conditions instead:
译者注:
当持有锄头右键泥土时:
</pre>
我们也可以用这个事件+条件来替代——
<pre>
on right click:
on right click:
     block is soil
     block is soil
     player is holding a hoe
     player is holding a hoe
It is up to you which version you like more, I will continue using the first one in this tutorial.
译者注:
当右键时:
    方块是泥土
    玩家手持锄头
</pre>
 
这两种都可以,但我在这篇文档中将使用第一种。


Now we should check whether the player actually has seeds he could plant:
然后我们来检测玩家有无种子:
<pre>
on right click on soil holding a hoe:
on right click on soil holding a hoe:
     player has seeds
     player has seeds
Please note that the next line after the event is indented. This makes the line belong to the trigger we're writing and also makes scripts much easier to read. If you do not correctly indent conditions and effects you will get errors when the script loads as they do not belong to any trigger.
译者注:
After that we should be able to plant the seeds as we made sure that the player did everything correctly, right?
当用锄头右键泥土时:
    玩家拥有种子
</pre>
 
请注意第二行的缩进。这会使读取器认为这是一个触发器中的语句,并且使脚本更简单的阅读。
 
如果你不注意这个缩进的话你的插件就会报错因为插件认为他们不属于一个触发器。
 
在那之后我们应该种植作物了——
<pre>
on right click on soil holding a hoe:
on right click on soil holding a hoe:
     player has seeds
     player has seeds
     set block above the clicked block to crops
     set block above the clicked block to crops
This is not exactly true as there might be a block where we want to plant the seeds:
译者注:
[_] <- some block
当手持锄头右键泥土时:
[_] <- clicked soil block
    玩家拥有种子
If we simply set that block to crops we might override a block. This could be used by griefers to break into other people's houses or even destroy bedrock.
    将泥土上方的方块设置为作物
Such problems are not always obvious but can cause triggers to misbehave. You can eliminate many problems by testing the triggers on a test server before using them on your main server.
</pre>
This particular problem is solved by testing whether the block above the soil is empty before setting it to crops:
这不是很精确因为可能我们点击的泥土方块上方有方块(如下图)
on right click on soil holding a hoe:
 
     player has seeds
[_] <- 其他方块
 
[_] <- 泥土方块
 
如果我们只是设置的话我们会覆盖掉原有方块。
 
这可能是别的玩家领地中的物品甚至是基岩。
 
这样的问题看起来并不明显但会有BUG的存在。你可以在你服务器上使用之前先在一个测试服务器上尝试运行。
 
这个问题可以用检测泥土上方的方块来解决——
<pre>
on right click on soil holding a hoe:
     player has seeds
     block above the clicked block is air
     block above the clicked block is air
     set block above the clicked block to crops
     set block above the clicked block to crops
Now don't forget to remove the seeds from the player if you don't want your players to plant seeds for free:
当手持锄头右击方块时:
    玩家拥有种子
    被点击方块的上面是空气
    把点击方块上面的方块设置为作物
</pre>
然后不要忘了移除玩家的种子,不然他们就有免费作物了:D
<pre>
on right click on soil holding a hoe:
on right click on soil holding a hoe:
     player has seeds
     player has seeds
第140行: 第207行:
     set block above the clicked block to crops
     set block above the clicked block to crops
     remove seeds from player
     remove seeds from player
当手持锄头右击方块时:
    玩家拥有种子
    被点击方块的上面是空气
    把点击方块上面的方块设置为作物
    移除玩家的种子
</pre>


The last thing remaining is to save the trigger in the plugins/Skript/scripts/ directory. You can choose any name you want, but it should not start with a hyphen, as files starting with a hyphen are not loaded, and the file extension has to be .sk. You could e.g. save this tutorial's trigger as simple plant with hoe.sk.
最后一件事是把你的脚本储存到 <pre>./plugins/Skript/scripts</pre>里,你可以取任何名字。


Now start your server (which is preferably a test server, i.e. not your main server), check whether any errors appear in the console and fix them if there are any. Then log into the server and test the script to find out whether everything works as intended. When you're done testing copy the script to your main server to let your players use it.
但请不要以<pre>-</pre>号打头,因为这会使脚本无法读取。


You can also use the command ‘/skript reload’ to make Skript reload all scripts or a specific script, which is useful if you don't want to restart the server after changing a script. All errors that occur during the reload will be sent to the player that uses the command, or logged to the console if the console used the command.
文件的扩展名必须是<pre>.sk</pre>,例如,你可以把这个脚本储存为<pre>hoe.sk</pre>




现在开启你的服务器[可能是测试的],检查后台有无错误信息,如果有,尝试修复。


The original goal of Skript was to make a simple way for non-programmers to make their own mini plugins (called scripts). I feel that this purpose has been lost due to the lack of understanding of how to script. This tutorial will teach even the newest person to Skript, how to make this wonderful plugin work on his or her server.
然后登入服务器测试脚本查看是不是都可以运行。


Step 1: Read over the documentation
如果你测试完毕,你可以上传到你的主服务器让玩家使用了。
Njolbrim's website has all of the expressions, conditions and effects that you will ever need on your server. I am not here to go over every single one of these but I will reference them in talking about commands and variables. It is also very helpful when you are programing your own, so that you know the limitations of what you can do, as well as the syntax needed to get your task accomplished. A link to the documentation site can be found on the main page of this plugin, as well as from the link below.


http://njol.ch/projects/skript/doc
你也可以使用<pre>/sk reload 脚本名称</pre>来使脚本重载。这方便你调试脚本,不要重启服务器。


Variables, Loops, Commands, Conditionals and Events
所有的错误将会发送给使用指令的玩家。
During your time scripting for your server, you will undoubtedly use at least one, if not all, of the five things mentioned above. Below I have outlined what each can do, as well as how and when to use them.


Events
如果后台使用,将发送给后台。


Events are called when something happens. So when a player clicks on something, takes damage, dies, or when a mob does something, or even when the environment does something else completely independent of entity interaction. This will allow you to make something happen when something else happens. For example:
===BukkitDev给出的教程===
Skript的目标就是让不会语法的程序员们写他们自己的小插件[称之为脚本]。


on explode:
我感觉这个目的渐渐的被人淡化因为人们也不会写脚本。
        cancel event
 
Note the spacing. Every time there is a colon, then next line down is indented one more. You can either use a tab or 8 spaces. You cannot use tabs and spaces to indent different lines of a script. I prefer to use the tab key because I only need to hit it once per indent. The actual event in the code is pretty simple. When an explosion happens, cancel it. This would be useful if you didn't want TNT, creepers, or even the enderdragon to destroy stuff on your server. Keep in mind that this cancels the actual explosion event, meaning that players will not get hurt either. So this script is very simple when an explosion happens, stop it. You can easily change the outcome to be whatever you want. Another example could be as dramatic as killing all players on the server.
这个教程教写脚本的新人,如何让这个绝妙的插件在TA的服务器上工作。
 
[[http://njol.ch/projects/skript/doc 帮助文档]]解释了你服务器所需要的所有的脚本构成。
我不是这里单一的教程帖子了,我将会引用一些他们的东西。


Conditionals
这个插件在你自己编程的时候非常有用,你可以做你想做的东西,以及它不需要完美的语法。


Conditionals are an essential part of any script. They are pieces of code that check to see if a condition is met before executing the rest of the script. An example with permissions is below:
帮助文档可以在这篇文章的最上方找到。


on rightclick:
变量,循环,指令,条件和事件——
        player has permission "skript.boom"
你写脚本的时候,你最少要用到一个,甚至你可能都需要。
        create explosion with force 3 at targeted block
下面我会详细介绍每个是干什么的,什么时候用他们——
This will create an explosion that is slightly smaller than TNT, but it will only do so if the player has the correct permission. Conditionals can also be used to check things like if the player has an item in his/her inventory, or what a line on a sign says. You can even use multiple conditionals so that an event has to meet all of them before moving on.


on rightclick:
====事件====
        block is a sign
        line 1 of sign is "[Shop]"
        player has permission "skript.shop"
        player has 2 gold nuggets
        remove 2 gold nuggets from player
        give player 1 bread
        message "<light green>You bought a bread."
In this script the player must right click on a sign with the first line of "[Shop]", have the correct permission, and 2 gold nuggets. Then the effects occur. In this case the player will loose 2 gold nuggets and receive some bread. To learn more visit the website above.


Commands
事件就是当一件事情发生的时候,例如玩家点击了一些东西,打出伤害,狗带,或一个怪物做了一些事情,甚至是环境自己改变。


Every server admin knows about commands, its the way you run your server. Skript allows you to make your own custom commands. These commands are very similar to events, except that you get to define the event. The simple version of this is that the event is activated whenever a player types in the command that you define on the event line. To get a better idea of what I'm talking about, look to the example below:
这允许你做一些另外的事情——例如:


command /hi:
<pre>
         permission: skript.hi
on explode:
         trigger:
         cancel event
                message "hi"
当爆炸时:
This simple command sends a message to the player who typed the command. The first line is the "event" line. First we say that we want to define a command. then we say what that command is. Then we give it things like a permission and usage. Finally, we add the trigger, which is what we want the command to do assuming the player has permission to do so. You can check the website mentioned above for more info on defining parts of a command like the usage. You can also make more complex commands that can get information, like who you want this command to affect and so forth. Look to the example below to see what I mean:
         取消事件的发生
</pre>
注意空格,事件后都有一个冒号。你可以用4个或8个空格<ref>译者从来没有试过8个,都是4个</ref>。
 
你不能使用tab或空格来换行。我偏向于使用tab来缩进因为我只需要点一次<ref>译者喜欢4个空格 因为这样语法感觉更好</ref>


command /hi <player>:
真正的事件其实非常简单。当一个爆炸发生,取消它。
        permission: skript.hi
        trigger:
                send "hi" to argument
This command will send the same message as before, but this time allows the player typing the command to send it to someone else as well. The reason we use the send effect this time is because the message effect only sends the message to the player in the event, i.e. the player who typed the command. With the send effect we can send a message to someone. The argument is whatever was entered in the command. So if you typed "/hi demon_penguin" then the effect would be replaced with "send "hi" to demon_penguin" thus sending the "hi" message to me. Again you can look to the website to find out more about commands.


Loops
这能很好地防止TNT 苦力怕的爆炸,甚至防止末影龙。


Loops can be used to complete repetitive tasks that would otherwise be much more complicated. For example if you wanted to see if there was a chest near you, you would need to check every block in a certain distance to see if it was a chest. This can be done very easily using a loop:
记住这个会真正的取消爆炸,就是玩家也不会受到伤害。


command /chest:
所以这个脚本非常简单,你可以简单的变换结局。
        trigger:
                loop blocks in radius 3 around player:
                        loop-block is a chest
                        message "There is a chest at %location of loop-block%"
The percent signs indicate that there is a value that will replace that part of the text. In this case there will be an x, y, and z value instead of %location of loop-block% The "loop-block" part of the code refers to whatever block the loop is checking. The loop will look at every block within a 3 block radius of the player and then run the code we have indented under it. And because we are using a command to trigger the loop, we can add arguments and allow the player to choose how far the loop will search.


command /chest <integer=3>:
例如杀死服务器上的所有玩家<Ref>这个人怎么想的=-=</ref>
        trigger:
                loop blocks in radius argument around player:
                        loop-block is a chest
                        message "There is a chest at %location of loop-block%"
Here we also set a default value for the command, just in case the player didn't enter one. In the loop expression we see the number has been replaced with "argument" This means that whatever number you typed in the command will be put here instead. If a number was not entered in this command, then 3 will be used because it was set to be the default value. If you would like to see exactly how far a radius value is, then you can use this script to make a sphere out of blocks so you can visibly see the size.


command /sphere <integer=3>:
====条件====
        trigger:
                loop blocks in radius argument around player:
                        loop-block is air
                        set loop-block to stone
                set {clear.block} to location of player
                set {clear.radius} to argument


command /clear:
条件是任何脚本的基础。他们是执行下一部分的条件代码。一个权限示例如下——
         trigger:
<pre>
                loop blocks in radius {clear.radius} around {clear.block}:
on rightclick:
                        loop-block is stone
         player has permission "skript.boom"
                        set loop-block to air
        create explosion with force 3 at targeted block
The /clear command is so that you can easily delete the sphere that you made. Also because you will be at the center of the sphere, you will need a way to teleport yourself out. These commands may cause a small amount of damage to your server if used close to the ground. Please use them while flying to get the full effect. The parts of code with the curly brackets {} are called variables. You will learn about them in the next section. If you want to learn more about loops you can check the website that was mentioned above.
当右键时:
        玩家拥有"skript.boom"权限
        在指向方块处创造力量为3的爆炸
</pre>
 
这会创建一个比TNT更小的爆炸,但只会在玩家拥有对应权限时工作。


Variables
条件能被用来检查玩家是否拥有物品,或牌子上写的东西。


Variables are used to store information under a name. Think of it like a box with a label on it. When you want to get the info you put in that box, you just go look for the one with the right label on it. Skript does the same thing with variables, which are the computers equivalent of a box. You save information like this:
你甚至可以用多个条件来限制效果。


set {variable.name.goes.here} to true
<pre>
Values for variables can be true/false, a location (x,y,z) or a plain old number. The reason for this is so that we can get this information later. So maybe we want to check if a command was performed by this player before. We would do it like so:
on rightclick:
        block is a sign
        line 1 of sign is "[Shop]"
        player has permission "skript.shop"
        player has 2 gold nuggets
        remove 2 gold nuggets from player
        give player 1 bread
        message "<light green>You bought a bread."
</pre>
在这个脚本中玩家必须右击一个第一行为[Shop]的牌子,拥有权限,2个金粒,然后才能有效果。


command /sethome:
====指令====
        trigger:
                set {home} to location of player


command /home:
每个服务器的管理员都知道指令,这是你运营服务器的方式。 Skript允许你自己自定义指令。这些命令与事件写法大体相似,除了事件需要被你自定义。
        trigger:
                teleport player to {home}
Every time a variable is used in a script you must must put it in curly brackets {} to tell Skript that you are using a variable. Above is a very simple home script. We store the location of the player in a box called {home} When the player types a different command like "/home" we go back to that variable to get the location out so we know where to teleport the player too. This does not clear the value out of the box, it's more like reading it, then putting it back. When programming, you always need to think about what the user/player could do wrong. For example the player though that they sethome back in their base, but forgot to do so. What happens if they try and use /home and there is no where to teleport them to? That is when you use an if statement. This statement checks if something is the way it is supposed to be, and if it's not, then it will do something different than the rest of the script. There is no default error messages that will be sent to the player, so you will need to make your own.


command /sethome:
这个事件简单的版本是通过玩家输入指令来自定义效果。如果想获取更好的想法,看我下面的例子。
<pre>
command /hi:
        permission: skript.hi
         trigger:
         trigger:
                 set {home} to location of player
                 message "hi"
</pre>
这个简单的命令给发送/hi的玩家发送消息。第一行是事件。首先我们说要自定义一个命令,然后我们写什么命令。
 
然后我们给它一个权限和使用方法。最后,我们增加触发器,使我们想要指令做的事情。


command /home:
你可以看网页提及的自定义命令的部分。
        trigger:
                if {home} is not set:
                        message "<red>You need to set a home first!"
                        stop trigger
                teleport player to {home}
Now if a player tries to do /home they will get an error message and then the rest of the trigger will stop. If you forget to stop the trigger, then the rest of the events not indented under the if statement will continue as normal. Also if the if statement is false, then none of the code indented under it will be read and the player will not get an error message. The main problem with our current Skript is that if one person sets their home location under the {home} variable, then anyone who uses /home will be sent to that persons home, and if someone sets their home after another player, it will override the other location and only save the newest one. The way to fix this is use expressions. These are things that will be inserted depending on who is triggering the event. In the case of the command event, it is whomever typed the command. So in order to set a different home per player we can actually put the player's name in the variable itself. It looks like this:


command /sethome:
你也可以做一些可以获取信息的指令,或者指定被作用效果的玩家。看下面的指令:
<pre>
command /hi <player>:
        permission: skript.hi
         trigger:
         trigger:
                 set {home.%player%} to location of player
                 send "hi" to argument
</pre>
这个命令和之前一样发送同样的消息,但这次将会发送给别的玩家。


command /home:
我们使用这个发送效果的原因是因为消息效果只发送消息给事件中的玩家,而不是输入指令的玩家。
        trigger:
                if {home.%player%} is not set:
                        message "<red>You need to set a home first!"
                        stop trigger
                teleport player to {home.%player%}
Now the player's name who set their home is in the variable. So when it checks if the variable is set, it will check {home.demon_penguin} for me and {home.whateveryouruseernameis} for everyone else. With this script every player will have their own home location.


Closing Notes:
有了发送效果,我们就能够给别的玩家发送信息了。


Remember that all of the stuff you learned under command section about if statements and stuff like that can be used in any trigger. This includes any event. And as a final reminder if you wan to learn more about what effects you can do and things like that, check out the documentation website above.
argument是指令中的玩家,所以当你使用/hi demon_penguin时,将会给 demon_penguin 发送hi。


If you have any questions about what I have said here, or have any kind of issue with a script, to ask on the help forum. http://dev.bukkit.org/server-mods/skript/forum/help/
同时你也可以查看网页来了解更多关于自定义命令的信息。


-Demon
====循环====


== WIKI帮助文档==
循环任务可以用来完成复杂的任务。例如如果你想检测在你附近是不是有个箱子,你可能要检测你周围所有的方块来查看它是不是箱子。这可以用一个简单的循环解决——
Njol.ch
<pre>
»
command /chest:
Projects
        trigger:
»
                loop blocks in radius 3 around player:
Skript
                        loop-block is a chest
Yggdrasil
                        message "There is a chest at %location of loop-block%"
Markup
</pre>
» Skript: DocumentationEventsConditionsEffectsExpressionsLoopsCustom CommandsTypesTextVariables
Writing a trigger for Skript is not much more than describing what should be done when some conditions are met.
Because many things you would want to do are linked to events, such as placing a block or pulling a lever, every trigger has to define when it should be called. This is called the event of the trigger. Whenever this event occurs, e.g. when a player places a block, the trigger's conditions are checked one by one. If all conditions are met, the effects of the trigger are executed.
The following is a simple example of a trigger with an event, one condition and one effect:
# event:
on place of sand:
# condition:
block below is air
# effect:
send "Watch the sand falling!" to player
In case you didn't already figure out what this trigger does: It informs players who place sand in midair that the sand they just placed will fall down as there's no block below it.


To create a new trigger, start a text editor (e.g. Notepad), write the trigger, and then save it in the Skript/scripts/ directory as ‘name of the trigger.sk’, e.g. ‘plant with hoe.sk’. You can give it any name you want, but it should be meaningful so that you'll later still know what kind of triggers it contains.
牌子上的变量会取代它的文本。这里有 x y z三个变量来代替 %location of loop-block%。


After creating or changing a trigger you must either restart your server or use the command /skript reload for the changes to take effect. If you restarted the server you should check the server log for [Skript] errors, while errors will be directly sent to you if you use /skript reload. If you get any errors this means that Skript couldn't understand parts of your trigger, and it will usually tell you what is wrong. If you get a general error like can't understand '...' or '...' is not a(n) ... you should check your spelling.
循环代码的一部分是任何方块的循环检查。 循环将会在玩家3格半径的范围内寻找箱子


You can find lists of all events, conditions and effects by clicking on the links on the top of the page.
因为我们在用一个自定义指令,我们可以增加寻找的范围和arguments来允许玩家选择距离。
<pre>
command /chest <integer=3>:
        trigger:
                loop blocks in radius argument around player:
                        loop-block is a chest
                        message "There is a chest at %location of loop-block%"
</pre>
这里我们为指令设置了默认值,如果在玩家没有选择的情况下为3.在循环表达中我们将argument代替了数字。


If you need help you can post on Skript's help forum. As usual, please use the search function before posting and read this documentation, it might answer your questions. Taking a look at what others have accomplished with Skript can also help a lot in case my style of writing does not suit you well.
这意味着无论你输入什么数字,指令都会把其读取。如果没有输入数字,3将会成为默认值。
Advanced Syntax
Skript's syntax is not limited to simple statements, but can also be more complex like set fuel of block to player's tool
To make things like ‘tool of …’ or ‘block below/north of/above …’ possible, so-called expressions are used. You can find a list of all expressions here.


As well as the basic syntax the trigger syntax is also more advanced. The following sections cover these special cases.
如果你想要看精确的半径的话,做一个圆球脚本,你就能看见尺寸了。
Conditionals
<pre>
A nice feature are conditional statements. Such a statement is a part of a trigger which is only executed/checked if the section's main condition is met, which looks like this:
command /sphere <integer=3>:
the first line is the main condition followed by a colon:
        trigger:
followed by one or more indented lines which are only executed if the main condition is met
                loop blocks in radius argument around player:
if a condition is not met within these lines the trigger will continue after the end of the section
                        loop-block is air
the trigger continues as normal after the indented lines
                        set loop-block to stone
You can also add an ‘else:’ just after the indented lines end and one or more indented lines afterwards which will be executed if the main condition isn't met.
                set {clear.block} to location of player
The following example demonstrates the usage of conditionals:
                set {clear.radius} to argument
on login:
chance of 50%:
give a cake to the player
send "You got a gift for logging in =)" to the player
else:
send "You were not fortunate enough to get a gift this time. Try again next time!" to the player
This script gives each player a 50% chance of receiving a cake upon logging in, notifying them of their gift or that they didn't receive a gift if they were not lucky.
Loops
Loops help to reduce repetitive tasks within triggers. There are currently a few loopable values, including items, blocks and players.


Loops are pretty straightforward. You say what to loop and then use that within the loop:
command /clear:
loop values to loop:
        trigger:
do something with the loop-value
                loop blocks in radius {clear.radius} around {clear.block}:
Please note that conditions behave differently in loops. If a condition is not met, only the current execution of the loop is terminated and the loop will continue with the next item. If you want conditions to exit the loop, use a conditional:
                        loop-block is stone
condition:
                        set loop-block to air
exit loop
</pre>
You can also stop the whole trigger with ‘exit’ or ‘exit trigger’.
/clear指令将会轻松删掉你设置的圆球。同样因为你在圆球的中心,你要想一个让自己出去的方法。
 
这个指令可能会对地面造成一些伤害,所以请飞行来使用。


As examples are always nice here's one. It defines a command /find which finds a block of a certain type near the player:
{}中的东西叫做变量,下节会说到。如果你想了解更多关于循环的知识请看帮助文档。
command /find <material>:
description: Find a block of the given material
trigger:
loop blocks in radius 10:
loop-block is argument
message "Found a %argument% block at %location of loop-block%"
stop trigger
send "There's no %argument% block around!" to player
About ~ njol.ch created by Peter Güttinger ~ icons by Yusuke Kamiyamane ~
Last modified: Týr's Day, 1st October 2013, 08:25


===Events===
====变量====
Njol.ch
»
Projects
»
Skript
Yggdrasil
Markup
»
Documentation
Tutorial
API
Statistics
» Skript: EventsEventsConditionsEffectsExpressionsLoopsCustom CommandsTypesTextVariables
Table of Contents
At Time
On Bed Enter
On Bed Leave
On Block Damage
On Break / Mine
On Bucket Empty
On Bucket Fill
On Burn
On Can Build Check
On Chat
On Chunk Generate
On Chunk Load
On Chunk Unload
On Click
On Combust
On Command
On Connect
On Consume
On Craft
On Creeper Power
On Damage
On Death
On Dispense
On Drop
On Enderman/Sheep
On Experience Spawn
On Explode
On Explosion Prime
On Fade
On First Join
On Fishing
On Flow
On Form
On Fuel Burn
On Gamemode Change
On Grow
On Heal
On Hunger Meter Change
On Ignition
On Item Break
On Item Spawn
On Join
On Kick
On Leaves Decay
On Level Change
On Lightning Strike
On Move On
On Physics
On Pick Up
On Pig Zap
On Piston Extend
On Piston Retract
On Place
On Portal
On Portal Create
On Portal Enter
On Pressure Plate / Trip
On Projectile Hit
On Quit
On Redstone
On Region Enter/Leave
On Respawn
On Script Load/Unload
On Shoot
On Sign Change
On Skript Start/Stop
On Smelt
On Sneak Toggle
On Spawn
On Spawn Change
On Spread
On Sprint Toggle
On Tame
On Target
On Teleport
On Throwing of an Egg
On Tool Change
On Vehicle Create
On Vehicle Damage
On Vehicle Destroy
On Vehicle Enter
On Vehicle Exit
On Weather Change
On World Init
On World Load
On World Save
On World Unload
On Zombie Break Door
Periodical
Filter for version:
=>
The following is a listing of all possible events you can use to start a trigger with. Each trigger can only have one single event, i.e. you cannot create triggers that are called when any of several events occurrs.


Please also note that the ‘on’ at the start of an event is entirely optional but it just looks better in my opinion, and that most events don't have examples since there is only one way to use them.
变量是用来在名字下储存数据的。它像一个盒子上的标签,如果你想要知道盒子里的信息,只要找到正确的标签就可以。Skript的变量就是这样。你可以像这样储存变量:
At Time
<pre>
patterns[?]:
set {variable.name.goes.here} to true
at %time% [in %worlds%]
</pre>
since:
变量值可以是true/false ,一个坐标,或数字。这样的原因是我们可以晚些获得这个信息。所以也许我们可以检查玩家是否输入过指令,我们可以这样做:
1.3.4
<pre>
An event that occurs at a given minecraft time in every world or only in specific worlds.
command /sethome:
examples:
        trigger:
at 18:00
                set {home} to location of player
at 7am in "world"
 
On Bed Enter
command /home:
patterns[?]:
        trigger:
[on] bed enter[ing]
                teleport player to {home}
[on] [player] enter[ing] [a] bed
</pre>
since:
你的变量必须用{}括起来,因为这才能告诉Skript这是一个变量。上面是一个非常简单的家园脚本。
1.0
 
Called when a player starts sleeping.
我们记录玩家的位置在一个叫做{home}的'盒子'里。当玩家输入/home时因为有变量所以我们知道把玩家传送去哪里。这不会把变量清除,它更偏向于只读类型。
On Bed Leave
 
patterns[?]:
即读取后放回原处。但在你写脚本中,你必须思考用户可能出错的方式。
[on] bed leav(e|ing)
 
[on] [player] leav(e|ing) [a] bed
例如玩家并没有设置他的家,那么在用/home后会发生什么?他们会被传送到哪里?
since:
 
1.0
这你需要使用if来检测。检测是否有一些错误,如果没有,再继续执行脚本。
Called when a player leaves a bed.
 
On Block Damage
上面的脚本并不会给玩家发送信息,所以你需要自己创建——
patterns[?]:
<pre>
[on] block damage
command /sethome:
since:
        trigger:
1.0
                set {home} to location of player
Called when a player starts to break a block. You can usually just use the leftclick event for this.
 
On Break / Mine
command /home:
patterns[?]:
        trigger:
[on] [block] (min(e|ing)) [[of] %item types%]
                if {home} is not set:
since:
                        message "<red>You need to set a home first!"
1.0 (break), unknown (mine)
                        stop trigger
Called when a block is broken by a player. If you use 'on mine', only events where the broken block dropped something will call the trigger.
                teleport player to {home}
examples:
</pre>
on mine
现在当玩家尝试用/home时他们会受到错误提示并且剩下的脚本不会运行。
on break of stone
 
on mine of any ore
如果你忘记停止脚本,剩下的事件将照常继续运行。同时如果同时如果if判断的是false,那么剩下的代码便不会运行,玩家也收不到错误消息。
On Bucket Empty
 
patterns[?]:
现在我们这个脚本主要的问题是当一个人/sethome后,另一个人使用/home可以直接到达这个位置。
[on] bucket empty[ing]
 
[on] [player] empty[ing] [a] bucket
然后在另一个人设置家后,便会覆盖前一个人家的记录。
since:
 
1.0
修复它的方法是使用表达式。这些可以读取触发事件的人。
Called when a player empties a bucket. You can also use the place event with a check for water or lava.
 
On Bucket Fill
在这样输入指令后,会记录谁输入的指令。
patterns[?]:
 
[on] bucket fill[ing]
所以让每个人都有不同的家,我们其实可以用玩家的名字作为变量。例如这样——
[on] [player] fill[ing] [a] bucket
<pre>
since:
command /sethome:
1.0
        trigger:
Called when a player fills a bucket. Like the bucket empty event, you can also use the break event with a check for water or lava.
                set {home.%player%} to location of player
On Burn
 
patterns[?]:
command /home:
[on] [block] burn[ing] [[of] %item types%]
        trigger:
since:
                if {home.%player%} is not set:
1.0
                        message "<red>You need to set a home first!"
Called when a block is destroyed by fire.
                        stop trigger
examples:
                teleport player to {home.%player%}
on burn
</pre>
on burn of wood, fences, or chests
现在玩家的名字在变量中了,所以当检测是否存在时,对我将会检测{home.demon_penguin},对别人将会检测 {home.whateveryouruseernameis}。
On Can Build Check
patterns[?]:
在这个脚本中每个人都会有他们自己家的位置了。
[on] [block] can build check
 
since:
====注意事项====
1.0 (basic), 2.0 ([un]cancellable)
 
Called when a player rightclicks on a block while holding a block or a placeable item. You can either cancel the event to prevent the block from being built, or uncancel it to allow it.
记住你学到的命令部分下所有的东西,都可以使用在任何触发器中。
Please note that the data value of the block to be placed is not available in this event, only its ID.
 
On Chat
这其中包括许多事件。
patterns[?]:
 
[on] chat
如果你想了解更多,看帮助文档吧<ref>下面的内容</ref>。
since:
 
1.4.1
如果你关于我说的有任何疑问,或要寻求帮助等,请在这里发帖 [[http://dev.bukkit.org/server-mods/skript/forum/help/ 传送点]]
Called whenever a player chats.
 
On Chunk Generate
-Demon 原作者
patterns[?]:
-c7w 翻译者
[on] chunk (generat|populat)(e|ing)
 
since:
== WIKI帮助文档==
1.0
===总帮助===
Called after a new chunk was generated.
写Skript触发器并不比描述它的条件更难。
On Chunk Load
 
patterns[?]:
因为许多你想做的事情都与事件,例如放置方块,拉动拉杆开关,所有的触发器在触发时都被自定义。
[on] chunk load[ing]
 
since:
这叫做触发器的事件。无论事件什么时候产生 , 例如当一个玩家放置一个方块,插件将会依次检测触发器的条件.如果满足所有触发条件,触发器将执行.  
1.0
下面是一个单一事件,条件,效果的简单例子:
Called when a chunk loads. The chunk might or might not contain mobs when it's loaded.
<pre>
On Chunk Unload
# 第一行就是事件:
patterns[?]:
on place of sand:
[on] chunk unload[ing]
# condition:
since:
block below is air
1.0
# effect:
Called when a chunk is unloaded due to not being near any player. Cancel the event to force the server to keep the chunk loaded and thus keep simulating the chunk (e.g. physics, plant growth, minecarts, etc. will keep working and won't freeze).
send "Watch the sand falling!" to player
On Click
</pre>
patterns[?]:
这样你就领会了这个事件是干嘛的——检测放了沙子的玩家,然后如果下面是空气,就会有发送消息。
[on] [(right|left)[( |-)]][mouse[( |-)]]click[ing] [on %entity type/item type%] [(with|using|holding) %item type%]
 
[on] [(right|left)[( |-)]][mouse[( |-)]]click[ing] (with|using|holding) %item type% on %entity type/item type%
若要写触发器,新建一个文件,然后把它保存到  Skript/scripts/ directory /‘名字.sk’, 如 ‘plant with hoe.sk’.
since:
 
1.0
你可以使用任意名,但最好与内容有关。
Called when a user clicks on a block, an entity or air with or without an item in their hand.
 
Please note that rightclick events with an empty hand while not looking at a block are not sent to the server, so there's no way to detect them.
然后你需要重启你的服务器或使用<pre>/skript reload</pre>来使这个触发器工作。
examples:
 
on click
如果你是重启服务器,检查有无错误。如果使用指令,若有错误会直接发送给你。
on rightclick holding a fishing rod
 
on leftclick on a stone or obsidian
一般来说如果你得到许多错误信息应该是表明无法读取你的信息,并且一般会告诉你哪儿错了。如果你是得到这种报错 can't understand '...' or '...' is not a(n) ... 检查你的拼写。
on rightclick on a creeper
 
on click with a sword
你可以继续阅读以获取所有事件 条件 效果。
On Combust
 
patterns[?]:
如果你需要帮助请去论坛反馈。一般在反馈前请仔细阅读本帮助文献,它一般可以回答你的问题。
[on] combust[ing]
 
since:
你也可以看看别人的教程,如果我的教程不适合你的话。
1.0
 
Called when an entity is set on fire, e.g. by fire or lava, a fireball, or by standing in direct sunlight (zombies, skeletons).  
====高级语法====
See also: on ignition - called when a block catches fire.
Skript的高级语法并不限制于简单的陈述,但比这个更复杂
On Command
若要使 ‘tool of …’ 或 ‘block below/north of/above …’ 可能,你要使用表达式,请继续向下阅读。
patterns[?]:
 
[on] command [%text%]
有时触发器语法的基本语法也比较高级。以下章节包括这些特殊情况。
since:
 
2.0
====条件====
Called when a player enters a command (not necessarily a Skript command).
一个很棒的特性是条件陈述。这样的陈述是触发器的一部分,但只有当主部分满足时才会被检查,像这样——
Please define a custom command if possible instead of using this event. Use this event only if you need to perform some action on multiple command, e.g. to prevent commands under certain circumstances, to log commands, or to add Skript checks to commands from other plugins that cannot be solved by changing the permissions of the player(s).
主条件[又称事件]:
examples:
条件
on command
条件满足继续执行
on command "/stop"
满足条件后可以继续缩进
on command "pm Njol "
你也可以使用else: 来在不满足条件的情况下使用——
On Connect
如下
patterns[?]:
<pre>
[on] [player] connect[ing]
on login:
since:
chance of 50%:
2.0
give a cake to the player
Called when a player connects to the server. This event is called before the player actually joins the server, so if you want to prevent players from joining you should prefer this event over on join.
send "You got a gift for logging in =)" to the player
examples:
else:
on connect:
send "You were not fortunate enough to get a gift this time. Try again next time!" to the player
player doesn't have permission "VIP"
</pre>
number of players is larger than 20
这个脚本会在玩家登入的时候有几率给予玩家一个蛋糕,但如果没有接收到会给玩家说他们不够幸运。
kick the player due to "The last 5 slots are reserved for VIP players."
====循环====
On Consume
循环可以减少触发器内的重复任务,当前来说可以循环的东西还是很少,如变量,物品,方块,玩家。
patterns[?]:
 
[on] [player] ((eat|drink)[ing]|consum(e|ing)) [[of] %item types%]
循环很简单,这就是格式
since:
<pre>
2.0
要循环的值:
Called when a player is done eating/drinking something, e.g. an apple, bread, meat, milk or a potion.
关于这个值做一些是
On Craft
条件在循环中不同,如果条件没有满足,会跳过条件继续执行下面的代码。如果你想停止执行,请这样使用——
patterns[?]:
<pre>
[on] [player] craft[ing] [[of] %item types%]
condition:
since:
exit loop
unknown
</pre>
Called when a player crafts an item.
你也可以使用‘exit’ 或 ‘exit trigger’.
On Creeper Power
 
patterns[?]:
这儿就有一个示例,他会在使用/find时找寻附近的方块。
[on] creeper power
<pre>command /find <material>:
since:
description: Find a block of the given material
1.0
trigger:
Called when a creeper is struck by lighting and gets powered. Cancel the event to prevent the creeper from being powered.
loop blocks in radius 10:
See also: on lightning strike
loop-block is argument
On Damage
message "Found a %argument% block at %location of loop-block%"
patterns[?]:
stop trigger
[on] damag(e|ing) [of %entity type%]
send "There's no %argument% block around!" to player
since:
</pre>
1.0
 
Called when an entity receives damage, e.g. by an attack from another entity, lava, fire, drowning, fall, suffocation, etc.
===事件===
examples:
下面的列表内容是你可以开始一个触发器的事件。
on damage
 
on damage of a player
每个触发器只能有一个事件,你不能在给出的语法外自行创造事件。
On Death
 
patterns[?]:
请注意每个事件前面的on都是完全可选的,不过我加上会感觉更好:D
[on] death [of %entity types%]
 
since:
请注意如果事件只有一种触发方式的话就没有例子。
1.0
 
Called when a living entity (including players) dies.
====At time====
examples:
<pre>
on death
模型:
on death of player
at %time% [in %worlds%]
on death of a wither or ender dragon:
加入的版本:
broadcast "A %entity% has been slain in %world%!"
1.3.4
On Dispense
关于Minecraft中所有/任一世界的时间
patterns[?]:
示例:
[on] dispens(e|ing) [[of] %item types%]
at 18:00
since:
at 7am in "world"
unknown
</pre>
Called when a dispenser dispenses an item.
====On AoE Cloud Effect====
On Drop
<pre>
patterns[?]:
模型:
[on] [player] drop[ing] [[of] %item types%]
(area|AoE) [cloud] effect
since:
加入的版本:
unknown
2.2-dev21
Called when a player drops an item from his inventory.
当药水云生成时触发,默认5tick发生一次。
On Enderman/Sheep
示例:
patterns[?]:
on area cloud effect
[on] enderman place
</pre>
[on] enderman pickup
====On Bed Enter====
[on] sheep eat
<pre>
since:
模型:
unknown
[on] bed enter[ing]
Called when an enderman places or picks up a block, or a sheep eats grass respectively.
[on] [player] enter[ing] [a] bed
On Experience Spawn
加入的版本:
patterns[?]:
[on] [e]xp[erience] [orb] spawn
[on] spawn of [a[n]] [e]xp[erience] [orb]
since:
2.0
Called whenever experience is about to spawn. This is a helper event for easily being able to stop xp from spawning, as all you can currently do is cancel the event.
Please note that it's impossible to detect xp orbs spawned by plugins (including Skript) with Bukkit, thus make sure that you have no such plugins if you don't want any xp orbs to spawn. (Many plugins that only change the experience dropped by blocks or entities will be detected without problems though)
examples:
on xp spawn:
world is "minigame_world"
cancel event
On Explode
patterns[?]:
[on] explo(d(e|ing)|sion)
since:
1.0
Called when an entity (a primed TNT or a creeper) explodes.
On Explosion Prime
patterns[?]:
[on] explosion prime
since:
1.0
Called when an explosive is primed, i.e. an entity will explode shortly. Creepers can abort the explosion if the player gets too far away, while TNT will explode for sure after a short time.
On Fade
patterns[?]:
[on] [block] fad(e|ing) [[of] %item types%]
since:
1.0
Called when a block 'fades away', e.g. ice or snow melts.
examples:
on fade of snow or ice
On First Join
patterns[?]:
[on] first (join|login)
since:
1.3.7
Called when a player joins the server for the first time.
On Fishing
patterns[?]:
[on] [player] fish[ing]
since:
1.0
1.0
Called when a player fishes something. This is not of much use yet.
当玩家上床时
On Flow
</pre>
patterns[?]:
====On Bed Leave====
[on] [block] flow[ing]
<pre>
[on] block mov(e|ing)
模型:
since:
[on] bed leav(e|ing)
[on] [player] leav(e|ing) [a] bed
加入的版本:
1.0
1.0
Called when a blocks flows or teleports to another block. This not only applies to water and lava, but teleporting dragon eggs as well.
当玩家离开床
On Form
</pre>
patterns[?]:
====On Block Damage====
[on] [block] form[ing] [[of] %item types%]
<pre>
since:
模型:
[on] block damage
加入的版本:
1.0
1.0
Called when a block is created, but not by a player, e.g. snow forms due to snowfall, water freezes in cold biomes, or a block spreads (see spread event).
当玩家开始打方块,你可以用来探测左键
examples:
</pre>
on form of snow
====On Block Growth====
on form of a mushroom
<pre>
On Fuel Burn
模型:
patterns[?]:
(plant|crop|block) grow[(th|ing)] [[of] %item types%]
[on] fuel burn[ing]
加入的版本:
since:
2.2-Fixes-V10
当作物生长时触发
示例:
on crop growth
</pre>
====On Book Edit====
<pre>
模型:
book (edit|change|write)
加入的版本:
2.2-dev31
当玩家编辑书籍时触发
示例:
on crop growth
</pre>
====On Book Sign====
<pre>
模型:
book sign[ing]
加入的版本:
2.2-dev31
当玩家署名书与笔时触发
示例:
on book sign
</pre>
====On Break / Mine====
<pre>
模型:
[on] [block] (min(e|ing)) [[of] %item types%]
加入的版本:
1.0 (break), unknown (mine)
当方块被玩家破坏。如果使用on mine的话,只有掉落东西才会触发触发器。
示例:
on mine
on break of stone
on mine of any ore
</pre>
====On Bucket Empty====
<pre>
模型:
[on] bucket empty[ing]
[on] [player] empty[ing] [a] bucket
加入的版本:
1.0
1.0
Called when a furnace burns an item from its fuel slot.
当玩家把桶里的东西倒出,可以检测水和岩浆的放置事件。
On Gamemode Change
</pre>
patterns[?]:
====On Bucket Fill====
[on] game[ ]mode change [to %gamemode%]
<pre>
since:
模型:
[on] bucket fill[ing]
[on] [player] fill[ing] [a] bucket
加入的版本:
1.0
1.0
Called when a player's gamemode changes.
当玩家在桶里装东西,可以检测水和岩浆的破坏事件。
examples:
</pre>
on gamemode change
====On Burn====
on gamemode change to adventure
<pre>模型:
On Grow
[on] [block] burn[ing] [[of] %item types%]
patterns[?]:
加入的版本:
[on] grow [of %tree type%]
since:
1.0
1.0
Called when a tree or giant mushroom grows to full size.
当方块被火燃烧
examples:
示例:
on grow
on burn
on grow of a tree
on burn of wood, fences, or chests</pre>
on grow of a huge jungle tree
====On Can Build Check====
On Heal
<pre>模型:
patterns[?]:
[on] [block] can build check
[on] heal[ing]
加入的版本:
since:
1.0 (基础), 2.0 (可以取消事件发生)
当玩家手持一个方块或能防止的物品时右击方块被触发。你可以取消这个事件,来防止方块被放置。
只支持物品ID的检查,不允许数据值</pre>
====On Chat====
<pre>模型:
[on] chat
加入的版本:
1.4.1
当玩家聊天时.</pre>
====On Chunk Generate====
<pre>模型:
[on] chunk (generat|populat)(e|ing)
加入的版本:
1.0
1.0
Called when an entity is healed, e.g. by eating (players), being fed (pets), or by the effect of a potion of healing (overworld mobs) or harm (nether mobs).
当区块被创建</pre>
On Hunger Meter Change
====On Chunk Load====
patterns[?]:
<pre>模型:
[on] (food|hunger) (level|met(er|re)|bar) chang(e|ing)
[on] chunk load[ing]
since:
加入的版本:
1.4.4
Called when the hunger bar of a player changes, i.e. either increases by eating or decreases over time.
On Ignition
patterns[?]:
[on] [block] ignit(e|ion)
since:
1.0
1.0
Called when a block starts burning, i.e. a fire block is placed next to it and this block is flammable.
当区块读取</pre>
The burn event will be called when the block is about do be destroyed by the fire.
====On Chunk Unload====
See also: on combust - called when an entity is set on fire.
<pre>模型:
On Item Break
[on] chunk unload[ing]
patterns[?]:
加入的版本:
[on] [player] tool break[ing]
[on] [player] break[ing] [(a|the)] tool
since:
2.1.1
Called when a player breaks his tool because its damage reached the maximum value.
This event cannot be cancelled.
On Item Spawn
patterns[?]:
[on] item spawn[ing] [[of] %item types%]
since:
unknown
Called whenever an item stack is spawned in a world, e.g. as drop of a block or mob, a player throwing items out of his inventory, or a dispenser dispensing an item (not shooting it).
On Join
patterns[?]:
[on] [player] (login|logging in|join[ing])
since:
1.0
1.0
Called when a player joins the server. The player is already in a world when this event is called, so if you want to prevent players from joining you should prefer on connect over this event.
当区块被卸载,可以取消事件</pre>
examples:
====On Click====
on join:
<pre>模型:
message "Welcome on our awesome server!"
[on] [(right|left)[( |-)]][mouse[( |-)]]click[ing] [on %entity type/item type%] [(with|using|holding) %item type%]
broadcast "%player% just joined the server!"
[on] [(right|left)[( |-)]][mouse[( |-)]]click[ing] (with|using|holding) %item type% on %entity type/item type%
On Kick
加入的版本:
patterns[?]:
[on] [player] (kick|being kicked)
since:
1.0
1.0
Called when a player is kicked from the server. You can change the kick message or cancel the event entirely.
当玩家空手点击方块、空气和实体
On Leaves Decay
在玩家没有看向方块/手拿东西时是无法检测的
patterns[?]:
示例:
[on] leaves decay[ing]
on click
since:
on rightclick holding a fishing rod
1.0
on leftclick on a stone or obsidian
Called when a leaf block decays due to not being connected to a tree.
on rightclick on a creeper
On Level Change
on click with a sword</pre>
patterns[?]:
====On Combust====
[on] [player] level [change]
<pre>模型:
since:
[on] combust[ing]
unknown
加入的版本:
Called when a player's level changes, e.g. by gathering experience or by enchanting something.
On Lightning Strike
patterns[?]:
[on] lightning [strike]
since:
1.0
1.0
Called when lightning strikes.  
当实体开始燃烧
Use on creeper power and on pig zap to find out if one or more creepers and/or pigs were hit.
</pre>
On Move On
====On Command====
patterns[?]:
<pre>模型:
[on] (step|walk)[ing] (on|over) %*item types%
[on] command [%text%]
since:
加入的版本:
2.0
当玩家输入一个指令
使用这个事件不如自定义命令,改变权限的方式不能预防某些指令,记录命令,检测其他插件。
示例:
on command
on command "/stop"
on command "pm Njol "</pre>
====On Connect====
<pre>模型:
[on] [player] connect[ing]
加入的版本:
2.0
当玩家连接服务器,这在玩家加入服务器之前运行。
示例:
on connect:
player doesn't have permission "VIP"
number of players is larger than 20
kick the player due to "The last 5 slots are reserved for VIP players."</pre>
====On Consume====
<pre>模型:
[on] [player] ((eat|drink)[ing]|consum(e|ing)) [[of] %item types%]
加入的版本:
2.0
2.0
Called when a player moves onto a certain type of block. Please note that using this event can cause lag if there are many players online.
当玩家吃/喝一些东西</pre>
examples:
====On Craft====
on walking on dirt or grass
<pre>模型:
on stepping on stone
[on] [player] craft[ing] [[of] %item types%]
On Physics
加入的版本:
patterns[?]:
[on] [block] physics
since:
1.4.6
Called when a physics check is done on a block. By cancelling this event you can prevent some things from happening, e.g. sand falling, dirt turning into grass, torches dropping if their supporting block is destroyed, etc.
Please note that using this event might cause quite some lag since it gets called extremely often.
examples:
# prevents sand from falling
on block physics:
block is sand
cancel event
On Pick Up
patterns[?]:
[on] [player] (pick[ ]up|picking up) [[of] %item types%]
since:
unknown
unknown
Called when a player picks up an item. The item is still on the ground when this event is called.
当玩家合成物品</pre>
On Pig Zap
====On Creeper Power====
patterns[?]:
<pre>模型:
[on] pig[ ]zap
[on] creeper power
since:
加入的版本:
1.0
1.0
Called when a pig is struck by lightning and transforms into a zombie pigman. Cancel the event to prevent the transformation.
当苦力怕被充能</pre>
See also: on lightning strike
====On Damage====
On Piston Extend
<pre>模型:
patterns[?]:
[on] damag(e|ing) [of %entity type%]
[on] piston extend[ing]
加入的版本:
since:
1.0
1.0
Called when a piston is about to extend.
当实体接受攻击
On Piston Retract
示例:
patterns[?]:
on damage
[on] piston retract[ing]
on damage of a player</pre>
since:
====On Death====
<pre>模型:
[on] death [of %entity types%]
加入的版本:
1.0
1.0
Called when a piston is about to retract.
实体死亡
On Place
示例:
patterns[?]:
on death
[on] [block] (plac(e|ing)|build[ing]) [[of] %item types%]
on death of player
since:
on death of a wither or ender dragon:
broadcast "A %entity% has been slain in %world%!"</pre>
====On Dispense====
<pre>模型:
[on] dispens(e|ing) [[of] %item types%]
加入的版本:
unknown
发射器发射物品</pre>
====On Drop====
<pre>模型:
[on] [player] drop[ing] [[of] %item types%]
加入的版本:
unknown
玩家扔掉物品</pre>
====On Enderman/Sheep/Silverfish====
<pre>模型:
[on] enderman place
[on] enderman pickup
[on] sheep eat
[on] silverfish enter
[on] silverfish exit
加入的版本:
unknown
末影人搬运方块/羊吃草/蠹虫进出方块</pre>
====On Entity Dismount====
<pre>模型:
[on] dismount[ing]
加入的版本:
2.2-dev13b
当一个实体被卸载时
示例:
on dismount:
    kill event-entity
</pre>
====On Entity Mount====
<pre>模型:
[on] mount[ing]
加入的版本:
2.2-dev13b
当一个实体乘坐上另一个实体时(例:坐船/矿车/骑骷髅马)
示例:
on mount:
    cancel event
</pre>
====On Experience Spawn====
<pre>模型:
[on] [e]xp[erience] [orb] spawn
[on] spawn of [a[n]] [e]xp[erience] [orb]
加入的版本:
2.0
当经验值生成时,不能检测其他插件生成的经验。
示例:
on xp spawn:
world is "minigame_world"
cancel event</pre>
====On Explode====
<pre>模型:
[on] explo(d(e|ing)|sion)
加入的版本:
1.0
1.0
Called when a player places a block.
当发生爆炸时</pre>
examples:
====On Explosion Prime====
on place
<pre>模型:
on place of a furnace, workbench or chest
[on] explosion prime
On Portal
加入的版本:
patterns[?]:
[on] [player] portal
since:
1.0
1.0
Called when a player uses a nether or end portal. Cancel the event to prevent the player from teleporting.
爆炸前的准备</pre>
On Portal Create
====On Fade====
patterns[?]:
<pre>模型:
[on] portal create
[on] [block] fad(e|ing) [[of] %item types%]
since:
加入的版本:
1.0
1.0
Called when a portal is created, either by a player or mob lighting an obsidian frame on fire, or by a nether portal creating its teleportation target in the nether/overworld.
融化
Please note that it's not possible to use the player in this event.
示例:
On Portal Enter
on fade of snow or ice</pre>
patterns[?]:
====On Firework Explode====
[on] portal enter
<pre>模型:
[on] entering [a] portal
[a] firework explo(d(e|ing)|sion) [colo[u]red %colors%]
since:
加入的版本:
2.4
当烟花火箭爆炸时
示例:
on firework explode
on firework exploding colored red, light green and black
on firework explosion coloured light green:
    broadcast "A firework colored %colors% was exploded at %location%!"</pre>
====On First Join====
<pre>模型:
[on] first (join|login)
加入的版本:
1.3.7
玩家第一次加入游戏</pre>
====On Fishing====
<pre>模型:
[on] [player] fish[ing]
加入的版本:
1.0
玩家钓到了一些东西</pre>
====On Flight Toggle====
<pre>模型:
[player] flight toggl(e|ing)
[player] toggl(e|ing) flight
加入的版本:
2.2-dev36
当玩家切换飞行模式时调用
(译者注:当玩家开始飞行/停止飞行时调用,并非使用某些插件的/fly指令时)
示例:
on flight toggle:
    if {game::%player%::playing} exists:
        cancel event
</pre>
====On Flow====
<pre>模型:
[on] [block] flow[ing]
[on] block mov(e|ing)
加入的版本:
1.0
1.0
Called when a player enters a nether portal and the swirly animation starts to play.
液体流动</pre>
On Pressure Plate / Trip
====On Form====
patterns[?]:
<pre>模型:
[on] [step[ping] on] [a] [pressure] plate
[on] [block] form[ing] [[of] %item types%]
[on] (trip|[step[ping] on] [a] tripwire)
加入的版本:
since:
1.0 (pressure plate), 1.4.4 (tripwire)
Called when a player steps on a pressure plate or tripwire respectively.
On Projectile Hit
patterns[?]:
[on] projectile hit
since:
1.0
1.0
Called when a projectile hits an entity or a block.
当一个不是玩家放置的方块创建[下雪,结冰]
Use the damage event with a check for a projectile to be able to use the entity that got hit in the case when the projectile hit a living entity.
示例:
A damage event will even be fired if the damage is 0, e.g. when throwing snowballs at non-nether mobs.
on form of snow
On Quit
on form of a mushroom</pre>
patterns[?]:
====On Fuel Burn====
[on] (quit[ting]|disconnect[ing]|log[ ]out|logging out)
<pre>模型:
since:
[on] fuel burn[ing]
加入的版本:
1.0
1.0
Called when a player leaves the server. Starting with Skript 2.0 this also includes kicked players.
熔炉的燃料开始烧</pre>
On Redstone
====On Gamemode Change====
patterns[?]:
<pre>模型:
[on] redstone [current] [chang(e|ing)]
[on] game[ ]mode change [to %gamemode%]
since:
加入的版本:
1.0
1.0
Called when the redstone current of a block changes. This event is of not much use yet.
玩家切换游戏模式
On Region Enter/Leave
示例:
patterns[?]:
on gamemode change
cannot be used directly
on gamemode change to adventure</pre>
since:
====On Gliding State Change====
2.1
<pre>模型:
Called when a player enters or leaves a region.
(gliding state change|toggl(e|ing) gliding)
This event requires a supported regions plugin to be installed.
加入的版本:
examples:
2.2-dev21
on region exit:
当玩家使用鞘翅滑翔时
message "Leaving %region%."
示例:
On Respawn
on toggling gliding:  
patterns[?]:
    cancel the event # bad idea, but you CAN do it!(译者注:这不是什么好主意,但是依然可以实现!)</pre>
[on] [player] respawn[ing]
====On Grow====
since:
<pre>模型:
[on] grow [of %tree type%]
加入的版本:
1.0
1.0
Called when a player respawns. You should prefer this event over the death event as the player is technically alive when this event is called.
树/蘑菇长大
On Script Load/Unload
示例:
patterns[?]:
on grow
[on] [script] (load|init|enable)
on grow of a tree
[on] [script] (unload|stop|disable)
on grow of a huge jungle tree</pre>
since:
====On Hand Item Swap====
2.0
<pre>模型:
Called directly after the trigger is loaded, or directly before the whole script is unloaded.
swap[ping of] [(hand|held)] item[s]
examples:
加入的版本:
on load:
2.3
set {running.%script%} to true
当玩家的主副手物品调换时,即使主副手物品为空气(没有物品)也可以触发,这个触发器会在实际调换物品之前时触发,这意味着您可以在发生任何事情之前取消事件。
on unload:
示例:
set {running.%script%} to false
on swap hand items:  
On Shoot
    event-player's tool is a diamond sword
patterns[?]:
    cancel event</pre>
[on] [projectile] shoot
====On Heal====
since:
<pre>模型:
[on] heal[ing]
加入的版本:
1.0
1.0
Called whenever a projectile is shot. Use the shooter expression to get who shot the projectile.
实体被治疗
On Sign Change
</pre>
patterns[?]:
====On Hunger Meter Change====
[on] sign (chang[e]|edit)[ing]
<pre>
[on] [player] (chang[e]|edit)[ing] [a] sign
模型:
since:
[on] (food|hunger) (level|met(er|re)|bar) chang(e|ing)
加入的版本:
1.4.4
当玩家的饥饿值改变</pre>
====On Ignition====
<pre>模型:
[on] [block] ignit(e|ion)
加入的版本:
1.0
1.0
As signs are placed empty, this event is called when a player is done editing a sign.
方块被燃烧</pre>
examples:
====On Inventory Click====
on sign change:
<pre>模型:
line 2 is empty
[player] inventory(-| )click[ing] [[at] %item types%]
set line 1 to "<red>%line 1%"
加入的版本:
On Skript Start/Stop
2.2-Fixes-V10
patterns[?]:
当玩家点击物品栏中的物品时(包括任意容器的"物品栏")
[on] (server|skript) (start|load|enable)
示例:
[on] (server|skript) (stop|unload|disable)
on inventory click:
since:
    if event-item is stone:
2.0
        give player 1 stone
Called when the server starts or stops (actually, when Skript starts or stops, so a /reload will trigger these events as well).
        remove 20$ from player's balance</pre>
examples:
====On Inventory Close====
on Skript start
<pre>模型:
on server stop
inventory clos(ing|e[d])
On Smelt
加入的版本:
patterns[?]:
2.2-dev21
[on] [ore] smelt[ing]
当玩家关闭任意物品栏时
[on] smelt[ing] of ore
示例:
since:
on inventory close:  
    if player's location is {location}:
        send "You exited the shop!"</pre>
====On Inventory Open====
<pre>模型:
inventory open[ed]
加入的版本:
2.2-dev21
当玩家打开任意物品栏时
示例:
on inventory open:
    close player's inventory</pre>
====On Item Break====
<pre>模型:
[on] [player] tool break[ing]
[on] [player] break[ing] [(a|the)] tool
加入的版本:
2.1.1
玩家的工具没耐久,自然损坏[这个不能被取消事件]</pre>
====On Item Despawn====
<pre>模型:
[on] (item[ ][stack]|[item] %item types%) despawn[ing]
[on] [item[ ][stack]] despawn[ing] [[of] %item types%]
加入的版本:
2.2-dev35
当一个掉落物即将被Minecraft删除时,通常这会发生在物品被丢弃的5分钟后
示例:
on item despawn of diamond:
    send "Not my precious!"
    cancel event</pre>
====On Item Merge====
<pre>模型:
[on] (item[ ][stack]|[item] %item types%) merg(e|ing)
[on] item[ ][stack] merg(e|ing) [[of] %item types%]
加入的版本:
2.2-dev35
当一个掉落物与另一个掉落物合并时(即两个同样的物品丢在同一位置时产生的"掉落物合并")
示例:
on item merge of gold blocks:
    cancel event</pre>
====On Item Spawn====
<pre>模型:
[on] item spawn[ing] [[of] %item types%]
加入的版本:
unknown
当有掉落物生成</pre>
====On Join====
<pre>模型:
[on] [player] (login|logging in|join[ing])
加入的版本:
1.0
1.0
Called when a furnace smelts an item in its ore slot.
当玩家加入游戏
On Sneak Toggle
示例:
patterns[?]:
on join:
[on] [player] toggl(e|ing) sneak
message "Welcome on our awesome server!"
[on] [player] sneak toggl(e|ing)
broadcast "%player% just joined the server!"</pre>
since:
====On Jump====
<pre>模型:
[on] [player] jump[ing]
加入的版本:
2.3
当玩家跳跃时
示例:
on jump:
    event-player does not have permission "jump"
    cancel event</pre>
====On Kick====
<pre>模型:
[on] [player] (kick|being kicked)
加入的版本:
1.0
1.0
Called when a player starts or stops sneaking. Use is sneaking to get whether the player was sneaking before the event was called.
当一个玩家被T出游戏</pre>
examples:
====On Language Change====
# make players that stop sneaking jump
<pre>模型:
on sneak toggle:
[player] (language|locale) chang(e|ing)
player was sneaking
[player] chang(e|ing) (language|locale)
push the player upwards at speed 0.5
加入的版本:
On Spawn
2.3
patterns[?]:
当玩家在设置中设置的语言改变时,你可以使用语言表达式(language)来获取玩家的设置的语言,这需要Minecraft 1.12+版本才能使用
[on] spawn[ing] [of %entity types%]
示例:
since:
on language change:  
    if player's language starts with "en":
        send "Hello!"</pre>
====On Leaves Decay====
<pre>模型:
[on] leaves decay[ing]
加入的版本:
1.0
1.0
Called when an creature spawns.
树叶消失</pre>
examples:
====On Level Change====
on spawn of a zombie
<pre>模型:
on spawn of an ender dragon:
[on] [player] level [change]
broadcast "A dragon has been sighted in %world%!"
加入的版本:
On Spawn Change
unknown
patterns[?]:
玩家等级改变</pre>
[on] [world] spawn change
====On Lightning Strike====
since:
<pre>模型:
[on] lightning [strike]
加入的版本:
1.0
1.0
Called when the spawn point of a world changes.
发生闪电</pre>
On Spread
====On Move On====
patterns[?]:
<pre>模型:
[on] spread[ing]
[on] (step|walk)[ing] (on|over) %*item types%
since:
加入的版本:
1.0
2.0
Called when a new block forms as a result of a block that can spread, e.g. water or mushrooms.
玩家踩上指定方块
On Sprint Toggle
示例:
patterns[?]:
on walking on dirt or grass
[on] [player] toggl(e|ing) sprint
on stepping on stone</pre>
[on] [player] sprint toggl(e|ing)
====On Physics====
since:
<pre>模型:
[on] [block] physics
加入的版本:
1.4.6
物理变化
示例:
# prevents sand from falling
on block physics:
block is sand
cancel event</pre>
====On Pick Up====
<pre>模型:
[on] [player] (pick[ ]up|picking up) [[of] %item types%]
加入的版本:
unknown
unknown
Called when a player starts or stops sprinting. Use is sprinting to get whether the player was sprinting before the event was called.
玩家捡起物品</pre>
On Tame
====On Pig Zap====
patterns[?]:
<pre>模型:
[on] [entity] tam(e|ing)
[on] pig[ ]zap
since:
加入的版本:
1.0
1.0
Called when a player tames a wolf or ocelot. Can be cancelled to prevent the entity from being tamed.
猪变成僵尸猪人</pre>
On Target
====On Piston Extend====
patterns[?]:
<pre>模型:
[on] [entity] target
[on] piston extend[ing]
[on] [entity] un[-]target
加入的版本:
since:
1.0
1.0
Called when a mob starts/stops following/attacking another entity, usually a player.
当活塞被激活</pre>
Please note that even though the target expression also works for a player's target this event is not called for players.
====On Piston Retract====
On Teleport
<pre>模型:
patterns[?]:
[on] piston retract[ing]
[on] [player] teleport[ing]
加入的版本:
since:
1.0
1.0
Called whenever a player is teleported, either by a nether/end portal or other means (e.g. by plugins).
当活塞收回</pre>
On Throwing of an Egg
====On Place====
patterns[?]:
<pre>模型:
[on] throw[ing] [of] [an] egg
[on] [block] (plac(e|ing)|build[ing]) [[of] %item types%]
[on] [player] egg throw
加入的版本:
since:
1.0
1.0
Called when a player throws an egg. You can just use the shoot event in most cases, as this event is intended to support changing the hatched mob and its chance to hatch, but Skript does not yet support that.
放置方块
On Tool Change
示例:
patterns[?]:
on place
[on] [player['s]] (tool|item held|held item) chang(e|ing)
on place of a furnace, workbench or chest</pre>
since:
====On Player World Change====
<pre>模型:
[on] [player] world chang(ing|e[d])
加入的版本:
2.2-dev28
当玩家加入其它世界时,这仅对玩家有效!
示例:
on player world change:
    world is "city"
    send "Welcome to the City!"</pre>
====On Portal====
<pre>模型:
[on] [player] portal
加入的版本:
1.0
1.0
Called whenever a player changes his held item by selecting a different slot (e.g. the keys 1-9 or the mouse wheel), but not by dropping or replacing the item in the current slot.
使用地狱门/末地门</pre>
On Vehicle Create
====On Portal Create====
patterns[?]:
<pre>模型:
[on] vehicle create
[on] portal create
[on] creat(e|ing|ion of) [a] vehicle
加入的版本:
since:
1.0
1.0
Called when a new vehicle is created, e.g. when a player places a boat or minecart.
当传送门被创建.</pre>
On Vehicle Damage
====On Portal Enter====
patterns[?]:
<pre>模型:
[on] vehicle damage
[on] portal enter
[on] damag(e|ing) [a] vehicle
[on] entering [a] portal
since:
加入的版本:
1.0
1.0
Called when a vehicle gets damage. Too much damage will destroy the vehicle.
玩家进入传送门</pre>
On Vehicle Destroy
====On Prepare Craft====
patterns[?]:
<pre>模型:
[on] vehicle destroy
[player] (preparing|beginning) craft[ing] [[of] %item types%]
[on] destr(oy[ing]|uction of) [a] vehicle
加入的版本:
since:
2.2-Fixes-V10
在向玩家显示合成结果之前。请注意,由于Bukkit错误,设置结果项可能工作,也可能不工作。
示例:
on preparing craft of torch</pre>
====On Pressure Plate / Trip====
<pre>模型:
[on] [step[ping] on] [a] [pressure] plate
[on] (trip|[step[ping] on] [a] tripwire)
加入的版本:
1.0 (pressure plate), 1.4.4 (tripwire)
压力板</pre>
====On Projectile Hit====
<pre>模型:
[on] projectile hit
加入的版本:
1.0
1.0
Called when a vehicle is destroyed. Any passenger will be ejected and the vehicle might drop some item(s).
当发射物击中实体或方块[箭 雪球 骷髅头 火球 鸡蛋]</pre>
On Vehicle Enter
====On Quit====
patterns[?]:
<pre>模型:
[on] vehicle enter
[on] (quit[ting]|disconnect[ing]|log[ ]out|logging out)
[on] enter[ing] [a] vehicle
加入的版本:
since:
1.0
1.0
Called when an entity enters a vehicle, either deliberately (players) or by falling into them (mobs).
当玩家离开游戏</pre>
On Vehicle Exit
====On Redstone====
patterns[?]:
<pre>模型:
[on] vehicle exit
[on] redstone [current] [chang(e|ing)]
[on] exit[ing] [a] vehicle
加入的版本:
since:
1.0
1.0
Called when an entity exits a vehicle.
红石流通</pre>
On Weather Change
====On Region Enter/Leave====
patterns[?]:
<pre>模型:
[on] weather change [to %weather types%]
cannot be used directly
since:
加入的版本:
2.1
进入/离开区域[需要区域插件]
示例:
on region exit:
message "Leaving %region%."</pre>
====On Respawn====
<pre>模型:
[on] [player] respawn[ing]
加入的版本:
1.0
1.0
Called when a world's weather changes.
当玩家重生时</pre>
examples:
====On Resurrect Attempt====
on weather change
<pre>模型:
on weather change to sunny
[on] [entity] resurrect[ion] [attempt]
On World Init
加入的版本:
patterns[?]:
2.2-dev28
[on] world init
当一个实体手持不死图腾死亡时(你可以通过使用取消事件来取消不死图腾的效果)
since:
示例:
on resurrect attempt:
    entity is player
    entity has permission "admin.undying"
    uncancel the event</pre>
====On Script Load/Unload====
<pre>模型:
[on] [script] (load|init|enable)
[on] [script] (unload|stop|disable)
加入的版本:
2.0
当脚本被读取/卸载
示例:
on load:
set {running.%script%} to true
on unload:
set {running.%script%} to false</pre>
====On Server List Ping====
<pre>模型:
server [list] ping
加入的版本:
2.3
当服务器在多人游戏的服务器列表中被ping时,通常在Minecraft客户端ping服务器以在服务器列表中显示其信息时调用。
IP表达式可用于获取Pinger(玩家)的IP地址。此事件只能在PaperSpigot 1.12.2+上取消,这意味着玩家将看到服务器脱机(但仍可以加入)。
你还可以使用 MOTD, Max Players, Online Players Count, Protocol Version, Version String, Hover List 和 Server Icon 表达
使用 Player Info Visibility 和 Hide Player from Server List effects 来修改服务器列表。
示例:
on server list ping:
    set the motd to "Welcome %{player-by-IP::%ip%}%! Join now!" if {player-by-IP::%ip%} is set, else "Join now!"
    set the fake max players count to (online players count + 1)
    set the shown icon to a random server icon out of {server-icons::*}</pre>
====On Server Start/Stop====
<pre>模型:
(server|skript) (start|load|enable)
(server|skript) (stop|unload|disable)
加入的版本:
2.0
当服务器开启/关闭时,(实际上是Skript插件加载/卸载时,所以/reload也会触发事件)
示例:
on skript start:
on server stop:</pre>
====On Sheep Regrow Wool====
<pre>模型:
sheep [re]grow[ing] wool
加入的版本:
2.2-dev21
当羊长毛时
示例:
on sheep grow wool:
    cancel event</pre>
====On Shoot====
<pre>模型:
[on] [projectile] shoot
加入的版本:
1.0
1.0
Called when a world is initialised. As all default worlds are initialised before any scripts are loaded, this event is only called for newly created worlds.
当一个发射物被发射</pre>
World management plugins might change the behaviour of this event though.
====On Sign Change====
On World Load
<pre>模型:
patterns[?]:
[on] sign (chang[e]|edit)[ing]
[on] world load[ing]
[on] [player] (chang[e]|edit)[ing] [a] sign
since:
加入的版本:
1.0
1.0
Called when a world is loaded. As with the world init event, this event will not be called for the server's default world(s).
牌子被玩家结束编辑
On World Save
示例:
patterns[?]:
on sign change:
[on] world sav(e|ing)
line 2 is empty
since:
set line 1 to "<red>%line 1%"</pre>
====On Slime Split====
<pre>模型:
[on]slime split[ting]
加入的版本:
2.2-dev26
当史莱姆分裂时。这通常在大型的史莱姆死亡后发生
示例:
on slime split</pre>
====On Smelt====
<pre>模型:
[on] [ore] smelt[ing]
[on] smelt[ing] of ore
加入的版本:
1.0
1.0
Called when a world is saved to disk. Usually all worlds are saved simultaneously, but world management plugins could change this.
当熔炉开始烧炼矿物</pre>
On World Unload
====On Sneak Toggle====
patterns[?]:
<pre>模型:
[on] world unload[ing]
[on] [player] toggl(e|ing) sneak
since:
[on] [player] sneak toggl(e|ing)
加入的版本:
玩家是否潜行
示例:
# make players that stop sneaking jump
on sneak toggle:
player was sneaking
push the player upwards at speed 0.5</pre>
====On Spawn====
<pre>模型:
[on] spawn[ing] [of %entity types%]
加入的版本:
1.0
1.0
Called when a world is unloaded. This event might never be called if you don't have a world management plugin.
当一个实体生成
On Zombie Break Door
示例:
patterns[?]:
on spawn of a zombie
[on] zombie break[ing] [a] [wood[en]] door
on spawn of an ender dragon:
since:
broadcast "A dragon has been sighted in %world%!"</pre>
====On Spawn Change====
<pre>模型:
[on] [world] spawn change
加入的版本:
1.0
当世界的重生点被切换</pre>
====On Spread====
<pre>模型:
[on] spread[ing]
加入的版本:
1.0
当一个新方块生成,原方块可以传播,例如蘑菇和水</pre>
====On Sprint Toggle====
<pre>模型:
[on] [player] toggl(e|ing) sprint
[on] [player] sprint toggl(e|ing)
加入的版本:
unknown
unknown
Called when a zombie is done breaking a wooden door. Can be cancelled to prevent the zombie from breaking the door.
当玩家切换疾跑状态</pre>
Periodical
====On Swim Toggle====
patterns[?]:
<pre>模型:
every %time span% in [world[s]] %worlds%
[entity] toggl(e|ing) swim
since:
[entity] swim toggl(e|ing)
加入的版本:
2.3
当一个实体开始/停止游泳时
示例:
on swim toggle:
    event-entity does not have permission "swim"
    cancel event</pre>
====On Tame====
<pre>模型:
[on] [entity] tam(e|ing)
加入的版本:
1.0
1.0
An event that is called periodically. The event is used like 'every <timespan>', e.g. 'every second' or 'every 5 minutes'.
当玩家驯服狼/豹猫</pre>
examples:
====On Target====
every second
<pre>模型:
every minecraft hour
[on] [entity] target
every tick # warning: lag!
[on] [entity] un[-]target
every minecraft day in "world"
加入的版本:
About ~ njol.ch created by Peter Güttinger ~ icons by Yusuke Kamiyamane ~
Last modified: Freyja's Day, 9th August 2013, 09:42
===Conditions===
Njol.ch
»
Projects
»
Skript
Yggdrasil
Markup
»
Documentation
Tutorial
API
Statistics
» Skript: ConditionsEventsConditionsEffectsExpressionsLoopsCustom CommandsTypesTextVariables
Table of Contents
Can Build
Can Hold
Chance
Comparison
Contains
Damage Cause
Exists/Is Set
Has Permission
Has Played Before
Is Alive
Is Banned
Is Blocking
Is Burning
Is Empty
Is Enchanted
Is Flying
Is Holding
Is in World
Is Member/Owner of Region
Is of Type
Is Online
Is Poisoned
Is Riding
Is Sleeping
Is Sneaking
Is Sprinting
Is Wearing
PvP
Region Contains
Time
Weather
Filter for version:
=>
Can Build
patterns[?]:
cannot be used directly
since:
2.0
Tests whether a player is allowed to build at a certain location. This condition requires that a supported regions plugin is installed.
examples:
command /setblock <material>:
description: set the block at your crosshair to a different type
trigger:
player cannot build at the targeted block:
message "You do not have permission to change blocks there!"
stop
set the targeted block to argument
Can Hold
patterns[?]:
%inventories% (can hold|ha(s|ve) [enough] space (for|to hold)) %item types%
%inventories% (can(no|')t hold|(ha(s|ve) not|ha(s|ve)n't|do[es]n't have) [enough] space (for|to hold)) %item types%
since:
1.0
1.0
Tests whether a player or a chest has enough free space to hold the given item. This includes trying to fill existing stacks of the tested item(s).
当怪物锁定一个实体进行攻击</pre>
examples:
====On Teleport====
block can hold 200 cobblestone
<pre>模型:
player has enough space for 64 feathers
[on] [player] teleport[ing]
Chance
加入的版本:
patterns[?]:
chance of %number%[\%]
since:
1.0
1.0
A condition that randomly succeeds or fails.
当玩家被传送</pre>
Valid values are between 0% and 100%, or if the percent sign is omitted between 0 and 1.
====On Throwing of an Egg====
examples:
<pre>模型:
chance of 50%:
[on] throw[ing] [of] [an] egg
drop a diamond
[on] [player] egg throw
chance of {var}% # {var} between 0 and 100
加入的版本:
chance of {var} # {var} between 0 and 1
1.0
Comparison
当玩家扔鸡蛋</pre>
patterns[?]:
====On Tool Change====
[neither] %objects% ((is|are) ((greater|more|higher|bigger|larger) than|above)|>) %objects%
<pre>模型:
[neither](neither)|isn't|aren't) ((less|smaller) than|below)|>=) %objects%
[on] [player['s]] (tool|item held|held item) chang(e|ing)
[neither] %objects% ((is|are) ((less|smaller) than|below)|<) %objects%
加入的版本:
[neither](neither)|isn't|aren't) ((greater|more|higher|bigger|larger) than|above)|<=) %objects%
1.0
[neither](neither)|isn't|aren't|!=) [equal to] %objects%
当玩家的工具切换</pre>
[neither] %objects% (is|are|=) [(equal to|the same as)] %objects%
====On Vehicle Create====
[neither] %objects% (is|are) between %objects% and %objects%
<pre>模型:
[neither](is not|are not|isn't|aren't) between %objects% and %objects%
[on] vehicle create
since:
[on] creat(e|ing|ion of) [a] vehicle
加入的版本:
1.0
1.0
A very general condition, it simply compares two values. Usually you can only compare for equality (e.g. block is/isn't of <type>), but some values can also be compared using greater than/less than. In that case you can also test for whether an object is between two others.
当一个载具被创建.</pre>
Note: This is the only element where not all patterns are shown. It has actually another two sets of similar patters, but with (was|were) or will be instead of (is|are) respectively, which check different time states of the first expression.
====On Vehicle Damage====
examples:
<pre>模型:
the clicked block is a stone slab or a double stone slab
[on] vehicle damage
time in the player's world is greater than 8:00
[on] damag(e|ing) [a] vehicle
the creature is not an enderman or an ender dragon
加入的版本:
Contains
patterns[?]:
%inventories% ha(s|ve) %item types% [in [(the[ir]|his|her|its)] inventory]
%inventories/texts/objects% contain[s] %item types/texts/objects%
%inventories% do[es](n't| not) have %item types% [in [(the[ir]|his|her|its)] inventory]
%inventories/texts/objects% do[es](n't| not) contain %item types/texts/objects%
since:
1.0
1.0
Checks whether an inventory contains the given item, a text contains another piece of text, or a list of objects (e.g. a {list variable::*}) contains another object.
载具被攻击</pre>
examples:
====On Vehicle Destroy====
block contains 20 cobblestone
<pre>模型:
player has 4 flint and 2 iron ingots
[on] vehicle destroy
Damage Cause
[on] destr(oy[ing]|uction of) [a] vehicle
patterns[?]:
加入的版本:
[the] damage [(n('|o)]t) [been] (caused|done|made) by %damage cause%
1.0
since:
载具被摧毁</pre>
2.0
====On Vehicle Enter====
Tests what kind of damage caused a damage event. Refer to the Damage Cause type for a list of all possible causes.
<pre>模型:
examples:
[on] vehicle enter
# make players use their potions of fire resistance whenever they take any kind of fire damage
[on] enter[ing] [a] vehicle
on damage:
加入的版本:
damage was caused by lava, fire or burning
1.0
victim is a player
实体进入载具</pre>
victim has a potion of fire resistance
====On Vehicle Exit====
cancel event
<pre>模型:
apply fire resistance to the victim for 30 seconds
[on] vehicle exit
remove 1 potion of fire resistance from the victim
[on] exit[ing] [a] vehicle
# prevent mobs from dropping items under certain circumstances
加入的版本:
on death;
entity is not a player
damage wasn't caused by a block explosion, an attack, a projectile, a potion, fire, burning, thorns or poison
clear drops
Exists/Is Set
patterns[?]:
%~objects% (exist[s]|(is|are) set)
%~objects% (do[es](n't| not) exist|(is|are)(n't| not) set)
since:
1.2
Checks whether a given expression or variable is set.
examples:
{teamscript.%player%.preferred team} is not set
on damage:
projectile exists
broadcast "%attacker% used a %projectile% to attack %victim%!"
Has Permission
patterns[?]:
[%players/console%] (do[es]n't|don't|do[es] not) have [the] permission[s] %texts%
[%players/console%] ha(s|ve) [the] permission[s] %texts%
since:
1.0
1.0
Test whether a player has a certain permission.
实体离开载具</pre>
examples:
====On Weather Change====
player has permission "skript.tree"
<pre>模型:
victim has the permission "admin":
[on] weather change [to %weather types%]
send "You're attacking an admin!" to attacker
加入的版本:
Has Played Before
1.0
patterns[?]:
一个世界的天气被切换
%offline player% [(has|did)] [already] play[ed] [on (this|the) server] (before|already)
示例:
%offline player% (has not|hasn't|did not|didn't) [(already|yet)] play[ed] [on (this|the) server] (before|already|yet)
on weather change
since:
on weather change to sunny</pre>
1.4
====On World Init====
Checks whether a player has played on this server before. You can also use on first join if you want to make triggers for new players.
<pre>模型:
examples:
[on] world init
player has played on this server before
加入的版本:
player hasn't played before
1.0
Is Alive
一个新的世界被创建</pre>
patterns[?]:
====On World Load====
%living entities% (alive|dead)
<pre>模型:
%living entities% (alive|dead)
[on] world load[ing]
since:
加入的版本:
1.0
世界被加载</pre>
====On World Save====
<pre>模型:
[on] world sav(e|ing)
加入的版本:
1.0
世界被存储</pre>
====On World Unload====
<pre>模型:
[on] world unload[ing]
加入的版本:
1.0
世界被卸载</pre>
====On Zombie Break Door====
<pre>模型:
[on] zombie break[ing] [a] [wood[en]] door
加入的版本:
unknown
僵尸破坏门</pre>
====Periodical====
<pre>模型:
every %time span% in [world[s]] %worlds%
加入的版本:
1.0
每隔一定的现实时间
示例:
every second
every minecraft hour
every tick # 警告:卡的一比
every minecraft day in "world"</pre>
 
===条件===
====Can Build====
<pre>模型:
%players% (can|(is|are) allowed to) build %directions% %locations%
%players% (can('t|not)|(is|are)(n't| not) allowed to) build %directions% %locations%
加入的版本:
2.0
2.0
Checks whetehr an entity is alive. This is mostly useful to check whether an entity stored in a variable does still exist
检测玩家是否可以在区域中放置方块,需要一个区域插件
examples:
示例:
{villagerbuddy.%player%} is dead
command /setblock <material>:
Is Banned
description: set the block at your crosshair to a different type
patterns[?]:
trigger:
%offline players/texts% (is|are) banned
player cannot build at the targeted block:
%players/texts% [(is|are) IP(-| )]banned
message "You do not have permission to change blocks there!"
%offline players/texts% (isn't|is not|aren't|are not) banned
stop
%players/texts% [(isn't|is not|aren't|are not) IP(-| )]banned
set the targeted block to argument</pre>
since:
====Can Fly====
1.4
<pre>模型:
Checks whether a player or IP is banned.
%players% can fly
examples:
%players% (can't|cannot|can not) fly
player is banned
加入的版本:
victim is not IP-banned
2.3
"127.0.0.1" is banned
检测玩家是否被允许飞行
Is Blocking
示例:
patterns[?]:
player can fly</pre>
%players% (is|are) (blocking|defending)
====Can Hold====
%players% (isn't|is not|aren't|are not) (blocking|defending)
<pre>模型:
since:
%inventories% (can hold|ha(s|ve) [enough] space (for|to hold)) %item types%
unknown
%inventories% (can(no|')t hold|(ha(s|ve) not|ha(s|ve)n't|do[es]n't have) [enough] space (for|to hold)) %item types%
Checks whether a player is blocking with his sword.
加入的版本:
examples:
1.0
victim is blocking
检测玩家的背包或箱子是否有足够的空间
Is Burning
示例:
patterns[?]:
block can hold 200 cobblestone
%entities% (is|are) (burning|ignited|on fire)
player has enough space for 64 feathers</pre>
%entities% (isn't|is not|aren't|are not) (burning|ignited|on fire)
====Can See====
since:
<pre>模型:
1.4.4
%players% (is|are) [(in)]visible for %players%
Checks whether an entity is on fire, e.g. a zombie due to being in sunlight, or any entity after falling into lava.
%players% can see %players%
examples:
%players% (is|are)(n't| not) [(in)]visible for %players%
# increased attack against buring targets
%players% can('t| not) see %players%
victim is burning:
加入的版本:
increase damage by 2
2.3
Is Empty
检测指定的玩家能否看到其他玩家
patterns[?]:
示例:
%inventories/slots/texts% (is|are) empty
if the player can't see the player-argument:
%inventories/slots/texts% (isn't|is not|aren't|are not) empty
    message "The player %player-argument% is not online!"</pre>
since:
====Chance====
unknown
<pre>模型:
Checks whether an inventory, an inventory slot, or a text is empty.
chance of %number%[\%]
examples:
加入的版本:
player's inventory is empty
Is Enchanted
patterns[?]:
%item types% (is|are) enchanted [with %enchantment type%]
%item types% (isn't|is not|aren't|are not) enchanted [with %enchantment type%]
since:
1.4.6
Checks whether an item is enchanted.
examples:
tool of the player is enchanted with efficiency 2
helm, chestplate, leggings or boots are enchanted
Is Flying
patterns[?]:
%players% (is|are) flying
%players% (isn't|is not|aren't|are not) flying
since:
1.4.4
Checks whether a player is flying
examples:
player is not flying
Is Holding
patterns[?]:
[%living entities%] ha(s|ve) %item types% in hand
[%living entities%] (is|are) holding %item types%
[%living entities%] (ha(s|ve) not|do[es]n't have) %item types% in hand
[%living entities%] (is not|isn't) holding %item types%
since:
1.0
1.0
Checks whether a player is holdign a specific item. Cannot be used with endermen, use 'entity is [not] an enderman holding <item type>' instead.
脚本成功或失败的几率
examples:
示例:
player is holding a stick
chance of 50%:
victim isn't holding a sword of sharpness
drop a diamond
Is in World
chance of {var}% # {var} between 0 and 100
patterns[?]:
chance of {var} # {var} between 0 and 1</pre>
%entities% (is|are) in [[the] world[s]] %worlds%
====Comparison====
%entities% (is not|isn't|are not|aren't) in [[the] world[s]] %worlds%
<pre>模型:
since:
[neither] %objects% ((is|are)[((n't| not| neither)]) ((greater|more|higher|bigger|larger) than|above)|\>) %objects%
1.4
[neither] %objects% ((is|are)[((n't| not| neither)]) (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as)|\>=) %objects%
Checks whether an entity is in a specific world
[neither] %objects% ((is|are)[((n't| not| neither)]) ((less|smaller) than|below)|\<) %objects%
examples:
[neither] %objects% ((is|are)[((n't| not| neither)]) (less|smaller|below) [than] or (equal to|the same as)|\<=) %objects%
player is in "world"
[neither] %objects% ((is|are) (not|neither)|isn't|aren't|!=) [equal to] %objects%
argument isn't in world "world_nether"
[neither] %objects% (is|are|=) [(equal to|the same as)] %objects%
the attacker is in the world of the victim
[neither] %objects% (is|are) between %objects% and %objects%
Is Member/Owner of Region
[neither] %objects% (is not|are not|isn't|aren't) between %objects% and %objects%
patterns[?]:
[neither] %objects% (was|were)[((n't| not| neither)]) ((greater|more|higher|bigger|larger) than|above) %objects%
cannot be used directly
[neither] %objects% (was|were)[((n't| not| neither)]) (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as) %objects%
since:
[neither] %objects% (was|were)[((n't| not| neither)]) ((less|smaller) than|below) %objects%
2.1
[neither] %objects% (was|were)[((n't| not| neither)]) (less|smaller|below) [than] or (equal to|the same as) %objects%
Checks whetehr a player is a member or owner of a particular region.
[neither] %objects% ((was|were) (not|neither)|wasn't|weren't) [equal to] %objects%
This condition requires a supported regions plugin to be installed.
[neither] %objects% (was|were) [(equal to|the same as)] %objects%
examples:
[neither] %objects% (was|were) between %objects% and %objects%
on region enter:
[neither] %objects% (was not|were not|wasn't|weren't) between %objects% and %objects%
player is the owner of the region
[neither] %objects% (will be|(will (not|neither) be|won't be)) ((greater|more|higher|bigger|larger) than|above) %objects%
message "Welcome back to %region%!"
[neither] %objects% (will be|(will (not|neither) be|won't be)) (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as) %objects%
send "%player% just entered %region%!" to all members of the region
[neither] %objects% (will be|(will (not|neither) be|won't be)) ((less|smaller) than|below) %objects%
Is of Type
[neither] %objects% (will be|(will (not|neither) be|won't be)) (less|smaller|below) [than] or (equal to|the same as) %objects%
patterns[?]:
[neither] %objects% ((will (not|neither) be|won't be)|(isn't|aren't|is not|are not) (turning|changing) [in]to) [equal to] %objects%
%item stacks/entities% (is|are) of type[s] %item types/entity types%
[neither] %objects% (will be [(equal to|the same as)]|(is|are) (turning|changing) [in]to) %objects%
%item stacks/entities% (isn't|is not|aren't|are not) of type[s] %item types/entity types%
[neither] %objects% will be between %objects% and %objects%
since:
[neither] %objects% (will not be|won't be) between %objects% and %objects%
1.4
加入的版本:
Checks whether an item of entity is of the given type. This is mostly useful for variables, as you can use the general 'is' condition otherwise (e.g. 'victim is a creeper').
1.0
examples:
非常常规的脚本,比较两量关系。通常你可以使用平等(如 block is/isn't of <type>), 但一些值可以使用更多/更少。
tool is of type {*selected type}
在这种情况下,你也可以测试一个对象是否在两个其他量之中。
victim is of type {villager type}
注意:这只是一些形式。事实上,另外两套类似的模式,但(was|were)或将代替(is|are)分别检测不同时间状态的表达。
Is Online
 
patterns[?]:
示例:
%offline players% ((is|are) online|(is not|isn't|are not|aren't) offline)
the clicked block is a stone slab or a double stone slab
%offline players% ((is|are) offline|(is not|isn't|are not|aren't) online)
time in the player's world is greater than 8:00
since:
the creature is not an enderman or an ender dragon</pre>
1.4
====Contains====
Checks whether a player is online.
<pre>模型:
examples:
%inventories% ha(s|ve) %item types% [in [(the[ir]|his|her|its)] inventory]
player is online
%inventories/texts/objects% contain[s] %item types/texts/objects%
player-argument is offline
%inventories% do[es](n't| not) have %item types% [in [(the[ir]|his|her|its)] inventory]
Is Poisoned
%inventories/texts/objects% do[es](n't| not) contain %item types/texts/objects%
patterns[?]:
加入的版本:
%living entities% (is|are) poisoned
1.0
%living entities% (isn't|is not|aren't|are not) poisoned
检查有无物品,一段对话有无一些字,或列出变量表是否包含某变量。
since:
示例:
1.4.4
block contains 20 cobblestone
Checks whether an entity is poisoned.
player has 4 flint and 2 iron ingots</pre>
examples:
====Damage Cause====
player is poisoned:
<pre>模型:
cure the player from posion
[the] damage [(n('|o)]t) [been] (caused|done|made) by %damage cause%
message "You have been cured!"
加入的版本:
Is Riding
patterns[?]:
%entities% (is|are) riding [%entity types%]
%entities% (isn't|is not|aren't|are not) riding [%entity types%]
since:
2.0
2.0
Tests whether an entity is riding another or is in a vehicle.
检查是什么造成的伤害,来源可以查看变量表。
examples:
示例:
player is riding a saddled pig
# make players use their potions of fire resistance whenever they take any kind of fire damage
Is Sleeping
on damage:
patterns[?]:
damage was caused by lava, fire or burning
%players% (is|are) sleeping
victim is a player
%players% (isn't|is not|aren't|are not) sleeping
victim has a potion of fire resistance
since:
cancel event
1.4.4
apply fire resistance to the victim for 30 seconds
Checks whether a player is sleeping.
remove 1 potion of fire resistance from the victim
examples:
# prevent mobs from dropping items under certain circumstances
# cut your enemies' throats in their sleep >=)
on death;
on attack:
entity is not a player
attacker is holding a sword
damage wasn't caused by a block explosion, an attack, a projectile, a potion, fire, burning, thorns or poison
victim is sleeping
clear drops</pre>
increase the damage by 1000
====Event Cancelled====
Is Sneaking
<pre>模型:
patterns[?]:
[the] event is cancel[l]ed
%players% (is|are) sneaking
[the] event (is not|isn't) cancel[l]ed
%players% (isn't|is not|aren't|are not) sneaking
加入的版本:
since:
2.2-dev36
1.4.4
检查时间是否被取消
Checks whether a player is sneaking
示例:
examples:
on click:
# prevent mobs from seeing sneaking players if they are at least 4 meters apart
    if event is cancelled:
on target:
        broadcast "no clicks allowed!"</pre>
target is sneaking
====Exists/Is Set====
distance of target and the entity is bigger than 4
<pre>模型:
cancel the event
%~objects% (exist[s]|(is|are) set)
Is Sprinting
%~objects% (do[es](n't| not) exist|(is|are)(n't| not) set)
patterns[?]:
加入的版本:
%players% (is|are) sprinting
1.2
%players% (isn't|is not|aren't|are not) sprinting
检查一个表达式是否被创建
since:
示例:
1.4.4
{teamscript.%player%.preferred team} is not set
Checks whether a player is sprinting
on damage:
examples:
projectile exists
player is not sprinting
broadcast "%attacker% used a %projectile% to attack %victim%!"</pre>
Is Wearing
====Has Client Weather====
patterns[?]:
<pre>模型:
%living entities% (is|are) wearing %item types%
%players% (has|have) [a] (client|custom) weather [set]
%living entities% (isn't|is not|aren't|are not) wearing %item types%
%players% (doesn't|does not|do not|don't) have [a] (client|custom) weather [set]
since:
加入的版本:
2.3
检查玩家客户端是否自定义了天气(通常在装有高清修复的客户端中才能自定义天气)
示例:
if the player has custom weather:
    message "Your custom weather is %player's weather%"</pre>
====Has Metadata====
<pre>模型:
%metadata holders% (has|have) metadata [(value|tag)[s]] %texts%
%metadata holders% (doesn't|does not|do not|don't) have metadata [(value|tag)[s]] %texts%
加入的版本:
2.2-dev36
检查玩家是否持有数据值
示例:
if player has metadata value "healer":</pre>
====Has Permission====
<pre>模型:
[%players/console%] (do[es]n't|don't|do[es] not) have [the] permission[s] %texts%
[%players/console%] ha(s|ve) [the] permission[s] %texts%
加入的版本:
1.0
1.0
Checks whether a player is wearing some armour.
检查玩家有无权限
examples:
示例:
player is wearing an iron chestplate and iron leggings
player has permission "skript.tree"
player is wearing all diamond armour
victim has the permission "admin":
PvP
send "You're attacking an admin!" to attacker</pre>
patterns[?]:
====Has Played Before====
(is PvP|PvP is) enabled [in %worlds%]
<pre>模型:
(is PvP|PvP is) disabled [in %worlds%]
%offline player% [(has|did)] [already] play[ed] [on (this|the) server] (before|already)
since:
%offline player% (has not|hasn't|did not|didn't) [(already|yet)] play[ed] [on (this|the) server] (before|already|yet)
1.3.4
加入的版本:
Checks the PvP status of a world.
1.4
examples:
检查玩家之前是否玩过游戏
PvP is enabled
示例:
PvP is disabled in "world"
player has played on this server before
Region Contains
player hasn't played before</pre>
patterns[?]:
====Has Resource Pack====
cannot be used directly
<pre>模型:
since:
%players% (has|have) [a] resource pack [(loaded|installed)]
2.1
%players% (doesn't|does not|do not|don't) have [a] resource pack [(loaded|installed)]
Checks whether a location is contained in a particular region.
加入的版本:
This condition requires a supported regions plugin to be installed.
2.4
examples:
要求服务端核心版本:
player is in the region {regions::3}
Paper 1.9 or newer #Paper 1.9或更高
on region enter:
检查玩家是否加载了服务端发送给玩家的资源包。注意,这无法检测玩家本身安装的资源包,只能检查服务器发送的资源包。
region contains {flags.%world%.red}
示例:
message "The red flag is near!"
if the player has a resource pack loaded:</pre>
Time
====Has Scoreboard Tag====
patterns[?]:
<pre>模型:
%date% (was|were)( more|(n't| not) less) than %time span% [ago]
%entities% (has|have) [the] score[ ]board tag[s] %texts%
%date% (was|were)((n't| not) more| less) than %time span% [ago]
%entities% (doesn't|does not|do not|don't) have [the] score[ ]board tag[s] %texts%
since:
加入的版本:
2.3
检查玩家是否被给予了计分板标记
示例:
if the targeted armor stand has the scoreboard tag "test tag":</pre>
====Is Alive====
<pre>模型:
%living entities% (alive|dead)
%living entities% (alive|dead)
加入的版本:
2.0
2.0
Tests whether a given real time was more or less than some time span ago.
检查实体是否存活
examples:
示例:
command /command_with_cooldown:
{villagerbuddy.%player%} is dead</pre>
trigger:
====Is Banned====
{command.%player%.lastused} was less than a minute ago:
<pre>模型:
message "Please wait a minute between uses of this command."
%offline players/texts% (is|are) banned
stop
%players/texts% [(is|are) IP(-| )]banned
set {command.%player%.lastused} to now
%offline players/texts% (isn't|is not|aren't|are not) banned
# ... actual command trigger here ...
%players/texts% [(isn't|is not|aren't|are not) IP(-| )]banned
Weather
加入的版本:
patterns[?]:
1.4
is %weather types% [in %worlds%]
检查一个玩家或IP是否被BAN掉
since:
示例:
1.0
player is banned
Checks whether the weather in a world is of a specific type.
victim is not IP-banned
I welcome any ideas how to write this condition differently.
"127.0.0.1" is banned</pre>
examples:
====Is Block====
is thundering
<pre>模型:
is raining in "world" or "world2"
%item stacks% (is|are) ([a] block|blocks)
About ~ njol.ch created by Peter Güttinger ~ icons by Yusuke Kamiyamane ~
%item stacks% (isn't|is not|aren't|are not) ([a] block|blocks)
Last modified: Freyja's Day, 9th August 2013, 09:42
加入的版本:
===Effects===
2.4
Njol.ch
检查物品是否为一个方块
»
示例:
Projects
player's held item is a block
»
{list::*} are blocks</pre>
Skript
====Is Blocking====
Yggdrasil
<pre>模型:
Markup
%players% (is|are) (blocking|defending)
»
%players% (isn't|is not|aren't|are not) (blocking|defending)
Documentation
加入的版本:
Tutorial
unknown
API
检查玩家是否在格挡
Statistics
示例:
» Skript: EffectsEventsConditionsEffectsExpressionsLoopsCustom CommandsTypesTextVariables
victim is blocking</pre>
Table of Contents
====Is Burning====
Ban
<pre>模型:
Broadcast
%entities% (is|are) (burning|ignited|on fire)
Cancel Event
%entities% (isn't|is not|aren't|are not) (burning|ignited|on fire)
Change: Set/Add/Remove/Delete/Reset
加入的版本:
Colour Armour
1.4.4
Command
检查实体是否在燃烧
Damage/Heal/Repair
示例:
Delay
# increased attack against buring targets
Drop
victim is burning:
Enchant/Disenchant
increase damage by 2</pre>
Equip
====Is Empty====
Exit
<pre>模型:
Explosion
%inventories/slots/texts% (is|are) empty
Ignite/Extinguish
%inventories/slots/texts% (isn't|is not|aren't|are not) empty
Kick
加入的版本:
Kill
unknown
Lightning
检查物品栏/装备栏/文本是空的
Log
示例:
Message
player's inventory is empty</pre>
op/deop
====Is Enchanted====
Open Inventory
<pre>模型:
Play Effect
%item types% (is|are) enchanted [with %enchantment type%]
Poison/Cure
%item types% (isn't|is not|aren't|are not) enchanted [with %enchantment type%]
Potion Effects
加入的版本:
Push
1.4.6
PvP
检查物品有无附魔
Replace
示例:
Shear
tool of the player is enchanted with efficiency 2
Shoot
helm, chestplate, leggings or boots are enchanted</pre>
Spawn
====Is Flammable====
Teleport
<pre>模型:
Toggle
%item stacks% (is|are) flammable
Tree
%item stacks% (isn't|is not|aren't|are not) flammable
Vehicle
加入的版本:
Filter for version:  
2.2-dev36
=>
检查方块是否可燃/易燃
Ban
示例:
patterns[?]:
wood is flammable
ban %texts/offline players% [(by reason of|because [of]|on account of|due to) %text%]
player's tool is flammable</pre>
unban %texts/offline players%
====Is Flying====
ban %players% by IP [(by reason of|because [of]|on account of|due to) %text%]
<pre>模型:
unban %players% by IP
%players% (is|are) flying
IP(-| )ban %players% [(by reason of|because [of]|on account of|due to) %text%]
%players% (isn't|is not|aren't|are not) flying
(IP(-| )unban|un[-]IP[-]ban) %players%
加入的版本:
since:
1.4.4
1.4, 2.1.1 (ban reason)
检查玩家飞行
Bans/unbans a player or IP.
示例:
Starting with Skript 2.1.1 and Bukkit 1.7.2 R0.4, one can also ban players with a reason. If an invalid reason is supplied (e.g. a non-existent variable) the player will still be banned, but the default reason will be used.
player is not flying</pre>
examples:
====Is Holding====
unban player
<pre>模型:
ban "127.0.0.1"
[%living entities%] ha(s|ve) %item types% in [main] hand
IP-ban the player because "he is an idiot"
[%living entities%] (is|are) holding %item types% [in main hand]
Broadcast
[%living entities%] ha(s|ve) %item types% in off[(-| )]hand
patterns[?]:
[%living entities%] (is|are) holding %item types% in off[(-| )]hand
broadcast %texts% [(to|in) %worlds%]
[%living entities%] (ha(s|ve) not|do[es]n't have) %item types% in [main] hand
since:
[%living entities%] (is not|isn't) holding %item types% [in main hand]
[%living entities%] (ha(s|ve) not|do[es]n't have) %item types% in off[(-| )]hand
[%living entities%] (is not|isn't) holding %item types% in off[(-| )]hand
加入的版本:
1.0
1.0
Broadcasts a message to the server.
检查玩家是否持有特定物品。不能在末影人上使用,请使用'entity is [not] an enderman holding <item type>'
examples:
示例:
broadcast "Welcome %player% to the server!"
player is holding a stick
broadcast "Woah! It's a message!"
victim isn't holding a sword of sharpness</pre>
Cancel Event
====Is Loaded====
patterns[?]:
<pre>模型:
cancel [the] event
%worlds/chunks% (is|are) loaded
uncancel [the] event
%worlds/chunks% (isn't|is not|aren't|are not) loaded
since:
加入的版本:
1.0
2.3
Cancels the event (e.g. prevent blocks from being placed, or damage being taken).
检查是否加载方块/世界
examples:
示例:
on damage:
if chunk at {home::%player's uuid%} is loaded:</pre>
victim is a player
====Is in World====
victim has the permission "skript.god"
<pre>模型:
cancel the event
%entities% (is|are) in [[the] world[s]] %worlds%
Change: Set/Add/Remove/Delete/Reset
%entities% (is not|isn't|are not|aren't) in [[the] world[s]] %worlds%
patterns[?]:
加入的版本:
(add|give) %objects% to %~objects%
1.4
increase %~objects% by %objects%
检查玩家是否在世界里
give %~objects% %objects%
示例:
set %~objects% to %objects%
player is in "world"
remove (all|every) %objects% from %~objects%
argument isn't in world "world_nether"
(remove|subtract) %objects% from %~objects%
the attacker is in the world of the victim</pre>
reduce %~objects% by %objects%
====Is Member/Owner of Region====
(delete|clear) %~objects%
<pre>模型:
reset %~objects%
不能直接使用
since:
加入的版本:
1.0 (set, add, remove, delete), 2.0 (remove all)
2.1
A very general effect that can change many expressions. Many expressions can only be set and/or deleted, while some can have things added to or removed from them.
检查玩家是否为这个区域的成员或主人,需要一个区域插件。
examples:
示例:
# set:
on region enter:
Set the player's display name to "<red>%name of player%"
player is the owner of the region
set the block above the victim to lava
message "Welcome back to %region%!"
# add:
send "%player% just entered %region%!" to all members of the region</pre>
add 2 to the player's health # preferably use '<a href='#heal'>heal</a>' for this
====Is of Type====
add argument to {blacklist::*}
<pre>模型:
give a diamond pickaxe of efficiency 5 to the player
%item stacks/entities% (is|are) of type[s] %item types/entity types%
increase the data value of the clicked block by 1
%item stacks/entities% (isn't|is not|aren't|are not) of type[s] %item types/entity types%
# remove:
加入的版本:
remove 2 pickaxes from the victim
1.4
subtract 2.5 from {points.%player%}
检查物品或实体是否为给定的类型。这经常对变量很有效,你也可以用is来代替。(如. 'victim is a creeper').
# remove all:
示例:
remove every iron tool from the player
tool is of type {*selected type}
remove all minecarts from {entitylist::*}
victim is of type {villager type}</pre>
# delete:
====Is on Ground====
delete the block below the player
<pre>模型:
clear drops
%entities% (is|are) on [the] ground
delete {variable}
%entities% (isn't|is not|aren't|are not) on [the] ground
# reset:
加入的版本:
reset walk speed of player
2.2-dev26
reset chunk at the targeted block
检查一个实体是否在地上
Colour Armour
示例:
patterns[?]:
player is not on ground</pre>
(dye|colo[u]r|paint) %slots/item stack% %color%
====Is Online====
(dye|colo[u]r|paint) %slots/item stack% (%number%, %number%, %number%)
<pre>模型:
since:
%offline players% ((is|are) online|(is not|isn't|are not|aren't) offline)
2.0
%offline players% ((is|are) offline|(is not|isn't|are not|aren't) online)
Colours leather armour in a given colour. You can also use RGB codes if you feel limited with the 16 default colours. RGB codes are three numbers from 0 to 255 in the order (red, green, blue), where (0,0,0) is black and (255,255,255) is white.
加入的版本:
examples:
1.4
dye player's helmet blue
检查玩家是否在线
colour the player's tool red
示例:
Command
player is online
patterns[?]:
player-argument is offline</pre>
[execute] [the] command %texts% [by %players/console%]
====Is Poisoned====
[execute] [the] %players/console% command %texts%
<pre>模型:
(let|make) %players/console% execute [[the] command] %texts%
%living entities% (is|are) poisoned
since:
%living entities% (isn't|is not|aren't|are not) poisoned
加入的版本:
1.4.4
检测实体是否中毒
示例:
player is poisoned:
cure the player from posion
message "You have been cured!"</pre>
====Is Riding====
<pre>模型:
%entities% (is|are) riding [%entity types%]
%entities% (isn't|is not|aren't|are not) riding [%entity types%]
加入的版本:
2.0
检查实体有无骑着其他实体
示例:
player is riding a saddled pig</pre>
====Is Script Loaded====
<pre>模型:
script[s] [%texts%] (is|are) loaded
script[s] [%texts%] (isn't|is not|aren't|are not) loaded
加入的版本:
2.2-dev31
检查当前脚本或其他脚本是否加载
示例:
script is loaded
script "example.sk" is loaded</pre>
====Is Sleeping====
<pre>模型:
%players% (is|are) sleeping
%players% (isn't|is not|aren't|are not) sleeping
加入的版本:
1.4.4
检查玩家是否在睡觉
示例:
# cut your enemies' throats in their sleep >=)
on attack:
attacker is holding a sword
victim is sleeping
increase the damage by 1000</pre>
====Is Slime Chunk====
<pre>模型:
%chunk% (is|are) ([a] slime chunk|slime chunks|slimey)
%chunk% (isn't|is not|aren't|are not) ([a] slime chunk|slime chunks|slimey)
加入的版本:
2.3
检查区块是否为史莱姆区块
示例:
command /slimey:
    trigger:
        if chunk at player is a slime chunk:
            send "Yeah, it is!"
        else:
            send "Nope, it isn't"</pre>
====Is Sneaking====
<pre>模型:
%players% (is|are) sneaking
%players% (isn't|is not|aren't|are not) sneaking
加入的版本:
1.4.4
检测玩家是否在潜行
示例:
# prevent mobs from seeing sneaking players if they are at least 4 meters apart
on target:
target is sneaking
distance of target and the entity is bigger than 4
cancel the event</pre>
====Is Solid====
<pre>模型:
%item stacks% (is|are) solid
%item stacks% (isn't|is not|aren't|are not) solid
加入的版本:
2.2-dev36
检查一个物品是否为实心的
示例:
grass block is solid
player's tool isn't solid</pre>
====Is Sprinting====
<pre>模型:
%players% (is|are) sprinting
%players% (isn't|is not|aren't|are not) sprinting
加入的版本:
1.4.4
检查玩家是否在疾跑
示例:
player is not sprinting</pre>
====Is Swimming====
<pre>模型:
%living entities% (is|are) swimming
%living entities% (isn't|is not|aren't|are not) swimming
加入的版本:
2.3
要求游戏版本:
1.13或更加新的版本
检查一个实体是否在游泳
示例:
player is swimming</pre>
====Is Transparent====
<pre>模型:
%item stacks% (is|are) transparent
%item stacks% (isn't|is not|aren't|are not) transparent
加入的版本;
2.2-dev36
检查一个物品是否是透明的
示例:
glass is transparent
player's tool is transparent.</pre>
====Is Wearing====
<pre>模型:
%living entities% (is|are) wearing %item types%
%living entities% (isn't|is not|aren't|are not) wearing %item types%
加入的版本:
1.0
1.0
Executes a command. This can be useful to use other plugins in triggers.
Checks whether a player is wearing some armour.
examples:
示例:
make player execute command "/suicide"
player is wearing an iron chestplate and iron leggings
execute console command "/say Hello everyone!"
player is wearing all diamond armour</pre>
Damage/Heal/Repair
====PvP====
patterns[?]:
<pre>模型:
damage %slots/living entities/item stack% by %number% [heart[s]]
(is PvP|PvP is) enabled [in %worlds%]
heal %living entities% [by %number% [heart[s]]]
(is PvP|PvP is) disabled [in %worlds%]
repair %slots/item stack% [by %number%]
加入的版本:
since:
1.3.4
检查PVP状态
示例:
PvP is enabled
PvP is disabled in "world"</pre>
====Region Contains====
<pre>模型:
[[the] region] %regions% contain[s] %directions% %locations%
%locations% (is|are) ([contained] in|part of) [[the] region] %regions%
[[the] region] %regions% (do|does)(n't| not) contain %directions% %locations%
%locations% (is|are)(n't| not) (contained in|part of) [[the] region] %regions%
加入的版本:
2.1
区域中有XXX,必须有区域插件
示例:
player is in the region {regions::3}
on region enter:
region contains {flags.%world%.red}
message "The red flag is near!"</pre>
====Resource Pack====
<pre>模型:
[the] resource pack (was|is|has) [been] %resource pack state%
[the] resource pack (was|is|has)(n't| not) [been] %resource pack state%
加入的版本:
2.4
需求事件: 资源包响应状态
检查资源包的响应状态
示例:
on resource pack response:
    if the resource pack wasn't accepted:
        kick the player due to "You have to install the resource pack to play in this server!"</pre>
====Starts/Ends With====
<pre>模型:
%texts% (start|end)[s] with %text%
%texts% (doesn't|does not|do not|don't) (start|end) with %text%
加入的版本:
2.2-dev36
检查一个文本是否是另一文本的开头或结尾
示例:
if the argument starts with "test":
    send "Stop!"</pre>
====Time====
<pre>模型:
%date% (was|were)( more|(n't| not) less) than %time span% [ago]
%date% (was|were)((n't| not) more| less) than %time span% [ago]
加入的版本:
2.0
给予变量时间
示例:
command /command_with_cooldown:
trigger:
{command.%player%.lastused} was less than a minute ago:
message "Please wait a minute between uses of this command."
stop
set {command.%player%.lastused} to now
# ... actual command trigger here ...</pre>
====Weather====
<pre>模型:
is %weather types% [in %worlds%]
加入的版本:
1.0
1.0
Damage/Heal/Repair an entity, or item stack.
检查世界的天气
examples:
示例:
damage player by 5 hearts
is thundering
heal the player
is raining in "world" or "world2"</pre>
repair tool of player
 
Delay
===效果===
patterns[?]:
====Action Bar====
(wait|halt) [for] %time span%
<pre>模型:
since:
send [the] action bar [with text] %text% to %players%
1.4
加入的版本:
Delays the script's execution by a given timespan. Please note that delays are not persistent, e.g. trying to create a tempban script with ban player → wait 7 days → unban player will not work if you restart your server anytime within these 7 days. You also have to be careful even when using small delays!
2.3
examples:
发送给玩家一条位于ActionBar的信息
wait 2 minutes
示例:
halt for 5 minecraft hours
send action bar "Hello player!" to player</pre>
wait a tick
====Ban====
Drop
<pre>模型:
patterns[?]:
ban %texts/offline players% [(by reason of|because [of]|on account of|due to) %text%]
drop %item types/experience point% [%directions% %locations%]
unban %texts/offline players%
since:
ban %players% by IP [(by reason of|because [of]|on account of|due to) %text%]
unban %players% by IP
IP(-| )ban %players% [(by reason of|because [of]|on account of|due to) %text%]
(IP(-| )unban|un[-]IP[-]ban) %players%
加入的版本:
1.4, 2.1.1 (ban reason)
BAN掉玩家或IP
必须满足Skript 2.1.1及Bukkit 172 R0.4以上,可以使用原因来ban出玩家。
如果是一个不支持的原因[如没有创建的变量],玩家仍旧会被BAN,但会使用默认原因。
示例:
unban player
ban "127.0.0.1"
IP-ban the player because "he is an idiot"</pre>
====Break Block====
<pre>模型:
break %blocks% [naturally] [using %item type%]
加入的版本:
2.4
像一个玩家一样破坏一个方块
你可以添加一个工具,这样破坏方块时将使用这个工具的形式破坏(即:当用手打破石头时不会掉落任何东西,而用镐子时会掉落圆石)
示例:
on right click:
    break clicked block naturally
loop blocks in radius 10 around player:
    break loop-block using player's tool
loop blocks in radius 10 around player:
    break loop-block naturally using diamond pickaxe</pre>
====Broadcast====
<pre>模型:
broadcast %texts% [(to|in) %worlds%]
加入的版本:
1.0
1.0
Drops one or more items.
在服务器公告内容
examples:
示例:
on death of creeper:
broadcast "Welcome %player% to the server!"
drop 1 TNT
broadcast "Woah! It's a message!"</pre>
Enchant/Disenchant
====Cancel Command Cooldown====
patterns[?]:
<pre>模型:
enchant %~item stack% with %enchantment types%
(cancel|ignore) [the] [current] [command] cooldown
disenchant %~item stack%
un(cancel|ignore) [the] [current] [command] cooldown
since:
加入的版本:
2.0
2.2-dev34
Enchant or disenchant an existing item
仅在命令中可用,使得当前的命令不会被计入冷却中
examples:
示例:
enchant the player's tool with sharpness 5
command /nick :
disenchant the player's tool
    executable by: players
Equip
    cooldown: 10 seconds
patterns[?]:
    trigger:
equip [%living entity%] with %item types%
        if length of arg-1 is more than 16:
make %living entity% wear %item types%
            # 使无效的参数不会让命令进入冷却时间
since:
            cancel the cooldown
            send "Your nickname may be at most 16 characters."
            stop
        set the player's display name to arg-1</pre>
====Cancel Event====
<pre>模型:
cancel [the] event
uncancel [the] event
加入的版本:
1.0
1.0
Equips a player with some given armor. This will replace any armor that the player is wearing.
取消事件的发生
Starting with Skript 2.1 mobs can be equipped with armour as well, pigs can be equipped with saddles, and horses can be equipped with saddles, horse armour, and chests.
示例:
examples:
on damage:
equip player with diamond helmet
victim is a player
equip player with all diamond armour
victim has the permission "skript.god"
equip the clicked horse with diamond horse armour and a saddle
cancel the event</pre>
make the last spawned pig wear a saddle
====Change: Set/Add/Remove/Delete/Reset====
Exit
<pre>模型:
patterns[?]:
(add|give) %objects% to %~objects%
(exit|stop) [trigger]
increase %~objects% by %objects%
(section|loop|conditional)
give %~objects% %objects%
(section|loop|conditional)s
set %~objects% to %objects%
(section|loop|conditional)s
remove (all|every) %objects% from %~objects%
since:
(remove|subtract) %objects% from %~objects%
unknown
reduce %~objects% by %objects%
Exits a given amount of loops and conditionals, or the entire trigger.
(delete|clear) %~objects%
examples:
reset %~objects%
if player has any ore:
加入的版本:
stop
1.0 (set, add, remove, delete), 2.0 (remove all)
message "%player% has no ores!"
改变表达式,非常常规的效果
loop blocks above the player:
示例:
loop-block is not air:
# set:
exit 2 sections
Set the player's display name to "<red>%name of player%"
set loop-block to water
set the block above the victim to lava
Explosion
# add:
patterns[?]:
add 2 to the player's health # preferably use '<a href='#heal'>heal</a>' for this
[(create|make)] [an] explosion (of|with) (force|strength|power) %number% [%directions% %locations%]
add argument to {blacklist::*}
[(create|make)] [a] safe explosion (of|with) (force|strength|power) %number% [%directions% %locations%]
give a diamond pickaxe of efficiency 5 to the player
[(create|make)] [a] fake explosion [%directions% %locations%]
increase the data value of the clicked block by 1
[(create|make)] [an] explosion[ ]effect [%directions% %locations%]
# remove:
since:
remove 2 pickaxes from the victim
subtract 2.5 from {points.%player%}
# remove all:
remove every iron tool from the player
remove all minecarts from {entitylist::*}
# delete:
delete the block below the player
clear drops
delete {variable}
# reset:
reset walk speed of player
reset chunk at the targeted block</pre>
====Colour Items====
<pre>模型:
(dye|colo[u]r|paint) %slots/item stack% %color%
(dye|colo[u]r|paint) %slots/item stack% \(%number%, %number%, %number%\)
加入的版本:
2.0, 2.2-dev26 (maps and potions)
用指定的颜色给物品上色。如果您觉得16种默认颜色受到限制,也可以使用RGB代码。
RGB代码是从0到255的三个数字,按顺序排列(红色、绿色、蓝色),其中(0,0,0)为黑色,(255,255,255)为白色。
盔甲是所有Minecraft版本的彩色。使用Minecraft 1.11或更新版本,您还可以给药剂和地图上色。请注意,这些颜色看起来可能不完全符合您的预期。
示例:
dye player's helmet blue
colour the player's tool red</pre>
====Command====
<pre>模型:
[execute] [the] command %texts% [by %players/console%]
[execute] [the] %players/console% command %texts%
(let|make) %players/console% execute [[the] command] %texts%
加入的版本:
1.0
1.0
Creates an explosion of a given force. The Minecraft Wiki has an article on explosions which lists the explosion forces of TNT, creepers, etc.
使用指令
Use a force of 0 to create a fake explosion that does no damage whatsoever, or use the explosion effect introduced in Skript 2.0.
示例:
Starting with Bukkit 1.4.5 and Skript 2.0 you can also create "safe explosions" which will damage entities but won't destroy any blocks.
make player execute command "/suicide"
examples:
execute console command "/say Hello everyone!"</pre>
create an explosion of force 10 at the player
====Connect====
create a fake explosion at the victim
<pre>模型:
Ignite/Extinguish
connect %players% to [server] %text%
patterns[?]:
send %players% to server %text%
(ignite|set fire to) %entities% [for %time span%]
加入的版本:
(set|light) %entities% on fire [for %time span%]
2.3
extinguish %entities%
将玩家连接到另一个BC子服内
since:
示例:
connect all players to "hub"</pre>
====Continue====
<pre>模型:
continue [loop]
加入的版本:
2.2-dev37
跳过当前正在循环的值,如果存在下一个值,则转到下一个值。
示例:
loop all players:
    if loop-value does not have permission "moderator":
        continue # 过滤掉没有moderator的权限的玩家
    broadcast "%loop-player% is a moderator!" # 只有拥有权限moderator的玩家能公告</pre>
====Damage/Heal/Repair====
<pre>模型:
damage %slots/living entities/item stack% by %number% [heart[s]]
heal %living entities% [by %number% [heart[s]]]
repair %slots/item stack% [by %number%]
加入的版本:
1.0
攻击/治疗/修复
示例:
damage player by 5 hearts
heal the player
repair tool of player</pre>
====Delay====
<pre>模型:
(wait|halt) [for] %time span%
加入的版本:
1.4
1.4
Lights entities on fire or extinguishes them.
等待一定的事件,不能作为tempban使用
examples:
示例:
ignite the player
wait 2 minutes
extinguish the player
halt for 5 minecraft hours
Kick
wait a tick</pre>
patterns[?]:
====Do If====
kick %players% [(by reason of|because [of]|on account of|due to) %text%]
<pre>模型:
since:
<.+> if <.+>
加入的版本:
2.3
如果条件为真,则执行...
示例:
on join:
    give a diamond to the player if the player has permission "rank.vip"</pre>
====Drop====
<pre>模型:
drop %item types/experience point% [%directions% %locations%]
加入的版本:
1.0
1.0
Kicks a player from the server.
掉落一个或多个物品
examples:
示例:
on place of TNT, lava, or obsidian:
on death of creeper:
kick the player due to "You may not place %block%!"
drop 1 TNT</pre>
cancel the event
====Enable/Disable/Reload Script File====
Kill
<pre>模型:
patterns[?]:
(enable|load|reload|disable|unload) s(c|k)ript [file] %text%
kill %entities%
加入的版本:
since:
2.4
1.0
启用/禁用/重载一个Skript脚本
Kills one or more entities.
示例:
Note: This effect does not set the entity's health to 0 as that would make the entity disappear without the death animation and without dropping any items, but damages the entity by 100 times its maximum health.
reload script "test"
examples:
enable script file "testing"
kill the player
unload script file "script.sk"</pre>
kill all creepers in the player's world
====Enchant/Disenchant====
kill all endermen, witches and bats
<pre>模型:
Lightning
enchant %~item stack% with %enchantment types%
patterns[?]:
disenchant %~item stack%
[[ ]effect] %directions% %locations%
加入的版本:
since:
1.4
Strikes lightning at a given location.
You can use 'lightning effect' to create a lightning strike that does not harm entities or start fires (a fake fire block may be created for any client within range though).
examples:
strike lightning at the player
strike lightning effect at the victim
Log
patterns[?]:
log %texts% [(to|in) [file[s]] %texts%]
since:
2.0
2.0
Writes text into a .log file. Skript will write these files to /plugins/Skript/logs.
给物品附魔或解除附魔
NB: Using 'server.log' as the log file will write to the default server log. Omitting the log file altogether will log the message as '[Skript] [<script>.sk] <message>' in the server log.
示例:
examples:
enchant the player's tool with sharpness 5
on place of TNT:
disenchant the player's tool</pre>
log "%player% placed TNT in %world% at %location of block%" to "tnt/placement.log"
====Equip====
Message
<pre>模型:
patterns[?]:
equip [%living entity%] with %item types%
(message|send [message]) %texts% [to %players/console%]
make %living entity% wear %item types%
since:
加入的版本:
1.0
1.0
Sends a message to the given player.
给玩家穿戴装备,会覆盖当前装备。
examples:
Skript 2.1 起怪物也能穿戴装备了,猪可以穿戴鞍,马可以穿戴鞍,马铠和箱子。
message "A wild %player% appeared!"
示例:
message "This message is a distraction. Mwahaha!"
equip player with diamond helmet
send "Your kill streak is %{kill streak.%player%}%." to player
equip player with all diamond armour
if the targeted entity exists:
equip the clicked horse with diamond horse armour and a saddle
message "You're currently looking at a %type of the targeted entity%!"
make the last spawned pig wear a saddle</pre>
op/deop
====Exit====
patterns[?]:
<pre>模型:
[de[-]]op %offline players%
(exit|stop) [trigger]
since:
(section|loop|conditional)
(section|loop|conditional)s
(section|loop|conditional)s
加入的版本:
unknown
停止循环的触发器
示例:
if player has any ore:
stop
message "%player% has no ores!"
loop blocks above the player:
loop-block is not air:
exit 2 sections
set loop-block to water</pre>
====Explosion====
<pre>模型:
[(create|make)] [an] explosion (of|with) (force|strength|power) %number% [%directions% %locations%]
[(create|make)] [a] safe explosion (of|with) (force|strength|power) %number% [%directions% %locations%]
[(create|make)] [a] fake explosion [%directions% %locations%]
[(create|make)] [an] explosion[ ]effect [%directions% %locations%]
加入的版本:
1.0
1.0
Grant/revoke a user operator status.
用给出的力量制造爆炸。
examples:
力量是0时可以制造一场假爆炸,如第三行。
op the player
从 Bukkit 1.4.5 / Skript 2.0 开始你可以使用第二行,即安全爆炸,不会破坏方块。
deop all players
示例:
Open Inventory
create an explosion of force 10 at the player
patterns[?]:
create a fake explosion at the victim</pre>
[(open|show) ((crafting [table]|workbench) (view|window|inventory)]|%inventory%) (to|for) %players%
====Feed====
close [the] inventory [view] (to|of|for) %players%
<pre>模型:
close %players%'[s] inventory [view]
feed [the] %players% [by %number% [beef[s]]]
since:
加入的版本:
2.0, 2.1.1 (closing)
2.2-dev34
Opens or closes an inventory to a player. If opened, the player can then access and modify the inventory as if it was a chest that he just opened. Closing will close any inventory the player has currently open.  
回复玩家的饱食度
Please note that currently 'show' and 'open' have the same effect, but 'show' will eventually show an unmodifiable view of the inventory in the future.
示例:
examples:
feed all players
show the victim's inventory to the player
feed the player by 5 beefs</pre>
open the player's inventory for the player
====Force Respawn====
close the player's inventory
<pre>模型:
Play Effect
force %players% to respawn
patterns[?]:
加入的版本:
(play|show) %visual effects% (on|%directions%) %entities/locations% [to %players%]
2.2-dev21
since:
强制玩家重生,如果在死亡后立即发生这个事件,将在重生之前等待1 tick
2.1
示例:
Plays a visual effect at a given location or on a given entity.
on death of player:
Please note that some effects can only be played on entities, e..g wolf hearts or the hurt effect, and that these are always visible to all players.
    force event-player to respawn</pre>
examples:
====Hide Player from Server List====
play wolf hearts on the clicked wolf
<pre>模型:
show mob spawner flames at the targeted block to the player
hide %players% (in|on|from) [the] server list
Poison/Cure
hide %players%'[s] info[rmation] (in|on|from) [the] server list
patterns[?]:
加入的版本:
poison %living entities% [for %time span%]
2.3
(cure|unpoison) %living entities% [(from|of) poison]
从TAB列表中隐藏玩家,并减少在线玩家数(仅当玩家数之前没有更改时可用)
since:
示例:
1.3.2
on server list ping:
Poison or cure a creature.
    hide {vanished::*} from the server list</pre>
examples:
====Ignite/Extinguish====
poison the player
<pre>模型:
poison the victim for 20 seconds
(ignite|set fire to) %entities% [for %time span%]
cure the player from poison
(set|light) %entities% on fire [for %time span%]
Potion Effects
extinguish %entities%
patterns[?]:
加入的版本:
apply [potion of] %potions% [potion] [[[of] tier] %number%] to %living entities% [for %time span%]
1.4
since:
在实体上制造火焰/打雷
示例:
ignite the player
extinguish the player</pre>
====Kick====
<pre>模型:
kick %players% [(by reason of|because [of]|on account of|due to) %text%]
加入的版本:
1.0
把玩家从服务器踢出
示例:
on place of TNT, lava, or obsidian:
kick the player due to "You may not place %block%!"
cancel the event</pre>
====Kill====
<pre>模型:
kill %entities%
加入的版本:
1.0
击杀一个或多个实体。
注意: 这个效果不是把实体的生命设置为0,并不会触发死亡消息,而且不会掉落物品,而是用它最大生命的100倍去伤害它。
示例:
kill the player
kill all creepers in the player's world
kill all endermen, witches and bats</pre>
====Launch firework====
<pre>模型:
(launch|deploy) [[a] firework [with effect[s]]] %firework effects% at %locations% [([with] (duration|power)|timed) %number%]
加入的版本:
2.4
在指定位置发射烟火。
示例:
launch ball large coloured red, purple and white fading to light green and black at player's location with duration 1</pre>
====Leash entities====
<pre>模型:
(leash|lead) %living entities% to %entity%
make %entity% (leash|lead) %living entities%
un(leash|lead) [holder of] %living entities%
加入的版本:
2.3
将一个实体拴在另一个实体上
示例:
leash the player to the target entity</pre>
====Lightning====
<pre>模型:
[[ ]effect] %directions% %locations%
加入的版本:
1.4
在位置生成一道闪电
示例:
strike lightning at the player
strike lightning effect at the victim</pre>
====Load Server Icon====
<pre>模型:
load [the] server icon (from|of) [the] [image] [file] %text%
加入的版本:
2.3
要求服务端核心版本:
Paper 1.12.2 或更新
从指定图片文件中加载服务器图标。您可以使用上次加载的服务器图标表达式获取已加载的图标。请注意,图像必须是64x64像素,文件路径从服务器文件夹开始读取。
示例:
on load:
    clear {server-icons::*}
    loop 5 times:
        load server icon from file "icons/%loop-number%.png"
        add the last loaded server icon to {server-icons::*}
 
on server list ping:
    set the icon to a random server icon out of {server-icons::*}</pre>
====Locally Suppress Warning====
<pre>模型:
[local[ly]] suppress [the] (conflict|variable save|[missing] conjunction[s]|starting [with] expression[s]) warning[s]
加入的版本:
2.3
禁止当前脚本中的(目标)警告
示例:
locally suppress conflict warnings
suppress the variable save warnings</pre>
====Log====
<pre>模型:
log %texts% [(to|in) [file[s]] %texts%]
加入的版本:
2.0
2.0
Apply or remove potion effects to/from entities.
写一个log文件。你可以在 /plugins/Skript/logs 里找到
examples:
使用 'server.log' 将如此记录 '[Skript] [<script>.sk] <message>'
apply swiftness 2 to the player
示例:
remove haste from the victim
on place of TNT:
log "%player% placed TNT in %world% at %location of block%" to "tnt/placement.log"</pre>
====Loop Version====
<pre>模型:
use[s] (old|new|2.1.2|2.2) loops
加入的版本:
unknown (2.2)
使用指定版本形式的loop-value
示例:
use old loops
use new loops</pre>
====Make Fly====
<pre>模型:
force %players% to [(start|stop)] fly[ing]
make %players% (start|stop) flying
make %players% fly
加入的版本:
2.2-dev34
强制玩家开始/停止飞行 #译者注:建议使用set player's fly mode来调整玩家的飞行,Make Fly在某些情况下会报错并无法使用
示例:
make player fly
force all players to stop flying</pre>
====Make Say====
<pre>模型:
make %players% (say|send [the] message[s]) %texts%
force %players% to (say|send [the] message[s]) %texts%
加入的版本:
2.3
强制玩家发送消息。如果消息以"/"开头,将强制玩家使用命令。
示例:
make the player say "Hello."
force all players to send the message "I love this server"</pre>
====Message====
<pre>模型:
(message|send [message]) %texts% [to %players/console%]
加入的版本:
1.0
发送消息
示例:
message "A wild %player% appeared!"
message "This message is a distraction. Mwahaha!"
send "Your kill streak is %{kill streak.%player%}%." to player
if the targeted entity exists:
message "You're currently looking at a %type of the targeted entity%!"</pre>
====op/deop====
<pre>模型:
[de[-]]op %offline players%
加入的版本:
1.0
给予/拿走玩家的OP权限
示例:
op the player
deop all players</pre>
====Open Inventory====
<pre>模型:
[(open|show) ((crafting [table]|workbench) (view|window|inventory)]|%inventory%) (to|for) %players%
close [the] inventory [view] (to|of|for) %players%
close %players%'[s] inventory [view]
加入的版本:
2.0, 2.1.1 (closing)
为玩家打开背包
SHOW为不能移动东西
OPEN为可以移动
示例:
show the victim's inventory to the player
open the player's inventory for the player
close the player's inventory</pre>
====Play Effect====
<pre>模型:
(play|show) %visual effects% (on|%directions%) %entities/locations% [to %players%]
加入的版本:
2.1
播放声音
示例:
play wolf hearts on the clicked wolf
show mob spawner flames at the targeted block to the player</pre>
====Play Sound====
<pre>模型:
play sound[s] %texts% [(in|from) %sound category%] [(at|with) volume %number%] [(and|at|with) pitch %number%] at %locations% [for %players%]
play sound[s] %texts% [(in|from) %sound category%] [(at|with) volume %number%] [(and|at|with) pitch %number%] [(to|for) %players%] [(at|from) %locations%]
加入的版本:
2.2-dev28, 2.4 (sound categories)
要求游戏版本:
Minecraft 1.11+ (sound categories)
在指定位置为每个人播放声音或仅为指定的玩家播放声音,或为指定的玩家播放声音。
同时支持Minecraft声音名称和Spigot声音名称。也支持播放资源包声音。默认情况下,声音类别为"master"。
请注意,声音名称可以在任何Minecraft或Spigot版本中更改,甚至可以从Minecraft本身中删除。
示例:
play sound "block.note_block.pling" # It is block.note.pling in 1.12.2
play sound "entity.experience_orb.pickup" with volume 0.5 to the player
play sound "custom.music.1" in jukebox category at {speakerBlock}</pre>
====Player Info Visibility====
<pre>模型:
hide [all] player [related] info[rmation] [(in|on|from) [the] server list]
(show|reveal) [all] player [related] info[rmation] [(in|to|on|from) [the] server list]
加入的版本:
2.3
需要前置的事件:
server list ping
服务端核心要求:
Paper 1.12.2 或更新
设置是否在服务器列表中隐藏所有与播放机相关的信息。Vanilla Minecraft客户端会展示"????(深灰色)"代替玩家
隐藏玩家信息时不会显示Tab历史记录。版本字符串可以重写"????"。同时,隐藏玩家信息时,在线玩家数和最大玩家数表达式将返回-1。#译者注:这里是机翻,我也不知道具体该怎么翻译,抱歉。
示例:
hide player info
hide player related information in the server list
reveal all player related info</pre>
====Player Visibility====
<pre>模型:
hide %players% [(from|for) %players%]
reveal %players% [(to|for|from) %players%]
加入的版本:
2.3
更改指定玩家的玩家可见性(类似隐身)。
当“显示/隐藏 玩家”表达式组合使用且未指定时,将默认为“隐藏玩家”表达式中的指定玩家。
注意:如果玩家被隐藏并重新定位,该玩家将再次可见。
示例:
on join:
on join:
apply potion of strength of tier {strength.%player%} to the player for 999 days
    if {vanished::%player's uuid%} is true:
Push
        hide the player from all players
patterns[?]:
 
(push|thrust) %entities% %direction% [(at|with) (speed|velocity|force) %number%]
reveal hidden players of {_player}</pre>
since:
====Poison/Cure====
1.4.6
<pre>模型:
Push entities around.
poison %living entities% [for %time span%]
examples:
(cure|unpoison) %living entities% [(from|of) poison]
加入的版本:
1.3.2
中毒
示例:
poison the player
poison the victim for 20 seconds
cure the player from poison</pre>
====Potion Effects====
<pre>模型:
apply [potion of] %potions% [potion] [[[of] tier] %number%] to %living entities% [for %time span%]
加入的版本:
2.0
药水效果
示例:
apply swiftness 2 to the player
remove haste from the victim
on join:
apply potion of strength of tier {strength.%player%} to the player for 999 days</pre>
====Push====
<pre>模型:
(push|thrust) %entities% %direction% [(at|with) (speed|velocity|force) %number%]
加入的版本:
1.4.6
推开实体
示例:
push the player upwards
push the player upwards
push the victim downwards at speed 0.5
push the victim downwards at speed 0.5</pre>
PvP
====PvP====
patterns[?]:
<pre>模型:
enable PvP [in %worlds%]
enable PvP [in %worlds%]
disable PVP [in %worlds%]
disable PVP [in %worlds%]
since:
加入的版本:
1.3.4
1.3.4
Set the PvP status for a given world.
检测PVP状态
examples:
示例:
enable PvP #(current world only)
enable PvP #(current world only)
disable PvP in all worlds
disable PvP in all worlds</pre>
Replace
====Replace====
patterns[?]:
<pre>模型:
replace [(all|every)] %texts% in %text% with %text%
replace [(all|every)] %texts% in %text% with %text%
replace [(all|every)] %texts% with %text% in %text%
replace [(all|every)] %texts% with %text% in %text%
since:
加入的版本:
2.0
2.0
Replaces all occurrences of a given text with another text. Please note that you can only change variables and a few expressions, e.g. a message or a line of a sign.
把一些文本替换
examples:
示例:
replace "<item>" in {textvar} with "%tool of player%"
replace "<item>" in {textvar} with "%tool of player%"
replace every "&" with "§" in line 1
replace every "&" with "§" in line 1
# The following acts as a simple chat censor, but it will e.g. censor mass, hassle, assassin, etc. as well:
# The following acts as a simple chat censor, but it will e.g. censor mass, hassle, assassin, etc. as well:
on chat:
on chat:
replace all "fuck", "bitch" and "ass" with "****" in the message
replace all "f[u]c[k"(这是译者为了过审而加的), "b[i]t]c][h" and "a[s]s" with "****" in the message</pre>
Shear
====Return====
patterns[?]:
<pre>模型:
return %objects%
加入的版本:
2.2
使函数返回值
示例:
function double(i: number) :: number:
    return 2 * {_i}</pre>
====Send Block Change====
<pre>模型:
make %players% see %blocks% as %item stack%
加入的版本:
2.2-dev37c
使在玩家眼中看见的方块不同(大概)
示例:
make player see block at player as dirt</pre>
====Send Resource Pack====
<pre>模型:
send [the] resource pack [from [[the] URL]] %text% to %players%
send [the] resource pack [from [[the] URL]] %text% with hash %text% to %players%
加入的版本:
2.4
请求玩家的客户端下载并切换资源包。客户端将在后台下载资源包,并在下载完成后自动切换到该资源包。URL必须是直接下载链接(即http[s]://xxxx.xxx/xxx.zip[rar]结尾,某些网盘的下载链接就算了吧)。
散列用于缓存,玩家不必以这种方式重新下载资源包。哈希必须是sha-1,您可以使用此联机工具(https://emn178.github.io/online-tools/sha1_checksum.html)获取资源包的sha-1哈希。
资源包请求操作可用于检查已发送资源包请求的状态。
示例:
on join:
    send the resource pack from "URL" with hash "hash" to the player</pre>
====Shear====
<pre>模型:
shear %living entities%
shear %living entities%
un[-]shear %living entities%
un[-]shear %living entities%
since:
加入的版本:
2.0
2.0
Shears or 'un-shears' a sheep. Please note that no wool is dropped, this only sets the 'sheared' state of the sheep.
为羊剪羊毛,请注意不会掉落物品
examples:
示例:
on rightclick on a sheep holding a sword:
on rightclick on a sheep holding a sword:
shear the clicked sheep
shear the clicked sheep</pre>
Shoot
====Shoot====
patterns[?]:
<pre>模型:
shoot %entity types% [from %living entities/locations%] [(at|with) (speed|velocity) %number%] [%direction%]
shoot %entity types% [from %living entities/locations%] [(at|with) (speed|velocity) %number%] [%direction%]
(make|let) %living entities/locations% shoot %entity types% [(at|with) (speed|velocity) %number%] [%direction%]
(make|let) %living entities/locations% shoot %entity types% [(at|with) (speed|velocity) %number%] [%direction%]
since:
加入的版本:
1.4
1.4
Shoots a projectile (or any other entity) from a given entity.
从实体身上发射物品
examples:
示例:
shoot an arrow
shoot an arrow
make the player shoot a creeper at speed 10
make the player shoot a creeper at speed 10
shoot a pig from the creeper
shoot a pig from the creeper</pre>
Spawn
====Spawn====
patterns[?]:
<pre>模型:
spawn %entity types% [%directions% %locations%]
spawn %entity types% [%directions% %locations%]
spawn %number% of %entity types% [%directions% %locations%]
spawn %number% of %entity types% [%directions% %locations%]
since:
加入的版本:
1.0
1.0
Spawns an entity.
召唤一个实体
examples:
示例:
spawn 3 creepers at the targeted block
spawn 3 creepers at the targeted block
spawn a ghast 5 meters above the player
spawn a ghast 5 meters above the player</pre>
Teleport
====Stop Sound====
patterns[?]:
<pre>模型:
stop sound[s] %texts% [(in|from) %sound category%] [(from playing to|for) %players%]
stop playing sound[s] %texts% [(in|from) %sound category%] [(to|for) %players%]
加入的版本:
2.4
游戏版本要求:
Minecraft 1.10.2+, Minecraft 1.11+ (sound categories)
停止向指定的玩家播放声音。同时支持Minecraft声音名称和Spigot声音名称。也支持资源包声音。默认情况下,声音类别为"master"。
无法从其他类别停止声音。请注意,声音名称可以在任何Minecraft或Spigot版本中更改,甚至可以从Minecraft本身中删除。
示例:
stop sound "block.chest.open" for the player
stop playing sounds "ambient.underwater.loop" and "ambient.underwater.loop.additions" to the player</pre>
====Teleport====
<pre>模型:
teleport %entities% (to|%direction%) %location%
teleport %entities% (to|%direction%) %location%
since:
加入的版本:
1.0
1.0
Teleports an entity to a specific location.
传送实体到某个位置
If the location has a yaw or pitch set, the entity will be made facing that direction after the teleport, otherwise the entity will face the same direction as before.
示例:
examples:
teleport the player to {homes.%player%}
teleport the player to {homes.%player%}
teleport the attacker to the victim
teleport the attacker to the victim</pre>
Toggle
====Title - Reset====
patterns[?]:
<pre>模型:
reset [the] title[s] [of %players%]
reset [the] %players%'[s] title[s]
加入的版本:
2.3
将玩家的标题重置为默认值。
示例:
reset the titles of all players
reset the title</pre>
====Title - Send====
<pre>模型:
send title %text% [with subtitle %text%] [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%]
send subtitle %text% [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%]
加入的版本:
2.3
向玩家发送一个标题信息,并为1.11及以上版本的Minecraft提供可选的fadein/stay/fadeout时间。注意:如果没有为标题/副标题或时间提供输入,它将保留上次发送的标题,使用重置标题效果恢复默认值。
示例:
send title "Competition Started" with subtitle "Have fun, Stay safe!" to player for 5 seconds
send title "Hi %player%" to player
send title "Loot Drop" with subtitle "starts in 3 minutes" to all players
send title "Hello %player%!" with subtitle "Welcome to our server" to player for 5 seconds with fadein 1 second and fade out 1 second
send subtitle "Party!" to all players
send title "为什么那么多东西没在wiki翻译更新!!!累死我了QAQ" to player for 233 seconds</pre>
====Toggle====
<pre>模型:
(close|turn off|de[-]activate) %blocks%
(close|turn off|de[-]activate) %blocks%
(toggle|switch) [[the] state of] %blocks%
(toggle|switch) [[the] state of] %blocks%
(open|turn on|activate) %blocks%
(open|turn on|activate) %blocks%
since:
加入的版本:
1.4
1.4
Toggles the state of a block, e.g. switches a lever or opens a door.
切换某个方块的状态,如开门
examples:
示例:
# use arrows to toggle levers, doors, etc.
# use arrows to toggle levers, doors, etc.
on projectile hit:
on projectile hit:
     projectile is arrow
     projectile is arrow
     toggle the block at the arrow
     toggle the block at the arrow</pre>
Tree
====Toggle Flight====
patterns[?]:
<pre>模型:
(allow|enable) (fly|flight) (for|to) %players%
(disallow|disable) (fly|flight) (for|to) %players%
加入的版本:
2.3
切换玩家的飞行模式
示例:
allow flight to event-player</pre>
====Tree====
<pre>模型:
(grow|create|generate) tree [of type %tree type%] %directions% %locations%
(grow|create|generate) tree [of type %tree type%] %directions% %locations%
(grow|create|generate) %tree type% [tree] %directions% %locations%
(grow|create|generate) %tree type% [tree] %directions% %locations%
since:
加入的版本:
1.0
1.0
Creates a tree.
生成树,需要有足够空间
This may require that there is enough space above the given location and that the block below is dirt/grass, but it is possible that the tree will just grow anyway, possibly replacing every block in its path.
示例:
examples:
grow a tall redwood tree above the clicked block</pre>
grow a tall redwood tree above the clicked block
====Vectors - Rotate Around Vector====
Vehicle
<pre>模型:
patterns[?]:
rotate %vectors% around %vector% by %number% [degrees]
加入的版本:
2.2-dev28
围绕一个矢量旋转另一个矢量/向量(机翻)
示例:
rotate {_v} around vector 1, 0, 0 by 90</pre>
====Vectors - Rotate around XYZ====
<pre>模型:
rotate %vectors% around (x|y|z)(-| )axis by %number% [degrees]
加入的版本:
2.2-dev28
绕X、Y或Z轴旋转若干度
示例:
rotate {_v} around x-axis by 90
rotate {_v} around y-axis by 90
rotate {_v} around z-axis by 90 degrees</pre>
====Vehicle====
<pre>模型:
(make|let|force) %entities% [to] (ride|mount) [(in|on)] %entity/entity types%
(make|let|force) %entities% [to] (ride|mount) [(in|on)] %entity/entity types%
[(make|let|force) %entities% [to] (dismount|(dismount|leave) (from|of)] [(any|the[ir]|his|her)] vehicle[s])
[(make|let|force) %entities% [to] (dismount|(dismount|leave) (from|of)] [(any|the[ir]|his|her)] vehicle[s])
[(eject|dismount) (any|the)] passenger[s] (of|from) %entities%
[(eject|dismount) (any|the)] passenger[s] (of|from) %entities%
since:
加入的版本:
2.0
2.0
Makes an entity ride another entity, e.g. a minecart, a saddled pig, an arrow, etc.
使实体坐上载具。
examples:
示例:
make the player ride a saddled pig
make the player ride a saddled pig
make the attacker ride the victim
make the attacker ride the victim
About ~ njol.ch created by Peter Güttinger ~ icons by Yusuke Kamiyamane ~
</pre>
Last modified: Freyja's Day, 9th August 2013, 09:42
 
===Expressions===
===表达式===
Njol.ch
表达式是表示某个对象的语法元素,如一个玩家 一个数字 多个物体 服务器世界 或 列表中的方块。
»
 
Projects
表达式在Skript脚本中可以被用在任何地方如 set {var} to <value> 或 teleport <entity expression> to <location expression>.
»
 
Skript
值的另一个可能是使用统计值,如 ‘6’ 和 ‘a pickaxe and a shovel’.
Yggdrasil
 
Markup
这里有两种基础的表达式:
»
 
Documentation
简单的表达式,其中只有一些简短的单词 ,如‘player’, ‘world’, or ‘last spawned entity’, 并且经常的依赖发生的事件, 它们的值会随着事件的改变而改变。
Tutorial
 
API
如player表达式会表达为当前触发事件的玩家。
Statistics
 
» Skript: ExpressionsEventsConditionsEffectsExpressionsLoopsCustom CommandsTypesTextVariables
属性表达式,从另一个表达式中获取值。如 data value of <item>, altitude of <location>, <entity>'s world.
Table of Contents
 
Altitude
但也有一些例外, e.g. distance between <location> and <location> or the direction expression.
Amount
 
Amount of Items
表达式可以在循环中被使用,来循环执行某些代码,格式为<pre> loop <expression>:</pre>
Argument
请前往循环页来获取更多。
Arithmetic
====Advanced====
Armour Slot
从Skript 2.0开始, 表达式可以用圆括号来表示它们之间的关系,如, set {var} to 10 emeralds and an apple or 5 stone 会报错 ,
Attacked
 
Attacker
但 set {var} to 10 emeralds and (an apple or 5 stone) 便不会 (如果没有括号这个特殊的例子会报错).
Bed
Biome
Block
Block Sphere
Blocks
Blocks in Region
Chunk
Clicked Block/Entity
Colour of
Coloured / Uncoloured
Command
Command Sender
Compass Target
Console
Coordinate
Creature/Entity/Player/Projectile/Villager/Powered Creeper/etc.
Damage
Damage Cause
Data Value
Difference
Direction
Distance
Drops
Element of
Enchantment Level
Ender Chest
Entities
Experience
Facing
Food Level
Former/Future State
Furnace Slot
Game Mode
Hash
Head location
Health
Id
Index Of
Inventory
IP
Item
Items
Items In
Join & Split
Last Spawned/Shot Entity
Length
Level
Level Progress
Light Level
Location
Location At
Location Of
Loop value
Lore
Max Health
Maximum Stack Size
Me
Message
Money
Name / Display Name
Named Item
Now
Numbers
Parse
Parse Error
Passenger
Prefix/Suffix
Random
Random Number
Region
Region Members & Owners
Regions At
Remaining Air
Rounding
Script Name
Shooter
Sign Text
Skull
Spawn
Speed
Subtext
Target
Targeted Block
Time
Tool
Type of
UUID
Vehicle
Version
Weather
World
Worlds
X of Item
Yaw / Pitch
Filter for version:
  =>
Expressions are syntax elements that represent a certain object, e.g. a player or a number, or multiple objects, e.g. the server's worlds or a list of blocks. Expressions can be used anywhere where Skript expects a value, e.g. in set {var} to <value> or teleport <entity expression> to <location expression>. The other possibility for values is to use a static value, e.g. ‘6’ or ‘a pickaxe and a shovel’.


There are basically two kinds of expressions:
如果你在表达式中使用另一个表达式请使用()括起,如 all players in "world" and "world_nether" 应写成 all players in ("world" and "world_nether"),
simple expressions, which are usually one or a few words like ‘player’, ‘world’, or ‘last spawned entity’, and are usually event-dependent, i.e. their value will change depending on the event. The ‘player’ expression for example will hold the current event's player, which depends on which player triggered the event.
property expressions, which get a value from another expression, e.g. data value of <item>, altitude of <location>, or <entity>'s world.
There are a few exceptions though, e.g. distance between <location> and <location> or the direction expression.


Expressions that represent multiple values can be looped to execute some code for each element of the expression with loop <expression>:. Please refer to the loops page for more information.
否则,就会被读取为 (all players in "world") and ("world_nether").
Advanced
====Altitude====
Starting with Skript 2.0, expressions can be grouped with parentheses to denote their relation, e.g. set {var} to 10 emeralds and an apple or 5 stone is ambiguous while set {var} to 10 emeralds and (an apple or 5 stone) is not (this particular example will even result in a warning if no brackets are used).
<pre>模型:
You should also use brackets when using lists of expressions inside other expressions, e.g. all players in "world" and "world_nether" should be written as all players in ("world" and "world_nether"), as otherwise it might be parsed as (all players in "world") and ("world_nether").
Altitude
patterns[?]:
[the] altitude[s] of %locations%
[the] altitude[s] of %locations%
%locations%'[s] altitude[s]
%locations%'[s] altitude[s]
since:
加入的版本:
1.4.3
1.4.3
Effectively an alias of 'y-coordinate of …', it represents the height of some object above bedrock.
是Y坐标的简写形式,这会表示Y坐标为0以上的Y坐标。
examples:
示例:
on damage:
on damage:
altitude of the attacker is higher that the altitude of the victim
altitude of the attacker is higher that the altitude of the victim
set damage to damage * 1.25
set damage to damage * 1.25</pre>
Amount
 
patterns[?]:
====Amount====
<pre>模型:
(amount|number|size) of %objects%
(amount|number|size) of %objects%
since:
加入的版本:
1.0
1.0
The amount of something.
一些东西的数量
Please note that amount of <items> will not return the number of items, but the number of stacks, e.g. 1 for a stack of 64 torches.
请注意 amount of <items> 并不会返回物品的数量,而是物品的组数 如 1 表示 64
examples:
示例:
message "There are %number of all players% players online!"
message "There are %number of all players% players online!"</pre>
Amount of Items
====Amount of Items====
patterns[?]:
<pre>模型:
[the] (amount|number) of %item types% (in|of) %inventories%
[the] (amount|number) of %item types% (in|of) %inventories%
since:
加入的版本:
2.0
2.0
Counts how many of a particular item type are in a given inventory.
在给出的物品栏计数物品
examples:
示例:
message "You have %number of ores in the player's inventory% ores in your inventory."
message "You have %number of ores in the player's inventory% ores in your inventory."</pre>
Argument
====Argument====
patterns[?]:
<pre>模型:
[the] last arg[ument][s]
[the] last arg[ument][s]
[the] arg[ument][s](-| )<(d+)>
[the] arg[ument][s](-| )<(d+)>
第2,166行: 第2,843行:
[the] %*type%( |-)arg[ument][( |-)<d+>]
[the] %*type%( |-)arg[ument][( |-)<d+>]
[the] arg[ument]( |-)%*type%[( |-)<d+>]
[the] arg[ument]( |-)%*type%[( |-)<d+>]
since:
加入的版本:
1.0
1.0
Only available in command events. Holds the value of the nth argument given to the command, e.g. if the command "/tell " is used like "/tell Njol Hello Njol!", argument 1 is the player named "Njol" and argument 2 is "Hello Njol!".  
只在命令中工作。 持有给予参数的值,如 指令 "/tell " 会这样使用 "/tell Njol Hello Njol!", 第一个参数是玩家 "Njol" 第二个参数是 "Hello Njol!".  
One can also use the type of the argument instead of its index to address the argument, e.g. in the above example 'player-argument' is the same as 'argument 1'.
同时也可以使用参数的类型来代替它的值 如 上面的 'player-argument' 与第一个参数相同
examples:
示例:
give the item-argument to the player-argument
give the item-argument to the player-argument
damage the player-argument by the number-argument
damage the player-argument by the number-argument
give a diamond pickaxe to the argument
give a diamond pickaxe to the argument
add argument 1 to argument 2
add argument 1 to argument 2
heal the last argument
heal the last argument</pre>
Arithmetic
====Arithmetic====
patterns[?]:
<pre>模型:
%number%[ ]+[ ]%number%
%number%[ ]+[ ]%number%
%number%[ ]-[ ]%number%
%number%[ ]-[ ]%number%
第2,183行: 第2,860行:
%number%[ ]/[ ]%number%
%number%[ ]/[ ]%number%
%number%[ ]^[ ]%number%
%number%[ ]^[ ]%number%
since:
加入的版本:
1.4.2
1.4.2
Arithmetic expressions, e.g. 1+2, (2 - health of player)/3, etc.
代数运算, . 1+2, (2 - health of player)/3
Available operands are addition (+), subtraction (-), multiplication (*), division (/), and exponentiation (^). Negation is not available yet, use 0 - expr instead.
支持的运算有addition (+), subtraction (-), multiplication (*), division (/), and exponentiation<ref>次方</ref> (^). ''Negation is not available yet, use 0 - expr instead.''
examples:
示例:
set the player's health to 10 - the player's health
set the player's health to 10 - the player's health
loop (argument + 2)/5 times:
loop (argument + 2)/5 times:
message "Two useless numbers: %loop-num*2 - 5%, %2^loop-num - 1%"
message "Two useless numbers: %loop-num*2 - 5%, %2^loop-num - 1%"
message "You have %health of player * 2% half hearts of HP!"
message "You have %health of player * 2% half hearts of HP!"</pre>
Armour Slot
====Armour Slot====
patterns[?]:
<pre>模型:
[the] (boot[s]|shoe[s]|leg[ging][s]|chestplate[s]|helm[et][s]) [slot] of %living entities%
[the] (boot[s]|shoe[s]|leg[ging][s]|chestplate[s]|helm[et][s]) [slot] of %living entities%
%living entities%'[s] (boot[s]|shoe[s]|leg[ging][s]|chestplate[s]|helm[et][s]) [slot]
%living entities%'[s] (boot[s]|shoe[s]|leg[ging][s]|chestplate[s]|helm[et][s]) [slot]
since:
加入的版本:
1.0
1.0
A part of a player's armour, i.e. the boots, leggings, chestplate or helmet.
玩家装备栏的一个部分
As of Skript 2.1 this expression can be used for mobs as well, e.g. to equip zombies with armour.
在SK 2.1之后兼容怪物的物品栏
examples:
示例:
set chestplate of the player to a diamond chestplate
set chestplate of the player to a diamond chestplate
helmet of player is neither a helmet nor air # player is wearing a block, e.g. from another plugin
helmet of player is neither a helmet nor air # player is wearing a block, e.g. from another plugin</pre>
Attacked
====Attacked====
patterns[?]:
<pre>模型:
[the] (attacked|damaged|victim) [<(.+)>]
[the] (attacked|damaged|victim) [<(.+)>]
since:
加入的版本:
1.3
1.3
The victim of a damage event, e.g. when a player attacks a zombie this expression represents the zombie.
一个受伤害的事件
examples:
示例:
on damage:
on damage:
victim is a creeper
victim is a creeper
damage the attacked creeper by 1 heart
damage the attacked creeper by 1 heart</pre>
Attacker
====Attacker====
patterns[?]:
<pre>模型:
[the] (attacker|damager)
[the] (attacker|damager)
since:
加入的版本:
1.3
1.3
The attacker of a damage event, e.g. when a player attacks a zombie this expression represents the player.
受伤害事件中的攻击者
Please note that the attacker can also be a block, e.g. a cactus or lava, but this expression will not be set in these cases.
攻击者可以是自然 如. a cactus or lava, 但这种情况下将不会有表达式
examples:
示例:
on damage:
on damage:
attacker is a player
attacker is a player
health of attacker is less than or equal to 2
health of attacker is less than or equal to 2
damage victim by 1 heart
damage victim by 1 heart</pre>
Bed
====Bed====
patterns[?]:
<pre>模型:
[the] bed[s] [location[s]] of %players%
[the] bed[s] [location[s]] of %players%
%players%'[s] bed[s] [location[s]]
%players%'[s] bed[s] [location[s]]
since:
加入的版本:
2.0
2.0
The bed location of a player, i.e. the spawn point of a player if he ever slept in a bed and the bed still exists and is unobstructed.
玩家床的位置
examples:
示例:
bed of player exists:
bed of player exists:
teleport player the the player's bed
teleport player the the player's bed
else:
else:
teleport the player to the world's spawn point
teleport the player to the world's spawn point</pre>
Biome
====Biome====
patterns[?]:
<pre>模型:
[the] biome (of|%direction%) %location%
[the] biome (of|%direction%) %location%
%location%'[s] biome
%location%'[s] biome
since:
加入的版本:
1.4.4
1.4.4
The biome at a certain location. Please note that biomes are only defined for x/z-columns, i.e. the altitude (y-coordinate) doesn't matter.
当前位置的生物群系。请注意至于X Z坐标有关,Y坐标不会有关系。
examples:
示例:
# damage player in deserts constantly
# damage player in deserts constantly
every real second:
every real second:
loop all players:
loop all players:
biome at loop-player is desert
biome at loop-player is desert
damage the loop-player by 1
damage the loop-player by 1</pre>
Block
====Block====
patterns[?]:
<pre>模型:
[the] [event-]block
[the] [event-]block
[the] block %direction% [%location%]
[the] block %direction% [%location%]
since:
加入的版本:
1.0
1.0
The block involved in an event, e.g. the clicked block or the placed block.
事件中的方块,如点击的方块和破坏的方块
Can optionally include a direction as well, e.g. 'block above' or 'block in front of the player'.
同时支持方块的位置, 'block above' or 'block in front of the player'.
examples:
示例:
block is ore
block is ore
set block below to air
set block below to air
第2,266行: 第2,943行:
set loop-block to water
set loop-block to water
block is a chest:
block is a chest:
clear the inventory of the block
clear the inventory of the block</pre>
Block Sphere
====Block Sphere====
patterns[?]:
<pre>模型:
[(all|the)] blocks in radius %number% [(of|around) %location%]
[(all|the)] blocks in radius %number% [(of|around) %location%]
[(all|the)] blocks around %location% in radius %number%
[(all|the)] blocks around %location% in radius %number%
since:
加入的版本:
1.0
1.0
All blocks in a sphere around a center, mostly useful for looping.
玩家半径内的所有方块,经常用在循环中
examples:
示例:
loop blocks in radius 5 around the player:
loop blocks in radius 5 around the player:
set loop-block to air
set loop-block to air
set all blocks in radius 5 around the player to air
set all blocks in radius 5 around the player to air</pre>
Blocks
====Blocks====
patterns[?]:
<pre>模型:
[the] blocks %direction% [%locations%]
[the] blocks %direction% [%locations%]
[the] blocks from %location% [on] %direction%
[the] blocks from %location% [on] %direction%
[the] blocks from %block% to %block%
[the] blocks from %block% to %block%
[the] blocks between %block% and %block%
[the] blocks between %block% and %block%
since:
加入的版本:
1.0
1.0
Blocks relative to other blocks or between other blocks. Can be used to get blocks relative to other blocks or for looping.
相对于其他方块的方块或其他方块之间的方块。经常用于循环中
examples:
示例:
loop blocks above the player:
loop blocks above the player:
loop blocks between the block below the player and the targeted block:
loop blocks between the block below the player and the targeted block:
set the blocks below (the player, the victim and the targeted block) to air
set the blocks below (the player, the victim and the targeted block) to air</pre>
Blocks in Region
====Blocks in Region====
patterns[?]:
<pre>模型:
cannot be used directly
cannot be used directly
since:
加入的版本:
2.1
2.1
All blocks in a region.
区域中的方块,需要区域插件
This expression requires a supported regions plugin to be installed.
示例:
examples:
loop all blocks in the region {arena.%{faction.%player%}%}:
loop all blocks in the region {arena.%{faction.%player%}%}:
clear the loop-block
clear the loop-block</pre>
Chunk
====Chunk====
patterns[?]:
<pre>模型:
[the] chunk[s] (of|%directions%) %locations%
[the] chunk[s] (of|%directions%) %locations%
%locations%'[s] chunk[s]
%locations%'[s] chunk[s]
since:
加入的版本:
2.0
2.0
The chunk a block, location or entity is in.
区块
examples:
示例:
add the chunk at the player to {protected chunks::*}
add the chunk at the player to {protected chunks::*}</pre>
Clicked Block/Entity
====Clicked Block/Entity====
patterns[?]:
<pre>模型:
[the] clicked (block|%*item type/entity type%)
[the] clicked (block|%*item type/entity type%)
since:
加入的版本:
1.0
1.0
Only available in click events: Represents the clicked block or entity.
点击的方块/实体
examples:
示例:
message "You clicked on a %type of clicked entity%!"
message "You clicked on a %type of clicked entity%!"
clicked block is a chest:
clicked block is a chest:
show the inventory of the clicked block to the player
show the inventory of the clicked block to the player</pre>
Colour of
====Colour of====
patterns[?]:
<pre>模型:
[the] colo[u]r[s] of %item stacks/entities%
[the] colo[u]r[s] of %item stacks/entities%
%item stacks/entities%'[s] colo[u]r[s]
%item stacks/entities%'[s] colo[u]r[s]
since:
加入的版本:
1.2
1.2
The colour of an item, can also be used to colour chat messages with "<%colour of ...%>this text is coloured!".
物品的染色色彩。如 "<%colour of ...%>this text is coloured!".
examples:
示例:
on click on wool:
on click on wool:
message "This wool block is <%colour of block%>%colour of block%<reset>!"
message "This wool block is <%colour of block%>%colour of block%<reset>!"
set the colour of the block to black
set the colour of the block to black</pre>
Coloured / Uncoloured
====Coloured / Uncoloured====
patterns[?]:
<pre>模型:
(colo[u]r-|colo[u]red )%texts%
(colo[u]r-|colo[u]red )%texts%
(un|non)[-](colo[u]r-|colo[u]red )%texts%
(un|non)[-](colo[u]r-|colo[u]red )%texts%
since:
加入的版本:
2.0
2.0
Parses <colour>s (including chat styles) in a message or removes any colours & chat styles from the message.
在文本中添加或移除颜色
This expression replaces localised colours & chat styles, i.e. it doesn't replace english ones, which makes it appropriate to colour command arguments and chat messages.
这个表达式会替换本地的颜色与格式。它不会取代英语,这使得它适用于颜色命令参数和聊天消息。
examples:
示例:
on chat:
on chat:
set message to coloured message
set message to coloured message
command /fade <player>:
command /fade <player>:
trigger:
trigger:
set display name of the player-argument to uncoloured display name of the player-argument
set display name of the player-argument to uncoloured display name of the player-argument</pre>
Command
====Command====
patterns[?]:
<pre>模型:
[the] (full|complete|whole) command
[the] (full|complete|whole) command
[the] command [label]
[the] command [label]
[the] arguments
[the] arguments
since:
加入的版本:
2.0
2.0
The command that caused an 'on command' event (excluding the leading slash and all arguments).
触发指令事件的指令
Use 'full command' for the command including arguments, or 'arguments' for the arguments only.
使用'full command'来查看包括参数的指令, 'arguments' 来查看参数部分。
Please note that this event is not adequate for creating custom commands. See the article on custom commands to find out how to define new commands.
这个事件不能胜任一些自定义命令. See the article on custom commands to find out how to define new commands.
examples:
示例:
# prevent any commands except for the /exit command during some game
# prevent any commands except for the /exit command during some game
on command:
on command:
第2,361行: 第3,037行:
command is not "exit"
command is not "exit"
message "You're not allowed to use commands during the game"
message "You're not allowed to use commands during the game"
cancel the event
cancel the event</pre>
Command Sender
====Command Sender====
patterns[?]:
<pre>模型:
[the] [command['s]] (sender|executor)
[the] [command['s]] (sender|executor)
since:
加入的版本:
2.0
2.0
The player or the console who sent a command. Mostly useful in commands and command events.
发送指令的人或控制台
examples:
示例:
make the command sender execute "/say hi!"
make the command sender execute "/say hi!"
on command:
on command:
log "%executor% used command /%command% %arguments%" to "commands.log"
log "%executor% used command /%command% %arguments%" to "commands.log"</pre>
Compass Target
====Compass Target====
patterns[?]:
<pre>模型:
[the] compass target of %players%
[the] compass target of %players%
%players%'[s] compass target
%players%'[s] compass target
since:
加入的版本:
2.0
2.0
The location a player's compass is pointing at.
玩家的指南针指向
Please note that wile you can set a player's compass target to an entity, it will actually be set to the location of the entity at the time when the effect is executed, and thus the compass won't automatically follow the entity.
你可以使指南针指向一个实体,但只是指向这个当前的位置。
examples:
示例:
# make all player's compasses target a player stored in {compass target.%player%}
# make all player's compasses target a player stored in {compass target.%player%}
every 5 seconds:
every 5 seconds:
loop all players:
loop all players:
set the loop-player's compass target to location of {compass target.%loop-player%}
set the loop-player's compass target to location of {compass target.%loop-player%}</pre>
Console
====Console====
patterns[?]:
<pre>模型:
[the] (console|server)
[the] (console|server)
since:
加入的版本:
1.3.1
1.3.1
Represents the server's console which can receive messages and execute commands.
服务器控制台
examples:
示例:
execute console command "/stop"
execute console command "/stop"
send "message to console" to the console
send "message to console" to the console</pre>
Coordinate
====Coordinate====
patterns[?]:
<pre>模型:
[the] (x|y|z)(-| )(coord[inate]|pos[ition]|loc[ation])[s] of %locations%
[the] (x|y|z)(-| )(coord[inate]|pos[ition]|loc[ation])[s] of %locations%
%locations%'[s] (x|y|z)(-| )(coord[inate]|pos[ition]|loc[ation])[s]
%locations%'[s] (x|y|z)(-| )(coord[inate]|pos[ition]|loc[ation])[s]
since:
加入的版本:
1.4.3
1.4.3
Represents a given coordinate of a location.
表示位置的一个坐标
examples:
示例:
player's y-coordinate is smaller than 40:
player's y-coordinate is smaller than 40:
message "Watch out for lava!"
message "Watch out for lava!"</pre>
Creature/Entity/Player/Projectile/Villager/Powered Creeper/etc.
====Creature/Entity/Player/Projectile/Villager/Powered Creeper/etc.====
patterns[?]:
<pre>模型:
[the] [event-]<.+>
[the] [event-]<.+>
since:
加入的版本:
1.0
1.0
The entity involved in an event (an entity is a player, a creature or an inanimate object like ignited TNT, a dropped item or an arrow).
触发事件的实体
You can use the specific type of the entity that's involved in the event, e.g. in a 'death of a creeper' event you can use 'the creeper' instead of 'the entity'.
你可以使用实体的类型,如在 'death of a creeper' 中你可以使用 'the creeper' 来代替 'the entity'.
examples:
示例:
give a diamond sword of sharpness 3 to the player
give a diamond sword of sharpness 3 to the player
kill the creeper
kill the creeper
kill all powered creepers in the wolf's world
kill all powered creepers in the wolf's world
projectile is an arrow
projectile is an arrow</pre>
Damage
====Damage====
patterns[?]:
<pre>模型:
[the] damage
[the] damage
since:
加入的版本:
1.3.5
1.3.5
How much damage is done in a damage event, possibly ignoring armour, criticals and/or enchantments. Can be changed (remember that in Skript '1' is one full heart, not half a heart).
在伤害事件中的伤害值,可能忽略护甲, 附魔 。可以被更改[注意在Skript中1是满心,不是半心]
examples:
示例:
increase the damage by 2
increase the damage by 2</pre>
Damage Cause
====Damage Cause====
patterns[?]:
<pre>模型:
[the] damage (cause|type)
[the] damage (cause|type)
since:
加入的版本:
2.0
2.0
The damage cause of a damage event. Please click on the link for more information.
伤害事件中造成伤害的来源
examples:
示例:
damage cause is lava, fire or burning
damage cause is lava, fire or burning</pre>
Data Value
====Data Value====
patterns[?]:
<pre>模型:
[the] ((data|damage)[s] [value[s]]|durabilit(y|ies)) of %item stacks/slots%
[the] ((data|damage)[s] [value[s]]|durabilit(y|ies)) of %item stacks/slots%
%item stacks/slots%'[s] ((data|damage)[s] [value[s]]|durabilit(y|ies))
%item stacks/slots%'[s] ((data|damage)[s] [value[s]]|durabilit(y|ies))
since:
加入的版本:
1.2
1.2
The data value of an item.
一个物品的数据值
You usually don't need this expression as you can check and set items with aliases easily, but this expression can e.g. be used to "add 1 to data of <item>", e.g. for cycling through all wool colours.
你一般不需要这个表达式,因为你可以直接检测类型。但是这个表达式可以改变数据值,如 "add 1 to data of <item>", 如循环使用羊毛颜色
examples:
示例:
add 1 to the data value of the clicked block
add 1 to the data value of the clicked block</pre>
Difference
====Difference====
patterns[?]:
<pre>模型:
difference (between|of) %object% and %object%
difference (between|of) %object% and %object%
since:
加入的版本:
1.4
1.4
The difference between two values, e.g. numbers, dates or times.
两个值之间的差异
Use distance for locations.
示例:
examples:
difference between {command.%player%.lastuse} and now is smaller than a minute:
difference between {command.%player%.lastuse} and now is smaller than a minute:
   message "You have to wait a minute before using this command again!"
   message "You have to wait a minute before using this command again!"
   stop
   stop</pre>
Direction
====Direction====
patterns[?]:
<pre>模型:
[%number% [(north[(east|west)][(south[(east|west)][(east|west)[(above|over|up|down)[ward(below|under[neath]|beneath) [%direction%]
[%number% [(north[(east|west)][(south[(east|west)][(east|west)[(above|over|up|down)[ward(below|under[neath]|beneath) [%direction%]
[%number% [[(direction|horizontal direction|facing|horizontal facing) of %entity/block% (of|from)]
[%number% [[(direction|horizontal direction|facing|horizontal facing) of %entity/block% (of|from)]
第2,460行: 第3,135行:
[%number% [(in[ ]front [of]|forward[s]|behind|backwards|right|left) [of])
[%number% [(in[ ]front [of]|forward[s]|behind|backwards|right|left) [of])
[%number% [(in[ ]front [of]|forward[s]|behind|backwards|right|left) [of])
[%number% [(in[ ]front [of]|forward[s]|behind|backwards|right|left) [of])
since:
加入的版本:
1.0 (basic), 2.0 (extended)
1.0 (basic), 2.0 (extended)
A helper expression for the direction type.
当前位置类型的一个帮助表达式
examples:
示例:
thrust the player upwards
thrust the player upwards
set the block behind the player to water
set the block behind the player to water
第2,477行: 第3,152行:
open the inventory of the block 2 blocks below the player to the player
open the inventory of the block 2 blocks below the player to the player
teleport the clicked entity behind the player
teleport the clicked entity behind the player
grow a regular tree 2 meters horizontally behind the player
grow a regular tree 2 meters horizontally behind the player</pre>
Distance
====Distance====
patterns[?]:
<pre>模型:
[the] distance between %location% and %location%
[the] distance between %location% and %location%
since:
加入的版本:
1.0
1.0
The distance between two points, measured in meters (i.e. blocks).
两点之间的距离
Like in other expressions, the location of a block is understood to be at its center, while the location of an entity is usually at its feet.
方块的距离经常按照中心来计算,实体按照脚的距离
examples:
示例:
distance between the player and {%player%.home} is smaller than 20:
distance between the player and {%player%.home} is smaller than 20:
message "You're very close to your home!"
message "You're very close to your home!"</pre>
Drops
====Drops====
patterns[?]:
<pre>模型:
[the] drops
[the] drops
since:
加入的版本:
1.0
1.0
Only available in death events: Represents the drops of the dying creature.
死亡事件中的掉落物
Drops can be prevented from dropping by removing them with "remove ... from drops", e.g. "remove all pickaxes from the drops", or "clear drops" if you don't want any drops at all.
掉落物可以如此被移除 "remove ... from drops","remove all pickaxes from the drops", "clear drops" 如果你不想要任何掉落物的话
examples:
示例:
clear drops
clear drops
remove 4 planks from the drops
remove 4 planks from the drops</pre>
Element of
====Element of====
patterns[?]:
<pre>模型:
([the] first|[the] last|[a] random) element [out] of %objects%
([the] first|[the] last|[a] random) element [out] of %objects%
since:
加入的版本:
2.0
2.0
The first, last or a random element of a set, e.g. a list variable.
最后的参数是随机元素的列表,如变量列表
See also: random
示例:
examples:
give a random element out of {free items::*} to the player</pre>
give a random element out of {free items::*} to the player
====Enchantment Level====
Enchantment Level
<pre>模型:
patterns[?]:
[the] (%enchantment% level|level of [[the] enchant[ment]] %enchantment%) o(f|n) %item types%
[the] (%enchantment% level|level of [[the] enchant[ment]] %enchantment%) o(f|n) %item types%
%item types%'[s] (%enchantment% level|level of [[the] enchant[ment]] %enchantment%)
%item types%'[s] (%enchantment% level|level of [[the] enchant[ment]] %enchantment%)
since:
加入的版本:
2.0
2.0
The level of a particular enchantment on an item
附魔的等级
examples:
示例:
player' tool is a sword of sharpness:
player' tool is a sword of sharpness:
message "You have a sword of sharpness %level of sharpness of the player's tool% equipped"
message "You have a sword of sharpness %level of sharpness of the player's tool% equipped"</pre>
Ender Chest
====Ender Chest====
patterns[?]:
<pre>模型:
[the] ender[ ]chest[s] of %players%
[the] ender[ ]chest[s] of %players%
%players%'[s] ender[ ]chest[s]
%players%'[s] ender[ ]chest[s]
since:
加入的版本:
2.0
2.0
The ender chest of a player. This can be used wherever an inventory can be used, in particular its items can be modified, and it can be shown to any player (not only the owning player).
玩家的末影箱. 这个项目在打开背包时可以使用,其中的物品可以被修改,它也可以被任何玩家打开。(不只是它的主人).
examples:
示例:
open the player's ender chest to the player
open the player's ender chest to the player</pre>
Entities
====Entities====
patterns[?]:
<pre>模型:
[all] %*entity types% [(in|of) [world[s]] %worlds%]
[all] %*entity types% [(in|of) [world[s]] %worlds%]
[all] entities of type[s] %entity types% [(in|of) [world[s]] %worlds%]
[all] entities of type[s] %entity types% [(in|of) [world[s]] %worlds%]
[all] %*entity types% (within|[with]in radius) %number% [(block[s]|met(er|re)[s])] (of|around) %location%
[all] %*entity types% (within|[with]in radius) %number% [(block[s]|met(er|re)[s])] (of|around) %location%
[all] entities of type[s] %entity types% in radius %number% (of|around) %location%
[all] entities of type[s] %entity types% in radius %number% (of|around) %location%
since:
加入的版本:
1.2.1
1.2.1
All entities in all world, in a specific world or in a radius around a certain location, e.g. 'all players', 'all creepers in the player's world', or 'players in radius 100 of the player'.
在所有世界/单个世界/半径中的所有实体,. 'all players', 'all creepers in the player's world', 'players in radius 100 of the player'.
examples:
示例:
kill all creepers in the player's world
kill all creepers in the player's world
send "Psst!" to all players witin 100 meters of the player
send "Psst!" to all players witin 100 meters of the player
give a diamond to all ops
give a diamond to all ops
heal all tamed wolves in radius 2000 around {town center}
heal all tamed wolves in radius 2000 around {town center}</pre>
Experience
====Experience====
patterns[?]:
<pre>模型:
[the] [(spawned|dropped)] [e]xp[erience] [orb[s]]
[the] [(spawned|dropped)] [e]xp[erience] [orb[s]]
since:
加入的版本:
2.1
2.1
How much experience was spawned in an experience spawn event. Can be changed.
在一个经验生成事件中生成的经验数量,可以被修改
examples:
示例:
on experience spawn:
on experience spawn:
add 5 to the spawned experience
add 5 to the spawned experience</pre>
Facing
====Facing====
patterns[?]:
<pre>模型:
[the] [horizontal] facing of %living entities/blocks%
[the] [horizontal] facing of %living entities/blocks%
%living entities/blocks%'[s] [horizontal] facing
%living entities/blocks%'[s] [horizontal] facing
since:
加入的版本:
1.4
1.4
The facing of an entity or block, i.e. exactly north, south, east, west, up or down (unlike direction which is the exact direction, e.g. '0.5 south and 0.7 east')
实体或方块面朝的方向
examples:
示例:
# makes a bridge
# makes a bridge
loop blocks from the block below the player in the horizontal facing of the player:
loop blocks from the block below the player in the horizontal facing of the player:
set block to cobblestone
set block to cobblestone</pre>
Food Level
====Food Level====
patterns[?]:
<pre>模型:
[the] (food|hunger)[[ ](level|met(er|re)|bar)] [of %player%]
[the] (food|hunger)[[ ](level|met(er|re)|bar)] [of %player%]
%player%'[s] (food|hunger)[[ ](level|met(er|re)|bar)]
%player%'[s] (food|hunger)[[ ](level|met(er|re)|bar)]
since:
加入的版本:
1.0
1.0
The food level of a player from 0 to 10. Has several aliases: food/hunger level/meter/bar.
玩家的饥饿值0-10 别名—— food/hunger level/meter/bar.
examples:
示例:
set the player's food level to 10
set the player's food level to 10</pre>
Former/Future State
====Former/Future State====
patterns[?]:
<pre>模型:
[the] (former|past|old) [state] [of] %~object%
[the] (former|past|old) [state] [of] %~object%
%~object% before [the event]
%~object% before [the event]
[the] (future|to-be|new) [state] [of] %~object%
[the] (future|to-be|new) [state] [of] %~object%
%~object%(-to-be| after[(wards| the event)])
%~object%(-to-be| after[(wards| the event)])
since:
加入的版本:
1.1
1.1
什么鬼?last?
''
Represents the value of an expression before an event happened or the value it will have directly after the event, e.g. the old or new level respectively in a level change event.
Represents the value of an expression before an event happened or the value it will have directly after the event, e.g. the old or new level respectively in a level change event.
Note: The past, future and present states of an expression are sometimes called 'time states' of an expression.
Note: The past, future and present states of an expression are sometimes called 'time states' of an expression.
Note 2: If you don't specify whether to use the past or future state of an expression that has different values, its default value will be used which is usually the value after the event.
Note 2: If you don't specify whether to use the past or future state of an expression that has different values, its default value will be used which is usually the value after the event.''
examples:
示例:
on teleport:
on teleport:
former world was "world_nether" # or 'world was'
former world was "world_nether" # or 'world was'
第2,589行: 第3,265行:
on weather change:
on weather change:
set {weather.%world%.old} to past weather
set {weather.%world%.old} to past weather
set {weather.%world%.current} to the new weather
set {weather.%world%.current} to the new weather</pre>
Furnace Slot
====Furnace Slot====
patterns[?]:
<pre>模型:
[the] (ore|fuel|result)[s] [slot[s]] of %blocks%
[the] (ore|fuel|result)[s] [slot[s]] of %blocks%
%blocks%'[s] (ore|fuel|result)[s] [slot[s]]
%blocks%'[s] (ore|fuel|result)[s] [slot[s]]
since:
加入的版本:
1.0
1.0
A slot of a furnace, i.e. either the ore, fuel or result slot.
熔炉的一个槽位
Remember to use 'block' and not 'furnace', as 'furnace' is not an existing expression.
示例:
examples:
set the fuel slot of the clicked block to a lava bucket
set the fuel slot of the clicked block to a lava bucket
set the block's ore slot to 64 iron ore
set the block's ore slot to 64 iron ore
give the result of the block to the player
give the result of the block to the player
clear the result slot of the block
clear the result slot of the block</pre>
Game Mode
====Game Mode====
patterns[?]:
<pre>模型:
[the] game[ ]mode of %players%
[the] game[ ]mode of %players%
%players%'[s] game[ ]mode
%players%'[s] game[ ]mode
since:
加入的版本:
1.0
1.0
The game mode of a player, which can be either survival, creative, or adventure.
游戏模式
examples:
示例:
player's gamemode is survival
player's gamemode is survival
set the player's gamemode to creative
set the player's gamemode to creative</pre>
Hash
====Hash====
patterns[?]:
<pre>模型:
[md5][( |-)hash(ed|[( |-)]code] of) %texts%
[md5][( |-)hash(ed|[( |-)]code] of) %texts%
since:
加入的版本:
2.0
2.0
Hashes the given text using the MD5 algorithm. This is useful for storing passwords or IP addresses without having to store them literally.  
''Hashes the given text using the MD5 algorithm. This is useful for storing passwords or IP addresses without having to store them literally.  
Please note that an MD5 hash is irreversible, i.e. you won't be able to get the original text back (which is the point of storing passwords like this). Brute force and rainbow table attacks can still be performed on hashes though which can easily crack short or insecure passwords.
Please note that an MD5 hash is irreversible, i.e. you won't be able to get the original text back (which is the point of storing passwords like this). Brute force and rainbow table attacks can still be performed on hashes though which can easily crack short or insecure passwords.''
examples:
示例:
command /setpass <text>:
command /setpass <text>:
trigger:
trigger:
第2,629行: 第3,304行:
message "login successful."
message "login successful."
else:
else:
message "wrong password!"
message "wrong password!"</pre>
Head location
====Head location====
patterns[?]:
<pre>模型:
[the] (head|eye[s]) [location[s]] of %living entities%
[the] (head|eye[s]) [location[s]] of %living entities%
%living entities%'[s] (head|eye[s]) [location[s]]
%living entities%'[s] (head|eye[s]) [location[s]]
since:
加入的版本:
2.0
2.0
The location of an entity's head, mostly useful for players and e.g. looping blocks in the player's line of sight.
实体头颅的坐标
Please note that this location is only accurate for entities whose head is exactly above their center, i.e. players, endermen, zombies, skeletons, etc., but not sheep, pigs or cows.
只对两个及以上高的实体有用 如 players, endermen, zombies, skeletons, etc.,但以下没用 sheep, pigs or cows.
examples:
示例:
set the block at the player's head to air
set the block at the player's head to air
set the block in front of the player's eyes to glass
set the block in front of the player's eyes to glass
loop blocks in front of the player's head:
loop blocks in front of the player's head:</pre>
Health
====Health====
patterns[?]:
<pre>模型:
[the] health of %living entities%
[the] health of %living entities%
%living entities%'[s] health
%living entities%'[s] health
since:
加入的版本:
1.0
1.0
The health of a creature, e.g. a player, mob, villager, etc. from 0 to the creature's max health, e.g. 10 for players.
实体的血量
examples:
示例:
message "You have %health% HP left."
message "You have %health% HP left."</pre>
Id
====Id====
patterns[?]:
<pre>模型:
[the] id[s] of %item type%
[the] id[s] of %item type%
%item type%'[s] id[s]
%item type%'[s] id[s]
since:
加入的版本:
1.0
1.0
The id of a specific item. You usually don't need this expression as you can likely do everything with aliases.
一个物品的ID,你不需要这个表达式因为你可以使用别称
examples:
示例:
message "the ID of %type of the clicked block% is %id of the clicked block%."
message "the ID of %type of the clicked block% is %id of the clicked block%."</pre>
Index Of
====Index Of====
patterns[?]:
<pre>模型:
[the] [(first|last)] index of %text% in %text%
[the] [(first|last)] index of %text% in %text%
since:
加入的版本:
2.1
2.1
The first of last index of a character (or text) in a text, or -1 if it doesn't occur in the text. Indices range from 1 to the length of the text.
''The first of last index of a character (or text) in a text, or -1 if it doesn't occur in the text. Indices range from 1 to the length of the text.''
examples:
示例:
set {_@} to the first index of "@" in the text argument
set {_@} to the first index of "@" in the text argument
if {_s} contains "abc":
if {_s} contains "abc":
set {_s} to the first (index of "abc" in {_s} + 3) characters of {_s} # removes everything after the first "abc" from {_s}
set {_s} to the first (index of "abc" in {_s} + 3) characters of {_s} # removes everything after the first "abc" from {_s}</pre>
Inventory
====Inventory====
patterns[?]:
<pre>模型:
[the] inventor(y|ies) of %inventoryholders%
[the] inventor(y|ies) of %inventoryholders%
%inventoryholders%'[s] inventor(y|ies)
%inventoryholders%'[s] inventor(y|ies)
since:
加入的版本:
1.0
1.0
The inventory of a block or player. You can usually omit this expression and can directly add or remove items to/from blocks or players.
一个方块或玩家的物品栏
examples:
示例:
add a plank to the player's inventory
add a plank to the player's inventory
clear the player's inventory
clear the player's inventory
remove 5 wool from the inventory of the clicked block
remove 5 wool from the inventory of the clicked block</pre>
IP
====IP====
patterns[?]:
<pre>模型:
IP[s][( |-)address[es]] of %players%
IP[s][( |-)address[es]] of %players%
%players%'[s] IP[s][( |-)address[es]]
%players%'[s] IP[s][( |-)address[es]]
since:
加入的版本:
1.4
1.4
The IP address of a player.
玩家的IP
examples:
示例:
IP-ban the player # is equal to the next line
IP-ban the player # is equal to the next line
ban the IP-address of the player
ban the IP-address of the player
broadcast "Banned the IP %IP of player%"
broadcast "Banned the IP %IP of player%"</pre>
Item
====Item====
patterns[?]:
<pre>模型:
[the] item
[the] item
since:
加入的版本:
unknown
unknown
The item involved in an event, e.g. in a drop, dispense, pickup or craft event.
事件中的物品
examples:
示例:
on dispense:
on dispense:
item is a clock
item is a clock
set the time to 6:00
set the time to 6:00</pre>
Items
====Items====
patterns[?]:
<pre>模型:
[(all|every)] item(s|[ ]types)
[(all|every)] item(s|[ ]types)
items of type[s] %item types%
items of type[s] %item types%
[(all|every)] block(s|[ ]types)
[(all|every)] block(s|[ ]types)
blocks of type[s] %item types%
blocks of type[s] %item types%
since:
加入的版本:
unknown
unknown
Items or blocks of a specific type, useful for looping.
特殊类型的物品或方块,经常用于循环
examples:
示例:
loop items of type ore and log:
loop items of type ore and log:
block contains loop-item
block contains loop-item
message "There's at least one %loop-item% in this block"
message "There's at least one %loop-item% in this block"
stop loop
stop loop
drop all blocks at the player # drops one of every block at the player
drop all blocks at the player # drops one of every block at the player</pre>
Items In
====Items In====
patterns[?]:
<pre>模型:
[all] items (inventor(y|ies)) %inventories%
[all] items (inventor(y|ies)) %inventories%
since:
加入的版本:
2.0
2.0
All items in an inventory. Useful for looping or storing in a list variable.
物品栏内的物品,经常用于循环
Please note that the positions of the items in the inventory are not saved, only their order is preserved.
请注意不会记录他们的位置
examples:
示例:
loop all items in the player's inventory:
loop all items in the player's inventory:
loop-item is enchanted
loop-item is enchanted
remove loop-item from the player
remove loop-item from the player
set {inventory.%player%::*} to items in the player's inventory
set {inventory.%player%::*} to items in the player's inventory</pre>
Join & Split
====Join & Split====
patterns[?]:
<pre>模型:
(concat[enate]|join) %texts% [(with|using|by) [[the] delimiter] %text%]
(concat[enate]|join) %texts% [(with|using|by) [[the] delimiter] %text%]
split %text% (at|using|by) [[the] delimiter] %text%
split %text% (at|using|by) [[the] delimiter] %text%
%text% [split] (at|using|by) [[the] delimiter] %text%
%text% [split] (at|using|by) [[the] delimiter] %text%
since:
加入的版本:
2.1
2.1
Joins several texts with a common delimiter (e.g. ", "), or splits a text into multiple texts at a given delimiter.
''Joins several texts with a common delimiter (e.g. ", "), or splits a text into multiple texts at a given delimiter.''
examples:
示例:
message "Online players: %join all players with " | "%" # %all players% would use the default "x, y, and z"
message "Online players: %join all players with " | "%" # %all players% would use the default "x, y, and z"
set {_s::} to the string argument split at ","
set {_s::} to the string argument split at ","</pre>
Last Spawned/Shot Entity
====Last Spawned/Shot Entity====
patterns[?]:
<pre>模型:
[the] [last[ly]] (spawned|shot) %*entity type%
[the] [last[ly]] (spawned|shot) %*entity type%
since:
加入的版本:
1.3 (spawned entity), 2.0 (shot entity)
1.3 (spawned entity), 2.0 (shot entity)
Holds the entity that was spawned most recently with the spawn effect, or shot with the shoot effect. Please note that even though you can spawn multiple mobs simultaneously (e.g. with 'spawn 5 creepers'), only the last spawned mob is saved and can be used. If you spawn an entity and shoot a projectile you can however access both.
最近生成的实体
examples:
示例:
spawn a priest
spawn a priest
set {%spawned priest%.healer} to true
set {%spawned priest%.healer} to true
shoot an arrow from the last spawned entity
shoot an arrow from the last spawned entity
ignite the shot projectile
ignite the shot projectile</pre>
Length
====Length====
patterns[?]:
<pre>模型:
[the] length of %texts%
[the] length of %texts%
%texts%'[s] length
%texts%'[s] length
since:
加入的版本:
2.1
2.1
The length of a text, in number of characters.
文本的长度
examples:
示例:
set {_l} to length of the string argument
set {_l} to length of the string argument</pre>
Level
====Level====
patterns[?]:
<pre>模型:
[the] level of %players%
[the] level of %players%
%players%'[s] level
%players%'[s] level
since:
加入的版本:
unknown
unknown
The level of a player.
玩家的等级
examples:
示例:
reduce the victim's level by 1
reduce the victim's level by 1
set the player's level to 0
set the player's level to 0</pre>
Level Progress
====Level Progress====
patterns[?]:
<pre>模型:
[the] level progress of %players%
[the] level progress of %players%
%players%'[s] level progress
%players%'[s] level progress
since:
加入的版本:
2.0
2.0
The progress a player has made until the next level. Remember that this value is between 0 and 1, not 0 and 100!
升到下一级还有的百分比[0-1]
Changing this value can cause a player's level to change if the resulting level progess is negative or larger than 1, e.g.increase the player's level progress by 0.5 will make the player gain a level if his progress was more than 50%.
改变这个值会使玩家的等级发生改变
examples:
示例:
# use the exp bar as mana
# use the exp bar as mana
on rightclick with a blaze rod:
on rightclick with a blaze rod:
第2,791行: 第3,466行:
set level progress of the loop-player to 0.99
set level progress of the loop-player to 0.99
on xp spawn:
on xp spawn:
cancel event
cancel event</pre>
Light Level
====Light Level====
patterns[?]:
<pre>模型:
[(sky|sun|block)[ ]]light[ ]level [(of|%direction%) %location%]
[(sky|sun|block)[ ]]light[ ]level [(of|%direction%) %location%]
since:
加入的版本:
1.3.4
1.3.4
Gets the light level at a certain location which ranges from 0 to 15.
光亮等级 0-14
It can be separated into sunlight (15 = direct sunlight, 1-14 = indirect) and block light (torches, glowstone, etc.). The total light level of a block is the maximum of the two different light types.
示例:
examples:
# set vampire players standing in bright sunlight on fire
# set vampire players standing in bright sunlight on fire
every 5 seconds:
every 5 seconds:
第2,805行: 第3,479行:
{vampire.%loop-player%} is true
{vampire.%loop-player%} is true
sunlight level at the loop-player is greater than 10
sunlight level at the loop-player is greater than 10
ignite the loop-player for 5 seconds
ignite the loop-player for 5 seconds</pre>
Location
====Location====
patterns[?]:
<pre>模型:
[the] [event-](location|position)
[the] [event-](location|position)
[the] (location|position) %direction% [%location%]
[the] (location|position) %direction% [%location%]
since:
加入的版本:
2.0
2.0
The location where an event happened (e.g. at an entity or block), or a location relative to another (e.g. 1 meter above another location).
事件发生的坐标
examples:
示例:
drop 5 apples at the event-location # exactly the same as writing 'drop 5 apples'
drop 5 apples at the event-location # exactly the same as writing 'drop 5 apples'
set {_loc} to the location 1 meter above the player
set {_loc} to the location 1 meter above the player</pre>
Location At
====Location At====
patterns[?]:
<pre>模型:
[the] (location|position) [at] [(][x[ ][=[ ]]]%number%, [y[ ][=[ ]]]%number%, [and] [z[ ][=[ ]]]%number%[)] [[(in|of) [[the] world]] %world%]
[the] (location|position) [at] [(][x[ ][=[ ]]]%number%, [y[ ][=[ ]]]%number%, [and] [z[ ][=[ ]]]%number%[)] [[(in|of) [[the] world]] %world%]
since:
加入的版本:
2.0
2.0
Allows to create a location from three coordinates and a world.
从三个坐标和世界来创建一个坐标位置
This expression is currently not parsed correctly, and there is no ETA on a fix yet.
这个表达式可能不能正确使用
examples:
示例:
set {_loc} to the location at arg-1, arg-2, arg-3 of the world arg-4
set {_loc} to the location at arg-1, arg-2, arg-3 of the world arg-4
distance between the player and the location (0, 0, 0) is less than 200
distance between the player and the location (0, 0, 0) is less than 200</pre>
Location Of
====Location Of====
patterns[?]:
<pre>模型:
(location|position) of %location%
(location|position) of %location%
%location%'[s] (location|position)
%location%'[s] (location|position)
since:
加入的版本:
unknown
unknown
The location of a block or entity. This not only represents the x, y and z coordinates of the location but also includes the world and the direction an entity is looking (e.g. teleporting to a saved location will make the teleported entity face the same saved direction every time).
玩家或方块的位置,如果是实体的话是实体的脚的位置
Please note that the location of an entity is at its feet, use the head location to get the location of the head.
示例:
examples:
set {home.%player%} to the location of the player
set {home.%player%} to the location of the player
message "Your home was set to %player's location% in %player's world%."
message "Your home was set to %player's location% in %player's world%."</pre>
Loop value
====Loop value====
patterns[?]:
<pre>模型:
[the] loop-<.+>
[the] loop-<.+>
since:
加入的版本:
1.0
1.0
The currently looped value.
当前的循环值
examples:
示例:
# countdown:
# countdown:
loop 10 times:
loop 10 times:
第2,851行: 第3,524行:
loop blocks from the block below the player to the block 10 east of the block below the player:
loop blocks from the block below the player to the block 10 east of the block below the player:
loop blocks from the loop-block to the block 10 north of the loop-block:
loop blocks from the loop-block to the block 10 north of the loop-block:
set loop-block-2 to any wool
set loop-block-2 to any wool</pre>
Lore
====Lore====
patterns[?]:
<pre>模型:
[the] line %number% of [the] lore of [%item stack/item type%]
[the] line %number% of [the] lore of [%item stack/item type%]
[the] line %number% of %item stack/item type%'[s] lore
[the] line %number% of %item stack/item type%'[s] lore
[the] %number%(st|nd|rd|th) line of [the] lore of [%item stack/item type%]
[the] %number%(st|nd|rd|th) line of [the] lore of [%item stack/item type%]
[the] %number%(st|nd|rd|th) line of %item stack/item type%'[s] lore
[the] %number%(st|nd|rd|th) line of %item stack/item type%'[s] lore
since:
加入的版本:
2.1
2.1
An item's lore.
一个物品的Lore
examples:
示例:
set the 1st line of the item's lore to "<orange>Excalibur 2.0"
set the 1st line of the item's lore to "<orange>Excalibur 2.0"</pre>
Max Health
====Max Health====
patterns[?]:
<pre>模型:
[the] max[imum] health of %living entities%
[the] max[imum] health of %living entities%
%living entities%'[s] max[imum] health
%living entities%'[s] max[imum] health
since:
加入的版本:
2.0
2.0
The maximum health of an entity, e.g. 10 for a player
一个实体最大的生命值
examples:
示例:
on join:
on join:
set the maximum health of the player to 100
set the maximum health of the player to 100
spawn a giant
spawn a giant
set the last spawned entity's max health to 1000
set the last spawned entity's max health to 1000</pre>
Maximum Stack Size
====Maximum Stack Size====
patterns[?]:
<pre>模型:
[the] max[imum] stack[[ ]size] of %item stack%
[the] max[imum] stack[[ ]size] of %item stack%
%item stack%'[s] max[imum] stack[[ ]size]
%item stack%'[s] max[imum] stack[[ ]size]
since:
加入的版本:
2.1
2.1
The maximum stack size of the specified material, e.g. 64 for torches, 16 for buckets, and 1 for swords.
一个物品最大的堆叠值
examples:
示例:
send "You can only pick up %max stack size of player's tool% of %type of (player's tool)%" to player
send "You can only pick up %max stack size of player's tool% of %type of (player's tool)%" to player</pre>
Me
====Me====
patterns[?]:
<pre>模型:
me
me
my[self]
my[self]
since:
加入的版本:
2.1.1
2.1.1
A 'me' expression that can be used in effect commands only.
只能在效果命令中使用
examples:
示例:
!heal me
!heal me
!kick myself
!kick myself
!give a diamond axe to me
!give a diamond axe to me</pre>
Message
====Message====
patterns[?]:
<pre>模型:
[the] [chat( |-)]message
[the] [chat( |-)]message
[the] (join|log[ ]in)( |-)message
[the] (join|log[ ]in)( |-)message
[the] (quit|leave|log[ ]out|kick)( |-)message
[the] (quit|leave|log[ ]out|kick)( |-)message
[the] death( |-)message
[the] death( |-)message
since:
加入的版本:
1.4.6 (chat message), 1.4.9 (join & quit messages), 2.0 (death message)
消息
The (chat) message of a chat event, the join message of a join event, the quit message of a quit event, or the death message on a death event. This expression is mostly useful for being changed.
示例:
examples:
on chat:
on chat:
player has permission "admin"
player has permission "admin"
第2,919行: 第3,591行:


on death:
on death:
set the death message to "%player% died!"
set the death message to "%player% died!"</pre>
Money
====Money====
patterns[?]:
<pre>模型:
cannot be used directly
cannot be used directly
since:
加入的版本:
2.0
2.0
How much virtual money a player has (can be changed).
检测玩家拥有多少钱


Like all economy elements, this expression requires that Vault and a compatible economy plugin is installed.
需要Vault和一个经济插件
examples:
示例:
message "You have %player's money%" # the currency name will be added automatically
message "You have %player's money%" # the currency name will be added automatically
remove 20$ from the player's balance # replace '$' by whatever currency you use
remove 20$ from the player's balance # replace '$' by whatever currency you use
add 200 to the player's account # or omit the currency alltogether
add 200 to the player's account # or omit the currency alltogether</pre>
Name / Display Name
====Name / Display Name====
patterns[?]:
<pre>模型:
[the] (player|tab)[ ]list name[s] of %players%
[the] (player|tab)[ ]list name[s] of %players%
%players%'[s] (player|tab)[ ]list name[s]
%players%'[s] (player|tab)[ ]list name[s]
第2,940行: 第3,612行:
[the] name[s] of %slots/item stacks/living entities/players%
[the] name[s] of %slots/item stacks/living entities/players%
%slots/item stacks/living entities/players%'[s] name[s]
%slots/item stacks/living entities/players%'[s] name[s]
since:
加入的版本:
1.4.6 (players' name & display name), unknown (player list name), 2.0 (item name)
玩家名/物品/实体名
Represents a player's minecraft account name, chat display name, or playerlist name, or the custom name of an item or a living entity.
示例:
 
The differences between the different names are:
name: Minecraft account name of a player (unmodifiable), or the custom name of an item or mob (modifiable).
display name: The name of a player as displayed in the chat. This name can be changed freely and can include colour codes, and is shared among all plugins (e.g. chat plugins will use a changed name).
tab list name: The name of a player used in the player list that usually opens with the tab key. Please note that this is limited to 16 characters, including colour codes which are counted as 2 characters each, and that no two players can have the same tab list name at the same time.
Starting with Skript 2.1, the name and display name of entities have a different meaning: 'Name' sets the entity's name like a name tag does, while 'display name' will not only set the entity's name, but will also make it visible through blocks just like players' names.
examples:
on join:
on join:
player has permission "name.red"
player has permission "name.red"
set the player's display name to "<red>[admin]<gold>%name of player%"
set the player's display name to "<red>[admin]<gold>%name of player%"
set the player's tablist name to "<green>%name of player%"
set the player's tablist name to "<green>%name of player%"
set the name of the player's tool to "Legendary Sword of Awesomeness"
set the name of the player's tool to "Legendary Sword of Awesomeness"</pre>
Named Item
====Named Item====
patterns[?]:
<pre>模型:
%item types% (named|with name[s]) %text%
%item types% (named|with name[s]) %text%
since:
加入的版本:
2.0
2.0
Directly names an item, useful for defining a named item in a script. If you want to (re)name existing items you can either use this expression or use set name of <item> to <text>.
当前物品的名字,你可以这样改变set name of <item> to <text>.
examples:
示例:
give a diamond sword of sharpness 100 named "<gold>Excalibur" to the player
give a diamond sword of sharpness 100 named "<gold>Excalibur" to the player
set tool of player to the player's tool named "<gold>Wand"
set tool of player to the player's tool named "<gold>Wand"
set the name of the player's tool to "<gold>Wand"
set the name of the player's tool to "<gold>Wand"</pre>
Now
====Now====
patterns[?]:
<pre>模型:
now
now
since:
加入的版本:
1.4
1.4
The current system time of the server. Use time to get the Minecraft time of a world.
当前系统时间
examples:
示例:
broadcast "Current server time: %now%"
broadcast "Current server time: %now%"</pre>
Numbers
====Numbers====
patterns[?]:
<pre>模型:
[(integers) (between|from) %number% (and|to) %number%
[(integers) (between|from) %number% (and|to) %number%
%number% times
%number% times
since:
加入的版本:
1.4.6
1.4.6
All numbers between two given numbers, useful for looping.
两个数字之间的数字,经常用于循环
Use 'numbers' if your start is not an integer and you want to keep the fractional part of the start number constant, or use 'integers' if you only want to loop integers.
示例:
An integer loop from 1 to a number x can also be written as 'loop x times'.
examples:
loop 5 times: # loops 1, 2, 3, 4, 5
loop 5 times: # loops 1, 2, 3, 4, 5
loop numbers from 2.5 to 5.5: # loops 2.5, 3.5, 4.5, 5.5
loop numbers from 2.5 to 5.5: # loops 2.5, 3.5, 4.5, 5.5
loop integers from 2.9 to 5.1: # same as '3 to 5', i.e. loops 3, 4, 5
loop integers from 2.9 to 5.1: # same as '3 to 5', i.e. loops 3, 4, 5</pre>
Parse
====Parse====
patterns[?]:
<pre>模型:
%text% parsed as (%*type%|"<.*>")
%text% parsed as (%*type%|"<.*>")
since:
加入的版本:
2.0
2.0
Parses text as a given type, or as a given pattern.  
''Parses text as a given type, or as a given pattern.  
This expression can be used in two different ways: One which parses the entire text as a single instance of a type, e.g. as a number, and one that parses the text according to a pattern.  
This expression can be used in two different ways: One which parses the entire text as a single instance of a type, e.g. as a number, and one that parses the text according to a pattern.  
If the given text could not be parsed, this expression will return nothing and the parse error will be set if some information is available.  
If the given text could not be parsed, this expression will return nothing and the parse error will be set if some information is available.  
第2,997行: 第3,660行:
- The pattern must be a Skript pattern, e.g. percent signs are used to define where to parse which types, e.g. put a %number% or %items% in the pattern if you expect a number or some items there.  
- The pattern must be a Skript pattern, e.g. percent signs are used to define where to parse which types, e.g. put a %number% or %items% in the pattern if you expect a number or some items there.  
- You have to save the expression's value in a list variable, e.g. set {parsed::*} to message parsed as "...".  
- You have to save the expression's value in a list variable, e.g. set {parsed::*} to message parsed as "...".  
- The list variable will contain the parsed values from all %types% in the pattern in order. If a type was plural, e.g. %items%, the variable's value at the respective index will be a list variable, e.g. the values will be stored in {parsed::1::*}, not {parsed::1}.
- The list variable will contain the parsed values from all %types% in the pattern in order. If a type was plural, e.g. %items%, the variable's value at the respective index will be a list variable, e.g. the values will be stored in {parsed::1::*}, not {parsed::1}.''
examples:
示例:
set {var} to line 1 parsed as number
set {var} to line 1 parsed as number
on chat:
on chat:
第3,007行: 第3,670行:
cancel event
cancel event
remove {var::2} from the player's balance
remove {var::2} from the player's balance
give {var::1::*} to the player
give {var::1::*} to the player</pre>
Parse Error
====Parse Error====
patterns[?]:
<pre>模型:
[the] [last] [parse] error
[the] [last] [parse] error
since:
加入的版本:
2.0
2.0
The error which caused the last parse operation to fail, which might not be set if a pattern was used and the pattern didn't match the provided text at all.
导致最后一个解析操作失败的错误,如果使用了模式,而模式与所提供的文本不匹配,这可能无法设置。
examples:
示例:
set {var} to line 1 parsed as integer
set {var} to line 1 parsed as integer
if {var} is not set:
if {var} is not set:
第3,020行: 第3,683行:
message "<red>Line 1 is invalid: %last parse error%"
message "<red>Line 1 is invalid: %last parse error%"
else:
else:
message "<red>Please put an integer on line 1!"
message "<red>Please put an integer on line 1!"</pre>
Passenger
====Passenger====
patterns[?]:
<pre>模型:
[the] passenger[s] of %entities%
[the] passenger[s] of %entities%
%entities%'[s] passenger[s]
%entities%'[s] passenger[s]
since:
加入的版本:
2.0
2.0
The passenger of a vehicle, or the rider of a mob.
一个载具的乘客
 
示例:
See also: vehicle (expression), vehicle (effect)
examples:
passenger of the minecart is a creeper or a cow
passenger of the minecart is a creeper or a cow
the saddled pig's passenger is a player
the saddled pig's passenger is a player</pre>
Prefix/Suffix
====Prefix/Suffix====
patterns[?]:
<pre>模型:
cannot be used directly
cannot be used directly
since:
加入的版本:
2.0
2.0
The prefix or suffix as defined in the server's chat plugin.
聊天插件中的前缀和后缀
examples:
示例:
on chat:
on chat:
cancel event
cancel event
broadcast "%player's prefix%%player's display name%%player's suffix%: %message%" to the player's world
broadcast "%player's prefix%%player's display name%%player's suffix%: %message%" to the player's world
set the player's prefix to "[<red>Admin<reset>] "
set the player's prefix to "[<red>Admin<reset>] "</pre>
Random
====Random====
patterns[?]:
模型:
[a] random %*type% [out] of %objects%
[a] random %*type% [out] of %objects%
since:
加入的版本:
1.4.9
1.4.9
Gets a random item out of a set, e.g. a random player out of all players online.
随机
examples:
示例:
give a diamond to a random player out of all players
give a diamond to a random player out of all players
give a random item out of all items to the player
give a random item out of all items to the player
Random Number
Random Number
patterns[?]:
模型:
[a] random (integer|number) (from|between) %number% (to|and) %number%
[a] random (integer|number) (from|between) %number% (to|and) %number%
since:
加入的版本:
1.4
1.4
A random number or integer between two given numbers. Use 'number' if you want any number with decimal parts, or use use 'integer' if you only want whole numbers.
A random number or integer between two given numbers. Use 'number' if you want any number with decimal parts, or use use 'integer' if you only want whole numbers.
Please note that the order of the numbers doesn't matter, i.e. random number between 2 and 1 will work as well as random number between 1 and 2.
Please note that the order of the numbers doesn't matter, i.e. random number between 2 and 1 will work as well as random number between 1 and 2.
examples:
示例:
set the player's health to a random number between 5 and 10
set the player's health to a random number between 5 and 10
send "You rolled a %random integer from 1 to 6%!" to the player
send "You rolled a %random integer from 1 to 6%!" to the player</pre>
Region
====Region====
patterns[?]:
<pre>模型:
cannot be used directly
cannot be used directly
since:
加入的版本:
2.1
2.1
The region involved in an event.
区域,需要一个区域插件
This expression requires a supported regions plugin to be installed.
示例:
examples:
on region enter:
on region enter:
region is {forbidden region}
region is {forbidden region}
cancel the event
cancel the event</pre>
Region Members & Owners
====Region Members & Owners====
patterns[?]:
<pre>模型:
cannot be used directly
cannot be used directly
since:
加入的版本:
2.1
2.1
A list of members or owners of a region.
区域成员/主人
This expression requires a supported regions plugin to be installed.
示例:
examples:
on entering of a region:
on entering of a region:
message "You're entering %region% whose owners are %owners of region%".
message "You're entering %region% whose owners are %owners of region%".</pre>
Regions At
====Regions At====
patterns[?]:
<pre>模型:
cannot be used directly
cannot be used directly
since:
加入的版本:
2.1
2.1
All regions at a particular location.
区域的位置
This expression requires a supported regions plugin to be installed.
示例:
examples:
On click on a sign:
On click on a sign:
line 1 of the clicked block is "[region info]"
line 1 of the clicked block is "[region info]"
第3,098行: 第3,756行:
message "No regions exist at this sign."
message "No regions exist at this sign."
else:
else:
message "Regions containing this sign: <gold>%{_regions::*}%<r>."
message "Regions containing this sign: <gold>%{_regions::*}%<r>."</pre>
Remaining Air
====Remaining Air====
patterns[?]:
<pre>模型:
[the] remaining air of %living entities%
[the] remaining air of %living entities%
%living entities%'[s] remaining air
%living entities%'[s] remaining air
since:
加入的版本:
unknown
unknown
How much time a player has left underwater before starting to drown.
剩余的氧气值
examples:
示例:
player's remaining air is less than 3 seconds:
player's remaining air is less than 3 seconds:
send "hurry, get to the surface!" to the player
send "hurry, get to the surface!" to the player</pre>
Rounding
====Rounding====
patterns[?]:
<pre>模型:
floor(%number%)
floor(%number%)
[(a|the)] round[ed] down %number%
[(a|the)] round[ed] down %number%
第3,117行: 第3,775行:
ceil[ing](%number%)
ceil[ing](%number%)
[(a|the)] round[ed] up %number%
[(a|the)] round[ed] up %number%
since:
加入的版本:
2.0
2.0
Rounds numbers normally, up (ceiling) or down (floor) respectively.
''Rounds numbers normally, up (ceiling) or down (floor) respectively.''
examples:
示例:
set {var} to rounded health of player
set {var} to rounded health of player
set line 1 of the block to round(1.5 * player's level)
set line 1 of the block to round(1.5 * player's level)
set {_x} to floor({_y}) - ceil({_x})
set {_x} to floor({_y}) - ceil({_x})
add rounded down argument to the player's health
add rounded down argument to the player's health</pre>
Script Name
====Script Name====
patterns[?]:
<pre>模型:
[the] script[['s] name]
[the] script[['s] name]
since:
加入的版本:
2.0
2.0
Holds the current script's name (the file name without '.sk').
当前脚本的名字
examples:
示例:
on script load:
on script load:
set {running.%script%} to true
set {running.%script%} to true
on script unload:
on script unload:
set {running.%script%} to false
set {running.%script%} to false</pre>
Shooter
====Shooter====
patterns[?]:
<pre>模型:
[the] shooter [of %projectile%]
[the] shooter [of %projectile%]
since:
加入的版本:
1.3.7
1.3.7
The shooter of a projectile.
弹射物的发射者
As of Skript 2.1, this can be changed to fake the shooter of the projectile.
示例:
examples:
shooter is a skeleton
shooter is a skeleton
add 1 to {game.points.%shooter of {game.ball}%}
add 1 to {game.points.%shooter of {game.ball}%}</pre>
Sign Text
====Sign Text====
patterns[?]:
<pre>模型:
[the] line %number% [of %block%]
[the] line %number% [of %block%]
[the] (1st|first|2nd|second|3rd|third|4th|fourth) line [of %block%]
[the] (1st|first|2nd|second|3rd|third|4th|fourth) line [of %block%]
since:
加入的版本:
1.3
1.3
A line of text on a sign. Can be changed, but remember that there is a 16 character limit per line (including colour codes that use 2 characters each).
牌子的一行字,最大一行16字符
examples:
示例:
on rightclick on sign:
on rightclick on sign:
line 2 of the clicked block is "[Heal]":
line 2 of the clicked block is "[Heal]":
heal the player
heal the player
set line 3 to "%player%"
set line 3 to "%player%"</pre>
Skull
====Skull====
patterns[?]:
<pre>模型:
[the] skull of %offline players/entities/entity types%
[the] skull of %offline players/entities/entity types%
%offline players/entities/entity types%'[s] skull
%offline players/entities/entity types%'[s] skull
since:
加入的版本:
2.0
2.0
Gets a skull item representing a player or an entity.
获取玩家或实体的头颅
examples:
示例:
give the victim's skull to the attacker
give the victim's skull to the attacker
set the block at the entity to the entity's skull
set the block at the entity to the entity's skull</pre>
Spawn
====Spawn====
patterns[?]:
<pre>模型:
[the] spawn[s] [(point|location)[s]] [of %worlds%]
[the] spawn[s] [(point|location)[s]] [of %worlds%]
%worlds%'[s] spawn[s] [(point|location)[s]]
%worlds%'[s] spawn[s] [(point|location)[s]]
since:
加入的版本:
1.4.2
1.4.2
The spawnpoint of a world.
世界的重生点
examples:
示例:
teleport all players to spawn
teleport all players to spawn
set the spawn point of "world" to the player's location
set the spawn point of "world" to the player's location</pre>
Speed
====Speed====
patterns[?]:
<pre>模型:
[the] (walk[ing]|fl(y[ing]|ight))[( |-])speed of %players%
[the] (walk[ing]|fl(y[ing]|ight))[( |-])speed of %players%
%players%'[s] (walk[ing]|fl(y[ing]|ight))[( |-])speed
%players%'[s] (walk[ing]|fl(y[ing]|ight))[( |-])speed
since:
加入的版本:
unknown
unknown
A player's walking or flying speed. Both can be changed, but values must be between -1 and 1 (excessive values will be changed to -1 or 1 respectively). Negative values reverse directions.
玩家的走路和飞行速度
Please note that changing a player's speed will change his FOV just like potions do.
示例:
The default values are 0.2 for walk speed, and 0.1 for fly speed.
examples:
set the player's walk speed to 1
set the player's walk speed to 1
increase the argument's fly speed by 0.1
increase the argument's fly speed by 0.1
set the walk speed of the player to 0-(the player's walk speed) # reverses the player's speed
set the walk speed of the player to 0-(the player's walk speed) # reverses the player's speed</pre>
Subtext
====Subtext====
patterns[?]:
<pre>模型:
[the] [(part|sub[ ](text|string)) of %texts% (between|from) (ind(ex|ices)|character[s])] %number% [(and|to) (index|character)] %number%
[the] [(part|sub[ ](text|string)) of %texts% (between|from) (ind(ex|ices)|character[s])] %number% [(and|to) (index|character)] %number%
[the] (first|last) [%number%] character[s] of %texts%
[the] (first|last) [%number%] character[s] of %texts%
[the] %number% (first|last) characters of %texts%
[the] %number% (first|last) characters of %texts%
since:
加入的版本:
2.1
2.1
Extracts part of a text. You can either get the first <x> characters, the last <x> characters, or the characters between indices <x> and <y>. The indices <x> and <y> should be between 1 and the length of the text (other values will be fit into this range).
一个文本的剩余部分
examples:
示例:
set {_s} to the first 5 characters of the text argument
set {_s} to the first 5 characters of the text argument
message "%subtext of {_s} from characters 2 to (the length of {_s} - 1)%" # removes the first and last character from {_s} and sends it to the player or console
message "%subtext of {_s} from characters 2 to (the length of {_s} - 1)%" # removes the first and last character from {_s} and sends it to the player or console</pre>
Target
====Target====
patterns[?]:
<pre>模型:
[the] target[[ed] %*entity type%] [of %living entities%]
[the] target[[ed] %*entity type%] [of %living entities%]
%living entities%'[s] target[[ed] %*entity type%]
%living entities%'[s] target[[ed] %*entity type%]
since:
加入的版本:
unknown
unknown
For players this is the entity at the crosshair, while for mobs and experience orbs it represents the entity they are attacking/following (if any).
玩家鼠标指针指向的实体,怪物跟随的实体
examples:
示例:
on entity target:
on entity target:
     entity's target is a player
     entity's target is a player
     send "You're being followed by an %entity%!" to target of entity
     send "You're being followed by an %entity%!" to target of entity</pre>
Targeted Block
====Targeted Block====
patterns[?]:
<pre>模型:
[the] target[ed] block[s] [of %players%]
[the] target[ed] block[s] [of %players%]
%players%'[s] target[ed] block[s]
%players%'[s] target[ed] block[s]
[the] actual[ly] target[ed] block[s] [of %players%]
[the] actual[ly] target[ed] block[s] [of %players%]
%players%'[s] actual[ly] target[ed] block[s]
%players%'[s] actual[ly] target[ed] block[s]
since:
加入的版本:
1.0
1.0
The block at the crosshair. This regards all blocks that are not air as fully opaque, e.g. torches will be like a solid stone block for this expression.
玩家指针指向的方块
examples:
示例:
# A command to set the block a player looks at to a specific type:
# A command to set the block a player looks at to a specific type:
command /setblock <material>:
command /setblock <material>:
     trigger:
     trigger:
         set targeted block to argument
         set targeted block to argument</pre>
Time
====Time====
patterns[?]:
<pre>模型:
[the] time [(in|of) %worlds%]
[the] time [(in|of) %worlds%]
%worlds%'[s] time
%worlds%'[s] time
since:
加入的版本:
1.0
1.0
The time of a world.
一个世界的时间
examples:
示例:
time in world is between 18:00 and 6:00:
time in world is between 18:00 and 6:00:
broadcast "It's night-time, watch out for monsters!"
broadcast "It's night-time, watch out for monsters!"</pre>
Tool
====Tool====
patterns[?]:
<pre>模型:
[the] (tool|held item|weapon) [of %living entities%]
[the] (tool|held item|weapon) [of %living entities%]
%living entities%'[s] (tool|held item|weapon)
%living entities%'[s] (tool|held item|weapon)
since:
加入的版本:
1.0
1.0
The item a player is holding.
实体正在持有的工具,可以是怪物
As of Skript 2.1 this expression can also be used for mobs, e.g. to change the weapon of a zombie.
示例:
examples:
player is holding a pickaxe
player is holding a pickaxe
# is the same as
# is the same as
player's tool is a pickaxe
player's tool is a pickaxe</pre>
Type of
====Type of====
patterns[?]:
<pre>模型:
[the] type of %entity types/item stacks%
[the] type of %entity types/item stacks%
%entity types/item stacks%'[s] type
%entity types/item stacks%'[s] type
since:
加入的版本:
1.4
1.4
The type of a block, item, or entity. The type of an item is only its id and data value, i.e. it ignores the amount, enchantments etc., and the type of an entity is e.g. 'wolf' or 'player'.
方块物品实体的类型 物品只会有ID 实体只有类型 如 'wolf' or 'player'.
examples:
示例:
on rightclick on an entity:
on rightclick on an entity:
message "This is a %type of clicked entity%!"
message "This is a %type of clicked entity%!"</pre>
UUID
====UUID====
patterns[?]:
<pre>模型:
[the] UUID of %players/worlds%
[the] UUID of %players/worlds%
%players/worlds%'[s] UUID
%players/worlds%'[s] UUID
since:
加入的版本:
2.1.2
2.1.2
The UUID of a player or world.
世界或玩家的UUID
In the future there will be an option to use a player's UUID instead of the name in variable names (i.e. when %player% is used), but for now this can be used.
示例:
Please note that this expression does not work for offline players!
examples:
# prevents people from joining the server if they use the name of a player
# prevents people from joining the server if they use the name of a player
# who has played on this server at least once since this script has been added
# who has played on this server at least once 加入的版本 this script has been added
on login:
on login:
{uuids.%name of player%} exists:
{uuids.%name of player%} exists:
第3,276行: 第3,928行:
kick player due to "Someone with your name has played on this server before"
kick player due to "Someone with your name has played on this server before"
else:
else:
set {uuids.%name of player%} to UUID of player
set {uuids.%name of player%} to UUID of player</pre>
Vehicle
====Vehicle====
patterns[?]:
<pre>模型:
[the] vehicle[s] of %entities%
[the] vehicle[s] of %entities%
%entities%'[s] vehicle[s]
%entities%'[s] vehicle[s]
since:
加入的版本:
2.0
2.0
The vehicle an entity is in, if any. This can actually be any entity, e.g. spider jockeys are skeletons that ride on a spider, so the spider is the 'vehicle' of the skeleton.
载具
See also: passenger
示例:
examples:
vehicle of the player is a minecart</pre>
vehicle of the player is a minecart
====Version====
Version
<pre>模型:
patterns[?]:
([craft]bukkit|minecraft|skript)( |-)version
([craft]bukkit|minecraft|skript)( |-)version
since:
加入的版本:
2.0
2.0
The version of Bukkit, Minecraft or Skript respectively.
服务器 MC 插件的版本
examples:
示例:
message "This server is running Minecraft %minecraft version% on Bukkit %bukkit version%"
message "This server is running Minecraft %minecraft version% on Bukkit %bukkit version%"
message "This server is powered by Skript %skript version%"
message "This server is powered by Skript %skript version%"</pre>
Weather
====Weather====
patterns[?]:
<pre>模型:
[the] weather [(in|of) %worlds%]
[the] weather [(in|of) %worlds%]
%worlds%'[s] weather
%worlds%'[s] weather
since:
加入的版本:
1.0
1.0
The weather in the given or the current world.
当前世界的天气
examples:
示例:
set weather to clear
set weather to clear
weather in "world" is rainy
weather in "world" is rainy</pre>
World
====World====
patterns[?]:
<pre>模型:
[the] world [of %entity/location%]
[the] world [of %entity/location%]
%entity/location%'[s] world
%entity/location%'[s] world
since:
加入的版本:
1.0
1.0
The world the event occurred in.
事件发生的世界
examples:
示例:
world is "world_nether"
world is "world_nether"
teleport the player to the world's spawn
teleport the player to the world's spawn
set the weather in the player's world to rain
set the weather in the player's world to rain</pre>
Worlds
====Worlds====
patterns[?]:
<pre>模型:
[(the|all)] worlds
[(the|all)] worlds
since:
加入的版本:
1.0
1.0
All worlds of the server, useful for looping.
服务器所有世界
examples:
示例:
loop all worlds:
loop all worlds:
broadcast "You're in %loop-world%" to loop-world
broadcast "You're in %loop-world%" to loop-world</pre>
X of Item
====X of Item====
patterns[?]:
<pre>模型:
%number% of %item stacks/entity type%
%number% of %item stacks/entity type%
since:
加入的版本:
1.2
1.2
An expression to be able to use a certain amount of items where the amount can be any expression. Please note that is expression is not stable and might be replaced in the future.
定义物品的数量
examples:
示例:
give level of player of pickaxes to the player
give level of player of pickaxes to the player</pre>
Yaw / Pitch
====Yaw / Pitch====
patterns[?]:
<pre>模型:
[the] (yaw|pitch) of %locations%
[the] (yaw|pitch) of %locations%
%locations%'[s] (yaw|pitch)
%locations%'[s] (yaw|pitch)
since:
加入的版本:
2.0
2.0
The yaw or pitch of a location, in degrees.
仰角 朝向
examples:
示例:
log "%player%: %location of player%, %player's yaw%, %player's pitch%" to "playerlocs.log"
log "%player%: %location of player%, %player's yaw%, %player's pitch%" to "playerlocs.log"</pre>
About ~ njol.ch created by Peter Güttinger ~ icons by Yusuke Kamiyamane ~
 
Last modified: Freyja's Day, 9th August 2013, 09:43
===循环===
===Loops===
Loop循环会在满足条件的情况下反复执行效果,经典的Loop循环格式是这样的:
Njol.ch
<pre>
»
Projects
»
Skript
Yggdrasil
Markup
»
Documentation
Tutorial
API
Statistics
» Skript: LoopsEventsConditionsEffectsExpressionsLoopsCustom CommandsTypesTextVariables
A Loop is a construct that repeats code for multiple values. A typical loop looks like this:
loop <expression to loop>:
loop <expression to loop>:
<condition(s)>
<condition(s)>
<effect(s)>
<effect(s)>
A loop will loop through all elements of the given expression, e.g. all players, worlds, items, etc. The conditions & effects inside the loop will be executed for every of those elements, which can be accessed with ‘loop-<what>’, e.g. send "hello" to loop-player. When a condition inside a loop is not fulfilled the loop will start over with the next element of the loop. You can however use stop loop to exit the loop completely and resume code execution after the end of the loop.
</pre>
一个循环将会不断地检测表达式的所有元素,如 所有玩家 世界 物品等。
 
Loop中的条件和效果会被这些元素使用。
 
条件可以是 ‘loop-<元素>’, send "hello" to loop-player.
 
当一个循环中的一个条件不满足循环将开始循环的下一个元素。你可以使用stop来直接停止循环。
 
简单的循环可以在包括表达式后被一个条件或效果替换。如给所有人火把可以替换循环检测所有玩家然后给予火把。
 
====可以循环的值====
不止一个变量的表达式都可以参加循环。如  ‘all players’, ‘worlds’, 等。兼容所有的变量,也可以被循环使用。


Simple loops can often be replaced with a single condition or effect by including the looped expression in it, e.g. use give a torch to all players instead of looping all players and giving them a torch individually.
你也可以使用表达式列表,如循环受害者和攻击者,然后使他们执行一些代码。
Loopable Values
 
All expressions that represent more than one value, e.g. ‘all players’, ‘worlds’, etc., as well as list variables, can be looped. You can also use a list of expressions, e.g. loop the victim and the attacker, to execute the same code for only a few values.
====变量列表====
List Variables
当循环变量列表时,也可以使用 loop-index ,这是循环 loop-value 的另一种方式。
When looping list variables, you can also use loop-index in addition to loop-value inside the loop. loop-value is the value of the currently looped variable, and loop-index is the last part of the variable's name (the part where the list variable has its asterisk *). The following example will increase all values inside a list variable by one:
 
loop-value 是当前循环变量的值, loop-index 是变量最后部分的名字 (可以使用通配符*)。下面的示例将在列表变量中增加所有的值:
<pre>
loop {var::*}:
loop {var::*}:
set {var::%loop-index%} to loop-value + 1
set {var::%loop-index%} to loop-value + 1
While Loops
</pre>
Starting with version 2.0 you can use while loops, i.e. loops that will just keep repeating as long as a condition is met. A while loop looks like this:
====While循环====
从2.0版本开始你就可以使用While循环,只要满足条件,将只保持重复的循环。While的循环格式是这样的:
<pre>
while <condition>:
while <condition>:
<code>
<code>
Please be careful with this kind of loop, as it will keep running infinitely if the condition is always met.
</pre>
About ~ njol.ch created by Peter Güttinger ~ icons by Yusuke Kamiyamane ~
请注意这种类型的循环,如果条件满足将会一直执行。
Last modified: Saturn's Day, 15th March 2014, 08:36
===Commands===
Njol.ch
»
Projects
»
Skript
Yggdrasil
Markup
»
Documentation
Tutorial
API
Statistics
» Skript: Custom CommandsEventsConditionsEffectsExpressionsLoopsCustom CommandsTypesTextVariables
Creating custom commands is not difficult with Skript, but remember that Skript is not suitable for creating aliases of other plugins' commands, only for creating completely new commands, as arguments are parsed differently than how most other plugins do it.


The basic syntax of a custom command definition is a follows:
===命令===
创建Skript自定义命令并不难,但是Skript不适合创建其他已有插件命令,请创造全新的指令。
 
自定义指令基础语法如下
<pre>
command /commandname <arguments>: # arguments are explained below
command /commandname <arguments>: # arguments are explained below
description: A description of what this command does
description: A description of what this command does
usage: How to use the command, e.g. /commandname <arguments>  # If omitted this defaults to something similar to how the command was defined above.
usage: How to use the command, e.g. /commandname <arguments>  # If omitted this defaults to something similar to how the command was defined above.
permission: required.permission.to.use.this.command  # If omitted this command can be used by everyone regardless of permissions.
permission: required.permission.to.use.this.command  # If omitted this command can be used by everyone regardless of permissions.
permission message: Message to send if the player doesn't have the required permission to use this command  # If omitted this defaults to "You don't have the required permission to use this command"
permission message: Message to send if the player doesn't have the required permission to use this command  # If omitted this defaults to "You don't have the required permission to use this  
command"
executable by: players/console/players and console  # If omitted this command can be executed by players and the console.
executable by: players/console/players and console  # If omitted this command can be executed by players and the console.
aliases: /c, /comname. # a list of aliases of the command which are usually abbreviations of the command
aliases: /c, /comname. # a list of aliases of the command which are usually abbreviations of the command
trigger:
trigger:
put conditions and effects here that will be checked/executed when the command is used.
put conditions and effects here that will be checked/executed when the command is used.
A command's arguments look like <argtype> or <argtype = default value>, e.g. <item> or <item=water bucket>. The default value can also be an expression, in which case it has to be put into percent signs: <item=%tool%>.
解:
Arguments can also be mixed with text, e.g. a /give command definition can look like the following:
command /XXXXXX 参数[可选]:
    描述:
    如何使用:
    权限:
    没有权限是显示的信息:
    可以被XX执行:
    别名:
    触发器:
</pre>
命令的参数是这样的<argtype> 或这样的 <argtype = 默认值>,   <item> or <item=water bucket>
 
默认值也可以是一个表达式'' in which case it has to be put into percent signs: <item=%tool%>.''
 
参数也可以用文字表示,如:
<pre>
command /give <items> to <player>:
command /give <items> to <player>:
This command could then be used like /give a diamond to Njol.
</pre>
You can make parts of the arguments of a command optional by putting them into [square brackets], e.g. a command that finds mobs of a certain type within a given radius can look like command /find <entity type> [in radius <integer=100>]. This command can be used like /find creepers or /find zombies in radius 20, where the radius will default to 100 if omitted.
这个指令的格式为  /give a diamond to Njol.
你可以将可选参数用[ ]扩起,如在某半径内寻找某种怪物类型—— <pre>command /find <entity type> [in radius <integer=100>]</pre>.
 
这样的命令可以这样用 /find creepers or /find zombies in radius 20, where the radius will default to 100 if omitted.


In the likely case that this was confusing here's a simple example command:
这是一个简单的自定义指令的例子:
# a simple ID command to get the id of the held item
#获取手中物品的ID
<pre>
command /id <item=%tool%>:
command /id <item=%tool%>:
description: Find the ID of the item you're holding, or any given one.
description: Find the ID of the item you're holding, or any given one.
第3,419行: 第4,080行:
trigger:
trigger:
message "The ID of %arg 1% is %id of arg 1%"
message "The ID of %arg 1% is %id of arg 1%"
</pre>
自定义命令可以写在脚本的任何地方——命令不需要事件。
如果一个命令与一些触发器有关,我建议把命令和触发器放到同一文件,否则就可以把它放到任何文件中。


Custom commands can be defined anywhere in a script file – the command basically replaces the event a trigger would normally need. If a command is related to some triggers I recommend to put the command into the same file as the triggers, otherwise put it into whatever file fits best. You could e.g. create a big file that contains all standalone commands, or create a separate file for every command.
你可以写一个包含所有指令的大脚本,或给每个指令单独的脚本。


The following is an example of a combined trigger/command script which allows you to spawn a healer villager that can heal players for gold:
下面是生成一个可以用金粒换治疗的自定义命令:
<pre>
command /healer:
command /healer:
permission: healer.create
permission: healer.create
第3,438行: 第4,104行:
heal the player by 5 hearts
heal the player by 5 hearts
remove 1 gold ingot from the player
remove 1 gold ingot from the player
About ~ njol.ch created by Peter Güttinger ~ icons by Yusuke Kamiyamane ~
 
Last modified: Thor's Day, 2nd October 2014, 09:16
</pre>
===type===
 
Njol.ch
===类型===
»
这里是Skript使用的类型.类型是一种物体,如玩家 数字 文本。
Projects
 
»
许多类型如果作为命令参数时可以使用<type> <number>,并且几乎所有的类型都可以作为循环特殊值 loop-type 如 loop-block。
Skript
 
Yggdrasil
类型名字列出了每个类型的名字。
Markup
 
»
上面列出的用于每个类型的模式的参数描述了如何在脚本中定义类型的实例, 如 如何正确的包括文本 或 如何写一个数字。
Documentation
 
Tutorial
类型参数通常不包括表示类型实例的任何表达式,如方块不能在脚本中被定义,但你可以使用表达式去获取。
API
 
Statistics
====Biome====
» Skript: TypesEventsConditionsEffectsExpressionsLoopsCustom CommandsTypesTextVariables
<pre>类型参数:
Table of Contents
swampland, forest, taiga, desert, plains, hell, sky, ocean, river, extreme hills, frozen ocean, frozen river, ice plains, ice mountains, mushroom island, mushroom shore, beach, desert hills, forest hills, taiga hills, small mountains, jungle, jungle hills
Biome
类型名字:
Block
Boolean
Chunk
Colour
Command Sender
Damage Cause
Date
Direction
Enchantment
Enchantment Type
Entity
Entity Type
Entity Type with Amount
Experience
Game Mode
Inventory
Inventory Slot
Item / Material
Item Type
Living Entity
Location
Money
Number
Object
Offlineplayer
Player
Potion Effect Type
Projectile
Region
Text
Time
Timeperiod
Timespan
Tree Type
Type
Visual Effect
Weather Type
World
Filter for version:
=>
This is a list of most types that Skript uses (types that are not listed are not needed by the user). A type is a kind of object, e.g. player, number, or text.
Many types can be used as command arguments (‘<type>’, e.g. <number>) and almost all types can be used as loop-values (‘loop-type’, e.g. loop-block). The patterns listed for each type below reference to this.
The usage listed above the patterns for each type describe how you can define an instance of the type in a script, e.g. how to include text properly or how to write a number. The usage does usually not include any expressions that represent an instance of the type, e.g. blocks cannot be defined in a script, but you can use one of the many block expressions to get a block.
Biome
type usage:
swampland, forest, taiga, desert, plains, hell, sky, ocean, river, extreme hills, frozen ocean, frozen river, ice plains, ice mountains, mushroom island, mushroom shore, beach, desert hills, forest hills, taiga hills, small mountains, jungle, jungle hills
type name patterns[?]:
biome[s]
biome[s]
since:
加入的版本:
1.4.4
1.4.4
All possible biomes Minecraft uses to generate a world.
构成世界的生物群系
examples:
示例:
biome at the player is desert
biome at the player is desert</pre>
Block
====Block====
type usage:
<pre>类型参数:
cannot be written in scripts
不能在脚本中使用
type name patterns[?]:
类型名字:
block[s]
block[s]
since:
加入的版本:
1.0
1.0
A block in a world. It has a location and a type, and can also have a direction (mostly a facing), an inventory, or other special properties.
世界中的一个方块,经常包括位置 类型,同时也拥有一个朝向,内容物或其他配置。</pre>
Boolean
====Boolean====
type usage:
<pre>类型参数:
true/yes/on or false/no/off
true/yes/on or false/no/off
type name patterns[?]:
类型名字:
boolean[s]
boolean[s]
since:
加入的版本:
1.0
1.0
A boolean is a value that is either true or false. Other accepted names are 'on' and 'yes' for true, and 'off' and 'no' for false.
信标
examples:
示例:
set {config.%player%.use mod} to false
set {config.%player%.use mod} to false</pre>
Chunk
====Chunk====
type usage:
<pre>类型参数:
cannot be written in scripts
不能在脚本中使用
type name patterns[?]:
类型名字:
chunk[s]
chunk[s]
since:
加入的版本:
2.0
2.0
A chunk is a cuboid of 16×16×<world height> (x×z×y) blocks (the world height is usually 128 or 256). Chunks are spread on a fixed rectangular grid in their world, where the chunk (0,0) contains the blocks (0,0,0) to (15,15,<world height> - 1).
区块</pre>
Colour
====Colour====
type usage:
<pre>类型参数:
black, dark grey/dark gray, grey/light grey/gray/light gray/silver, white, blue/dark blue, cyan/aqua/dark cyan/dark aqua, light blue/light cyan/light aqua, green/dark green, light green/lime/lime green, yellow/light yellow, orange/gold/dark yellow, red/dark red, pink/light red, purple/dark purple, magenta/light purple, brown/indigo
black, dark grey/dark gray, grey/light grey/gray/light gray/silver, white, blue/dark blue, cyan/aqua/dark cyan/dark aqua, light blue/light cyan/light aqua, green/dark green, light green/lime/lime green, yellow/light yellow, orange/gold/dark yellow, red/dark red, pink/light red, purple/dark purple, magenta/light purple, brown/indigo
type name patterns[?]:
类型名字:
colo[u]r[s]
colo[u]r[s]
since:
加入的版本:
unknown
unknown
Wool, dye and chat colours.
羊毛 染料和聊天颜色。
Please note that the same colours are used for chat and wool so that you can use any colour expression to colour chat, e.g. message "<%colour of sheep%>this colour". Minecraft however uses slightly different colours for chat and sheep, with the main difference being that there exists no brown chat colour, but there exists another blue one instead, thus 'brown' and 'indigo' are the same colour.
请注意,相同的颜色适用于聊天和羊毛,所以你可以使用任何颜色来彩色聊天,message "<%colour of sheep%>this colour"
examples:
 
但Minecraft中两者还是有些许的不同,最大的差异是聊天中没有棕色,所以这里有另一种蓝色代替 'brown' 'indigo' 是相同的颜色。
示例:
color of the sheep is red or black
color of the sheep is red or black
set the colour of the block to green
set the colour of the block to green
message "You're holding a <%color of tool%>%color of tool%<reset> wool block"
message "You're holding a <%color of tool%>%color of tool%<reset> wool block"</pre>
Command Sender
 
type usage:
====Command Sender====
<pre>类型参数:
use the console for the console
use the console for the console
see player for players.
see player for players.
type name patterns[?]:
类型名字:
[command[s]][ ](sender|executor)[s]
[command[s]][ ](sender|executor)[s]
since:
加入的版本:
1.0
1.0
A player or the console.
玩家或控制台
examples:
示例:
on command /pm:
on command /pm:
command sender is not the console
command sender is not the console
chance of 10%
chance of 10%
give coal to the player
give coal to the player
message "You got a piece of coal for sending that PM!"
message "You got a piece of coal for sending that PM!"</pre>
Damage Cause
====Damage Cause====
type usage:
<pre>类型参数:
contact, attack, projectile, suffocation, fall, fire, burning, melting, lava, drowning, block explosion, entity explosion, void, lightning, suicide, starvation, poison, potion, wither, falling block, thorns, unknown
contact, attack, projectile, suffocation, fall, fire, burning, melting, lava, drowning, block explosion, entity explosion, void, lightning, suicide, starvation, poison, potion, wither, falling block, thorns, unknown
type name patterns[?]:
类型名字:
damage cause[s]
damage cause[s]
since:
加入的版本:
2.0
2.0
The cause/type of a damage event, e.g. lava, fall, fire, drowning, explosion, poison, etc.
伤害的来源
Please note that support for this type is very rudimentary, e.g. lava, fire and burning, as well as projectile and attack are considered different types.
请注意有时这些不是很准确,如 岩浆 火焰 燃烧, 同时弹射物和攻击也要考虑不同类型</pre>
Date
====Date====
type usage:
<pre>类型参数:
cannot be written in scripts
不能在脚本中使用
type name patterns[?]:
类型名字:
date[s]
date[s]
since:
加入的版本:
1.4
1.4
A date is a certain point in the real world's time which can currently only be obtained with now.
真实世界的时间
See time and timespan for the other time types of Skript.
示例:
examples:
set {_yesterday} to now
set {_yesterday} to now
subtract a day from {_yesterday}
subtract a day from {_yesterday}
# now {_yesterday} represents the date 24 hours before now
# now {_yesterday} represents the date 24 hours before now</pre>
Direction
====Direction====
type usage:
类型参数:
see direction (expression)
<pre>see direction (expression)
type name patterns[?]:
类型名字:
direction[s]
direction[s]
since:
加入的版本:
2.0
2.0
A direction, e.g. north, east, behind, 5 south east, 1.3 meters to the right, etc.
一个方向,north, east, behind, 5 south east, 1.3 meters to the right, etc.
Locations and some blocks also have a direction, but without a length.
一些方块同样有方向,然并没有文本
Please note that directions have changed extensively in the betas and might not work perfectly. They can also not be used as command arguments.
请注意有些方向在更新时被更改,请最好不要使用为指令参数
examples:
示例:
set the block below the victim to a chest
set the block below the victim to a chest
loop blocks from the block infront of the player to the block 10 below the player:
loop blocks from the block infront of the player to the block 10 below the player:
set the block behind the loop-block to water
set the block behind the loop-block to water</pre>
Enchantment
====Enchantment====
type usage:
<pre>类型参数:
protection, respiration, punch, projectile protection, smite, fortune, infinity, feather falling, flame, knockback, sharpness, aqua affinity, looting, fire aspect, silk touch, blast protection, power, thorns, efficiency, fire protection, bane of arthropods, unbreaking, luck of the sea, lure
protection, respiration, punch, projectile protection, smite, fortune, infinity, feather falling, flame, knockback, sharpness, aqua affinity, looting, fire aspect, silk touch, blast protection, power, thorns, efficiency, fire protection, bane of arthropods, unbreaking, luck of the sea, lure
type name patterns[?]:
类型名字:
enchantment[s]
enchantment[s]
since:
加入的版本:
1.4.6
1.4.6
An enchantment, e.g. 'sharpness' or 'fortune'. Unlike enchantment type this type has no level, but you usually don't need to use this type anyway.
附魔类型</pre>
Enchantment Type
====Enchantment Type====
type usage:
<pre>类型参数:
<enchantment> [<level>]
<enchantment> [<level>]
type name patterns[?]:
类型名字:
enchant(ing|ment) type[s]
enchant(ing|ment) type[s]
since:
加入的版本:
1.4.6
1.4.6
An enchantment with an optional level, e.g. 'sharpness 2' or 'fortune'.
附魔类型+等级 如 'sharpness 2' or 'fortune'.
examples:
示例:
enchant the player's tool with sharpness 5
enchant the player's tool with sharpness 5
helmet is enchanted with waterbreathing
helmet is enchanted with waterbreathing</pre>
Entity
====Entity====
type usage:
<pre>类型参数:
player, op, wolf, tamed ocelot, powered creeper, zombie, unsaddled pig, fireball, arrow, dropped item, item frame, etc.
player, op, wolf, tamed ocelot, powered creeper, zombie, unsaddled pig, fireball, arrow, dropped item, item frame, etc.
type name patterns[?]:
类型名字:
entit(y|ies)
entit(y|ies)
since:
加入的版本:
1.0
1.0
An entity is something in a world that's not a block, e.g. a player, a skeleton, or a zombie, but also projectiles like arrows, fireballs or thrown potions, or special entities like dropped items, falling blocks or paintings.
实体
examples:
示例:
entity is a zombie or creeper
entity is a zombie or creeper
player is an op
player is an op
projectile is an arrow
projectile is an arrow
shoot a fireball from the player
shoot a fireball from the player</pre>
Entity Type
====Entity Type====
type usage:
<pre>类型参数:
Detailed usage will be added eventually
请等待作者更新,这里是空的
type name patterns[?]:
类型名字:
entity[ ]type[s]
entity[ ]type[s]
since:
加入的版本:
1.3
1.3
The type of an entity, e.g. player, wolf, powered creeper, etc.
实体的类型
examples:
示例:
victim is a cow
victim is a cow
spawn a creeper
spawn a creeper
第3,645行: 第4,266行:
spawn 10 red, green or blue sheep
spawn 10 red, green or blue sheep
spawn a falling anvil 4 meters above the player
spawn a falling anvil 4 meters above the player
kill all skeleton horses in all worlds
kill all skeleton horses in all worlds</pre>
Entity Type with Amount
====Entity Type with Amount====
type usage:
<pre>类型参数:
<number> <entity type>
<number> <entity type>
type name patterns[?]:
类型名字:
cannot be used directly
cannot be used directly
since:
加入的版本:
1.3
1.3
An entity type with an amount, e.g. '2 zombies'. I might remove this type in the future and make a more general 'type' type, i.e. a type that has a number and a type.
算上数量的实体类型, '2 zombies'.未来将被移除
examples:
示例:
spawn 5 creepers behind the player
spawn 5 creepers behind the player</pre>
Experience
====Experience====
type usage:
<pre>类型参数:
[<number>] ([e]xp|experience)
[<number>] ([e]xp|experience)
type name patterns[?]:
类型名字:
cannot be used directly
cannot be used directly
since:
加入的版本:
2.0
2.0
Experience points. Please note that Bukkit only allows to give XP, but not remove XP from players. You can however change a player's level and level progress freely.
经验点数
examples:
示例:
give 10 xp to the player
give 10 xp to the player</pre>
Game Mode
====Game Mode====
type usage:
<pre>类型参数:
creative/survival/adventure
creative/survival/adventure
type name patterns[?]:
类型名字:
game[ ]mode[s]
game[ ]mode[s]
since:
加入的版本:
1.0
1.0
The game modes survival, creative and adventure.
游戏模式
examples:
示例:
player's gamemode is survival
player's gamemode is survival
set the player argument's game mode to creative
set the player argument's game mode to creative</pre>
Inventory
====Inventory====
type usage:
<pre>类型参数:
cannot be written in scripts
不能在脚本中使用
type name patterns[?]:
类型名字:
inventor(y|ies)
inventor(y|ies)
since:
加入的版本:
1.0
1.0
An inventory of a player or block. Inventories have many effects and conditions regarding the items contained.
物品栏.</pre>
An inventory has a fixed amount of slots which represent a specific place in the inventory, e.g. the helmet slot for players (Please note that slot support is still very limited but will be improved eventually).
====Inventory Slot====
Inventory Slot
<pre>类型参数:
type usage:
不能在脚本中使用
cannot be written in scripts
类型名字:
type name patterns[?]:
[inventory ]slot[s]
[inventory ]slot[s]
since:
加入的版本:
unknown
unknown
Represents a single slot of an inventory. Notable slots are the armour slots and furnace slots.
物品栏的槽位。值得注意的是装备槽和熔炉槽。
The most important property that distinguishes a slot from an item is its ability to be changed, e.g. it can be set, deleted, enchanted, etc. (Some item expressions can be changed as well, e.g. items stored in variables. Speaking of which: slots are never saved to variables, only the items they represent at the time when the variable is set).  
区分一个槽位最正确且重要的方式是看它能否被切换的能力。
Please note that the tool is a slot, but it can actually change its position, i.e. doesn't always represent the same slot.
如,它能否被设置,删除,附魔等。
examples:
(一些表达式也能如此改变,如变量储存的物品。对于变量,只有当变量被设置时,它们所表示的项目才是它们所代表的项目).  
请注意,工具也占一个槽位,但它实际上可以改变它的位置,即它可以表示不同的槽位。
示例:
set tool of player to dirt
set tool of player to dirt
delete helmet of the victim
delete helmet of the victim
set the colour of the player's tool to green
set the colour of the player's tool to green
enchant the player's chestplate with projectile protection 5
enchant the player's chestplate with projectile protection 5</pre>
Item / Material
====Item / Material====
type usage:
<pre>类型参数:
[<number> [of]] <alias> [of <enchantment> <level>], Where <alias> must be an alias that represents exactly one item (i.e cannot be a general alias like 'sword' or 'plant')
[<number> [of]] <alias> [of <enchantment> <level>], <alias> 必须是表示一个项目的别名 (不能像后面的常规名 'sword' / 'plant')
type name patterns[?]:
类型名字:
item
item
material
material
since:
加入的版本:
1.0
1.0
An item, e.g. a stack of torches, a furnace, or a wooden sword of sharpness 2. Unlike item type an item can only represent exactly one item (e.g. an upside-down cobblestone stair facing west), while an item type can represent a whole range of items (e.g. any cobble stone stairs regardless of direction).
一个物品。 不同于项目类型的一个项目只能代表一个项目 (an upside-down cobblestone stair facing west), 一个项目类型可以代表一个项目的整个范围(any cobble stone stairs regardless of direction).
You don't usually need this type except when you want to make a command that only accepts an exact item.
除了当你想做一个只接受一个确切项目的指令时,你通常不需要这种类型。
Please note that currently 'material' is exactly the same as 'item', i.e. can have an amount & enchantments.
请注意当前的material是精确的物品,不能有数量/附魔
examples:
示例:
set {_item} to type of the targeted block
set {_item} to type of the targeted block
{_item} is a torch
{_item} is a torch</pre>
Item Type
====Item Type====
type usage:
<pre>类型参数:
[<number> [of]] [all/every] <alias> [of <enchantment> [<level>] [,/and <more enchantments...>]]
[<number> [of]] [all/every] <alias> [of <enchantment> [<level>] [,/and <more enchantments...>]]
type name patterns[?]:
类型名字:
item[ ]type[s]
item[ ]type[s]
items
items
materials
materials
since:
加入的版本:
1.0
1.0
An item type is an alias, e.g. 'a pickaxe', 'all plants', etc., and can result in different items when added to an inventory, and unlike items they are well suited for checking whether an inventory contains a certain item or whether a certain item is of a certain type.
同上,但可以有附魔和数量
An item type can also have one or more enchantments with or without a specific level defined, and can optionally start with 'all' or 'every' to make this item type represent all types that the alias represents, including data ranges.
示例:
examples:
give 4 torches to the player
give 4 torches to the player
add all slabs to the inventory of the block
add all slabs to the inventory of the block
第3,732行: 第4,353行:
remove a pickaxes of fortune 4 from {stored items::*}
remove a pickaxes of fortune 4 from {stored items::*}
set {_item} to 10 of every upside-down stair
set {_item} to 10 of every upside-down stair
block is dirt or farmland
block is dirt or farmland</pre>
Living Entity
====Living Entity====
type usage:
<pre>类型参数:
see entity, but ignore inanimate objects
见实体类型
type name patterns[?]:
类型名字:
living[ ]entit(y|ies)
living[ ]entit(y|ies)
since:
加入的版本:
1.0
1.0
A living entity, e.g. a mob or player, not inanimate entities like projectiles or dropped items.
一个存活的实体
examples:
示例:
spawn 5 powered creepers
spawn 5 powered creepers
shoot a zombie from the creeper
shoot a zombie from the creeper</pre>
Location
====Location====
type usage:
<pre>类型参数:
See location at (expression)
See location at (expression)
type name patterns[?]:
类型名字:
location[s]
location[s]
since:
加入的版本:
1.0
1.0
A location in a world. Locations are world-specific and even store a direction, e.g. if you save a location and later teleport to it you will face the exact same direction you did when you saved the location.
世界的一个位置,当你传送时你会保持原来的仰角和方向,你可以手动设置。</pre>
 
====Money====
In the case of the teleport effect you can set a location's yaw and pitch to 0 to prevent this behaviour.
<pre>类型参数:
Money
type usage:
<number> $ or $ <number>, where '$' is your server's currency, e.g. '10 rupees' or '£5.00'
<number> $ or $ <number>, where '$' is your server's currency, e.g. '10 rupees' or '£5.00'
type name patterns[?]:
类型名字:
cannot be used directly
cannot be used directly
since:
加入的版本:
2.0
2.0
A certain amount of money. Please note that this differs from numbers as it includes a currency symbol or name, but usually the two are interchangeable, e.g. you can both add 100$ to the player's balance and add 100 to the player's balance.
当前玩家的金钱数。这个需要Vault和一个经济插件的安装。
 
示例:
Like all economy elements, this type requires that Vault and a compatible economy plugin is installed.
examples:
add 10£ to the player's account
add 10£ to the player's account
remove Fr. 9.95 from the player's money
remove Fr. 9.95 from the player's money
set the victim's money to 0
set the victim's money to 0
increase the attacker's balance by the level of the victim * 100
increase the attacker's balance by the level of the victim * 100</pre>
Number
====Number====
type usage:
<pre>类型参数:
[-]###[.###] (any amount of digits; very large numbers will be truncated though)
[-]###[.###] (any amount of digits; very large numbers will be truncated though)
type name patterns[?]:
类型名字:
num[ber][s]
num[ber][s]
since:
加入的版本:
1.0
1.0
A number, e.g. 2.5, 3, or -9812454.
一个数字,如 2.5, 3, or -9812454.
Please note that many expressions only need integers, i.e. will discard any frational parts of any numbers without producing an error.
请注意一些表达式只需要整数,否则会在不产生错误的情况下丢弃小数部分。
examples:
示例:
set the player's health to 5.5
set the player's health to 5.5
set {_temp} to 2*{_temp} - 2.5
set {_temp} to 2*{_temp} - 2.5</pre>
Object
====Object====
type usage:
<pre>类型参数:
cannot be written in scripts
不能在脚本中使用
type name patterns[?]:
类型名字:
cannot be used directly
cannot be used directly
since:
加入的版本:
1.0
1.0
The supertype of all types, meaning that if %object% is used in e.g. a condition it will accept all kinds of expressions.
''The supertype of all types, meaning that if %object% is used in e.g. a condition it will accept all kinds of expressions.''</pre>
Offlineplayer
====Offlineplayer====
type usage:
<pre>类型参数:
cannot be written in scripts
不能在脚本中使用
type name patterns[?]:
类型名字:
offline[ ]player[s]
offline[ ]player[s]
since:
加入的版本:
unknown
unknown
A player that is possibly offline. See player for more information. Please note that while all effects and conditions that require a player can be used with an offline player as well, they will not work if the player is not actually online.
下线的玩家。用来查看更多信息,如果玩家没有在线的话,效果和条件不会工作。</pre>
Player
====Player====
type usage:
<pre>类型参数:
cannot be written in scripts
不能在脚本中使用
type name patterns[?]:
类型名字:
player[s]
player[s]
since:
加入的版本:
1.0
1.0
A player. Depending on whether a player is online or offline several actions can be performed with them, though you won't get any errors when using effects that only work if the player is online (e.g. changing his inventory) on an offline player.
一个玩家,一些事件取决于玩家是否在线。如果你使用仅在线玩家能使用的效果的话会报错,如打开不在线玩家的背包。
You have two possibilities to use players as command arguments: <player> and <offline player>. The first requires that the player is online and also accepts only part of the name, while the latter doesn't require that the player is online, but the player's name has to be entered exactly.
使用命令参数时,你可以使用 <player> <offline player>.  
Potion Effect Type
第一个需要玩家在线,并且你可以输入他们名字的一部分。第二个不要求玩家在线,但你必须精确地输入名字。</pre>
type usage:
====Potion Effect Type====
<pre>类型参数:
speed, slowness, haste, mining fatigue, strength, instant health, instant damage, jump boost, nausea, regeneration, resistance, fire resistance, water breathing, invisibility, blindness, night vision, hunger, weakness, poison, wither
speed, slowness, haste, mining fatigue, strength, instant health, instant damage, jump boost, nausea, regeneration, resistance, fire resistance, water breathing, invisibility, blindness, night vision, hunger, weakness, poison, wither
type name patterns[?]:
类型名字:
potion[[ ]effect][[ ]type][s]
potion[[ ]effect][[ ]type][s]
since:
加入的版本:
unknown
unknown
A potion effect, e.g. 'strength' or 'swiftness'.
一个药水效果,如 'strength' 'swiftness'.
examples:
示例:
apply swiftness 5 to the player
apply swiftness 5 to the player
apply potion of speed 2 to the player for 60 seconds
apply potion of speed 2 to the player for 60 seconds
remove invisibility from the victim
remove invisibility from the victim</pre>
Projectile
====Projectile====
type usage:
<pre>类型参数:
arrow, fireball, snowball, thrown potion, etc.
arrow, fireball, snowball, thrown potion, etc.
type name patterns[?]:
类型名字:
projectile[s]
projectile[s]
since:
加入的版本:
1.0
1.0
A projectile, e.g. an arrow, snowball or thrown potion.
一个弹射物
examples:
示例:
projectile is a snowball
projectile is a snowball
shoot an arrow at speed 5 from the player
shoot an arrow at speed 5 from the player</pre>
Region
====Region====
type usage:
<pre>类型参数:
"region name"
"region name"
type name patterns[?]:
类型名字:
cannot be used directly
cannot be used directly
since:
加入的版本:
2.1
2.1
A region of a regions plugin. Skript currently supports WorldGuard, Factions, GriefPrevention and PreciousStones.
一个区域插件的区域. Skript 目前支持 WorldGuard, Factions, GriefPrevention and PreciousStones.
Please note that some regions plugins do not have named regions, some use numerical ids to identify regions, and some may have regions with the same name in different worlds, thus using regions like "region name" in scripts may or may not work.
请注意一些区域插件不会给区域命名,一些只使用ID,另外一些区域在不同世界可以有相同的名字。这样就不会工作了。</pre>
Text
====Text====
type usage:
<pre>类型参数:
simple: "..."
simple: "..."
quotes: "...""..."
quotes: "...""..."
expressions: "...%expression%..."
expressions: "...%expression%..."
percent signs: "...%%..."
percent signs: "...%%..."
type name patterns[?]:
类型名字:
(text|string)[s]
(text|string)[s]
since:
加入的版本:
1.0
1.0
Text is simply text, i.e. a sequence of characters, which can optionally contain expressions which will be replaced with a meaningful representation (e.g. %player% will be replaced with the player's name).
它就是一个简单的文本,其中如果包含表达式会被表达式内容代替(%player% 会被替换成玩家名字).
Because scripts are also text, you have to put text into double quotes to tell Skript which part of the line is an effect/expression and which part is the text.
因为脚本也是文本,你必须把文本放到双引号中。
Please read the article on Texts and Variable Names to learn more.
请阅读文本来获得更多信息
examples:
示例:
broadcast "Hello World!"
broadcast "Hello World!"
message "Hello %player%"
message "Hello %player%"
message "The id of ""%type of tool%"" is %id of tool%."
message "The id of ""%type of tool%"" is %id of tool%."</pre>
Time
====Time====
type usage:
<pre>类型参数:
##:##
##:##
##[:##][ ]am/pm
##[:##][ ]am/pm
type name patterns[?]:
类型名字:
time[s]
time[s]
since:
加入的版本:
1.0
1.0
A time is a point in a minecraft day's time (i.e. ranges from 0:00 to 23:59), which can vary per world.
Minecraft的时间(0:00 to 23:59), 可以是任何世界
See date and timespan for the other time types of Skript.
更多查看Date和Timespan
examples:
示例:
at 20:00:
at 20:00:
time is 8 pm
time is 8 pm
broadcast "It's %time%"
broadcast "It's %time%"
Timeperiod
====Timeperiod====
type usage:
<pre>类型参数:
##:## - ##:##
##:## - ##:##
dusk/day/dawn/night
dusk/day/dawn/night
type name patterns[?]:
类型名字:
time[ ]period[s]
time[ ]period[s]
duration[s]
duration[s]
since:
加入的版本:
1.0
1.0
A period of time between two times. Mostly useful since you can use this to test for whether it's day, night, dusk or dawn in a specific world.
时间在两者中间。 它很有用,因为你可以用这个来测试在一个特定的世界是否是白天,黑夜,黄昏或黎明。
This type might be removed in the future as you can use 'time of world is between x and y' as a replacement.
这个类型在未来会被移除因为你可以使用 'time of world is between x and y' 作为代替.</pre>
examples:
示例:
time in world is night
time in world is night</pre>
Timespan
====Timespan====
type usage:
<pre>类型参数:
<number> [minecraft/mc/real/rl/irl] ticks/seconds/minutes/hours/days [[,/and] <more...>]
<number> [minecraft/mc/real/rl/irl] ticks/seconds/minutes/hours/days [[,/and] <more...>]
[###:]##:##[.####] ([hours:]minutes:seconds[.milliseconds])
[###:]##:##[.####] ([hours:]minutes:seconds[.milliseconds])
type name patterns[?]:
类型名字:
time[ ]span[s]
time[ ]span[s]
since:
加入的版本:
1.0
1.0
A timespan is a difference of two different dates or times, e.g '10 minutes'. Timespans are always displayed as real life time, but can be defined as minecraft time, e.g. '5 minecraft days and 12 hours'.
两个时间之间的差异,'10 minutes'. Timespans 经常被现实时间使用, 但也可以用在MC时间中,'5 minecraft days and 12 hours'.
See date and time for the other time types of Skript.
See date and time for the other time types of Skript.
examples:
示例:
every 5 minecraft days:
every 5 minecraft days:
wait a minecraft second and 5 ticks
wait a minecraft second and 5 ticks
every 10 mc days and 12 hours:
every 10 mc days and 12 hours:
halt for 12.7 irl minutes, 12 hours and 120.5 seconds
halt for 12.7 irl minutes, 12 hours and 120.5 seconds</pre>
Tree Type
====Tree Type====
type usage:
<pre>类型参数:
[any] <general tree/mushroom type>, e.g. tree/any jungle tree/etc.
[any] <general tree/mushroom type>, e.g. tree/any jungle tree/etc.
<specific tree/mushroom species>, e.g. red mushroom/small jungle tree/big regular tree/etc.
<specific tree/mushroom species>, e.g. red mushroom/small jungle tree/big regular tree/etc.
type name patterns[?]:
类型名字:
tree[ ]type[s]
tree[ ]type[s]
tree[s]
tree[s]
since:
加入的版本:
unknown
unknown
A tree type represents a tree species or a huge mushroom species. These can be generated in a world with the generate tree effect.
树的类型,可以用在生成树中
examples:
示例:
grow any regular tree at the block
grow any regular tree at the block
grow a huge red mushroom above the block
grow a huge red mushroom above the block</pre>
Type
====Type====
type usage:
<pre>类型参数:
See the type name patterns of all types - including this one
See the type name patterns of all types - including this one
type name patterns[?]:
类型名字:
type[s]
type[s]
since:
加入的版本:
2.0
2.0
Represents a type, e.g. number, object, item type, location, block, world, entity type, etc.
详见本节
This is mostly used for expressions like 'event-<type>', '<type>-argument', 'loop-<type>', etc., e.g. event-world, number-argument and loop-player.
经常被用在表达式中,如 'event-<type>', '<type>-argument', 'loop-<type>', etc., e.g. event-world, number-argument and loop-player.
examples:
示例:
{variable} is a number # check whether the variable contains a number, e.g. -1 or 5.5
{variable} is a number # check whether the variable contains a number, e.g. -1 or 5.5
{variable} is a type # check whether the variable contains a type, e.g. number or player
{variable} is a type # check whether the variable contains a type, e.g. number or player
{variable} is an object # will always succeed if the variable is set as everything is an object, even types.
{variable} is an object # will always succeed if the variable is set as everything is an object, even types.
disable PvP in the event-world
disable PvP in the event-world
kill the loop-entity
kill the loop-entity</pre>
Visual Effect
====Visual Effect====
type usage:
<pre>类型参数:
ender signal, mobspawner flames, potion break, smoke, hurt, sheep eating, wolf hearts, wolf shaking, wolf smoke
ender signal, mobspawner flames, potion break, smoke, hurt, sheep eating, wolf hearts, wolf shaking, wolf smoke
type name patterns[?]:
类型名字:
(visual|particle) effect[s]
(visual|particle) effect[s]
since:
加入的版本:
2.1
2.1
A visible effect, e.g. particles.
可见效果,如粒子
examples:
示例:
show wolf hearts on the clicked wolf
show wolf hearts on the clicked wolf
play mob spawner flames at the targeted block to the player
play mob spawner flames at the targeted block to the player</pre>
Weather Type
====Weather Type====
type usage:
<pre>类型参数:
clear/sun/sunny, rain/rainy/raining, and thunder/thundering/thunderstorm
clear/sun/sunny, rain/rainy/raining, and thunder/thundering/thunderstorm
type name patterns[?]:
类型名字:
weather[ ]type[s]
weather[ ]type[s]
weather condition[s]
weather condition[s]
weather[s]
weather[s]
since:
加入的版本:
1.0
1.0
The weather types sunny, rainy, and thundering.
天气类型
examples:
示例:
is raining
is raining
is sunny in the player's world
is sunny in the player's world
message "It is %weather in the argument's world% in %world of the argument%"
message "It is %weather in the argument's world% in %world of the argument%"</pre>
World
====World====
type usage:
<pre>类型参数:
"world_name", e.g. "world"
"world_name", e.g. "world"
type name patterns[?]:
类型名字:
world[s]
world[s]
since:
加入的版本:
1.0
1.0
One of the server's worlds. Worlds can be put into scripts by surrounding their name with double quotes, e.g. "world_nether", but this might not work reliably as text uses the same syntax.
服务器的一个世界。世界需要放在双引号中,"world_nether", 但这可能不会工作因为文本也用双引号.
examples:
示例:
broadcast "Hello!" to "world_nether"
broadcast "Hello!" to "world_nether"</pre>
About ~ njol.ch created by Peter Güttinger ~ icons by Yusuke Kamiyamane ~
Last modified: Freyja's Day, 9th August 2013, 09:43
===text===
Njol.ch
»
Projects
»
Skript
Yggdrasil
Markup
»
Documentation
Tutorial
API
Statistics
» Skript: Text & Variable NamesEventsConditionsEffectsExpressionsLoopsCustom CommandsTypesTextVariables
Using text in scripts can be really simple, e.g. to send ‘Hello!’ to some player you can use send "Hello!" to player. As you can see you have to put double quotes around whatever text you want to use (to include a double quote you'll have to double it: "What's this ""thing"" you're talking about?"). Often you'll want to include e.g. the player's name in a text which can be done by inserting %player% where you want the player's name to appear, e.g. send "Hello %player%!" to player would send ‘Hello Njol!’ to me. You can put all expressions between such percent signs, e.g. message "The block above the block you're looking at is a %block above targeted block%". Similar to quotes you have to double the percent sign if you want to use one in a text: "100%%!".
Chat Colours and Styles
Colours and chat styles can be included in messages in two different ways: Either with the common ‘&x’/‘§x’ colour codes or by using Skript's <colour> codes, e.g. broadcast "<red><bold>Important Information:<reset> <blue><u>This server needs more mods!". You can also use the colour of an item in a message, e.g. message "<%colour of tool%>this text is coloured depending on the player's held item!".


The default english colours and chat styles are:
===文本===
colours: black, dark grey/dark gray, grey/light grey/gray/light gray/silver, white, blue/dark blue, cyan/aqua/dark cyan/dark aqua, light blue/light cyan/light aqua, green/dark green, light green/lime/lime green, yellow/light yellow, orange/gold/dark yellow, red/dark red, pink/light red, purple/dark purple, magenta/light purple, brown/indigo
====基础文本====
chat styles: bold/b, italics/italic/i, strikethrough/strike/s, underlined/underline/u, magic, reset/r
在脚本中使用文本非常的简单。
Other languages may use other colours, but those are only used rarely, e.g. by the colour expression (useful to colour command arguments), as scripts always use the english colour codes.
Advanced Syntax
Skript version 2.0 and above can handle nouns more advanced than by simply inserting them into the text:
"a %expression" or "an %expression" will add the appropriate indefinite article to the expression, e.g. “a fish”, “an apple”, or “a pickaxe and an emerald”. The same applies to the definite article ‘the’ ("the %expression%"), though this is barely noticeable in the english language, only some nouns like ‘air’ will completely remove the article in this case. Please note that for other languages you'll have to use that language's articles, e.g. "der %expression" or "ein %expression%" in german.
"%expression%s" as well as "<number> %expression%" (for numbers other than 1) causes the expression to be displayed as plural, e.g. "2 %block%" can result in “2 logs” (the number can also be another expression, e.g. "%number-argument% %item-argument%" could turn into “5 pickaxes” or “1 pickaxe”). Unlike articles this syntax is the same for all languages.
Variable Names
Variable names are very similar to text, except that you have to enclose them in curly brackets instead of double quotes: {variable}. Expressions also do not use the advanced syntax described above as that's useless in a variable's name.
About ~ njol.ch created by Peter Güttinger ~ icons by Yusuke Kamiyamane ~
Last modified: Freyja's Day, 17th January 2014, 22:39
===Var===
Njol.ch
»
Projects
»
Skript
Yggdrasil
Markup
»
Documentation
Tutorial
API
Statistics
» Skript: VariablesEventsConditionsEffectsExpressionsLoopsCustom CommandsTypesTextVariables
Variables are Skript's way to save data. Every variable has a name and a value, i.e. some stored data. You can put variables anywhere in your triggers to replace something, e.g. you can replace a location with a variable that holds a location.
This can for example be used for a /home command: make a variable ‘home’ and a command /home which teleports the player to the location stored in the ‘home’ variable.
To distinguish variables from the rest of the trigger their name has to be put in curly brackets like this: {variable name}. A variable's name can also contain expressions, e.g. to make a ‘home’ variable for every player you can make a variable like {home.%player%} where %player% will be replaced by the player's name every time the variable is used, which essentially creates a ‘home’ variable that is different for every player.


All variables are saved in a file called ‘variables.csv’ in the plugin's folder. Please do not edit the file manually, if you do something wrong you might wipe out some variables. The variables are written to this file constantly, so a server crash will make you loose at most one variable. Starting with version 2.0 you can also choose to save variables in a database which can also be monitored for changes, e.g. if you have multiple servers and want to synchronize variables between them.
如,想要给玩家发送‘Hello!’你可以使用
<pre> send "Hello!" to pl ayer</pre>
你必须在文本旁用双引号<pre>" "</pre>括起来使用文本。如果要在文本中使用双引号的话,变成这样
<pre>"" ""
"What's this ""thing"" you're talking about?"
</pre>
如果你想在文本中使用玩家名称的话,使用%player%来代替。


There are 3 different kinds of variables: ‘normal’ variables, local variables and options. Normal variables (usually simply called variables) are unique, i.e. there can only exist one variable with the same name, and they are saved between server restarts.
send "Hello %player%!" to player 会给作者发送 ‘Hello Njol!’ 。
Local variables (which are identified with an underscore: {_local variable}) are ‘local to the event’, which means that there can exist several of these variables with the same name simultaneously, e.g. the following trigger will send a player his name one minute after he joined:
 
on join:
类似的表达式都可以工作,如 message "The block above the block you're looking at is a %block above targeted block%".
  set {_player} to player
 
  wait a minute
如果你想要使用百分号的话,双写——<pre> "100%%!"</pre>
  message "%{_player}%" # the local variable is unchanged no matter how many players joined in the meantime
====颜色与格式====
If a normal variable was used all players would recieve the name of the last player who joined since normal variables are unique.
颜色和格式在消息中可以有两个方式存在。
Local variables are also automatically deleted when they are not needed anymore and do not clutter the variables file, but their data is lost when the server stops (which does not matter that much as all scripts also stop running and won't resume where they left off when the server restarts).
 
The last kind of variables are options which are not actually variables at all. You can add a section ‘options’ to your script like this:
一是普通的 ‘&x’/‘§x’ 颜色代码
options:
 
  option name = option value
二是使用Skript的 <colour> 代码,如 <pre>broadcast "<red><bold>Important Information:<reset> <blue><u>This server needs more mods!"</pre>
You can then use these options anywhere in your scripts with {@option name}. The reason why I stress anywhere is because options will be replaced one-to-one with their values just before the script is parsed. Thus you can put anything into options, even whole script lines or parts thereof. Remember to not use percent signs around options in text though as the percent signs will remain.
 
List Variables
你也可以在文本中使用玩家物品的颜色,如<pre> "<%colour of tool%>this text is coloured depending on the player's held item!"</pre>
List variables are variables which can hold multiple values. They look like {variable name::*} and can have elements added and removed from them using the default add and remove effects, can be deleted which will clear all values of the list, and overwritten with new values with the set effect. You can access a specific value of a list variable with {variable name::index} where ‘index’ is the index of the value you want. The index can be anything, e.g. a player name or a number, but when adding values to the list with the add effect the index of the new value will be a number.
 
简单的颜色和格式如——
<pre>可用的颜色和格式
: black, dark grey/dark gray, grey/light grey/gray/light gray/silver, white, blue/dark blue, cyan/aqua/dark cyan/dark aqua, light blue/light cyan/light aqua, green/dark green, light green/lime/lime green, yellow/light yellow, orange/gold/dark yellow, red/dark red, pink/light red, purple/dark purple, magenta/light purple, brown/indigo
chat styles: bold/b, italics/italic/i, strikethrough/strike/s, underlined/underline/u, magic, reset/r</pre>
其他语言也许可以使用其他颜色,但可用的极少。如,使用颜色方面的表达式[对颜色指令很有用],脚本经常使用英文的颜色代码。
====高级语法====
Skript 2.0版本及以上可以比只把他们放到文本中更高级的使用名词——


List variables can be looped with loop {list variable::*}. Within the loop the currently looped value can be accessed with loop-value and its index with loop-index.
"a %expression" 或 "an %expression"将把适合的文字放入表达式,如 “a fish”, “an apple”, 或 “a pickaxe and an emerald”.  


List variables are also useful to show a list in a message, e.g. a list of all admins online, by first adding them to the same list variable and then using that variable in the message (see the last example below). Using a local list variable for this purpose is recommended: {_local list variable::*}
这类似的,将允许使用 the("the %expression%"), 即使这在英语中几乎不明显, 只有一些名词,如“空气”将在这种情况下的文章下完全删除。
Examples
As I'm not very good at explaining the rest of this page is filled with some examples:


Save how many players have ever logged into your server:
请注意其他语言你需要使用那个语言的文章,如德语 "der %expression" or "ein %expression%" <Ref>我是来翻译英语的不是翻译德语的(╯‵□′)╯︵┻━┻</ref>
# if you add a 'variables:' section to your script, the variables defined there will be set to the given value if they don't exist
 
# when the script is loaded. You cannot change an existing variable's value this way however, in particular if you
"%expression%s" 兼容 "<数字> %expression%" (数字比1大) 将会使后面的表达式使用复数 。
# change the variables' values here the actual variables will not be changed at all.
 
variables:
如 "2 %block%" 会表现出 “2 logs” (数字也可以在另一个表达式使用,如 "%number-argument% %item-argument%" 会出现 “5 pickaxes” 或 “1 pickaxe”).
{logincount} = 0
 
这个语法会在任何语言使用。
 
====变量名====
变量名与文本十分相似,不过你需要用{ }括起。<pre> {变量}</pre>
 
表达式不适用高级语法。
 
===变量===
变量是Skript储存数据的方式,所有的变量都有一个名字,一个值。
 
你可以把变量放在任何地方去替换一些东西,如用变量的位置来替换一个位置。
 
这可以用简单的家指令:做一个变量'home',然后再输入指令时传送到这个位置。
 
如要使用变量,把它的名字放到{ }内,像这样: {变量名}. 变量的名字经常包含表达式,如要为所有玩家每人一个家,变量名应使用 {home.%player%} 。
 
当变量载入时 %player% 将会被替换成玩家名字。
 
所有的变量都在‘variables.csv’ 中储存,它可在插件的目录里找到。请不要自行修改文件。如果你做错了一些东西一些变量会永久失效。
变量只是会时常写入这里,所以服务器崩溃也许会是你丢失一些变量。
 
从 2.0 版本开始将可以允许你使用数据库,这样你就可以共享变量。
 
有3种类型的变量: 普通变量,本地变量和选项变量。
 
普通变量是独一无二的,在插件中只能有一个普通变量叫这个名字,它们在服务器重启时会被保存。
 
本地变量的格式是{_名字}这样的,允许不同脚本有相同名字的本地比那里,如下面的触发器:
<pre>
on join:
  set {_player} to player
  wait a minute
  message "%{_player}%" # the local variable is unchanged no matter how many players joined in the meantime
</pre>
如果是普通变量的话会把全局的player都展示出来
 
本地变量在没有它们的用处的时候会被自动删除,并不会使用存储器,但当服务器重启或脚本重载时本地变量会丢失。
 
选项变量的格式是这样的:
<pre>
options:
  option name = option value
</pre>
在调用选项变量的时候你可以使用 {@option name}. 这将会在触发器运行之前把变量内容完全替换为你设置的变量值。
 
所以你可以把任何东西放到选项变量中,甚至是脚本。 不要在选项变量中使用百分号,会保留。
====变量的列出====
列出变量的变量是这样的<pre> {variable name::*} </pre>并且可以添加元素并使用默认的添加和移除效果移除元素,当被删除时会删除所有在列表上的值。
 
您可以使用{variable name::index}访问变量列表的特定值:其中index是那个特定值。特定值可以是任何东西,如一个玩家的名字,数字,但当为列表增加变量时,新的特定值会变成一个数字。
 
变量列表可以这样被循环<pre> {list variable::*}</pre>
 
其中循环值可以使用 loop-value 特定值可以使用 loop-index.
 
列出变量对于在消息中展示一些列表很有用,如一些在线的管理员,首先把他们列到同一变量,然后使用列出变量。(见下方的例子).
 
最好是使用本地变量列表{_local list variable::*}
====好吃的栗子====
这里是一些栗子
 
检查一共有多少人登入进你的服务器过:
<pre>
# if you add a 'variables:' section to your script, the variables defined there will be set to the given value if they don't exist
# when the script is loaded. You cannot change an existing variable's value this way however, in particular if you
# change the variables' values here the actual variables will not be changed at all.
variables:
{logincount} = 0
   
   
on login:
on login:
第4,047行: 第4,699行:
trigger:
trigger:
message "Since its beginnings <green>%{logincount}%<reset> people have logged into this server"
message "Since its beginnings <green>%{logincount}%<reset> people have logged into this server"
</pre>


A simple /home plugin:
简单的home脚本:
<pre>
command /sethome:
command /sethome:
permission: skript.home
permission: skript.home
第4,064行: 第4,718行:
stop trigger
stop trigger
teleport player to {home.%player%}
teleport player to {home.%player%}
 
</pre>
A command that shows the currently online staff:
显示在线管理员的脚本
<pre>:
command /staff:
command /staff:
description: Shows online staff
description: Shows online staff
第4,077行: 第4,732行:
else:
else:
message "Online staff: %{_online staff::*}%"
message "Online staff: %{_online staff::*}%"
About ~ njol.ch created by Peter Güttinger ~ icons by Yusuke Kamiyamane ~
Last modified: Freyja's Day, 17th January 2014, 22:50


</pre>
可以Shift右键发射火焰弹的脚本(可以通过设置options来编辑冷却时间,使用后的虚弱时间)
(注意:虚弱时间可以被叠加,即使用2或以上次火焰弹会将虚弱时间叠加到5秒以上)
作者:0ojixueseno0
<pre>
options:
#冷却时间
cooldown: 3 seconds
#虚弱时间
debufftimes: 5 seconds
on right click with a fire charge:
if player is sneaking:
set {_cooldown} to difference between {cd.%player%.fireball} and now
if {_cooldown} is less than {@cooldown}:
send action bar "&c&l火焰弹冷却中" to player
stop
else:
remove a fire charge from player's inventory
shoot a fireball from the player with speed 0.001
apply weakness of tier 2 to the player for {@debufftimes}
set {cd.%player%.fireball} to now
else:
stop
on load:
send "[ThrownFireball] &b丢出火焰弹 &a已加载" to console
on unload:
send "[ThrownFireball] &b丢出火焰弹 &c已卸载" to console
</pre>
[[Category:编程]]
[[Category:编程]]

2021年8月15日 (日) 16:52的最新版本

Minecraft插件百科提醒您,此条目或需要大幅度整改,建议新用户不要模仿此条目格式建立新条目。

原因在于:

  • 缺少引言/概述
  • 滥用一级标题
  • 页面冗长,需要拆分子页面
若您清楚改善现状的方法,可以尝试帮忙改进

  • 什么是脚本库?

脚本库是Skript脚本的“脚本百科”,你可以在脚本库中查看各类脚本的索引。当然,你也可以在脚本库中收录/认领自己的脚本。


  • 访问脚本库

脚本库 <---点击访问


  • 关于脚本库

脚本库负责人:0o酱讨论

点击右方“讨论”按钮可以咨询脚本库的相关问题(你也可以在主页中寻找我的联系方式)

Skript

原文地址

http://njol.ch/projects/skript/

介绍

Skript是一个流行的服务器插件。

它允许服务器管理员在不写任何Java语言的情况下简单的管理Minecraft。

这是用触发器、条件和效果三个部分做到的。

当触发器触发,所有条件均满足,效果就会被触发。

Skript的基础想法是——自定义 —— 每个服务器都能在没有自定义插件的情况下表现不同。

这比你自己钻研插件和找人写插件快的多。

同时你也不需要那么多小插件了,这一个插件就够了。

你可以在[这里]<ref>原文给的是DropBox地址无法访问,这里是作者的GitHub地址</ref>下载最新版本的Skript

已经提及了,Skript的触发器提供了这个插件的基本功能。

触发器很普通,并由一些条件和效果组成,就像这个简单的掉落修复脚本:


on break of glass:
    drop glass
译者注:
当打破玻璃的时候:
    掉落玻璃


Skript也能用来做自定义命令。

这些基本的触发器已被改成了执行特定的命令。

下面的简单触发器允许玩家在手持物品输入/id时显示它的ID。


command /id:
    description: Find the ID of the item you're holding
    trigger:
        message "You're holding a %type of tool% whose ID is %id of tool%."
译者注:
当使用/id时:
    描述: 获取你当前持有物的ID
    触发器:
        给玩家发送消息 "你现在正在拿着一个%type of tool%[工具类型] ,它的ID是 %id of tool%[工具ID]"


Skript同时也有直接从聊天栏执行效果的选项,输出一个可配置的符号打头(!是默认的)的聊天信息。

这经常被指令使用。例如,

!repair tool

,将会修复你的工具。因为这些指令非常强大且用的地方很多。 只有在玩家拥有

skript.effectcommands

权限时才能使用(OP默认不拥有!)

Skript的语法不仅限制于上面的简单指令,还包括一些循环,包含等语法。

下面的脚本是一个很简单的从附近箱子抽调燃料的例子——

on burn of fuel:
    fuel slot of the block is empty
    loop blocks in radius 1:
        loop-block is chest
        loop items of type fuel:
            loop-block contains loop-item
            remove loop-item from loop-block
            set fuel of the event-block to loop-item
            stop trigger
译者注:
当燃料燃烧时:
    熔炉的燃料槽空了
    在周围半径一格寻找方块:
        寻找箱子
        寻找物品是燃料类型
            箱子包含燃料
            从箱子中移除燃料
            把燃料移到燃料槽
            停止触发器

更多信息请前往[BukkitDev]<ref>译者注:作者的BukkitDev已经停止更新,请前往GitHub,在文章开始处</ref>,然后也请阅读下面的教程和帮助文档。

教程是新手的必读品。它解释了如何写一个脚本。这里是[另一段教程]<ref>译者注: 两段都翻译了</ref>

帮助文档是所有触发器的集合,这里面有所有关于脚本的东西。


[链接到BukkitDev]

[链接到作者论坛]

教程

作者在自带页面给出的教程

开始

在你开始写脚本之前你应该先安装Skript插件

下载最新的Skript插件,把它放入plugins,重启服务器来生成配置和一些示例脚本。

写触发器

在你打开你的编辑器之前我推荐你知道你要写什么脚本,但你可以简单地开始写了。

在这个教程中我会说明如何写一个用锄头来直接撒播种子的脚本。

它应该包括 当一个人手持锄头右键泥土时自动种植作物。

首先,打开你的文档编辑器[例如NotePad++] <ref>译者注:经测试,不推荐使用微软自带的记事本!</ref>

现在思考怎么样能让你的触发器被触发,所以我们写下第一行:

on right click:
译者注:
在右键时:

如果你不知道有哪些条件可以触发的话,点击[这里]<ref>译者注:这里是下面帮助文档的Events 事件大类</ref>

但是我们不想让人们右键都触发,只是在泥土上用锄头而已。

所以我们应该改变一下——

on right click on soil holding a hoe:
译者注:
当持有锄头右键泥土时:

我们也可以用这个事件+条件来替代——

on right click:
    block is soil
    player is holding a hoe
译者注:
当右键时:
    方块是泥土
    玩家手持锄头

这两种都可以,但我在这篇文档中将使用第一种。

然后我们来检测玩家有无种子:

on right click on soil holding a hoe:
    player has seeds
译者注:
当用锄头右键泥土时:
    玩家拥有种子

请注意第二行的缩进。这会使读取器认为这是一个触发器中的语句,并且使脚本更简单的阅读。

如果你不注意这个缩进的话你的插件就会报错因为插件认为他们不属于一个触发器。

在那之后我们应该种植作物了——

on right click on soil holding a hoe:
    player has seeds
    set block above the clicked block to crops
译者注:
当手持锄头右键泥土时:
    玩家拥有种子
    将泥土上方的方块设置为作物

这不是很精确因为可能我们点击的泥土方块上方有方块(如下图)

[_] <- 其他方块

[_] <- 泥土方块

如果我们只是设置的话我们会覆盖掉原有方块。

这可能是别的玩家领地中的物品甚至是基岩。

这样的问题看起来并不明显但会有BUG的存在。你可以在你服务器上使用之前先在一个测试服务器上尝试运行。

这个问题可以用检测泥土上方的方块来解决——

on right click on soil holding a hoe:
    player has seeds
    block above the clicked block is air
    set block above the clicked block to crops
当手持锄头右击方块时:
    玩家拥有种子
    被点击方块的上面是空气
    把点击方块上面的方块设置为作物

然后不要忘了移除玩家的种子,不然他们就有免费作物了:D

on right click on soil holding a hoe:
    player has seeds
    block above the clicked block is air
    set block above the clicked block to crops
    remove seeds from player
当手持锄头右击方块时:
    玩家拥有种子
    被点击方块的上面是空气
    把点击方块上面的方块设置为作物
    移除玩家的种子

最后一件事是把你的脚本储存到

./plugins/Skript/scripts

里,你可以取任何名字。 但请不要以

-

号打头,因为这会使脚本无法读取。 文件的扩展名必须是

.sk

,例如,你可以把这个脚本储存为

hoe.sk


现在开启你的服务器[可能是测试的],检查后台有无错误信息,如果有,尝试修复。

然后登入服务器测试脚本查看是不是都可以运行。

如果你测试完毕,你可以上传到你的主服务器让玩家使用了。

你也可以使用

/sk reload 脚本名称

来使脚本重载。这方便你调试脚本,不要重启服务器。

所有的错误将会发送给使用指令的玩家。

如果后台使用,将发送给后台。

BukkitDev给出的教程

Skript的目标就是让不会语法的程序员们写他们自己的小插件[称之为脚本]。

我感觉这个目的渐渐的被人淡化因为人们也不会写脚本。

这个教程教写脚本的新人,如何让这个绝妙的插件在TA的服务器上工作。

[帮助文档]解释了你服务器所需要的所有的脚本构成。

我不是这里单一的教程帖子了,我将会引用一些他们的东西。

这个插件在你自己编程的时候非常有用,你可以做你想做的东西,以及它不需要完美的语法。

帮助文档可以在这篇文章的最上方找到。

变量,循环,指令,条件和事件—— 你写脚本的时候,你最少要用到一个,甚至你可能都需要。 下面我会详细介绍每个是干什么的,什么时候用他们——

事件

事件就是当一件事情发生的时候,例如玩家点击了一些东西,打出伤害,狗带,或一个怪物做了一些事情,甚至是环境自己改变。

这允许你做一些另外的事情——例如:

on explode:
        cancel event
当爆炸时:
        取消事件的发生

注意空格,事件后都有一个冒号。你可以用4个或8个空格<ref>译者从来没有试过8个,都是4个</ref>。

你不能使用tab或空格来换行。我偏向于使用tab来缩进因为我只需要点一次<ref>译者喜欢4个空格 因为这样语法感觉更好</ref>

真正的事件其实非常简单。当一个爆炸发生,取消它。

这能很好地防止TNT 苦力怕的爆炸,甚至防止末影龙。

记住这个会真正的取消爆炸,就是玩家也不会受到伤害。

所以这个脚本非常简单,你可以简单的变换结局。

例如杀死服务器上的所有玩家<Ref>这个人怎么想的=-=</ref>

条件

条件是任何脚本的基础。他们是执行下一部分的条件代码。一个权限示例如下——

on rightclick:
        player has permission "skript.boom"
        create explosion with force 3 at targeted block
当右键时:
        玩家拥有"skript.boom"权限
        在指向方块处创造力量为3的爆炸

这会创建一个比TNT更小的爆炸,但只会在玩家拥有对应权限时工作。

条件能被用来检查玩家是否拥有物品,或牌子上写的东西。

你甚至可以用多个条件来限制效果。

on rightclick:
        block is a sign
        line 1 of sign is "[Shop]"
        player has permission "skript.shop"
        player has 2 gold nuggets
        remove 2 gold nuggets from player
        give player 1 bread
        message "<light green>You bought a bread."

在这个脚本中玩家必须右击一个第一行为[Shop]的牌子,拥有权限,2个金粒,然后才能有效果。

指令

每个服务器的管理员都知道指令,这是你运营服务器的方式。 Skript允许你自己自定义指令。这些命令与事件写法大体相似,除了事件需要被你自定义。

这个事件简单的版本是通过玩家输入指令来自定义效果。如果想获取更好的想法,看我下面的例子。

command /hi:
        permission: skript.hi
        trigger:
                message "hi"

这个简单的命令给发送/hi的玩家发送消息。第一行是事件。首先我们说要自定义一个命令,然后我们写什么命令。

然后我们给它一个权限和使用方法。最后,我们增加触发器,使我们想要指令做的事情。

你可以看网页提及的自定义命令的部分。

你也可以做一些可以获取信息的指令,或者指定被作用效果的玩家。看下面的指令:

command /hi <player>:
        permission: skript.hi
        trigger:
                send "hi" to argument

这个命令和之前一样发送同样的消息,但这次将会发送给别的玩家。

我们使用这个发送效果的原因是因为消息效果只发送消息给事件中的玩家,而不是输入指令的玩家。

有了发送效果,我们就能够给别的玩家发送信息了。

argument是指令中的玩家,所以当你使用/hi demon_penguin时,将会给 demon_penguin 发送hi。

同时你也可以查看网页来了解更多关于自定义命令的信息。

循环

循环任务可以用来完成复杂的任务。例如如果你想检测在你附近是不是有个箱子,你可能要检测你周围所有的方块来查看它是不是箱子。这可以用一个简单的循环解决——

command /chest:
        trigger:
                loop blocks in radius 3 around player:
                        loop-block is a chest
                        message "There is a chest at %location of loop-block%"

牌子上的变量会取代它的文本。这里有 x y z三个变量来代替 %location of loop-block%。

循环代码的一部分是任何方块的循环检查。 循环将会在玩家3格半径的范围内寻找箱子

因为我们在用一个自定义指令,我们可以增加寻找的范围和arguments来允许玩家选择距离。

command /chest <integer=3>:
        trigger:
                loop blocks in radius argument around player:
                        loop-block is a chest
                        message "There is a chest at %location of loop-block%"

这里我们为指令设置了默认值,如果在玩家没有选择的情况下为3.在循环表达中我们将argument代替了数字。

这意味着无论你输入什么数字,指令都会把其读取。如果没有输入数字,3将会成为默认值。

如果你想要看精确的半径的话,做一个圆球脚本,你就能看见尺寸了。

command /sphere <integer=3>:
        trigger:
                loop blocks in radius argument around player:
                        loop-block is air
                        set loop-block to stone
                set {clear.block} to location of player
                set {clear.radius} to argument

command /clear:
        trigger:
                loop blocks in radius {clear.radius} around {clear.block}:
                        loop-block is stone
                        set loop-block to air

/clear指令将会轻松删掉你设置的圆球。同样因为你在圆球的中心,你要想一个让自己出去的方法。

这个指令可能会对地面造成一些伤害,所以请飞行来使用。

{}中的东西叫做变量,下节会说到。如果你想了解更多关于循环的知识请看帮助文档。

变量

变量是用来在名字下储存数据的。它像一个盒子上的标签,如果你想要知道盒子里的信息,只要找到正确的标签就可以。Skript的变量就是这样。你可以像这样储存变量:

set {variable.name.goes.here} to true

变量值可以是true/false ,一个坐标,或数字。这样的原因是我们可以晚些获得这个信息。所以也许我们可以检查玩家是否输入过指令,我们可以这样做:

command /sethome:
        trigger:
                set {home} to location of player

command /home:
        trigger:
                teleport player to {home}

你的变量必须用{}括起来,因为这才能告诉Skript这是一个变量。上面是一个非常简单的家园脚本。

我们记录玩家的位置在一个叫做{home}的'盒子'里。当玩家输入/home时因为有变量所以我们知道把玩家传送去哪里。这不会把变量清除,它更偏向于只读类型。

即读取后放回原处。但在你写脚本中,你必须思考用户可能出错的方式。

例如玩家并没有设置他的家,那么在用/home后会发生什么?他们会被传送到哪里?

这你需要使用if来检测。检测是否有一些错误,如果没有,再继续执行脚本。

上面的脚本并不会给玩家发送信息,所以你需要自己创建——

command /sethome:
        trigger:
                set {home} to location of player

command /home:
        trigger:
                if {home} is not set:
                        message "<red>You need to set a home first!"
                        stop trigger
                teleport player to {home}

现在当玩家尝试用/home时他们会受到错误提示并且剩下的脚本不会运行。

如果你忘记停止脚本,剩下的事件将照常继续运行。同时如果同时如果if判断的是false,那么剩下的代码便不会运行,玩家也收不到错误消息。

现在我们这个脚本主要的问题是当一个人/sethome后,另一个人使用/home可以直接到达这个位置。

然后在另一个人设置家后,便会覆盖前一个人家的记录。

修复它的方法是使用表达式。这些可以读取触发事件的人。

在这样输入指令后,会记录谁输入的指令。

所以让每个人都有不同的家,我们其实可以用玩家的名字作为变量。例如这样——

command /sethome:
        trigger:
                set {home.%player%} to location of player

command /home:
        trigger:
                if {home.%player%} is not set:
                        message "<red>You need to set a home first!"
                        stop trigger
                teleport player to {home.%player%}

现在玩家的名字在变量中了,所以当检测是否存在时,对我将会检测{home.demon_penguin},对别人将会检测 {home.whateveryouruseernameis}。

在这个脚本中每个人都会有他们自己家的位置了。

注意事项

记住你学到的命令部分下所有的东西,都可以使用在任何触发器中。

这其中包括许多事件。

如果你想了解更多,看帮助文档吧<ref>下面的内容</ref>。

如果你关于我说的有任何疑问,或要寻求帮助等,请在这里发帖 [传送点]

-Demon 原作者 -c7w 翻译者

WIKI帮助文档

总帮助

写Skript触发器并不比描述它的条件更难。

因为许多你想做的事情都与事件,例如放置方块,拉动拉杆开关,所有的触发器在触发时都被自定义。

这叫做触发器的事件。无论事件什么时候产生 , 例如当一个玩家放置一个方块,插件将会依次检测触发器的条件.如果满足所有触发条件,触发器将执行. 下面是一个单一事件,条件,效果的简单例子:

# 第一行就是事件:
on place of sand:
	# condition:
	block below is air
	# effect:
	send "Watch the sand falling!" to player

这样你就领会了这个事件是干嘛的——检测放了沙子的玩家,然后如果下面是空气,就会有发送消息。

若要写触发器,新建一个文件,然后把它保存到 Skript/scripts/ directory /‘名字.sk’, 如 ‘plant with hoe.sk’.

你可以使用任意名,但最好与内容有关。

然后你需要重启你的服务器或使用

/skript reload

来使这个触发器工作。

如果你是重启服务器,检查有无错误。如果使用指令,若有错误会直接发送给你。

一般来说如果你得到许多错误信息应该是表明无法读取你的信息,并且一般会告诉你哪儿错了。如果你是得到这种报错 can't understand '...' or '...' is not a(n) ... 检查你的拼写。

你可以继续阅读以获取所有事件 条件 效果。

如果你需要帮助请去论坛反馈。一般在反馈前请仔细阅读本帮助文献,它一般可以回答你的问题。

你也可以看看别人的教程,如果我的教程不适合你的话。

高级语法

Skript的高级语法并不限制于简单的陈述,但比这个更复杂 若要使 ‘tool of …’ 或 ‘block below/north of/above …’ 可能,你要使用表达式,请继续向下阅读。

有时触发器语法的基本语法也比较高级。以下章节包括这些特殊情况。

条件

一个很棒的特性是条件陈述。这样的陈述是触发器的一部分,但只有当主部分满足时才会被检查,像这样—— 主条件[又称事件]: 条件 条件满足继续执行 满足条件后可以继续缩进 你也可以使用else: 来在不满足条件的情况下使用—— 如下

on login:
	chance of 50%:
		give a cake to the player
		send "You got a gift for logging in =)" to the player
	else:
		send "You were not fortunate enough to get a gift this time. Try again next time!" to the player

这个脚本会在玩家登入的时候有几率给予玩家一个蛋糕,但如果没有接收到会给玩家说他们不够幸运。

循环

循环可以减少触发器内的重复任务,当前来说可以循环的东西还是很少,如变量,物品,方块,玩家。

循环很简单,这就是格式

要循环的值:
	关于这个值做一些是
条件在循环中不同,如果条件没有满足,会跳过条件继续执行下面的代码。如果你想停止执行,请这样使用——
<pre>
condition:
	exit loop

你也可以使用‘exit’ 或 ‘exit trigger’.

这儿就有一个示例,他会在使用/find时找寻附近的方块。

command /find <material>:
	description: Find a block of the given material
	trigger:
		loop blocks in radius 10:
			loop-block is argument
			message "Found a %argument% block at %location of loop-block%"
			stop trigger
		send "There's no %argument% block around!" to player

事件

下面的列表内容是你可以开始一个触发器的事件。

每个触发器只能有一个事件,你不能在给出的语法外自行创造事件。

请注意每个事件前面的on都是完全可选的,不过我加上会感觉更好:D

请注意如果事件只有一种触发方式的话就没有例子。

At time

模型:
at %time% [in %worlds%]
加入的版本:
1.3.4
关于Minecraft中所有/任一世界的时间
示例:
at 18:00
at 7am in "world"

On AoE Cloud Effect

模型:
(area|AoE) [cloud] effect
加入的版本:
2.2-dev21
当药水云生成时触发,默认5tick发生一次。
示例:
on area cloud effect

On Bed Enter

模型:
[on] bed enter[ing]
[on] [player] enter[ing] [a] bed
加入的版本:
1.0
当玩家上床时

On Bed Leave

模型:
[on] bed leav(e|ing)
[on] [player] leav(e|ing) [a] bed
加入的版本:
1.0
当玩家离开床

On Block Damage

模型:
[on] block damage
加入的版本:
1.0
当玩家开始打方块,你可以用来探测左键

On Block Growth

模型:
(plant|crop|block) grow[(th|ing)] [[of] %item types%]
加入的版本:
2.2-Fixes-V10
当作物生长时触发
示例:
on crop growth

On Book Edit

模型:
book (edit|change|write)
加入的版本:
2.2-dev31
当玩家编辑书籍时触发
示例:
on crop growth

On Book Sign

模型:
book sign[ing]
加入的版本:
2.2-dev31
当玩家署名书与笔时触发
示例:
on book sign

On Break / Mine

模型:
[on] [block] (min(e|ing)) [[of] %item types%]
加入的版本:
1.0 (break), unknown (mine)
当方块被玩家破坏。如果使用on mine的话,只有掉落东西才会触发触发器。
示例:
on mine
on break of stone
on mine of any ore

On Bucket Empty

模型:
[on] bucket empty[ing]
[on] [player] empty[ing] [a] bucket
加入的版本:
1.0
当玩家把桶里的东西倒出,可以检测水和岩浆的放置事件。

On Bucket Fill

模型:
[on] bucket fill[ing]
[on] [player] fill[ing] [a] bucket
加入的版本:
1.0
当玩家在桶里装东西,可以检测水和岩浆的破坏事件。

On Burn

模型:
[on] [block] burn[ing] [[of] %item types%]
加入的版本:
1.0
当方块被火燃烧
示例:
on burn
on burn of wood, fences, or chests

On Can Build Check

模型:
[on] [block] can build check
加入的版本:
1.0 (基础), 2.0 (可以取消事件发生)
当玩家手持一个方块或能防止的物品时右击方块被触发。你可以取消这个事件,来防止方块被放置。
只支持物品ID的检查,不允许数据值

On Chat

模型:
[on] chat
加入的版本:
1.4.1
当玩家聊天时.

On Chunk Generate

模型:
[on] chunk (generat|populat)(e|ing)
加入的版本:
1.0
当区块被创建

On Chunk Load

模型:
[on] chunk load[ing]
加入的版本:
1.0
当区块读取

On Chunk Unload

模型:
[on] chunk unload[ing]
加入的版本:
1.0
当区块被卸载,可以取消事件

On Click

模型:
[on] [(right|left)[( |-)]][mouse[( |-)]]click[ing] [on %entity type/item type%] [(with|using|holding) %item type%]
[on] [(right|left)[( |-)]][mouse[( |-)]]click[ing] (with|using|holding) %item type% on %entity type/item type%
加入的版本:
1.0
当玩家空手点击方块、空气和实体
在玩家没有看向方块/手拿东西时是无法检测的
示例:
on click
on rightclick holding a fishing rod
on leftclick on a stone or obsidian
on rightclick on a creeper
on click with a sword

On Combust

模型:
[on] combust[ing]
加入的版本:
1.0
当实体开始燃烧

On Command

模型:
[on] command [%text%]
加入的版本:
2.0
当玩家输入一个指令
使用这个事件不如自定义命令,改变权限的方式不能预防某些指令,记录命令,检测其他插件。
示例:
on command
on command "/stop"
on command "pm Njol "

On Connect

模型:
[on] [player] connect[ing]
加入的版本:
2.0
当玩家连接服务器,这在玩家加入服务器之前运行。
示例:
on connect:
	player doesn't have permission "VIP"
	number of players is larger than 20
	kick the player due to "The last 5 slots are reserved for VIP players."

On Consume

模型:
[on] [player] ((eat|drink)[ing]|consum(e|ing)) [[of] %item types%]
加入的版本:
2.0
当玩家吃/喝一些东西

On Craft

模型:
[on] [player] craft[ing] [[of] %item types%]
加入的版本:
unknown
当玩家合成物品

On Creeper Power

模型:
[on] creeper power
加入的版本:
1.0
当苦力怕被充能

On Damage

模型:
[on] damag(e|ing) [of %entity type%]
加入的版本:
1.0
当实体接受攻击
示例:
on damage
on damage of a player

On Death

模型:
[on] death [of %entity types%]
加入的版本:
1.0
实体死亡
示例:
on death
on death of player
on death of a wither or ender dragon:
	broadcast "A %entity% has been slain in %world%!"

On Dispense

模型:
[on] dispens(e|ing) [[of] %item types%]
加入的版本:
unknown
发射器发射物品

On Drop

模型:
[on] [player] drop[ing] [[of] %item types%]
加入的版本:
unknown
玩家扔掉物品

On Enderman/Sheep/Silverfish

模型:
[on] enderman place
[on] enderman pickup
[on] sheep eat
[on] silverfish enter
[on] silverfish exit
加入的版本:
unknown
末影人搬运方块/羊吃草/蠹虫进出方块

On Entity Dismount

模型:
[on] dismount[ing]
加入的版本:
2.2-dev13b
当一个实体被卸载时
示例:
on dismount: 
    kill event-entity

On Entity Mount

模型:
[on] mount[ing]
加入的版本:
2.2-dev13b
当一个实体乘坐上另一个实体时(例:坐船/矿车/骑骷髅马)
示例:
on mount: 
    cancel event

On Experience Spawn

模型:
[on] [e]xp[erience] [orb] spawn
[on] spawn of [a[n]] [e]xp[erience] [orb]
加入的版本:
2.0
当经验值生成时,不能检测其他插件生成的经验。
示例:
on xp spawn:
	world is "minigame_world"
	cancel event

On Explode

模型:
[on] explo(d(e|ing)|sion)
加入的版本:
1.0
当发生爆炸时

On Explosion Prime

模型:
[on] explosion prime
加入的版本:
1.0
爆炸前的准备

On Fade

模型:
[on] [block] fad(e|ing) [[of] %item types%]
加入的版本:
1.0
融化
示例:
on fade of snow or ice

On Firework Explode

模型:
[a] firework explo(d(e|ing)|sion) [colo[u]red %colors%]
加入的版本:
2.4
当烟花火箭爆炸时
示例:
on firework explode 
on firework exploding colored red, light green and black 
on firework explosion coloured light green: 
    broadcast "A firework colored %colors% was exploded at %location%!"

On First Join

模型:
[on] first (join|login)
加入的版本:
1.3.7
玩家第一次加入游戏

On Fishing

模型:
[on] [player] fish[ing]
加入的版本:
1.0
玩家钓到了一些东西

On Flight Toggle

模型:
[player] flight toggl(e|ing)
[player] toggl(e|ing) flight
加入的版本:
2.2-dev36
当玩家切换飞行模式时调用
(译者注:当玩家开始飞行/停止飞行时调用,并非使用某些插件的/fly指令时)
示例:
on flight toggle: 
    if {game::%player%::playing} exists: 
        cancel event

On Flow

模型:
[on] [block] flow[ing]
[on] block mov(e|ing)
加入的版本:
1.0
液体流动

On Form

模型:
[on] [block] form[ing] [[of] %item types%]
加入的版本:
1.0
当一个不是玩家放置的方块创建[下雪,结冰]
示例:
on form of snow
on form of a mushroom

On Fuel Burn

模型:
[on] fuel burn[ing]
加入的版本:
1.0
熔炉的燃料开始烧

On Gamemode Change

模型:
[on] game[ ]mode change [to %gamemode%]
加入的版本:
1.0
玩家切换游戏模式
示例:
on gamemode change
on gamemode change to adventure

On Gliding State Change

模型:
(gliding state change|toggl(e|ing) gliding)
加入的版本:
2.2-dev21
当玩家使用鞘翅滑翔时
示例:
on toggling gliding: 
    cancel the event # bad idea, but you CAN do it!(译者注:这不是什么好主意,但是依然可以实现!)

On Grow

模型:
[on] grow [of %tree type%]
加入的版本:
1.0
树/蘑菇长大
示例:
on grow
on grow of a tree
on grow of a huge jungle tree

On Hand Item Swap

模型:
swap[ping of] [(hand|held)] item[s]
加入的版本:
2.3
当玩家的主副手物品调换时,即使主副手物品为空气(没有物品)也可以触发,这个触发器会在实际调换物品之前时触发,这意味着您可以在发生任何事情之前取消事件。
示例:
on swap hand items: 
    event-player's tool is a diamond sword 
    cancel event

On Heal

模型:
[on] heal[ing]
加入的版本:
1.0
实体被治疗

On Hunger Meter Change

模型:
[on] (food|hunger) (level|met(er|re)|bar) chang(e|ing)
加入的版本:
1.4.4
当玩家的饥饿值改变

On Ignition

模型:
[on] [block] ignit(e|ion)
加入的版本:
1.0
方块被燃烧

On Inventory Click

模型:
[player] inventory(-| )click[ing] [[at] %item types%]
加入的版本:
2.2-Fixes-V10
当玩家点击物品栏中的物品时(包括任意容器的"物品栏")
示例:
on inventory click: 
    if event-item is stone: 
        give player 1 stone 
        remove 20$ from player's balance

On Inventory Close

模型:
inventory clos(ing|e[d])
加入的版本:
2.2-dev21
当玩家关闭任意物品栏时
示例:
on inventory close: 
    if player's location is {location}: 
        send "You exited the shop!"

On Inventory Open

模型:
inventory open[ed]
加入的版本:
2.2-dev21
当玩家打开任意物品栏时
示例:
on inventory open: 
    close player's inventory

On Item Break

模型:
[on] [player] tool break[ing]
[on] [player] break[ing] [(a|the)] tool
加入的版本:
2.1.1
玩家的工具没耐久,自然损坏[这个不能被取消事件]

On Item Despawn

模型:
[on] (item[ ][stack]|[item] %item types%) despawn[ing]
[on] [item[ ][stack]] despawn[ing] [[of] %item types%]
加入的版本:
2.2-dev35
当一个掉落物即将被Minecraft删除时,通常这会发生在物品被丢弃的5分钟后
示例:
on item despawn of diamond: 
    send "Not my precious!" 
    cancel event

On Item Merge

模型:
[on] (item[ ][stack]|[item] %item types%) merg(e|ing)
[on] item[ ][stack] merg(e|ing) [[of] %item types%]
加入的版本:
2.2-dev35
当一个掉落物与另一个掉落物合并时(即两个同样的物品丢在同一位置时产生的"掉落物合并")
示例:
on item merge of gold blocks: 
    cancel event

On Item Spawn

模型:
[on] item spawn[ing] [[of] %item types%]
加入的版本:
unknown
当有掉落物生成

On Join

模型:
[on] [player] (login|logging in|join[ing])
加入的版本:
1.0
当玩家加入游戏
示例:
on join:
	message "Welcome on our awesome server!"
	broadcast "%player% just joined the server!"

On Jump

模型:
[on] [player] jump[ing]
加入的版本:
2.3
当玩家跳跃时
示例:
on jump: 
    event-player does not have permission "jump" 
    cancel event

On Kick

模型:
[on] [player] (kick|being kicked)
加入的版本:
1.0
当一个玩家被T出游戏

On Language Change

模型:
[player] (language|locale) chang(e|ing)
[player] chang(e|ing) (language|locale)
加入的版本:
2.3
当玩家在设置中设置的语言改变时,你可以使用语言表达式(language)来获取玩家的设置的语言,这需要Minecraft 1.12+版本才能使用
示例:
on language change: 
    if player's language starts with "en": 
        send "Hello!"

On Leaves Decay

模型:
[on] leaves decay[ing]
加入的版本:
1.0
树叶消失

On Level Change

模型:
[on] [player] level [change]
加入的版本:
unknown
玩家等级改变

On Lightning Strike

模型:
[on] lightning [strike]
加入的版本:
1.0
发生闪电

On Move On

模型:
[on] (step|walk)[ing] (on|over) %*item types%
加入的版本:
2.0
玩家踩上指定方块
示例:
on walking on dirt or grass
on stepping on stone

On Physics

模型:
[on] [block] physics
加入的版本:
1.4.6
物理变化
示例:
# prevents sand from falling
on block physics:
	block is sand
	cancel event

On Pick Up

模型:
[on] [player] (pick[ ]up|picking up) [[of] %item types%]
加入的版本:
unknown
玩家捡起物品

On Pig Zap

模型:
[on] pig[ ]zap
加入的版本:
1.0
猪变成僵尸猪人

On Piston Extend

模型:
[on] piston extend[ing]
加入的版本:
1.0
当活塞被激活

On Piston Retract

模型:
[on] piston retract[ing]
加入的版本:
1.0
当活塞收回

On Place

模型:
[on] [block] (plac(e|ing)|build[ing]) [[of] %item types%]
加入的版本:
1.0
放置方块
示例:
on place
on place of a furnace, workbench or chest

On Player World Change

模型:
[on] [player] world chang(ing|e[d])
加入的版本:
2.2-dev28
当玩家加入其它世界时,这仅对玩家有效!
示例:
on player world change: 
    world is "city" 
    send "Welcome to the City!"

On Portal

模型:
[on] [player] portal
加入的版本:
1.0
使用地狱门/末地门

On Portal Create

模型:
[on] portal create
加入的版本:
1.0
当传送门被创建.

On Portal Enter

模型:
[on] portal enter
[on] entering [a] portal
加入的版本:
1.0
玩家进入传送门

On Prepare Craft

模型:
[player] (preparing|beginning) craft[ing] [[of] %item types%]
加入的版本:
2.2-Fixes-V10
在向玩家显示合成结果之前。请注意,由于Bukkit错误,设置结果项可能工作,也可能不工作。
示例:
on preparing craft of torch

On Pressure Plate / Trip

模型:
[on] [step[ping] on] [a] [pressure] plate
[on] (trip|[step[ping] on] [a] tripwire)
加入的版本:
1.0 (pressure plate), 1.4.4 (tripwire)
压力板

On Projectile Hit

模型:
[on] projectile hit
加入的版本:
1.0
当发射物击中实体或方块[箭 雪球 骷髅头 火球 鸡蛋]

On Quit

模型:
[on] (quit[ting]|disconnect[ing]|log[ ]out|logging out)
加入的版本:
1.0
当玩家离开游戏

On Redstone

模型:
[on] redstone [current] [chang(e|ing)]
加入的版本:
1.0
红石流通

On Region Enter/Leave

模型:
cannot be used directly
加入的版本:
2.1
进入/离开区域[需要区域插件]
示例:
on region exit:
	message "Leaving %region%."

On Respawn

模型:
[on] [player] respawn[ing]
加入的版本:
1.0
当玩家重生时

On Resurrect Attempt

模型:
[on] [entity] resurrect[ion] [attempt]
加入的版本:
2.2-dev28
当一个实体手持不死图腾死亡时(你可以通过使用取消事件来取消不死图腾的效果)
示例:
on resurrect attempt: 
    entity is player 
    entity has permission "admin.undying" 
    uncancel the event

On Script Load/Unload

模型:
[on] [script] (load|init|enable)
[on] [script] (unload|stop|disable)
加入的版本:
2.0
当脚本被读取/卸载
示例:
on load:
	set {running.%script%} to true
on unload:
	set {running.%script%} to false

On Server List Ping

模型:
server [list] ping
加入的版本:
2.3
当服务器在多人游戏的服务器列表中被ping时,通常在Minecraft客户端ping服务器以在服务器列表中显示其信息时调用。
IP表达式可用于获取Pinger(玩家)的IP地址。此事件只能在PaperSpigot 1.12.2+上取消,这意味着玩家将看到服务器脱机(但仍可以加入)。
你还可以使用 MOTD, Max Players, Online Players Count, Protocol Version, Version String, Hover List 和 Server Icon 表达
使用 Player Info Visibility 和 Hide Player from Server List effects 来修改服务器列表。
示例:
on server list ping: 
    set the motd to "Welcome %{player-by-IP::%ip%}%! Join now!" if {player-by-IP::%ip%} is set, else "Join now!" 
    set the fake max players count to (online players count + 1) 
    set the shown icon to a random server icon out of {server-icons::*}

On Server Start/Stop

模型:
(server|skript) (start|load|enable)
(server|skript) (stop|unload|disable)
加入的版本:
2.0
当服务器开启/关闭时,(实际上是Skript插件加载/卸载时,所以/reload也会触发事件)
示例:
on skript start: 
on server stop:

On Sheep Regrow Wool

模型:
sheep [re]grow[ing] wool
加入的版本:
2.2-dev21
当羊长毛时
示例:
on sheep grow wool: 
    cancel event

On Shoot

模型:
[on] [projectile] shoot
加入的版本:
1.0
当一个发射物被发射

On Sign Change

模型:
[on] sign (chang[e]|edit)[ing]
[on] [player] (chang[e]|edit)[ing] [a] sign
加入的版本:
1.0
牌子被玩家结束编辑
示例:
on sign change:
	line 2 is empty
	set line 1 to "<red>%line 1%"

On Slime Split

模型:
[on]slime split[ting]
加入的版本:
2.2-dev26
当史莱姆分裂时。这通常在大型的史莱姆死亡后发生
示例:
on slime split

On Smelt

模型:
[on] [ore] smelt[ing]
[on] smelt[ing] of ore
加入的版本:
1.0
当熔炉开始烧炼矿物

On Sneak Toggle

模型:
[on] [player] toggl(e|ing) sneak
[on] [player] sneak toggl(e|ing)
加入的版本:
玩家是否潜行
示例:
# make players that stop sneaking jump
on sneak toggle:
	player was sneaking
	push the player upwards at speed 0.5

On Spawn

模型:
[on] spawn[ing] [of %entity types%]
加入的版本:
1.0
当一个实体生成
示例:
on spawn of a zombie
on spawn of an ender dragon:
	broadcast "A dragon has been sighted in %world%!"

On Spawn Change

模型:
[on] [world] spawn change
加入的版本:
1.0
当世界的重生点被切换

On Spread

模型:
[on] spread[ing]
加入的版本:
1.0
当一个新方块生成,原方块可以传播,例如蘑菇和水

On Sprint Toggle

模型:
[on] [player] toggl(e|ing) sprint
[on] [player] sprint toggl(e|ing)
加入的版本:
unknown
当玩家切换疾跑状态

On Swim Toggle

模型:
[entity] toggl(e|ing) swim
[entity] swim toggl(e|ing)
加入的版本:
2.3
当一个实体开始/停止游泳时
示例:
on swim toggle: 
    event-entity does not have permission "swim" 
    cancel event

On Tame

模型:
[on] [entity] tam(e|ing)
加入的版本:
1.0
当玩家驯服狼/豹猫

On Target

模型:
[on] [entity] target
[on] [entity] un[-]target
加入的版本:
1.0
当怪物锁定一个实体进行攻击

On Teleport

模型:
[on] [player] teleport[ing]
加入的版本:
1.0
当玩家被传送

On Throwing of an Egg

模型:
[on] throw[ing] [of] [an] egg
[on] [player] egg throw
加入的版本:
1.0
当玩家扔鸡蛋

On Tool Change

模型:
[on] [player['s]] (tool|item held|held item) chang(e|ing)
加入的版本:
1.0
当玩家的工具切换

On Vehicle Create

模型:
[on] vehicle create
[on] creat(e|ing|ion of) [a] vehicle
加入的版本:
1.0
当一个载具被创建.

On Vehicle Damage

模型:
[on] vehicle damage
[on] damag(e|ing) [a] vehicle
加入的版本:
1.0
载具被攻击

On Vehicle Destroy

模型:
[on] vehicle destroy
[on] destr(oy[ing]|uction of) [a] vehicle
加入的版本:
1.0
载具被摧毁

On Vehicle Enter

模型:
[on] vehicle enter
[on] enter[ing] [a] vehicle
加入的版本:
1.0
实体进入载具

On Vehicle Exit

模型:
[on] vehicle exit
[on] exit[ing] [a] vehicle
加入的版本:
1.0
实体离开载具

On Weather Change

模型:
[on] weather change [to %weather types%]
加入的版本:
1.0
一个世界的天气被切换
示例:
on weather change
on weather change to sunny

On World Init

模型:
[on] world init
加入的版本:
1.0
一个新的世界被创建

On World Load

模型:
[on] world load[ing]
加入的版本:
1.0
世界被加载

On World Save

模型:
[on] world sav(e|ing)
加入的版本:
1.0
世界被存储

On World Unload

模型:
[on] world unload[ing]
加入的版本:
1.0
世界被卸载

On Zombie Break Door

模型:
[on] zombie break[ing] [a] [wood[en]] door
加入的版本:
unknown
僵尸破坏门

Periodical

模型:
every %time span% in [world[s]] %worlds%
加入的版本:
1.0
每隔一定的现实时间
示例:
every second
every minecraft hour
every tick # 警告:卡的一比
every minecraft day in "world"

条件

Can Build

模型:
%players% (can|(is|are) allowed to) build %directions% %locations%
%players% (can('t|not)|(is|are)(n't| not) allowed to) build %directions% %locations%
加入的版本:
2.0
检测玩家是否可以在区域中放置方块,需要一个区域插件
示例:
command /setblock <material>:
	description: set the block at your crosshair to a different type
	trigger:
		player cannot build at the targeted block:
			message "You do not have permission to change blocks there!"
			stop
		set the targeted block to argument

Can Fly

模型:
%players% can fly
%players% (can't|cannot|can not) fly
加入的版本:
2.3
检测玩家是否被允许飞行
示例:
player can fly

Can Hold

模型:
%inventories% (can hold|ha(s|ve) [enough] space (for|to hold)) %item types%
%inventories% (can(no|')t hold|(ha(s|ve) not|ha(s|ve)n't|do[es]n't have) [enough] space (for|to hold)) %item types%
加入的版本:
1.0
检测玩家的背包或箱子是否有足够的空间
示例:
block can hold 200 cobblestone
player has enough space for 64 feathers

Can See

模型:
%players% (is|are) [(in)]visible for %players%
%players% can see %players%
%players% (is|are)(n't| not) [(in)]visible for %players%
%players% can('t| not) see %players%
加入的版本:
2.3
检测指定的玩家能否看到其他玩家
示例:
if the player can't see the player-argument:
    message "The player %player-argument% is not online!"

Chance

模型:
chance of %number%[\%]
加入的版本:
1.0
脚本成功或失败的几率
示例:
chance of 50%:
	drop a diamond
chance of {var}% # {var} between 0 and 100
chance of {var} # {var} between 0 and 1

Comparison

模型:
[neither] %objects% ((is|are)[((n't| not| neither)]) ((greater|more|higher|bigger|larger) than|above)|\>) %objects%
[neither] %objects% ((is|are)[((n't| not| neither)]) (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as)|\>=) %objects%
[neither] %objects% ((is|are)[((n't| not| neither)]) ((less|smaller) than|below)|\<) %objects%
[neither] %objects% ((is|are)[((n't| not| neither)]) (less|smaller|below) [than] or (equal to|the same as)|\<=) %objects%
[neither] %objects% ((is|are) (not|neither)|isn't|aren't|!=) [equal to] %objects%
[neither] %objects% (is|are|=) [(equal to|the same as)] %objects%
[neither] %objects% (is|are) between %objects% and %objects%
[neither] %objects% (is not|are not|isn't|aren't) between %objects% and %objects%
[neither] %objects% (was|were)[((n't| not| neither)]) ((greater|more|higher|bigger|larger) than|above) %objects%
[neither] %objects% (was|were)[((n't| not| neither)]) (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as) %objects%
[neither] %objects% (was|were)[((n't| not| neither)]) ((less|smaller) than|below) %objects%
[neither] %objects% (was|were)[((n't| not| neither)]) (less|smaller|below) [than] or (equal to|the same as) %objects%
[neither] %objects% ((was|were) (not|neither)|wasn't|weren't) [equal to] %objects%
[neither] %objects% (was|were) [(equal to|the same as)] %objects%
[neither] %objects% (was|were) between %objects% and %objects%
[neither] %objects% (was not|were not|wasn't|weren't) between %objects% and %objects%
[neither] %objects% (will be|(will (not|neither) be|won't be)) ((greater|more|higher|bigger|larger) than|above) %objects%
[neither] %objects% (will be|(will (not|neither) be|won't be)) (greater|more|higher|bigger|larger|above) [than] or (equal to|the same as) %objects%
[neither] %objects% (will be|(will (not|neither) be|won't be)) ((less|smaller) than|below) %objects%
[neither] %objects% (will be|(will (not|neither) be|won't be)) (less|smaller|below) [than] or (equal to|the same as) %objects%
[neither] %objects% ((will (not|neither) be|won't be)|(isn't|aren't|is not|are not) (turning|changing) [in]to) [equal to] %objects%
[neither] %objects% (will be [(equal to|the same as)]|(is|are) (turning|changing) [in]to) %objects%
[neither] %objects% will be between %objects% and %objects%
[neither] %objects% (will not be|won't be) between %objects% and %objects%
加入的版本:
1.0
非常常规的脚本,比较两量关系。通常你可以使用平等(如 block is/isn't of <type>), 但一些值可以使用更多/更少。
在这种情况下,你也可以测试一个对象是否在两个其他量之中。
注意:这只是一些形式。事实上,另外两套类似的模式,但(was|were)或将代替(is|are)分别检测不同时间状态的表达。

示例:
the clicked block is a stone slab or a double stone slab
time in the player's world is greater than 8:00
the creature is not an enderman or an ender dragon

Contains

模型:
%inventories% ha(s|ve) %item types% [in [(the[ir]|his|her|its)] inventory]
%inventories/texts/objects% contain[s] %item types/texts/objects%
%inventories% do[es](n't| not) have %item types% [in [(the[ir]|his|her|its)] inventory]
%inventories/texts/objects% do[es](n't| not) contain %item types/texts/objects%
加入的版本:
1.0
检查有无物品,一段对话有无一些字,或列出变量表是否包含某变量。
示例:
block contains 20 cobblestone
player has 4 flint and 2 iron ingots

Damage Cause

模型:
[the] damage [(n('|o)]t) [been] (caused|done|made) by %damage cause%
加入的版本:
2.0
检查是什么造成的伤害,来源可以查看变量表。
示例:
# make players use their potions of fire resistance whenever they take any kind of fire damage
on damage:
	damage was caused by lava, fire or burning
	victim is a player
	victim has a potion of fire resistance
	cancel event
	apply fire resistance to the victim for 30 seconds
	remove 1 potion of fire resistance from the victim
# prevent mobs from dropping items under certain circumstances
on death;
	entity is not a player
	damage wasn't caused by a block explosion, an attack, a projectile, a potion, fire, burning, thorns or poison
	clear drops

Event Cancelled

模型:
[the] event is cancel[l]ed
[the] event (is not|isn't) cancel[l]ed
加入的版本:
2.2-dev36
检查时间是否被取消
示例:
on click:
    if event is cancelled:
        broadcast "no clicks allowed!"

Exists/Is Set

模型:
%~objects% (exist[s]|(is|are) set)
%~objects% (do[es](n't| not) exist|(is|are)(n't| not) set)
加入的版本:
1.2
检查一个表达式是否被创建
示例:
{teamscript.%player%.preferred team} is not set
on damage:
	projectile exists
	broadcast "%attacker% used a %projectile% to attack %victim%!"

Has Client Weather

模型:
%players% (has|have) [a] (client|custom) weather [set]
%players% (doesn't|does not|do not|don't) have [a] (client|custom) weather [set]
加入的版本:
2.3
检查玩家客户端是否自定义了天气(通常在装有高清修复的客户端中才能自定义天气)
示例:
if the player has custom weather:
    message "Your custom weather is %player's weather%"

Has Metadata

模型:
%metadata holders% (has|have) metadata [(value|tag)[s]] %texts%
%metadata holders% (doesn't|does not|do not|don't) have metadata [(value|tag)[s]] %texts%
加入的版本:
2.2-dev36
检查玩家是否持有数据值
示例:
if player has metadata value "healer":

Has Permission

模型:
[%players/console%] (do[es]n't|don't|do[es] not) have [the] permission[s] %texts%
[%players/console%] ha(s|ve) [the] permission[s] %texts%
加入的版本:
1.0
检查玩家有无权限
示例:
player has permission "skript.tree"
victim has the permission "admin":
	send "You're attacking an admin!" to attacker

Has Played Before

模型:
%offline player% [(has|did)] [already] play[ed] [on (this|the) server] (before|already)
%offline player% (has not|hasn't|did not|didn't) [(already|yet)] play[ed] [on (this|the) server] (before|already|yet)
加入的版本:
1.4
检查玩家之前是否玩过游戏
示例:
player has played on this server before
player hasn't played before

Has Resource Pack

模型:
%players% (has|have) [a] resource pack [(loaded|installed)]
%players% (doesn't|does not|do not|don't) have [a] resource pack [(loaded|installed)]
加入的版本:
2.4
要求服务端核心版本:
Paper 1.9 or newer #Paper 1.9或更高
检查玩家是否加载了服务端发送给玩家的资源包。注意,这无法检测玩家本身安装的资源包,只能检查服务器发送的资源包。
示例:
if the player has a resource pack loaded:

Has Scoreboard Tag

模型:
%entities% (has|have) [the] score[ ]board tag[s] %texts%
%entities% (doesn't|does not|do not|don't) have [the] score[ ]board tag[s] %texts%
加入的版本:
2.3
检查玩家是否被给予了计分板标记
示例:
if the targeted armor stand has the scoreboard tag "test tag":

Is Alive

模型:
%living entities% (alive|dead)
%living entities% (alive|dead)
加入的版本:
2.0
检查实体是否存活
示例:
{villagerbuddy.%player%} is dead

Is Banned

模型:
%offline players/texts% (is|are) banned
%players/texts% [(is|are) IP(-| )]banned
%offline players/texts% (isn't|is not|aren't|are not) banned
%players/texts% [(isn't|is not|aren't|are not) IP(-| )]banned
加入的版本:
1.4
检查一个玩家或IP是否被BAN掉
示例:
player is banned
victim is not IP-banned
"127.0.0.1" is banned

Is Block

模型:
%item stacks% (is|are) ([a] block|blocks)
%item stacks% (isn't|is not|aren't|are not) ([a] block|blocks)
加入的版本:
2.4
检查物品是否为一个方块
示例:
player's held item is a block
{list::*} are blocks

Is Blocking

模型:
%players% (is|are) (blocking|defending)
%players% (isn't|is not|aren't|are not) (blocking|defending)
加入的版本:
unknown
检查玩家是否在格挡
示例:
victim is blocking

Is Burning

模型:
%entities% (is|are) (burning|ignited|on fire)
%entities% (isn't|is not|aren't|are not) (burning|ignited|on fire)
加入的版本:
1.4.4
检查实体是否在燃烧
示例:
# increased attack against buring targets
victim is burning:
	increase damage by 2

Is Empty

模型:
%inventories/slots/texts% (is|are) empty
%inventories/slots/texts% (isn't|is not|aren't|are not) empty
加入的版本:
unknown
检查物品栏/装备栏/文本是空的
示例:
player's inventory is empty

Is Enchanted

模型:
%item types% (is|are) enchanted [with %enchantment type%]
%item types% (isn't|is not|aren't|are not) enchanted [with %enchantment type%]
加入的版本:
1.4.6
检查物品有无附魔
示例:
tool of the player is enchanted with efficiency 2
helm, chestplate, leggings or boots are enchanted

Is Flammable

模型:
%item stacks% (is|are) flammable
%item stacks% (isn't|is not|aren't|are not) flammable
加入的版本:
2.2-dev36
检查方块是否可燃/易燃
示例:
wood is flammable
player's tool is flammable

Is Flying

模型:
%players% (is|are) flying
%players% (isn't|is not|aren't|are not) flying
加入的版本:
1.4.4
检查玩家飞行
示例:
player is not flying

Is Holding

模型:
[%living entities%] ha(s|ve) %item types% in [main] hand
[%living entities%] (is|are) holding %item types% [in main hand]
[%living entities%] ha(s|ve) %item types% in off[(-| )]hand
[%living entities%] (is|are) holding %item types% in off[(-| )]hand
[%living entities%] (ha(s|ve) not|do[es]n't have) %item types% in [main] hand
[%living entities%] (is not|isn't) holding %item types% [in main hand]
[%living entities%] (ha(s|ve) not|do[es]n't have) %item types% in off[(-| )]hand
[%living entities%] (is not|isn't) holding %item types% in off[(-| )]hand
加入的版本:
1.0
检查玩家是否持有特定物品。不能在末影人上使用,请使用'entity is [not] an enderman holding <item type>'
示例:
player is holding a stick
victim isn't holding a sword of sharpness

Is Loaded

模型:
%worlds/chunks% (is|are) loaded
%worlds/chunks% (isn't|is not|aren't|are not) loaded
加入的版本:
2.3
检查是否加载方块/世界
示例:
if chunk at {home::%player's uuid%} is loaded:

Is in World

模型:
%entities% (is|are) in [[the] world[s]] %worlds%
%entities% (is not|isn't|are not|aren't) in [[the] world[s]] %worlds%
加入的版本:
1.4
检查玩家是否在世界里
示例:
player is in "world"
argument isn't in world "world_nether"
the attacker is in the world of the victim

Is Member/Owner of Region

模型:
不能直接使用
加入的版本:
2.1
检查玩家是否为这个区域的成员或主人,需要一个区域插件。
示例:
on region enter:
	player is the owner of the region
	message "Welcome back to %region%!"
	send "%player% just entered %region%!" to all members of the region

Is of Type

模型:
%item stacks/entities% (is|are) of type[s] %item types/entity types%
%item stacks/entities% (isn't|is not|aren't|are not) of type[s] %item types/entity types%
加入的版本:
1.4
检查物品或实体是否为给定的类型。这经常对变量很有效,你也可以用is来代替。(如. 'victim is a creeper').
示例:
tool is of type {*selected type}
victim is of type {villager type}

Is on Ground

模型:
%entities% (is|are) on [the] ground
%entities% (isn't|is not|aren't|are not) on [the] ground
加入的版本:
2.2-dev26
检查一个实体是否在地上
示例:
player is not on ground

Is Online

模型:
%offline players% ((is|are) online|(is not|isn't|are not|aren't) offline)
%offline players% ((is|are) offline|(is not|isn't|are not|aren't) online)
加入的版本:
1.4
检查玩家是否在线
示例:
player is online
player-argument is offline

Is Poisoned

模型:
%living entities% (is|are) poisoned
%living entities% (isn't|is not|aren't|are not) poisoned
加入的版本:
1.4.4
检测实体是否中毒
示例:
player is poisoned:
	cure the player from posion
	message "You have been cured!"

Is Riding

模型:
%entities% (is|are) riding [%entity types%]
%entities% (isn't|is not|aren't|are not) riding [%entity types%]
加入的版本:
2.0
检查实体有无骑着其他实体
示例:
player is riding a saddled pig

Is Script Loaded

模型:
script[s] [%texts%] (is|are) loaded
script[s] [%texts%] (isn't|is not|aren't|are not) loaded
加入的版本:
2.2-dev31
检查当前脚本或其他脚本是否加载
示例:
script is loaded
script "example.sk" is loaded

Is Sleeping

模型:
%players% (is|are) sleeping
%players% (isn't|is not|aren't|are not) sleeping
加入的版本:
1.4.4
检查玩家是否在睡觉
示例:
# cut your enemies' throats in their sleep >=)
on attack:
	attacker is holding a sword
	victim is sleeping
	increase the damage by 1000

Is Slime Chunk

模型:
%chunk% (is|are) ([a] slime chunk|slime chunks|slimey)
%chunk% (isn't|is not|aren't|are not) ([a] slime chunk|slime chunks|slimey)
加入的版本:
2.3
检查区块是否为史莱姆区块
示例:
command /slimey:
    trigger:
        if chunk at player is a slime chunk:
            send "Yeah, it is!"
        else:
            send "Nope, it isn't"

Is Sneaking

模型:
%players% (is|are) sneaking
%players% (isn't|is not|aren't|are not) sneaking
加入的版本:
1.4.4
检测玩家是否在潜行
示例:
# prevent mobs from seeing sneaking players if they are at least 4 meters apart
on target:
	target is sneaking
	distance of target and the entity is bigger than 4
	cancel the event

Is Solid

模型:
%item stacks% (is|are) solid
%item stacks% (isn't|is not|aren't|are not) solid
加入的版本:
2.2-dev36
检查一个物品是否为实心的
示例:
grass block is solid
player's tool isn't solid

Is Sprinting

模型:
%players% (is|are) sprinting
%players% (isn't|is not|aren't|are not) sprinting
加入的版本:
1.4.4
检查玩家是否在疾跑
示例:
player is not sprinting

Is Swimming

模型:
%living entities% (is|are) swimming
%living entities% (isn't|is not|aren't|are not) swimming
加入的版本:
2.3
要求游戏版本:
1.13或更加新的版本
检查一个实体是否在游泳
示例:
player is swimming

Is Transparent

模型:
%item stacks% (is|are) transparent
%item stacks% (isn't|is not|aren't|are not) transparent
加入的版本;
2.2-dev36
检查一个物品是否是透明的
示例:
glass is transparent
player's tool is transparent.

Is Wearing

模型:
%living entities% (is|are) wearing %item types%
%living entities% (isn't|is not|aren't|are not) wearing %item types%
加入的版本:
1.0
Checks whether a player is wearing some armour.
示例:
player is wearing an iron chestplate and iron leggings
player is wearing all diamond armour

PvP

模型:
(is PvP|PvP is) enabled [in %worlds%]
(is PvP|PvP is) disabled [in %worlds%]
加入的版本:
1.3.4
检查PVP状态
示例:
PvP is enabled
PvP is disabled in "world"

Region Contains

模型:
[[the] region] %regions% contain[s] %directions% %locations%
%locations% (is|are) ([contained] in|part of) [[the] region] %regions%
[[the] region] %regions% (do|does)(n't| not) contain %directions% %locations%
%locations% (is|are)(n't| not) (contained in|part of) [[the] region] %regions%
加入的版本:
2.1
区域中有XXX,必须有区域插件
示例:
player is in the region {regions::3}
on region enter:
	region contains {flags.%world%.red}
	message "The red flag is near!"

Resource Pack

模型:
[the] resource pack (was|is|has) [been] %resource pack state%
[the] resource pack (was|is|has)(n't| not) [been] %resource pack state%
加入的版本:
2.4
需求事件: 资源包响应状态
检查资源包的响应状态
示例:
on resource pack response:
    if the resource pack wasn't accepted:
        kick the player due to "You have to install the resource pack to play in this server!"

Starts/Ends With

模型:
%texts% (start|end)[s] with %text%
%texts% (doesn't|does not|do not|don't) (start|end) with %text%
加入的版本:
2.2-dev36
检查一个文本是否是另一文本的开头或结尾
示例:
if the argument starts with "test":
    send "Stop!"

Time

模型:
%date% (was|were)( more|(n't| not) less) than %time span% [ago]
%date% (was|were)((n't| not) more| less) than %time span% [ago]
加入的版本:
2.0
给予变量时间
示例:
command /command_with_cooldown:
	trigger:
		{command.%player%.lastused} was less than a minute ago:
			message "Please wait a minute between uses of this command."
			stop
		set {command.%player%.lastused} to now
		# ... actual command trigger here ...

Weather

模型:
is %weather types% [in %worlds%]
加入的版本:
1.0
检查世界的天气
示例:
is thundering
is raining in "world" or "world2"

效果

Action Bar

模型:
send [the] action bar [with text] %text% to %players%
加入的版本:
2.3
发送给玩家一条位于ActionBar的信息
示例:
send action bar "Hello player!" to player

Ban

模型:
ban %texts/offline players% [(by reason of|because [of]|on account of|due to) %text%]
unban %texts/offline players%
ban %players% by IP [(by reason of|because [of]|on account of|due to) %text%]
unban %players% by IP
IP(-| )ban %players% [(by reason of|because [of]|on account of|due to) %text%]
(IP(-| )unban|un[-]IP[-]ban) %players%
加入的版本:
1.4, 2.1.1 (ban reason)
BAN掉玩家或IP
必须满足Skript 2.1.1及Bukkit 172 R0.4以上,可以使用原因来ban出玩家。
如果是一个不支持的原因[如没有创建的变量],玩家仍旧会被BAN,但会使用默认原因。
示例:
unban player
ban "127.0.0.1"
IP-ban the player because "he is an idiot"

Break Block

模型:
break %blocks% [naturally] [using %item type%]
加入的版本:
2.4
像一个玩家一样破坏一个方块
你可以添加一个工具,这样破坏方块时将使用这个工具的形式破坏(即:当用手打破石头时不会掉落任何东西,而用镐子时会掉落圆石)
示例:
on right click:
    break clicked block naturally
loop blocks in radius 10 around player:
    break loop-block using player's tool
loop blocks in radius 10 around player:
    break loop-block naturally using diamond pickaxe

Broadcast

模型:
broadcast %texts% [(to|in) %worlds%]
加入的版本:
1.0
在服务器公告内容
示例:
broadcast "Welcome %player% to the server!"
broadcast "Woah! It's a message!"

Cancel Command Cooldown

模型:
(cancel|ignore) [the] [current] [command] cooldown
un(cancel|ignore) [the] [current] [command] cooldown
加入的版本:
2.2-dev34
仅在命令中可用,使得当前的命令不会被计入冷却中
示例:
command /nick :
    executable by: players
    cooldown: 10 seconds
    trigger:
        if length of arg-1 is more than 16:
            # 使无效的参数不会让命令进入冷却时间
            cancel the cooldown
            send "Your nickname may be at most 16 characters."
            stop
        set the player's display name to arg-1

Cancel Event

模型:
cancel [the] event
uncancel [the] event
加入的版本:
1.0
取消事件的发生
示例:
on damage:
	victim is a player
	victim has the permission "skript.god"
	cancel the event

Change: Set/Add/Remove/Delete/Reset

模型:
(add|give) %objects% to %~objects%
increase %~objects% by %objects%
give %~objects% %objects%
set %~objects% to %objects%
remove (all|every) %objects% from %~objects%
(remove|subtract) %objects% from %~objects%
reduce %~objects% by %objects%
(delete|clear) %~objects%
reset %~objects%
加入的版本:
1.0 (set, add, remove, delete), 2.0 (remove all)
改变表达式,非常常规的效果
示例:
# set:
Set the player's display name to "<red>%name of player%"
set the block above the victim to lava
# add:
add 2 to the player's health # preferably use '<a href='#heal'>heal</a>' for this
add argument to {blacklist::*}
give a diamond pickaxe of efficiency 5 to the player
increase the data value of the clicked block by 1
# remove:
remove 2 pickaxes from the victim
subtract 2.5 from {points.%player%}
# remove all:
remove every iron tool from the player
remove all minecarts from {entitylist::*}
# delete:
delete the block below the player
clear drops
delete {variable}
# reset:
reset walk speed of player
reset chunk at the targeted block

Colour Items

模型:
(dye|colo[u]r|paint) %slots/item stack% %color%
(dye|colo[u]r|paint) %slots/item stack% \(%number%, %number%, %number%\)
加入的版本:
2.0, 2.2-dev26 (maps and potions)
用指定的颜色给物品上色。如果您觉得16种默认颜色受到限制,也可以使用RGB代码。
RGB代码是从0到255的三个数字,按顺序排列(红色、绿色、蓝色),其中(0,0,0)为黑色,(255,255,255)为白色。
盔甲是所有Minecraft版本的彩色。使用Minecraft 1.11或更新版本,您还可以给药剂和地图上色。请注意,这些颜色看起来可能不完全符合您的预期。
示例:
dye player's helmet blue
colour the player's tool red

Command

模型:
[execute] [the] command %texts% [by %players/console%]
[execute] [the] %players/console% command %texts%
(let|make) %players/console% execute [[the] command] %texts%
加入的版本:
1.0
使用指令
示例:
make player execute command "/suicide"
execute console command "/say Hello everyone!"

Connect

模型:
connect %players% to [server] %text%
send %players% to server %text%
加入的版本:
2.3
将玩家连接到另一个BC子服内
示例:
connect all players to "hub"

Continue

模型:
continue [loop]
加入的版本:
2.2-dev37
跳过当前正在循环的值,如果存在下一个值,则转到下一个值。
示例:
loop all players:
    if loop-value does not have permission "moderator":
        continue # 过滤掉没有moderator的权限的玩家
    broadcast "%loop-player% is a moderator!" # 只有拥有权限moderator的玩家能公告

Damage/Heal/Repair

模型:
damage %slots/living entities/item stack% by %number% [heart[s]]
heal %living entities% [by %number% [heart[s]]]
repair %slots/item stack% [by %number%]
加入的版本:
1.0
攻击/治疗/修复
示例:
damage player by 5 hearts
heal the player
repair tool of player

Delay

模型:
(wait|halt) [for] %time span%
加入的版本:
1.4
等待一定的事件,不能作为tempban使用
示例:
wait 2 minutes
halt for 5 minecraft hours
wait a tick

Do If

模型:
<.+> if <.+>
加入的版本:
2.3
如果条件为真,则执行...
示例:
on join:
    give a diamond to the player if the player has permission "rank.vip"

Drop

模型:
drop %item types/experience point% [%directions% %locations%]
加入的版本:
1.0
掉落一个或多个物品
示例:
on death of creeper:
	drop 1 TNT

Enable/Disable/Reload Script File

模型:
(enable|load|reload|disable|unload) s(c|k)ript [file] %text%
加入的版本:
2.4
启用/禁用/重载一个Skript脚本
示例:
reload script "test"
enable script file "testing"
unload script file "script.sk"

Enchant/Disenchant

模型:
enchant %~item stack% with %enchantment types%
disenchant %~item stack%
加入的版本:
2.0
给物品附魔或解除附魔
示例:
enchant the player's tool with sharpness 5
disenchant the player's tool

Equip

模型:
equip [%living entity%] with %item types%
make %living entity% wear %item types%
加入的版本:
1.0
给玩家穿戴装备,会覆盖当前装备。
Skript 2.1 起怪物也能穿戴装备了,猪可以穿戴鞍,马可以穿戴鞍,马铠和箱子。
示例:
equip player with diamond helmet
equip player with all diamond armour
equip the clicked horse with diamond horse armour and a saddle
make the last spawned pig wear a saddle

Exit

模型:
(exit|stop) [trigger]
(section|loop|conditional)
(section|loop|conditional)s
(section|loop|conditional)s
加入的版本:
unknown
停止循环的触发器
示例:
if player has any ore:
	stop
message "%player% has no ores!"
loop blocks above the player:
	loop-block is not air:
		exit 2 sections
	set loop-block to water

Explosion

模型:
[(create|make)] [an] explosion (of|with) (force|strength|power) %number% [%directions% %locations%]
[(create|make)] [a] safe explosion (of|with) (force|strength|power) %number% [%directions% %locations%]
[(create|make)] [a] fake explosion [%directions% %locations%]
[(create|make)] [an] explosion[ ]effect [%directions% %locations%]
加入的版本:
1.0
用给出的力量制造爆炸。 
力量是0时可以制造一场假爆炸,如第三行。 
从 Bukkit 1.4.5 / Skript 2.0 开始你可以使用第二行,即安全爆炸,不会破坏方块。
示例:
create an explosion of force 10 at the player
create a fake explosion at the victim

Feed

模型:
feed [the] %players% [by %number% [beef[s]]]
加入的版本:
2.2-dev34
回复玩家的饱食度
示例:
feed all players
feed the player by 5 beefs

Force Respawn

模型:
force %players% to respawn
加入的版本:
2.2-dev21
强制玩家重生,如果在死亡后立即发生这个事件,将在重生之前等待1 tick
示例:
on death of player:
    force event-player to respawn

Hide Player from Server List

模型:
hide %players% (in|on|from) [the] server list
hide %players%'[s] info[rmation] (in|on|from) [the] server list
加入的版本:
2.3
从TAB列表中隐藏玩家,并减少在线玩家数(仅当玩家数之前没有更改时可用)
示例:
on server list ping:
    hide {vanished::*} from the server list

Ignite/Extinguish

模型:
(ignite|set fire to) %entities% [for %time span%]
(set|light) %entities% on fire [for %time span%]
extinguish %entities%
加入的版本:
1.4
在实体上制造火焰/打雷
示例:
ignite the player
extinguish the player

Kick

模型:
kick %players% [(by reason of|because [of]|on account of|due to) %text%]
加入的版本:
1.0
把玩家从服务器踢出
示例:
on place of TNT, lava, or obsidian:
	kick the player due to "You may not place %block%!"
	cancel the event

Kill

模型:
kill %entities%
加入的版本:
1.0
击杀一个或多个实体。
注意: 这个效果不是把实体的生命设置为0,并不会触发死亡消息,而且不会掉落物品,而是用它最大生命的100倍去伤害它。
示例:
kill the player
kill all creepers in the player's world
kill all endermen, witches and bats

Launch firework

模型:
(launch|deploy) [[a] firework [with effect[s]]] %firework effects% at %locations% [([with] (duration|power)|timed) %number%]
加入的版本:
2.4
在指定位置发射烟火。
示例:
launch ball large coloured red, purple and white fading to light green and black at player's location with duration 1

Leash entities

模型:
(leash|lead) %living entities% to %entity%
make %entity% (leash|lead) %living entities%
un(leash|lead) [holder of] %living entities%
加入的版本:
2.3
将一个实体拴在另一个实体上
示例:
leash the player to the target entity

Lightning

模型:
[[ ]effect] %directions% %locations%
加入的版本:
1.4
在位置生成一道闪电
示例:
strike lightning at the player
strike lightning effect at the victim

Load Server Icon

模型:
load [the] server icon (from|of) [the] [image] [file] %text%
加入的版本:
2.3
要求服务端核心版本:
Paper 1.12.2 或更新
从指定图片文件中加载服务器图标。您可以使用上次加载的服务器图标表达式获取已加载的图标。请注意,图像必须是64x64像素,文件路径从服务器文件夹开始读取。
示例:
on load:
    clear {server-icons::*}
    loop 5 times:
        load server icon from file "icons/%loop-number%.png"
        add the last loaded server icon to {server-icons::*}

on server list ping:
    set the icon to a random server icon out of {server-icons::*}

Locally Suppress Warning

模型:
[local[ly]] suppress [the] (conflict|variable save|[missing] conjunction[s]|starting [with] expression[s]) warning[s]
加入的版本:
2.3
禁止当前脚本中的(目标)警告
示例:
locally suppress conflict warnings
suppress the variable save warnings

Log

模型:
log %texts% [(to|in) [file[s]] %texts%]
加入的版本:
2.0
写一个log文件。你可以在 /plugins/Skript/logs 里找到
使用 'server.log' 将如此记录 '[Skript] [<script>.sk] <message>'
示例:
on place of TNT:
	log "%player% placed TNT in %world% at %location of block%" to "tnt/placement.log"

Loop Version

模型:
use[s] (old|new|2.1.2|2.2) loops
加入的版本:
unknown (2.2)
使用指定版本形式的loop-value
示例:
use old loops
use new loops

Make Fly

模型:
force %players% to [(start|stop)] fly[ing]
make %players% (start|stop) flying
make %players% fly
加入的版本:
2.2-dev34
强制玩家开始/停止飞行 #译者注:建议使用set player's fly mode来调整玩家的飞行,Make Fly在某些情况下会报错并无法使用
示例:
make player fly
force all players to stop flying

Make Say

模型:
make %players% (say|send [the] message[s]) %texts%
force %players% to (say|send [the] message[s]) %texts%
加入的版本:
2.3
强制玩家发送消息。如果消息以"/"开头,将强制玩家使用命令。
示例:
make the player say "Hello."
force all players to send the message "I love this server"

Message

模型:
(message|send [message]) %texts% [to %players/console%]
加入的版本:
1.0
发送消息
示例:
message "A wild %player% appeared!"
message "This message is a distraction. Mwahaha!"
send "Your kill streak is %{kill streak.%player%}%." to player
if the targeted entity exists:
	message "You're currently looking at a %type of the targeted entity%!"

op/deop

模型:
[de[-]]op %offline players%
加入的版本:
1.0
给予/拿走玩家的OP权限
示例:
op the player
deop all players

Open Inventory

模型:
[(open|show) ((crafting [table]|workbench) (view|window|inventory)]|%inventory%) (to|for) %players%
close [the] inventory [view] (to|of|for) %players%
close %players%'[s] inventory [view]
加入的版本:
2.0, 2.1.1 (closing)
为玩家打开背包
SHOW为不能移动东西
OPEN为可以移动
示例:
show the victim's inventory to the player
open the player's inventory for the player
close the player's inventory

Play Effect

模型:
(play|show) %visual effects% (on|%directions%) %entities/locations% [to %players%]
加入的版本:
2.1
播放声音
示例:
play wolf hearts on the clicked wolf
show mob spawner flames at the targeted block to the player

Play Sound

模型:
play sound[s] %texts% [(in|from) %sound category%] [(at|with) volume %number%] [(and|at|with) pitch %number%] at %locations% [for %players%]
play sound[s] %texts% [(in|from) %sound category%] [(at|with) volume %number%] [(and|at|with) pitch %number%] [(to|for) %players%] [(at|from) %locations%]
加入的版本:
2.2-dev28, 2.4 (sound categories)
要求游戏版本:
Minecraft 1.11+ (sound categories)
在指定位置为每个人播放声音或仅为指定的玩家播放声音,或为指定的玩家播放声音。
同时支持Minecraft声音名称和Spigot声音名称。也支持播放资源包声音。默认情况下,声音类别为"master"。
请注意,声音名称可以在任何Minecraft或Spigot版本中更改,甚至可以从Minecraft本身中删除。
示例:
play sound "block.note_block.pling" # It is block.note.pling in 1.12.2
play sound "entity.experience_orb.pickup" with volume 0.5 to the player
play sound "custom.music.1" in jukebox category at {speakerBlock}

Player Info Visibility

模型:
hide [all] player [related] info[rmation] [(in|on|from) [the] server list]
(show|reveal) [all] player [related] info[rmation] [(in|to|on|from) [the] server list]
加入的版本:
2.3
需要前置的事件:
server list ping
服务端核心要求:
Paper 1.12.2 或更新
设置是否在服务器列表中隐藏所有与播放机相关的信息。Vanilla Minecraft客户端会展示"????(深灰色)"代替玩家
隐藏玩家信息时不会显示Tab历史记录。版本字符串可以重写"????"。同时,隐藏玩家信息时,在线玩家数和最大玩家数表达式将返回-1。#译者注:这里是机翻,我也不知道具体该怎么翻译,抱歉。
示例:
hide player info
hide player related information in the server list
reveal all player related info

Player Visibility

模型:
hide %players% [(from|for) %players%]
reveal %players% [(to|for|from) %players%]
加入的版本:
2.3
更改指定玩家的玩家可见性(类似隐身)。
当“显示/隐藏 玩家”表达式组合使用且未指定时,将默认为“隐藏玩家”表达式中的指定玩家。
注意:如果玩家被隐藏并重新定位,该玩家将再次可见。
示例:
on join:
    if {vanished::%player's uuid%} is true:
        hide the player from all players

reveal hidden players of {_player}

Poison/Cure

模型:
poison %living entities% [for %time span%]
(cure|unpoison) %living entities% [(from|of) poison]
加入的版本:
1.3.2
中毒
示例:
poison the player
poison the victim for 20 seconds
cure the player from poison

Potion Effects

模型:
apply [potion of] %potions% [potion] [[[of] tier] %number%] to %living entities% [for %time span%]
加入的版本:
2.0
药水效果
示例:
apply swiftness 2 to the player
remove haste from the victim
on join:
	apply potion of strength of tier {strength.%player%} to the player for 999 days

Push

模型:
(push|thrust) %entities% %direction% [(at|with) (speed|velocity|force) %number%]
加入的版本:
1.4.6
推开实体
示例:
push the player upwards
push the victim downwards at speed 0.5

PvP

模型:
enable PvP [in %worlds%]
disable PVP [in %worlds%]
加入的版本:
1.3.4
检测PVP状态
示例:
enable PvP #(current world only)
disable PvP in all worlds

Replace

模型:
replace [(all|every)] %texts% in %text% with %text%
replace [(all|every)] %texts% with %text% in %text%
加入的版本:
2.0
把一些文本替换
示例:
replace "<item>" in {textvar} with "%tool of player%"
replace every "&" with "§" in line 1
# The following acts as a simple chat censor, but it will e.g. censor mass, hassle, assassin, etc. as well:
on chat:
	replace all "f[u]c[k"(这是译者为了过审而加的), "b[i]t]c][h" and "a[s]s" with "****" in the message

Return

模型:
return %objects%
加入的版本:
2.2
使函数返回值
示例:
function double(i: number) :: number:
    return 2 * {_i}

Send Block Change

模型:
make %players% see %blocks% as %item stack%
加入的版本:
2.2-dev37c
使在玩家眼中看见的方块不同(大概)
示例:
make player see block at player as dirt

Send Resource Pack

模型:
send [the] resource pack [from [[the] URL]] %text% to %players%
send [the] resource pack [from [[the] URL]] %text% with hash %text% to %players%
加入的版本:
2.4
请求玩家的客户端下载并切换资源包。客户端将在后台下载资源包,并在下载完成后自动切换到该资源包。URL必须是直接下载链接(即http[s]://xxxx.xxx/xxx.zip[rar]结尾,某些网盘的下载链接就算了吧)。
散列用于缓存,玩家不必以这种方式重新下载资源包。哈希必须是sha-1,您可以使用此联机工具(https://emn178.github.io/online-tools/sha1_checksum.html)获取资源包的sha-1哈希。
资源包请求操作可用于检查已发送资源包请求的状态。
示例:
on join:
    send the resource pack from "URL" with hash "hash" to the player

Shear

模型:
shear %living entities%
un[-]shear %living entities%
加入的版本:
2.0
为羊剪羊毛,请注意不会掉落物品
示例:
on rightclick on a sheep holding a sword:
	shear the clicked sheep

Shoot

模型:
shoot %entity types% [from %living entities/locations%] [(at|with) (speed|velocity) %number%] [%direction%]
(make|let) %living entities/locations% shoot %entity types% [(at|with) (speed|velocity) %number%] [%direction%]
加入的版本:
1.4
从实体身上发射物品
示例:
shoot an arrow
make the player shoot a creeper at speed 10
shoot a pig from the creeper

Spawn

模型:
spawn %entity types% [%directions% %locations%]
spawn %number% of %entity types% [%directions% %locations%]
加入的版本:
1.0
召唤一个实体
示例:
spawn 3 creepers at the targeted block
spawn a ghast 5 meters above the player

Stop Sound

模型:
stop sound[s] %texts% [(in|from) %sound category%] [(from playing to|for) %players%]
stop playing sound[s] %texts% [(in|from) %sound category%] [(to|for) %players%]
加入的版本:
2.4
游戏版本要求:
Minecraft 1.10.2+, Minecraft 1.11+ (sound categories)
停止向指定的玩家播放声音。同时支持Minecraft声音名称和Spigot声音名称。也支持资源包声音。默认情况下,声音类别为"master"。
无法从其他类别停止声音。请注意,声音名称可以在任何Minecraft或Spigot版本中更改,甚至可以从Minecraft本身中删除。
示例:
stop sound "block.chest.open" for the player
stop playing sounds "ambient.underwater.loop" and "ambient.underwater.loop.additions" to the player

Teleport

模型:
teleport %entities% (to|%direction%) %location%
加入的版本:
1.0
传送实体到某个位置
示例:
teleport the player to {homes.%player%}
teleport the attacker to the victim

Title - Reset

模型:
reset [the] title[s] [of %players%]
reset [the] %players%'[s] title[s]
加入的版本:
2.3
将玩家的标题重置为默认值。
示例:
reset the titles of all players
reset the title

Title - Send

模型:
send title %text% [with subtitle %text%] [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%]
send subtitle %text% [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%]
加入的版本:
2.3
向玩家发送一个标题信息,并为1.11及以上版本的Minecraft提供可选的fadein/stay/fadeout时间。注意:如果没有为标题/副标题或时间提供输入,它将保留上次发送的标题,使用重置标题效果恢复默认值。
示例:
send title "Competition Started" with subtitle "Have fun, Stay safe!" to player for 5 seconds
send title "Hi %player%" to player
send title "Loot Drop" with subtitle "starts in 3 minutes" to all players
send title "Hello %player%!" with subtitle "Welcome to our server" to player for 5 seconds with fadein 1 second and fade out 1 second
send subtitle "Party!" to all players
send title "为什么那么多东西没在wiki翻译更新!!!累死我了QAQ" to player for 233 seconds

Toggle

模型:
(close|turn off|de[-]activate) %blocks%
(toggle|switch) [[the] state of] %blocks%
(open|turn on|activate) %blocks%
加入的版本:
1.4
切换某个方块的状态,如开门
示例:
# use arrows to toggle levers, doors, etc.
on projectile hit:
    projectile is arrow
    toggle the block at the arrow

Toggle Flight

模型:
(allow|enable) (fly|flight) (for|to) %players%
(disallow|disable) (fly|flight) (for|to) %players%
加入的版本:
2.3
切换玩家的飞行模式
示例:
allow flight to event-player

Tree

模型:
(grow|create|generate) tree [of type %tree type%] %directions% %locations%
(grow|create|generate) %tree type% [tree] %directions% %locations%
加入的版本:
1.0
生成树,需要有足够空间
示例:
grow a tall redwood tree above the clicked block

Vectors - Rotate Around Vector

模型:
rotate %vectors% around %vector% by %number% [degrees]
加入的版本:
2.2-dev28
围绕一个矢量旋转另一个矢量/向量(机翻)
示例:
rotate {_v} around vector 1, 0, 0 by 90

Vectors - Rotate around XYZ

模型:
rotate %vectors% around (x|y|z)(-| )axis by %number% [degrees]
加入的版本:
2.2-dev28
绕X、Y或Z轴旋转若干度
示例:
rotate {_v} around x-axis by 90
rotate {_v} around y-axis by 90
rotate {_v} around z-axis by 90 degrees

Vehicle

模型:
(make|let|force) %entities% [to] (ride|mount) [(in|on)] %entity/entity types%
[(make|let|force) %entities% [to] (dismount|(dismount|leave) (from|of)] [(any|the[ir]|his|her)] vehicle[s])
[(eject|dismount) (any|the)] passenger[s] (of|from) %entities%
加入的版本:
2.0
使实体坐上载具。
示例:
make the player ride a saddled pig
make the attacker ride the victim

表达式

表达式是表示某个对象的语法元素,如一个玩家 一个数字 多个物体 服务器世界 或 列表中的方块。

表达式在Skript脚本中可以被用在任何地方如 set {var} to <value> 或 teleport <entity expression> to <location expression>.

值的另一个可能是使用统计值,如 ‘6’ 和 ‘a pickaxe and a shovel’.

这里有两种基础的表达式:

简单的表达式,其中只有一些简短的单词 ,如‘player’, ‘world’, or ‘last spawned entity’, 并且经常的依赖发生的事件, 它们的值会随着事件的改变而改变。

如player表达式会表达为当前触发事件的玩家。

属性表达式,从另一个表达式中获取值。如 data value of <item>, altitude of <location>, <entity>'s world.

但也有一些例外, e.g. distance between <location> and <location> or the direction expression.

表达式可以在循环中被使用,来循环执行某些代码,格式为

 loop <expression>:

请前往循环页来获取更多。

Advanced

从Skript 2.0开始, 表达式可以用圆括号来表示它们之间的关系,如, set {var} to 10 emeralds and an apple or 5 stone 会报错 ,

但 set {var} to 10 emeralds and (an apple or 5 stone) 便不会 (如果没有括号这个特殊的例子会报错).

如果你在表达式中使用另一个表达式请使用()括起,如 all players in "world" and "world_nether" 应写成 all players in ("world" and "world_nether"),

否则,就会被读取为 (all players in "world") and ("world_nether").

Altitude

模型:
[the] altitude[s] of %locations%
%locations%'[s] altitude[s]
加入的版本:
1.4.3
是Y坐标的简写形式,这会表示Y坐标为0以上的Y坐标。
示例:
on damage:
	altitude of the attacker is higher that the altitude of the victim
	set damage to damage * 1.25

Amount

模型:
(amount|number|size) of %objects%
加入的版本:
1.0
一些东西的数量
请注意 amount of <items> 并不会返回物品的数量,而是物品的组数 如 1 表示 64 个
示例:
message "There are %number of all players% players online!"

Amount of Items

模型:
[the] (amount|number) of %item types% (in|of) %inventories%
加入的版本:
2.0
在给出的物品栏计数物品
示例:
message "You have %number of ores in the player's inventory% ores in your inventory."

Argument

模型:
[the] last arg[ument][s]
[the] arg[ument][s](-| )<(d+)>
[the] <(d*1)st|(d*2)nd|(d*3)rd|(d*[4-90])th> arg[ument][s]
[the] arg[ument][s]
[the] %*type%( |-)arg[ument][( |-)<d+>]
[the] arg[ument]( |-)%*type%[( |-)<d+>]
加入的版本:
1.0
只在命令中工作。 持有给予参数的值,如 指令 "/tell " 会这样使用 "/tell Njol Hello Njol!", 第一个参数是玩家 "Njol" 第二个参数是 "Hello Njol!". 
同时也可以使用参数的类型来代替它的值 如 上面的 'player-argument' 与第一个参数相同
示例:
give the item-argument to the player-argument
damage the player-argument by the number-argument
give a diamond pickaxe to the argument
add argument 1 to argument 2
heal the last argument

Arithmetic

模型:
%number%[ ]+[ ]%number%
%number%[ ]-[ ]%number%
%number%[ ]*[ ]%number%
%number%[ ]/[ ]%number%
%number%[ ]^[ ]%number%
加入的版本:
1.4.2
代数运算, 如. 1+2, (2 - health of player)/3
支持的运算有addition (+), subtraction (-), multiplication (*), division (/), and exponentiation<ref>次方</ref> (^). ''Negation is not available yet, use 0 - expr instead.''
示例:
set the player's health to 10 - the player's health
loop (argument + 2)/5 times:
	message "Two useless numbers: %loop-num*2 - 5%, %2^loop-num - 1%"
message "You have %health of player * 2% half hearts of HP!"

Armour Slot

模型:
[the] (boot[s]|shoe[s]|leg[ging][s]|chestplate[s]|helm[et][s]) [slot] of %living entities%
%living entities%'[s] (boot[s]|shoe[s]|leg[ging][s]|chestplate[s]|helm[et][s]) [slot]
加入的版本:
1.0
玩家装备栏的一个部分
在SK 2.1之后兼容怪物的物品栏
示例:
set chestplate of the player to a diamond chestplate
helmet of player is neither a helmet nor air # player is wearing a block, e.g. from another plugin

Attacked

模型:
[the] (attacked|damaged|victim) [<(.+)>]
加入的版本:
1.3
一个受伤害的事件
示例:
on damage:
	victim is a creeper
	damage the attacked creeper by 1 heart

Attacker

模型:
[the] (attacker|damager)
加入的版本:
1.3
受伤害事件中的攻击者
攻击者可以是自然 如. a cactus or lava, 但这种情况下将不会有表达式
示例:
on damage:
	attacker is a player
	health of attacker is less than or equal to 2
	damage victim by 1 heart

Bed

模型:
[the] bed[s] [location[s]] of %players%
%players%'[s] bed[s] [location[s]]
加入的版本:
2.0
玩家床的位置
示例:
bed of player exists:
	teleport player the the player's bed
else:
	teleport the player to the world's spawn point

Biome

模型:
[the] biome (of|%direction%) %location%
%location%'[s] biome
加入的版本:
1.4.4
当前位置的生物群系。请注意至于X Z坐标有关,Y坐标不会有关系。
示例:
# damage player in deserts constantly
every real second:
	loop all players:
		biome at loop-player is desert
		damage the loop-player by 1

Block

模型:
[the] [event-]block
[the] block %direction% [%location%]
加入的版本:
1.0
事件中的方块,如点击的方块和破坏的方块
同时支持方块的位置, 如 'block above' or 'block in front of the player'.
示例:
block is ore
set block below to air
spawn a creeper above the block
loop blocks in radius 4:
	loop-block is obsidian
	set loop-block to water
block is a chest:
	clear the inventory of the block

Block Sphere

模型:
[(all|the)] blocks in radius %number% [(of|around) %location%]
[(all|the)] blocks around %location% in radius %number%
加入的版本:
1.0
玩家半径内的所有方块,经常用在循环中
示例:
loop blocks in radius 5 around the player:
	set loop-block to air
set all blocks in radius 5 around the player to air

Blocks

模型:
[the] blocks %direction% [%locations%]
[the] blocks from %location% [on] %direction%
[the] blocks from %block% to %block%
[the] blocks between %block% and %block%
加入的版本:
1.0
相对于其他方块的方块或其他方块之间的方块。经常用于循环中
示例:
loop blocks above the player:
loop blocks between the block below the player and the targeted block:
set the blocks below (the player, the victim and the targeted block) to air

Blocks in Region

模型:
cannot be used directly
加入的版本:
2.1
区域中的方块,需要区域插件
示例:
loop all blocks in the region {arena.%{faction.%player%}%}:
	clear the loop-block

Chunk

模型:
[the] chunk[s] (of|%directions%) %locations%
%locations%'[s] chunk[s]
加入的版本:
2.0
区块
示例:
add the chunk at the player to {protected chunks::*}

Clicked Block/Entity

模型:
[the] clicked (block|%*item type/entity type%)
加入的版本:
1.0
点击的方块/实体
示例:
message "You clicked on a %type of clicked entity%!"
clicked block is a chest:
	show the inventory of the clicked block to the player

Colour of

模型:
[the] colo[u]r[s] of %item stacks/entities%
%item stacks/entities%'[s] colo[u]r[s]
加入的版本:
1.2
物品的染色色彩。如 "<%colour of ...%>this text is coloured!".
示例:
on click on wool:
	message "This wool block is <%colour of block%>%colour of block%<reset>!"
	set the colour of the block to black

Coloured / Uncoloured

模型:
(colo[u]r-|colo[u]red )%texts%
(un|non)[-](colo[u]r-|colo[u]red )%texts%
加入的版本:
2.0
在文本中添加或移除颜色
这个表达式会替换本地的颜色与格式。它不会取代英语,这使得它适用于颜色命令参数和聊天消息。
示例:
on chat:
	set message to coloured message
command /fade <player>:
	trigger:
		set display name of the player-argument to uncoloured display name of the player-argument

Command

模型:
[the] (full|complete|whole) command
[the] command [label]
[the] arguments
加入的版本:
2.0
触发指令事件的指令
使用'full command'来查看包括参数的指令,  'arguments' 来查看参数部分。
这个事件不能胜任一些自定义命令. See the article on custom commands to find out how to define new commands.
示例:
# prevent any commands except for the /exit command during some game
on command:
	{game.%player%.is playing} is true
	command is not "exit"
	message "You're not allowed to use commands during the game"
	cancel the event

Command Sender

模型:
[the] [command['s]] (sender|executor)
加入的版本:
2.0
发送指令的人或控制台
示例:
make the command sender execute "/say hi!"
on command:
	log "%executor% used command /%command% %arguments%" to "commands.log"

Compass Target

模型:
[the] compass target of %players%
%players%'[s] compass target
加入的版本:
2.0
玩家的指南针指向
你可以使指南针指向一个实体,但只是指向这个当前的位置。
示例:
# make all player's compasses target a player stored in {compass target.%player%}
every 5 seconds:
	loop all players:
		set the loop-player's compass target to location of {compass target.%loop-player%}

Console

模型:
[the] (console|server)
加入的版本:
1.3.1
服务器控制台
示例:
execute console command "/stop"
send "message to console" to the console

Coordinate

模型:
[the] (x|y|z)(-| )(coord[inate]|pos[ition]|loc[ation])[s] of %locations%
%locations%'[s] (x|y|z)(-| )(coord[inate]|pos[ition]|loc[ation])[s]
加入的版本:
1.4.3
表示位置的一个坐标
示例:
player's y-coordinate is smaller than 40:
	message "Watch out for lava!"

Creature/Entity/Player/Projectile/Villager/Powered Creeper/etc.

模型:
[the] [event-]<.+>
加入的版本:
1.0
触发事件的实体
你可以使用实体的类型,如在 'death of a creeper' 中你可以使用 'the creeper' 来代替 'the entity'.
示例:
give a diamond sword of sharpness 3 to the player
kill the creeper
kill all powered creepers in the wolf's world
projectile is an arrow

Damage

模型:
[the] damage
加入的版本:
1.3.5
在伤害事件中的伤害值,可能忽略护甲, 附魔 。可以被更改[注意在Skript中1是满心,不是半心]
示例:
increase the damage by 2

Damage Cause

模型:
[the] damage (cause|type)
加入的版本:
2.0
伤害事件中造成伤害的来源
示例:
damage cause is lava, fire or burning

Data Value

模型:
[the] ((data|damage)[s] [value[s]]|durabilit(y|ies)) of %item stacks/slots%
%item stacks/slots%'[s] ((data|damage)[s] [value[s]]|durabilit(y|ies))
加入的版本:
1.2
一个物品的数据值
你一般不需要这个表达式,因为你可以直接检测类型。但是这个表达式可以改变数据值,如 "add 1 to data of <item>", 如循环使用羊毛颜色
示例:
add 1 to the data value of the clicked block

Difference

模型:
difference (between|of) %object% and %object%
加入的版本:
1.4
两个值之间的差异
示例:
difference between {command.%player%.lastuse} and now is smaller than a minute:
  message "You have to wait a minute before using this command again!"
  stop

Direction

模型:
[%number% [(north[(east|west)][(south[(east|west)][(east|west)[(above|over|up|down)[ward(below|under[neath]|beneath) [%direction%]
[%number% [[(direction|horizontal direction|facing|horizontal facing) of %entity/block% (of|from)]
[%number% [[(direction|horizontal direction|facing|horizontal facing) (of|from)]
[%number% [(in[ ]front [of]|forward[s]|behind|backwards|right|left) [of])
[%number% [(in[ ]front [of]|forward[s]|behind|backwards|right|left) [of])
加入的版本:
1.0 (basic), 2.0 (extended)
当前位置类型的一个帮助表达式
示例:
thrust the player upwards
set the block behind the player to water
loop blocks above the player:
	set {_rand} to a random integer between 1 and 10
	set the block {_rand} meters south east of the loop-block to stone
block in horizontal facing of the clicked entity from the player is air
spawn a creeper 1.5 meters horizontally behind the player
spawn a TNT 5 meters above and 2 meters horizontally behind the player
thrust the last spawned TNT in the horizontal direction of the player with speed 0.2
push the player upwards and horizontally forward at speed 0.5
push the clicked entity in in the direction of the player at speed -0.5
open the inventory of the block 2 blocks below the player to the player
teleport the clicked entity behind the player
grow a regular tree 2 meters horizontally behind the player

Distance

模型:
[the] distance between %location% and %location%
加入的版本:
1.0
两点之间的距离
方块的距离经常按照中心来计算,实体按照脚的距离
示例:
distance between the player and {%player%.home} is smaller than 20:
	message "You're very close to your home!"

Drops

模型:
[the] drops
加入的版本:
1.0
死亡事件中的掉落物
掉落物可以如此被移除 "remove ... from drops",如 "remove all pickaxes from the drops", 或 "clear drops" 如果你不想要任何掉落物的话
示例:
clear drops
remove 4 planks from the drops

Element of

模型:
([the] first|[the] last|[a] random) element [out] of %objects%
加入的版本:
2.0
最后的参数是随机元素的列表,如变量列表
示例:
give a random element out of {free items::*} to the player

Enchantment Level

模型:
[the] (%enchantment% level|level of [[the] enchant[ment]] %enchantment%) o(f|n) %item types%
%item types%'[s] (%enchantment% level|level of [[the] enchant[ment]] %enchantment%)
加入的版本:
2.0
附魔的等级
示例:
player' tool is a sword of sharpness:
	message "You have a sword of sharpness %level of sharpness of the player's tool% equipped"

Ender Chest

模型:
[the] ender[ ]chest[s] of %players%
%players%'[s] ender[ ]chest[s]
加入的版本:
2.0
玩家的末影箱. 这个项目在打开背包时可以使用,其中的物品可以被修改,它也可以被任何玩家打开。(不只是它的主人).
示例:
open the player's ender chest to the player

Entities

模型:
[all] %*entity types% [(in|of) [world[s]] %worlds%]
[all] entities of type[s] %entity types% [(in|of) [world[s]] %worlds%]
[all] %*entity types% (within|[with]in radius) %number% [(block[s]|met(er|re)[s])] (of|around) %location%
[all] entities of type[s] %entity types% in radius %number% (of|around) %location%
加入的版本:
1.2.1
在所有世界/单个世界/半径中的所有实体,如. 'all players', 'all creepers in the player's world', 或 'players in radius 100 of the player'.
示例:
kill all creepers in the player's world
send "Psst!" to all players witin 100 meters of the player
give a diamond to all ops
heal all tamed wolves in radius 2000 around {town center}

Experience

模型:
[the] [(spawned|dropped)] [e]xp[erience] [orb[s]]
加入的版本:
2.1
在一个经验生成事件中生成的经验数量,可以被修改
示例:
on experience spawn:
	add 5 to the spawned experience

Facing

模型:
[the] [horizontal] facing of %living entities/blocks%
%living entities/blocks%'[s] [horizontal] facing
加入的版本:
1.4
实体或方块面朝的方向
示例:
# makes a bridge
loop blocks from the block below the player in the horizontal facing of the player:
	set block to cobblestone

Food Level

模型:
[the] (food|hunger)[[ ](level|met(er|re)|bar)] [of %player%]
%player%'[s] (food|hunger)[[ ](level|met(er|re)|bar)]
加入的版本:
1.0
玩家的饥饿值0-10 别名—— food/hunger level/meter/bar.
示例:
set the player's food level to 10

Former/Future State

模型:
[the] (former|past|old) [state] [of] %~object%
%~object% before [the event]
[the] (future|to-be|new) [state] [of] %~object%
%~object%(-to-be| after[(wards| the event)])
加入的版本:
1.1
什么鬼?last?
''
Represents the value of an expression before an event happened or the value it will have directly after the event, e.g. the old or new level respectively in a level change event.
Note: The past, future and present states of an expression are sometimes called 'time states' of an expression.
Note 2: If you don't specify whether to use the past or future state of an expression that has different values, its default value will be used which is usually the value after the event.''
示例:
on teleport:
	former world was "world_nether" # or 'world was'
	world will be "world" # or 'world after the event is'
on tool change:
	past tool is an axe
	the tool after the event will be air
on weather change:
	set {weather.%world%.old} to past weather
	set {weather.%world%.current} to the new weather

Furnace Slot

模型:
[the] (ore|fuel|result)[s] [slot[s]] of %blocks%
%blocks%'[s] (ore|fuel|result)[s] [slot[s]]
加入的版本:
1.0
熔炉的一个槽位
示例:
set the fuel slot of the clicked block to a lava bucket
set the block's ore slot to 64 iron ore
give the result of the block to the player
clear the result slot of the block

Game Mode

模型:
[the] game[ ]mode of %players%
%players%'[s] game[ ]mode
加入的版本:
1.0
游戏模式
示例:
player's gamemode is survival
set the player's gamemode to creative

Hash

模型:
[md5][( |-)hash(ed|[( |-)]code] of) %texts%
加入的版本:
2.0
''Hashes the given text using the MD5 algorithm. This is useful for storing passwords or IP addresses without having to store them literally. 
Please note that an MD5 hash is irreversible, i.e. you won't be able to get the original text back (which is the point of storing passwords like this). Brute force and rainbow table attacks can still be performed on hashes though which can easily crack short or insecure passwords.''
示例:
command /setpass <text>:
	trigger:
		set {password.%player%} to hashed text-argument
command /login <text>:
	trigger:
		{password.%player%} is hashed text-argument:
			message "login successful."
		else:
			message "wrong password!"

Head location

模型:
[the] (head|eye[s]) [location[s]] of %living entities%
%living entities%'[s] (head|eye[s]) [location[s]]
加入的版本:
2.0
实体头颅的坐标
只对两个及以上高的实体有用 如 players, endermen, zombies, skeletons, etc.,但以下没用 sheep, pigs or cows.
示例:
set the block at the player's head to air
set the block in front of the player's eyes to glass
loop blocks in front of the player's head:

Health

模型:
[the] health of %living entities%
%living entities%'[s] health
加入的版本:
1.0
实体的血量
示例:
message "You have %health% HP left."

Id

模型:
[the] id[s] of %item type%
%item type%'[s] id[s]
加入的版本:
1.0
一个物品的ID,你不需要这个表达式因为你可以使用别称
示例:
message "the ID of %type of the clicked block% is %id of the clicked block%."

Index Of

模型:
[the] [(first|last)] index of %text% in %text%
加入的版本:
2.1
''The first of last index of a character (or text) in a text, or -1 if it doesn't occur in the text. Indices range from 1 to the length of the text.''
示例:
set {_@} to the first index of "@" in the text argument
if {_s} contains "abc":
	set {_s} to the first (index of "abc" in {_s} + 3) characters of {_s} # removes everything after the first "abc" from {_s}

Inventory

模型:
[the] inventor(y|ies) of %inventoryholders%
%inventoryholders%'[s] inventor(y|ies)
加入的版本:
1.0
一个方块或玩家的物品栏
示例:
add a plank to the player's inventory
clear the player's inventory
remove 5 wool from the inventory of the clicked block

IP

模型:
IP[s][( |-)address[es]] of %players%
%players%'[s] IP[s][( |-)address[es]]
加入的版本:
1.4
玩家的IP
示例:
IP-ban the player # is equal to the next line
ban the IP-address of the player
broadcast "Banned the IP %IP of player%"

Item

模型:
[the] item
加入的版本:
unknown
事件中的物品
示例:
on dispense:
	item is a clock
	set the time to 6:00

Items

模型:
[(all|every)] item(s|[ ]types)
items of type[s] %item types%
[(all|every)] block(s|[ ]types)
blocks of type[s] %item types%
加入的版本:
unknown
特殊类型的物品或方块,经常用于循环
示例:
loop items of type ore and log:
	block contains loop-item
	message "There's at least one %loop-item% in this block"
	stop loop
drop all blocks at the player # drops one of every block at the player

Items In

模型:
[all] items (inventor(y|ies)) %inventories%
加入的版本:
2.0
物品栏内的物品,经常用于循环
请注意不会记录他们的位置
示例:
loop all items in the player's inventory:
	loop-item is enchanted
	remove loop-item from the player
set {inventory.%player%::*} to items in the player's inventory

Join & Split

模型:
(concat[enate]|join) %texts% [(with|using|by) [[the] delimiter] %text%]
split %text% (at|using|by) [[the] delimiter] %text%
%text% [split] (at|using|by) [[the] delimiter] %text%
加入的版本:
2.1
''Joins several texts with a common delimiter (e.g. ", "), or splits a text into multiple texts at a given delimiter.''
示例:
message "Online players: %join all players with " | "%" # %all players% would use the default "x, y, and z"
set {_s::} to the string argument split at ","

Last Spawned/Shot Entity

模型:
[the] [last[ly]] (spawned|shot) %*entity type%
加入的版本:
1.3 (spawned entity), 2.0 (shot entity)
最近生成的实体
示例:
spawn a priest
set {%spawned priest%.healer} to true
shoot an arrow from the last spawned entity
ignite the shot projectile

Length

模型:
[the] length of %texts%
%texts%'[s] length
加入的版本:
2.1
文本的长度
示例:
set {_l} to length of the string argument

Level

模型:
[the] level of %players%
%players%'[s] level
加入的版本:
unknown
玩家的等级
示例:
reduce the victim's level by 1
set the player's level to 0

Level Progress

模型:
[the] level progress of %players%
%players%'[s] level progress
加入的版本:
2.0
升到下一级还有的百分比[0-1]
改变这个值会使玩家的等级发生改变
示例:
# use the exp bar as mana
on rightclick with a blaze rod:
	player's level progress is larger than 0.2
	shoot a fireball from the player
	reduce the player's level progress by 0.2
every 2 seconds:
	loop all players:
		level progress of loop-player is smaller than 0.9:
			increase level progress of the loop-player by 0.1
		else:
			set level progress of the loop-player to 0.99
on xp spawn:
	cancel event

Light Level

模型:
[(sky|sun|block)[ ]]light[ ]level [(of|%direction%) %location%]
加入的版本:
1.3.4
光亮等级 0-14
示例:
# set vampire players standing in bright sunlight on fire
every 5 seconds:
	loop all players:
		{vampire.%loop-player%} is true
		sunlight level at the loop-player is greater than 10
		ignite the loop-player for 5 seconds

Location

模型:
[the] [event-](location|position)
[the] (location|position) %direction% [%location%]
加入的版本:
2.0
事件发生的坐标
示例:
drop 5 apples at the event-location # exactly the same as writing 'drop 5 apples'
set {_loc} to the location 1 meter above the player

Location At

模型:
[the] (location|position) [at] [(][x[ ][=[ ]]]%number%, [y[ ][=[ ]]]%number%, [and] [z[ ][=[ ]]]%number%[)] [[(in|of) [[the] world]] %world%]
加入的版本:
2.0
从三个坐标和世界来创建一个坐标位置
这个表达式可能不能正确使用
示例:
set {_loc} to the location at arg-1, arg-2, arg-3 of the world arg-4
distance between the player and the location (0, 0, 0) is less than 200

Location Of

模型:
(location|position) of %location%
%location%'[s] (location|position)
加入的版本:
unknown
玩家或方块的位置,如果是实体的话是实体的脚的位置
示例:
set {home.%player%} to the location of the player
message "Your home was set to %player's location% in %player's world%."

Loop value

模型:
[the] loop-<.+>
加入的版本:
1.0
当前的循环值
示例:
# countdown:
loop 10 times:
	message "%11 - loop-number%"
	wait a second
# generate a 10x10 floor made of randomly coloured wool below the player:
loop blocks from the block below the player to the block 10 east of the block below the player:
	loop blocks from the loop-block to the block 10 north of the loop-block:
		set loop-block-2 to any wool

Lore

模型:
[the] line %number% of [the] lore of [%item stack/item type%]
[the] line %number% of %item stack/item type%'[s] lore
[the] %number%(st|nd|rd|th) line of [the] lore of [%item stack/item type%]
[the] %number%(st|nd|rd|th) line of %item stack/item type%'[s] lore
加入的版本:
2.1
一个物品的Lore
示例:
set the 1st line of the item's lore to "<orange>Excalibur 2.0"

Max Health

模型:
[the] max[imum] health of %living entities%
%living entities%'[s] max[imum] health
加入的版本:
2.0
一个实体最大的生命值
示例:
on join:
	set the maximum health of the player to 100
spawn a giant
set the last spawned entity's max health to 1000

Maximum Stack Size

模型:
[the] max[imum] stack[[ ]size] of %item stack%
%item stack%'[s] max[imum] stack[[ ]size]
加入的版本:
2.1
一个物品最大的堆叠值
示例:
send "You can only pick up %max stack size of player's tool% of %type of (player's tool)%" to player

Me

模型:
me
my[self]
加入的版本:
2.1.1
只能在效果命令中使用
示例:
!heal me
!kick myself
!give a diamond axe to me

Message

模型:
[the] [chat( |-)]message
[the] (join|log[ ]in)( |-)message
[the] (quit|leave|log[ ]out|kick)( |-)message
[the] death( |-)message
加入的版本:
消息
示例:
on chat:
	player has permission "admin"
	set message to "<red>%message%"

on first join:
	set join message to "Welcome %player% to our awesome server!"
on join:
	player has played before
	set join message to "Welcome back, %player%!"

on quit:
	set quit message to "%player% left this awesome server!"

on death:
	set the death message to "%player% died!"

Money

模型:
cannot be used directly
加入的版本:
2.0
检测玩家拥有多少钱

需要Vault和一个经济插件
示例:
message "You have %player's money%" # the currency name will be added automatically
remove 20$ from the player's balance # replace '$' by whatever currency you use
add 200 to the player's account # or omit the currency alltogether

Name / Display Name

模型:
[the] (player|tab)[ ]list name[s] of %players%
%players%'[s] (player|tab)[ ]list name[s]
[the] (display|nick|chat)[ ]name[s] of %slots/item stacks/living entities/players%
%slots/item stacks/living entities/players%'[s] (display|nick|chat)[ ]name[s]
[the] name[s] of %slots/item stacks/living entities/players%
%slots/item stacks/living entities/players%'[s] name[s]
加入的版本:
玩家名/物品/实体名
示例:
on join:
	player has permission "name.red"
	set the player's display name to "<red>[admin]<gold>%name of player%"
	set the player's tablist name to "<green>%name of player%"
set the name of the player's tool to "Legendary Sword of Awesomeness"

Named Item

模型:
%item types% (named|with name[s]) %text%
加入的版本:
2.0
当前物品的名字,你可以这样改变set name of <item> to <text>.
示例:
give a diamond sword of sharpness 100 named "<gold>Excalibur" to the player
set tool of player to the player's tool named "<gold>Wand"
set the name of the player's tool to "<gold>Wand"

Now

模型:
now
加入的版本:
1.4
当前系统时间
示例:
broadcast "Current server time: %now%"

Numbers

模型:
[(integers) (between|from) %number% (and|to) %number%
%number% times
加入的版本:
1.4.6
两个数字之间的数字,经常用于循环
示例:
loop 5 times: # loops 1, 2, 3, 4, 5
loop numbers from 2.5 to 5.5: # loops 2.5, 3.5, 4.5, 5.5
loop integers from 2.9 to 5.1: # same as '3 to 5', i.e. loops 3, 4, 5

Parse

模型:
%text% parsed as (%*type%|"<.*>")
加入的版本:
2.0
''Parses text as a given type, or as a given pattern. 
This expression can be used in two different ways: One which parses the entire text as a single instance of a type, e.g. as a number, and one that parses the text according to a pattern. 
If the given text could not be parsed, this expression will return nothing and the parse error will be set if some information is available. 
Some notes about parsing with a pattern: 
- The pattern must be a Skript pattern, e.g. percent signs are used to define where to parse which types, e.g. put a %number% or %items% in the pattern if you expect a number or some items there. 
- You have to save the expression's value in a list variable, e.g. set {parsed::*} to message parsed as "...". 
- The list variable will contain the parsed values from all %types% in the pattern in order. If a type was plural, e.g. %items%, the variable's value at the respective index will be a list variable, e.g. the values will be stored in {parsed::1::*}, not {parsed::1}.''
示例:
set {var} to line 1 parsed as number
on chat:
	set {var::*} to message parsed as "buying %items% for %money%"
	if parse error is set:
		message "%parse error%"
	else if {var::*} is set:
		cancel event
		remove {var::2} from the player's balance
		give {var::1::*} to the player

Parse Error

模型:
[the] [last] [parse] error
加入的版本:
2.0
导致最后一个解析操作失败的错误,如果使用了模式,而模式与所提供的文本不匹配,这可能无法设置。
示例:
set {var} to line 1 parsed as integer
if {var} is not set:
	parse error is set:
		message "<red>Line 1 is invalid: %last parse error%"
	else:
		message "<red>Please put an integer on line 1!"

Passenger

模型:
[the] passenger[s] of %entities%
%entities%'[s] passenger[s]
加入的版本:
2.0
一个载具的乘客
示例:
passenger of the minecart is a creeper or a cow
the saddled pig's passenger is a player

Prefix/Suffix

模型:
cannot be used directly
加入的版本:
2.0
聊天插件中的前缀和后缀
示例:
on chat:
	cancel event
	broadcast "%player's prefix%%player's display name%%player's suffix%: %message%" to the player's world
set the player's prefix to "[<red>Admin<reset>] "

Random

模型: [a] random %*type% [out] of %objects% 加入的版本: 1.4.9 随机 示例: give a diamond to a random player out of all players give a random item out of all items to the player Random Number 模型: [a] random (integer|number) (from|between) %number% (to|and) %number% 加入的版本: 1.4 A random number or integer between two given numbers. Use 'number' if you want any number with decimal parts, or use use 'integer' if you only want whole numbers. Please note that the order of the numbers doesn't matter, i.e. random number between 2 and 1 will work as well as random number between 1 and 2. 示例: set the player's health to a random number between 5 and 10

send "You rolled a %random integer from 1 to 6%!" to the player

Region

模型:
cannot be used directly
加入的版本:
2.1
区域,需要一个区域插件
示例:
on region enter:
	region is {forbidden region}
	cancel the event

Region Members & Owners

模型:
cannot be used directly
加入的版本:
2.1
区域成员/主人
示例:
on entering of a region:
	message "You're entering %region% whose owners are %owners of region%".

Regions At

模型:
cannot be used directly
加入的版本:
2.1
区域的位置
示例:
On click on a sign:
	line 1 of the clicked block is "[region info]"
	set {_regions::*} to regions at the clicked block
	if {_regions::*} is empty:
		message "No regions exist at this sign."
	else:
		message "Regions containing this sign: <gold>%{_regions::*}%<r>."

Remaining Air

模型:
[the] remaining air of %living entities%
%living entities%'[s] remaining air
加入的版本:
unknown
剩余的氧气值
示例:
player's remaining air is less than 3 seconds:
	send "hurry, get to the surface!" to the player

Rounding

模型:
floor(%number%)
[(a|the)] round[ed] down %number%
round(%number%)
[(a|the)] round[ed] %number%
ceil[ing](%number%)
[(a|the)] round[ed] up %number%
加入的版本:
2.0
''Rounds numbers normally, up (ceiling) or down (floor) respectively.''
示例:
set {var} to rounded health of player
set line 1 of the block to round(1.5 * player's level)
set {_x} to floor({_y}) - ceil({_x})
add rounded down argument to the player's health

Script Name

模型:
[the] script[['s] name]
加入的版本:
2.0
当前脚本的名字
示例:
on script load:
	set {running.%script%} to true
on script unload:
	set {running.%script%} to false

Shooter

模型:
[the] shooter [of %projectile%]
加入的版本:
1.3.7
弹射物的发射者
示例:
shooter is a skeleton
add 1 to {game.points.%shooter of {game.ball}%}

Sign Text

模型:
[the] line %number% [of %block%]
[the] (1st|first|2nd|second|3rd|third|4th|fourth) line [of %block%]
加入的版本:
1.3
牌子的一行字,最大一行16字符
示例:
on rightclick on sign:
	line 2 of the clicked block is "[Heal]":
		heal the player
	set line 3 to "%player%"

Skull

模型:
[the] skull of %offline players/entities/entity types%
%offline players/entities/entity types%'[s] skull
加入的版本:
2.0
获取玩家或实体的头颅
示例:
give the victim's skull to the attacker
set the block at the entity to the entity's skull

Spawn

模型:
[the] spawn[s] [(point|location)[s]] [of %worlds%]
%worlds%'[s] spawn[s] [(point|location)[s]]
加入的版本:
1.4.2
世界的重生点
示例:
teleport all players to spawn
set the spawn point of "world" to the player's location

Speed

模型:
[the] (walk[ing]|fl(y[ing]|ight))[( |-])speed of %players%
%players%'[s] (walk[ing]|fl(y[ing]|ight))[( |-])speed
加入的版本:
unknown
玩家的走路和飞行速度
示例:
set the player's walk speed to 1
increase the argument's fly speed by 0.1
set the walk speed of the player to 0-(the player's walk speed) # reverses the player's speed

Subtext

模型:
[the] [(part|sub[ ](text|string)) of %texts% (between|from) (ind(ex|ices)|character[s])] %number% [(and|to) (index|character)] %number%
[the] (first|last) [%number%] character[s] of %texts%
[the] %number% (first|last) characters of %texts%
加入的版本:
2.1
一个文本的剩余部分
示例:
set {_s} to the first 5 characters of the text argument
message "%subtext of {_s} from characters 2 to (the length of {_s} - 1)%" # removes the first and last character from {_s} and sends it to the player or console

Target

模型:
[the] target[[ed] %*entity type%] [of %living entities%]
%living entities%'[s] target[[ed] %*entity type%]
加入的版本:
unknown
玩家鼠标指针指向的实体,怪物跟随的实体
示例:
on entity target:
    entity's target is a player
    send "You're being followed by an %entity%!" to target of entity

Targeted Block

模型:
[the] target[ed] block[s] [of %players%]
%players%'[s] target[ed] block[s]
[the] actual[ly] target[ed] block[s] [of %players%]
%players%'[s] actual[ly] target[ed] block[s]
加入的版本:
1.0
玩家指针指向的方块
示例:
# A command to set the block a player looks at to a specific type:
command /setblock <material>:
    trigger:
        set targeted block to argument

Time

模型:
[the] time [(in|of) %worlds%]
%worlds%'[s] time
加入的版本:
1.0
一个世界的时间
示例:
time in world is between 18:00 and 6:00:
	broadcast "It's night-time, watch out for monsters!"

Tool

模型:
[the] (tool|held item|weapon) [of %living entities%]
%living entities%'[s] (tool|held item|weapon)
加入的版本:
1.0
实体正在持有的工具,可以是怪物
示例:
player is holding a pickaxe
# is the same as
player's tool is a pickaxe

Type of

模型:
[the] type of %entity types/item stacks%
%entity types/item stacks%'[s] type
加入的版本:
1.4
方块物品实体的类型 物品只会有ID 实体只有类型 如 'wolf' or 'player'.
示例:
on rightclick on an entity:
	message "This is a %type of clicked entity%!"

UUID

模型:
[the] UUID of %players/worlds%
%players/worlds%'[s] UUID
加入的版本:
2.1.2
世界或玩家的UUID
示例:
# prevents people from joining the server if they use the name of a player
# who has played on this server at least once 加入的版本 this script has been added
on login:
	{uuids.%name of player%} exists:
		{uuids.%name of player%} is not UUID of player
		kick player due to "Someone with your name has played on this server before"
	else:
		set {uuids.%name of player%} to UUID of player

Vehicle

模型:
[the] vehicle[s] of %entities%
%entities%'[s] vehicle[s]
加入的版本:
2.0
载具
示例:
vehicle of the player is a minecart

Version

模型:
([craft]bukkit|minecraft|skript)( |-)version
加入的版本:
2.0
服务器 MC 插件的版本
示例:
message "This server is running Minecraft %minecraft version% on Bukkit %bukkit version%"
message "This server is powered by Skript %skript version%"

Weather

模型:
[the] weather [(in|of) %worlds%]
%worlds%'[s] weather
加入的版本:
1.0
当前世界的天气
示例:
set weather to clear
weather in "world" is rainy

World

模型:
[the] world [of %entity/location%]
%entity/location%'[s] world
加入的版本:
1.0
事件发生的世界
示例:
world is "world_nether"
teleport the player to the world's spawn
set the weather in the player's world to rain

Worlds

模型:
[(the|all)] worlds
加入的版本:
1.0
服务器所有世界
示例:
loop all worlds:
	broadcast "You're in %loop-world%" to loop-world

X of Item

模型:
%number% of %item stacks/entity type%
加入的版本:
1.2
定义物品的数量
示例:
give level of player of pickaxes to the player

Yaw / Pitch

模型:
[the] (yaw|pitch) of %locations%
%locations%'[s] (yaw|pitch)
加入的版本:
2.0
仰角 朝向
示例:
log "%player%: %location of player%, %player's yaw%, %player's pitch%" to "playerlocs.log"

循环

Loop循环会在满足条件的情况下反复执行效果,经典的Loop循环格式是这样的:

loop <expression to loop>:
	<condition(s)>
	<effect(s)>

一个循环将会不断地检测表达式的所有元素,如 所有玩家 世界 物品等。

Loop中的条件和效果会被这些元素使用。

条件可以是 ‘loop-<元素>’, 如 send "hello" to loop-player.

当一个循环中的一个条件不满足循环将开始循环的下一个元素。你可以使用stop来直接停止循环。

简单的循环可以在包括表达式后被一个条件或效果替换。如给所有人火把可以替换循环检测所有玩家然后给予火把。

可以循环的值

不止一个变量的表达式都可以参加循环。如 ‘all players’, ‘worlds’, 等。兼容所有的变量,也可以被循环使用。

你也可以使用表达式列表,如循环受害者和攻击者,然后使他们执行一些代码。

变量列表

当循环变量列表时,也可以使用 loop-index ,这是循环 loop-value 的另一种方式。

loop-value 是当前循环变量的值, loop-index 是变量最后部分的名字 (可以使用通配符*)。下面的示例将在列表变量中增加所有的值:

loop {var::*}:
	set {var::%loop-index%} to loop-value + 1

While循环

从2.0版本开始你就可以使用While循环,只要满足条件,将只保持重复的循环。While的循环格式是这样的:

while <condition>:
	<code>

请注意这种类型的循环,如果条件满足将会一直执行。

命令

创建Skript自定义命令并不难,但是Skript不适合创建其他已有插件命令,请创造全新的指令。

自定义指令基础语法如下

command /commandname <arguments>: # arguments are explained below
	description: A description of what this command does
	usage: How to use the command, e.g. /commandname <arguments>  # If omitted this defaults to something similar to how the command was defined above.
	permission: required.permission.to.use.this.command  # If omitted this command can be used by everyone regardless of permissions.
	permission message: Message to send if the player doesn't have the required permission to use this command  # If omitted this defaults to "You don't have the required permission to use this 
command"
	executable by: players/console/players and console  # If omitted this command can be executed by players and the console.
	aliases: /c, /comname. # a list of aliases of the command which are usually abbreviations of the command
	trigger:
		put conditions and effects here that will be checked/executed when the command is used.
解:
command /XXXXXX 参数[可选]:
    描述:
    如何使用:
    权限:
    没有权限是显示的信息:
    可以被XX执行:
    别名:
    触发器:

命令的参数是这样的<argtype> 或这样的 <argtype = 默认值>, <item> or <item=water bucket>。

默认值也可以是一个表达式 in which case it has to be put into percent signs: <item=%tool%>.

参数也可以用文字表示,如:

command /give <items> to <player>:

这个指令的格式为 /give a diamond to Njol.

你可以将可选参数用[ ]扩起,如在某半径内寻找某种怪物类型——

command /find <entity type> [in radius <integer=100>]

.

这样的命令可以这样用 /find creepers or /find zombies in radius 20, where the radius will default to 100 if omitted.

这是一个简单的自定义指令的例子:

  1. 获取手中物品的ID
command /id <item=%tool%>:
	description: Find the ID of the item you're holding, or any given one.
	usage: /id [type]
	executable by: players
	trigger:
		message "The ID of %arg 1% is %id of arg 1%"

自定义命令可以写在脚本的任何地方——命令不需要事件。

如果一个命令与一些触发器有关,我建议把命令和触发器放到同一文件,否则就可以把它放到任何文件中。

你可以写一个包含所有指令的大脚本,或给每个指令单独的脚本。

下面是生成一个可以用金粒换治疗的自定义命令:

command /healer:
	permission: healer.create
	description: spawns a healer villager which can heal players
	trigger:
		spawn a priest
		set {healers::%spawned villager%} to true
		set the name of the spawned villager to "Healer"
 
on rightclick on a priest:
	player has permission "healer.use"
	player is holding a gold ingot
	{healers::%clicked villager%} is true
	player's health is below 10
	heal the player by 5 hearts
	remove 1 gold ingot from the player

类型

这里是Skript使用的类型.类型是一种物体,如玩家 数字 文本。

许多类型如果作为命令参数时可以使用<type> 如<number>,并且几乎所有的类型都可以作为循环特殊值 loop-type 如 loop-block。

类型名字列出了每个类型的名字。

上面列出的用于每个类型的模式的参数描述了如何在脚本中定义类型的实例, 如 如何正确的包括文本 或 如何写一个数字。

类型参数通常不包括表示类型实例的任何表达式,如方块不能在脚本中被定义,但你可以使用表达式去获取。

Biome

类型参数:
swampland, forest, taiga, desert, plains, hell, sky, ocean, river, extreme hills, frozen ocean, frozen river, ice plains, ice mountains, mushroom island, mushroom shore, beach, desert hills, forest hills, taiga hills, small mountains, jungle, jungle hills
类型名字:
biome[s]
加入的版本:
1.4.4
构成世界的生物群系
示例:
biome at the player is desert

Block

类型参数:
不能在脚本中使用
类型名字:
block[s]
加入的版本:
1.0
世界中的一个方块,经常包括位置 类型,同时也拥有一个朝向,内容物或其他配置。

Boolean

类型参数:
true/yes/on or false/no/off
类型名字:
boolean[s]
加入的版本:
1.0
信标
示例:
set {config.%player%.use mod} to false

Chunk

类型参数:
不能在脚本中使用
类型名字:
chunk[s]
加入的版本:
2.0
区块

Colour

类型参数:
black, dark grey/dark gray, grey/light grey/gray/light gray/silver, white, blue/dark blue, cyan/aqua/dark cyan/dark aqua, light blue/light cyan/light aqua, green/dark green, light green/lime/lime green, yellow/light yellow, orange/gold/dark yellow, red/dark red, pink/light red, purple/dark purple, magenta/light purple, brown/indigo
类型名字:
colo[u]r[s]
加入的版本:
unknown
羊毛 染料和聊天颜色。
请注意,相同的颜色适用于聊天和羊毛,所以你可以使用任何颜色来彩色聊天,如 message "<%colour of sheep%>this colour"

但Minecraft中两者还是有些许的不同,最大的差异是聊天中没有棕色,所以这里有另一种蓝色代替 'brown' 和 'indigo' 是相同的颜色。
示例:
color of the sheep is red or black
set the colour of the block to green
message "You're holding a <%color of tool%>%color of tool%<reset> wool block"

Command Sender

类型参数:
use the console for the console
see player for players.
类型名字:
[command[s]][ ](sender|executor)[s]
加入的版本:
1.0
玩家或控制台
示例:
on command /pm:
	command sender is not the console
	chance of 10%
	give coal to the player
	message "You got a piece of coal for sending that PM!"

Damage Cause

类型参数:
contact, attack, projectile, suffocation, fall, fire, burning, melting, lava, drowning, block explosion, entity explosion, void, lightning, suicide, starvation, poison, potion, wither, falling block, thorns, unknown
类型名字:
damage cause[s]
加入的版本:
2.0
伤害的来源
请注意有时这些不是很准确,如 岩浆 火焰 燃烧, 同时弹射物和攻击也要考虑不同类型

Date

类型参数:
不能在脚本中使用
类型名字:
date[s]
加入的版本:
1.4
真实世界的时间
示例:
set {_yesterday} to now
subtract a day from {_yesterday}
# now {_yesterday} represents the date 24 hours before now

Direction

类型参数:

see direction (expression)
类型名字:
direction[s]
加入的版本:
2.0
一个方向,如 north, east, behind, 5 south east, 1.3 meters to the right, etc.
一些方块同样有方向,然并没有文本
请注意有些方向在更新时被更改,请最好不要使用为指令参数
示例:
set the block below the victim to a chest
loop blocks from the block infront of the player to the block 10 below the player:
	set the block behind the loop-block to water

Enchantment

类型参数:
protection, respiration, punch, projectile protection, smite, fortune, infinity, feather falling, flame, knockback, sharpness, aqua affinity, looting, fire aspect, silk touch, blast protection, power, thorns, efficiency, fire protection, bane of arthropods, unbreaking, luck of the sea, lure
类型名字:
enchantment[s]
加入的版本:
1.4.6
附魔类型

Enchantment Type

类型参数:
<enchantment> [<level>]
类型名字:
enchant(ing|ment) type[s]
加入的版本:
1.4.6
附魔类型+等级 如 'sharpness 2' or 'fortune'.
示例:
enchant the player's tool with sharpness 5
helmet is enchanted with waterbreathing

Entity

类型参数:
player, op, wolf, tamed ocelot, powered creeper, zombie, unsaddled pig, fireball, arrow, dropped item, item frame, etc.
类型名字:
entit(y|ies)
加入的版本:
1.0
实体
示例:
entity is a zombie or creeper
player is an op
projectile is an arrow
shoot a fireball from the player

Entity Type

类型参数:
请等待作者更新,这里是空的
类型名字:
entity[ ]type[s]
加入的版本:
1.3
实体的类型
示例:
victim is a cow
spawn a creeper
targeted entity is an enderman holding a rose
spawn 10 red, green or blue sheep
spawn a falling anvil 4 meters above the player
kill all skeleton horses in all worlds

Entity Type with Amount

类型参数:
<number> <entity type>
类型名字:
cannot be used directly
加入的版本:
1.3
算上数量的实体类型, 如 '2 zombies'.未来将被移除
示例:
spawn 5 creepers behind the player

Experience

类型参数:
[<number>] ([e]xp|experience)
类型名字:
cannot be used directly
加入的版本:
2.0
经验点数
示例:
give 10 xp to the player

Game Mode

类型参数:
creative/survival/adventure
类型名字:
game[ ]mode[s]
加入的版本:
1.0
游戏模式
示例:
player's gamemode is survival
set the player argument's game mode to creative

Inventory

类型参数:
不能在脚本中使用
类型名字:
inventor(y|ies)
加入的版本:
1.0
物品栏.

Inventory Slot

类型参数:
不能在脚本中使用
类型名字:
[inventory ]slot[s]
加入的版本:
unknown
物品栏的槽位。值得注意的是装备槽和熔炉槽。
区分一个槽位最正确且重要的方式是看它能否被切换的能力。
如,它能否被设置,删除,附魔等。
(一些表达式也能如此改变,如变量储存的物品。对于变量,只有当变量被设置时,它们所表示的项目才是它们所代表的项目). 
请注意,工具也占一个槽位,但它实际上可以改变它的位置,即它可以表示不同的槽位。
示例:
set tool of player to dirt
delete helmet of the victim
set the colour of the player's tool to green
enchant the player's chestplate with projectile protection 5

Item / Material

类型参数:
[<number> [of]] <alias> [of <enchantment> <level>],  <alias> 必须是表示一个项目的别名 (不能像后面的常规名 'sword' / 'plant')
类型名字:
item
material
加入的版本:
1.0
一个物品。 不同于项目类型的一个项目只能代表一个项目 (如 an upside-down cobblestone stair facing west), 一个项目类型可以代表一个项目的整个范围(如 any cobble stone stairs regardless of direction).
除了当你想做一个只接受一个确切项目的指令时,你通常不需要这种类型。
请注意当前的material是精确的物品,不能有数量/附魔
示例:
set {_item} to type of the targeted block
{_item} is a torch

Item Type

类型参数:
[<number> [of]] [all/every] <alias> [of <enchantment> [<level>] [,/and <more enchantments...>]]
类型名字:
item[ ]type[s]
items
materials
加入的版本:
1.0
同上,但可以有附魔和数量
示例:
give 4 torches to the player
add all slabs to the inventory of the block
player's tool is a diamond sword of sharpness
remove a pickaxes of fortune 4 from {stored items::*}
set {_item} to 10 of every upside-down stair
block is dirt or farmland

Living Entity

类型参数:
见实体类型
类型名字:
living[ ]entit(y|ies)
加入的版本:
1.0
一个存活的实体
示例:
spawn 5 powered creepers
shoot a zombie from the creeper

Location

类型参数:
See location at (expression)
类型名字:
location[s]
加入的版本:
1.0
世界的一个位置,当你传送时你会保持原来的仰角和方向,你可以手动设置。

Money

类型参数:
<number> $ or $ <number>, where '$' is your server's currency, e.g. '10 rupees' or '£5.00'
类型名字:
cannot be used directly
加入的版本:
2.0
当前玩家的金钱数。这个需要Vault和一个经济插件的安装。
示例:
add 10£ to the player's account
remove Fr. 9.95 from the player's money
set the victim's money to 0
increase the attacker's balance by the level of the victim * 100

Number

类型参数:
[-]###[.###] (any amount of digits; very large numbers will be truncated though)
类型名字:
num[ber][s]
加入的版本:
1.0
一个数字,如 2.5, 3, or -9812454.
请注意一些表达式只需要整数,否则会在不产生错误的情况下丢弃小数部分。
示例:
set the player's health to 5.5
set {_temp} to 2*{_temp} - 2.5

Object

类型参数:
不能在脚本中使用
类型名字:
cannot be used directly
加入的版本:
1.0
''The supertype of all types, meaning that if %object% is used in e.g. a condition it will accept all kinds of expressions.''

Offlineplayer

类型参数:
不能在脚本中使用
类型名字:
offline[ ]player[s]
加入的版本:
unknown
下线的玩家。用来查看更多信息,如果玩家没有在线的话,效果和条件不会工作。

Player

类型参数:
不能在脚本中使用
类型名字:
player[s]
加入的版本:
1.0
一个玩家,一些事件取决于玩家是否在线。如果你使用仅在线玩家能使用的效果的话会报错,如打开不在线玩家的背包。
使用命令参数时,你可以使用 <player> 和 <offline player>. 
第一个需要玩家在线,并且你可以输入他们名字的一部分。第二个不要求玩家在线,但你必须精确地输入名字。

Potion Effect Type

类型参数:
speed, slowness, haste, mining fatigue, strength, instant health, instant damage, jump boost, nausea, regeneration, resistance, fire resistance, water breathing, invisibility, blindness, night vision, hunger, weakness, poison, wither
类型名字:
potion[[ ]effect][[ ]type][s]
加入的版本:
unknown
一个药水效果,如 'strength' 和 'swiftness'.
示例:
apply swiftness 5 to the player
apply potion of speed 2 to the player for 60 seconds
remove invisibility from the victim

Projectile

类型参数:
arrow, fireball, snowball, thrown potion, etc.
类型名字:
projectile[s]
加入的版本:
1.0
一个弹射物
示例:
projectile is a snowball
shoot an arrow at speed 5 from the player

Region

类型参数:
"region name"
类型名字:
cannot be used directly
加入的版本:
2.1
一个区域插件的区域. Skript 目前支持 WorldGuard, Factions, GriefPrevention and PreciousStones.
请注意一些区域插件不会给区域命名,一些只使用ID,另外一些区域在不同世界可以有相同的名字。这样就不会工作了。

Text

类型参数:
simple: "..."
quotes: "...""..."
expressions: "...%expression%..."
percent signs: "...%%..."
类型名字:
(text|string)[s]
加入的版本:
1.0
它就是一个简单的文本,其中如果包含表达式会被表达式内容代替(如 %player% 会被替换成玩家名字).
因为脚本也是文本,你必须把文本放到双引号中。
请阅读文本来获得更多信息
示例:
broadcast "Hello World!"
message "Hello %player%"
message "The id of ""%type of tool%"" is %id of tool%."

Time

类型参数:
##:##
##[:##][ ]am/pm
类型名字:
time[s]
加入的版本:
1.0
Minecraft的时间(如 0:00 to 23:59), 可以是任何世界
更多查看Date和Timespan
示例:
at 20:00:
	time is 8 pm
	broadcast "It's %time%"
====Timeperiod====
<pre>类型参数:
##:## - ##:##
dusk/day/dawn/night
类型名字:
time[ ]period[s]
duration[s]
加入的版本:
1.0
时间在两者中间。 它很有用,因为你可以用这个来测试在一个特定的世界是否是白天,黑夜,黄昏或黎明。
这个类型在未来会被移除因为你可以使用 'time of world is between x and y' 作为代替.

示例:

time in world is night

Timespan

类型参数:
<number> [minecraft/mc/real/rl/irl] ticks/seconds/minutes/hours/days [[,/and] <more...>]
[###:]##:##[.####] ([hours:]minutes:seconds[.milliseconds])
类型名字:
time[ ]span[s]
加入的版本:
1.0
两个时间之间的差异,如 '10 minutes'. Timespans 经常被现实时间使用, 但也可以用在MC时间中,如 '5 minecraft days and 12 hours'.
See date and time for the other time types of Skript.
示例:
every 5 minecraft days:
	wait a minecraft second and 5 ticks
every 10 mc days and 12 hours:
	halt for 12.7 irl minutes, 12 hours and 120.5 seconds

Tree Type

类型参数:
[any] <general tree/mushroom type>, e.g. tree/any jungle tree/etc.
<specific tree/mushroom species>, e.g. red mushroom/small jungle tree/big regular tree/etc.
类型名字:
tree[ ]type[s]
tree[s]
加入的版本:
unknown
树的类型,可以用在生成树中
示例:
grow any regular tree at the block
grow a huge red mushroom above the block

Type

类型参数:
See the type name patterns of all types - including this one
类型名字:
type[s]
加入的版本:
2.0
详见本节
经常被用在表达式中,如 'event-<type>', '<type>-argument', 'loop-<type>', etc., e.g. event-world, number-argument and loop-player.
示例:
{variable} is a number # check whether the variable contains a number, e.g. -1 or 5.5
{variable} is a type # check whether the variable contains a type, e.g. number or player
{variable} is an object # will always succeed if the variable is set as everything is an object, even types.
disable PvP in the event-world
kill the loop-entity

Visual Effect

类型参数:
ender signal, mobspawner flames, potion break, smoke, hurt, sheep eating, wolf hearts, wolf shaking, wolf smoke
类型名字:
(visual|particle) effect[s]
加入的版本:
2.1
可见效果,如粒子
示例:
show wolf hearts on the clicked wolf
play mob spawner flames at the targeted block to the player

Weather Type

类型参数:
clear/sun/sunny, rain/rainy/raining, and thunder/thundering/thunderstorm
类型名字:
weather[ ]type[s]
weather condition[s]
weather[s]
加入的版本:
1.0
天气类型
示例:
is raining
is sunny in the player's world
message "It is %weather in the argument's world% in %world of the argument%"

World

类型参数:
"world_name", e.g. "world"
类型名字:
world[s]
加入的版本:
1.0
服务器的一个世界。世界需要放在双引号中,如 "world_nether", 但这可能不会工作因为文本也用双引号.
示例:
broadcast "Hello!" to "world_nether"

文本

基础文本

在脚本中使用文本非常的简单。

如,想要给玩家发送‘Hello!’你可以使用

 send "Hello!" to pl ayer

你必须在文本旁用双引号

" "

括起来使用文本。如果要在文本中使用双引号的话,变成这样

"" "" 
"What's this ""thing"" you're talking about?"

如果你想在文本中使用玩家名称的话,使用%player%来代替。

如 send "Hello %player%!" to player 会给作者发送 ‘Hello Njol!’ 。

类似的表达式都可以工作,如 message "The block above the block you're looking at is a %block above targeted block%".

如果你想要使用百分号的话,双写——

 "100%%!"

颜色与格式

颜色和格式在消息中可以有两个方式存在。

一是普通的 ‘&x’/‘§x’ 颜色代码

二是使用Skript的 <colour> 代码,如

broadcast "<red><bold>Important Information:<reset> <blue><u>This server needs more mods!"

你也可以在文本中使用玩家物品的颜色,如

 "<%colour of tool%>this text is coloured depending on the player's held item!"

简单的颜色和格式如——

可用的颜色和格式
: black, dark grey/dark gray, grey/light grey/gray/light gray/silver, white, blue/dark blue, cyan/aqua/dark cyan/dark aqua, light blue/light cyan/light aqua, green/dark green, light green/lime/lime green, yellow/light yellow, orange/gold/dark yellow, red/dark red, pink/light red, purple/dark purple, magenta/light purple, brown/indigo
chat styles: bold/b, italics/italic/i, strikethrough/strike/s, underlined/underline/u, magic, reset/r

其他语言也许可以使用其他颜色,但可用的极少。如,使用颜色方面的表达式[对颜色指令很有用],脚本经常使用英文的颜色代码。

高级语法

Skript 2.0版本及以上可以比只把他们放到文本中更高级的使用名词——

"a %expression" 或 "an %expression"将把适合的文字放入表达式,如 “a fish”, “an apple”, 或 “a pickaxe and an emerald”.

这类似的,将允许使用 the("the %expression%"), 即使这在英语中几乎不明显, 只有一些名词,如“空气”将在这种情况下的文章下完全删除。

请注意其他语言你需要使用那个语言的文章,如德语 "der %expression" or "ein %expression%" <Ref>我是来翻译英语的不是翻译德语的(╯‵□′)╯︵┻━┻</ref>

"%expression%s" 兼容 "<数字> %expression%" (数字比1大) 将会使后面的表达式使用复数 。

如 "2 %block%" 会表现出 “2 logs” (数字也可以在另一个表达式使用,如 "%number-argument% %item-argument%" 会出现 “5 pickaxes” 或 “1 pickaxe”).

这个语法会在任何语言使用。

变量名

变量名与文本十分相似,不过你需要用{ }括起。

 {变量}

表达式不适用高级语法。

变量

变量是Skript储存数据的方式,所有的变量都有一个名字,一个值。

你可以把变量放在任何地方去替换一些东西,如用变量的位置来替换一个位置。

这可以用简单的家指令:做一个变量'home',然后再输入指令时传送到这个位置。

如要使用变量,把它的名字放到{ }内,像这样: {变量名}. 变量的名字经常包含表达式,如要为所有玩家每人一个家,变量名应使用 {home.%player%} 。

当变量载入时 %player% 将会被替换成玩家名字。

所有的变量都在‘variables.csv’ 中储存,它可在插件的目录里找到。请不要自行修改文件。如果你做错了一些东西一些变量会永久失效。 变量只是会时常写入这里,所以服务器崩溃也许会是你丢失一些变量。

从 2.0 版本开始将可以允许你使用数据库,这样你就可以共享变量。

有3种类型的变量: 普通变量,本地变量和选项变量。

普通变量是独一无二的,在插件中只能有一个普通变量叫这个名字,它们在服务器重启时会被保存。

本地变量的格式是{_名字}这样的,允许不同脚本有相同名字的本地比那里,如下面的触发器:

on join:
  set {_player} to player
  wait a minute
  message "%{_player}%" # the local variable is unchanged no matter how many players joined in the meantime

如果是普通变量的话会把全局的player都展示出来

本地变量在没有它们的用处的时候会被自动删除,并不会使用存储器,但当服务器重启或脚本重载时本地变量会丢失。

选项变量的格式是这样的:

options:
  option name = option value

在调用选项变量的时候你可以使用 {@option name}. 这将会在触发器运行之前把变量内容完全替换为你设置的变量值。

所以你可以把任何东西放到选项变量中,甚至是脚本。 不要在选项变量中使用百分号,会保留。

变量的列出

列出变量的变量是这样的

 {variable name::*} 

并且可以添加元素并使用默认的添加和移除效果移除元素,当被删除时会删除所有在列表上的值。

您可以使用{variable name::index}访问变量列表的特定值:其中index是那个特定值。特定值可以是任何东西,如一个玩家的名字,数字,但当为列表增加变量时,新的特定值会变成一个数字。

变量列表可以这样被循环

 {list variable::*}

其中循环值可以使用 loop-value 特定值可以使用 loop-index.

列出变量对于在消息中展示一些列表很有用,如一些在线的管理员,首先把他们列到同一变量,然后使用列出变量。(见下方的例子).

最好是使用本地变量列表{_local list variable::*}

好吃的栗子

这里是一些栗子

检查一共有多少人登入进你的服务器过:

# if you add a 'variables:' section to your script, the variables defined there will be set to the given value if they don't exist
# when the script is loaded. You cannot change an existing variable's value this way however, in particular if you
# change the variables' values here the actual variables will not be changed at all.
variables:
	{logincount} = 0
 
on login:
	add 1 to {logincount}
 
command /logincount:
	description: Find out how many people have ever logged into this server
	trigger:
		message "Since its beginnings <green>%{logincount}%<reset> people have logged into this server"

简单的home脚本:

command /sethome:
	permission: skript.home
	description: Set your home
	trigger:
		set {home.%player%} to location of player
		message "Set your home to <grey>%location of player%<reset>"
 
command /home:
	permission: skript.home
	description: Teleport yourself to your home
	trigger:
		if {home.%player%} is not set:
			message "You have not set your home yet!"
			stop trigger
		teleport player to {home.%player%}

显示在线管理员的脚本

:
command /staff:
	description: Shows online staff
	trigger:
		loop all players:
			loop-player has permission "is.staff"
			add loop-player to {_online staff::*}
 
		size of {_online staff::*} is 0:
			message "No staff currently online! Happy griefing ;)!"
		else:
			message "Online staff: %{_online staff::*}%"

可以Shift右键发射火焰弹的脚本(可以通过设置options来编辑冷却时间,使用后的虚弱时间) (注意:虚弱时间可以被叠加,即使用2或以上次火焰弹会将虚弱时间叠加到5秒以上) 作者:0ojixueseno0

options:
	#冷却时间
	cooldown: 3 seconds
	#虚弱时间
	debufftimes: 5 seconds
on right click with a fire charge:
	if player is sneaking:
		set {_cooldown} to difference between {cd.%player%.fireball} and now
		if {_cooldown} is less than {@cooldown}:
			send action bar "&c&l火焰弹冷却中" to player
			stop
		else:
			remove a fire charge from player's inventory
			shoot a fireball from the player with speed 0.001
			apply weakness of tier 2 to the player for {@debufftimes}
			set {cd.%player%.fireball} to now
	else:
		stop
on load:
	send "[ThrownFireball] &b丢出火焰弹 &a已加载" to console
on unload:
	send "[ThrownFireball] &b丢出火焰弹 &c已卸载" to console