精英脚本区域
区域是由形状定义的位置,可以被脚本编写者用作目标来执行任何类型的动作。
每个脚本只能设置一个区域。
To target zones, the target type ZONE_FULL or ZONE_BORDER can be used.
Zones themselves also use Script Targets to define were the zone will appear.
shape
设置区域的形状。有效形状:
| Shape Type | Details | Animatable | Border |
|---|---|---|---|
CYLINDER | 圆柱形 | ❌ | ✅ |
SPHERE | 球形 | ❌ | ✅ |
DOME | 穹顶形(半球) | ❌ | ✅ |
CUBOID | 长方体形 | ❌ | ✅ |
STATIC_RAY | 两点之间的固定线 | ❌ | ❌ |
ROTATING_RAY | 两点之间的旋转线 | ✅ | ❌ |
TRANSLATING_RAY | 从两个起始点移动到两个终点的线 | ✅ | ❌ |
CONE | 圆锥形 | ❌ | ✅ |
可动画
带动画的区域在脚本首次被调用时开始区域动画。
This means that if an action has a wait time, when the action starts the zone has already been moving around while the action was waiting.
Zones are always animated on every tick. This means that if you use the SPAWN_PARTICLES action, you can set it to run every tick as the zone will be moving every tick. If you run every second, you will see the particles jumping around as the zone kept moving even on ticks where particles were not spawned.
If you want to make a rotating zone action but want to wait for a set amount of ticks before starting the action, make that a different script and call that script through RUN_SCRIPT. Make sure the RUN_SCRIPT has the wait time you want.
区域在动画完成后会停留在最终位置。
All animatable zones are set to not track on the script targets since the extra movement would make things too hard to understand for scripters and players. This means that these zones will not follow bosses or players around and will always move relative to their initial spawn points.
边界
Certain zones can have borders. Borders mean that ZONE_BORDER can be used as the target of the zone. Borders are defined by creating a second, smaller shape inside the first, larger shape. The area between the smaller zone and the larger zone is the border.
示例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CYLINDER
radius: 4
borderRadius: 3
height: 8
Target:
targetType: SELF
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: SMOKE_LARGE
Target:
targetType: ZONE_BORDER
repeatEvery: 5
times: 20

This script makes smoke particles that only appear in the zone border for 5 seconds (repeat every 5 x times 20 = 100 ticks).
If you did not use the ZONE_BORDER option but the ZONE_FULL option instead then the entire zone would be covered in smoke particles like this:

SPHERE
| Key | Details | Mandatory |
|---|---|---|
shape | Sets the shape of the zone. Should be SPHERE | ✅ |
target | Sets the location for the center of the sphere | ✅ |
filter | Sets which types of entities get targeted | ❌ |
radius | Radius of the sphere | ✅ |
borderRadius | Radius of the inner sphere | ❌ |
示例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: SPHERE
radius: 4
borderRadius: 3
Target:
targetType: SELF
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 5
times: 20

此脚本使用云粒子演示球体的形状。
DOME
| Key | Details | Mandatory |
|---|---|---|
shape | Sets the shape of the zone. Should be DOME | ✅ |
target | Sets the location for the center of the dome | ✅ |
filter | Sets which types of entities get targeted | ❌ |
radius | Radius of the dome | ✅ |
borderRadius | Radius of the inner dome | ❌ |
示例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: DOME
radius: 4
borderRadius: 3
Target:
targetType: SELF
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 5
times: 20

此脚本使用云粒子演示穹顶的形状。
CONE
| Key | Details | Mandatory |
|---|---|---|
shape | Sets the shape of the zone. Should be CONE | ✅ |
target | Sets the location for the apex (tip) of the cone | ✅ |
target2 | Sets the location for the center of the base of the cone | ✅ |
filter | Sets which types of entities get targeted | ❌ |
radius | Radius of the base of the cone | ✅ |
borderRadius | Radius of the inner cone | ❌ |
示例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CONE
radius: 10
Target:
targetType: SELF
offset: 0,0,0
Target2:
targetType: SELF
offset: 0,10,0
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
coverage: 0.8
repeatEvery: 5
times: 20
This script demonstrates the shape of a cone using cloud particles. Keep in mind that this zone is a CONE shape, meaning it is a 3D volume, important to consider if you're aiming to create sweep effects.
CYLINDER
| Key | Details | Mandatory |
|---|---|---|
shape | Sets the shape of the zone. Should be CYLINDER | ✅ |
target | Sets the location for the center of the cylinder | ✅ |
filter | Sets which types of entities get targeted | ❌ |
radius | Radius of the cylinder | ✅ |
borderRadius | Radius of the inner cylinder | ❌ |
height | Height of the cylinder | ✅ |
示例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CYLINDER
radius: 4
borderRadius: 3
height: 8
Target:
targetType: SELF
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 5
times: 20

此脚本使用云粒子演示圆柱的形状。
CUBOID
| Key | Details | Mandatory |
|---|---|---|
shape | Sets the shape of the zone. Should be CUBOID | ✅ |
target | Sets the location for the center of the cuboid | ✅ |
filter | Sets which types of entities get targeted | ❌ |
x | Sets the length of the cuboid | ✅ |
y | Sets the height of the cuboid | ✅ |
z | Sets the width of the cuboid, defaults to x | ❌ |
xBorder | Sets the length of the inner cuboid | ❌ |
yBorder | Sets the height of the inner cuboid | ❌ |
zBorder | Sets the width of the inner cuboid, defaults to x | ❌ |
示例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: CUBOID
x: 4
y: 4
z: 4
xBorder: 3
yBorder: 3
zBorder: 3
Target:
targetType: SELF
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 5
times: 20

此脚本使用云粒子演示长方体的形状。
STATIC_RAY
| Key | Details | Mandatory |
|---|---|---|
shape | Sets the shape of the zone. Should be STATIC_RAY | ✅ |
target | Sets the location for the first point of the line | ✅ |
target2 | Sets the location for the last point of the line | ✅ |
filter | Sets which types of entities get targeted | ❌ |
ignoresSolidBlocks | Sets if the ray will pass through solid blocks. Defaults to true | ❌ |
pointRadius | Sets the thickness of the ray. Default is 0.5 blocks. | ❌ |
示例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: STATIC_RAY
Target2:
targetType: DIRECT_TARGET
offset: 0,1,0
Target:
targetType: SELF
offset: 0,1,0
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 5
times: 20

此脚本使用云粒子演示静态射线的形状。
We have adjusted the height of the zone by using the offset option on both ends of the zone to make the ray appear from the middle of the player and the boss, otherwise the ray would appear at their feet.
ROTATING_RAY
| Key | Details | Mandatory |
|---|---|---|
shape | Sets the shape of the zone. Should be ROTATING_RAY | ✅ |
filter | Sets which types of entities get targeted | ❌ |
target | Sets the location for the first point of the line | ✅ |
target2 | Sets the location for the last point of the line | ✅ |
animationDuration | Sets, in ticks, the amount of time for the rotation | ✅ |
pitchPreRotation | Applies an initial rotation to the pitch before the animation | ❌ |
yawPreRotation | Applies an initial rotation to the yaw before the animation | ❌ |
pitchRotation | Sets the pitch rotation for the animation | ❌ |
yawRotation | Sets the yaw rotation for the animation | ❌ |
ignoresSolidBlocks | Sets if the ray will pass through solid blocks. Defaults to true | ❌ |
pointRadius | Sets the thickness of the ray. Default is 0.5 blocks. | ❌ |
示例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: ROTATING_RAY
animationDuration: 100
pitchPrerotation: 0
yawPrerotation: 0
pitchRotation: 0
yawRotation: 360
ignoresSolidBlocks: true
Target:
targetType: SELF
offset: 0,1,0
Target2:
targetType: DIRECT_TARGET
offset: 0,1,0
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 1
times: 100

此脚本展示了使用云粒子的旋转射线的效果。
First, it creates a ray from the boss to the player who harmed it, using cloud particles. Then, it adjusts the positions slightly upward by one block using offset.
Next, it spins the ray in a full circle around the player who was targeted. This rotation lasts for 5 seconds (100 ticks) to complete, with the targeted player as the center.
TRANSLATING_RAY
| Key | Details | Mandatory |
|---|---|---|
shape | Sets the shape of the zone. Should be TRANSLATING_RAY | ✅ |
filter | Sets which types of entities get targeted | ❌ |
animationDuration | Sets, in ticks, the amount of time for the translation | ✅ |
target | Sets the location for the first point of the line | ✅ |
finalTarget | Sets the location of the destination for the first point of the line | ✅ |
target2 | Sets the location for the second point of the line | ✅ |
finalTarget2 | Sets the location of the destination for the second point of the line | ✅ |
ignoresSolidBlocks | Sets if the ray will pass through solid blocks. Defaults to true | ❌ |
pointRadius | Sets the thickness of the ray. Default is 0.5 blocks. | ❌ |
示例
eliteScript:
Example:
Events:
- EliteMobDamagedByPlayerEvent
Zone:
shape: TRANSLATING_RAY
Target:
targetType: SELF
FinalTarget:
targetType: SELF
offset: 0,10,0
Target2:
targetType: DIRECT_TARGET
FinalTarget2:
targetType: DIRECT_TARGET
offset: 0,10,0
animationDuration: 100
ignoresSolidBlocks: true
Actions:
- action: SPAWN_PARTICLE
particles:
- particle: CLOUD
Target:
targetType: ZONE_FULL
repeatEvery: 1
times: 100

此脚本展示了使用云粒子的移动射线的效果。
First, it creates a ray from the boss to the player who harmed it, using cloud particles.
Then, it animates the ray to go upwards 10 blocks from both targets using the offset on the FinalTarget1 and FinalTarget2.
The animation takes 5 seconds (100 ticks) to complete.
We can easily make the ray move sideways by adjusting the Z offset to something like offset: 0,0,10:

This behavior might change depending on where you're facing in the game.
If we modify the X offset in the script shown in the GIF image, the ray would appear to move away from us in a straight line from our perspective.
filter
The filter property can be used to only target specific entities inside of the zone. These entities can be:
| Value | Details |
|---|---|
PLAYER | 仅目标区域内的玩家(默认) |
ELITE | 仅目标区域内的精英 |
LIVING | 目标区域内的所有生物实体 |
示例
eliteScript:
FilterExample:
Events:
- PlayerDamagedByEliteMobEvent
Zone:
shape: SPHERE
radius: 12
borderRadius: 11
filter: ELITE
Target:
targetType: SELF
track: false
This example script shows how to use the filter to make the zone only target elites.