메타스킬, 아이템드랍, 스포너의 스폰에 여러 조건을 적용하는 옵션.
여러 조건을 적용 할 때 작업을 실행하려면 모든 조건을 충족해야합니다.
일부 조건에서는 배열을 쉼표로 나눌 수 있습니다.
이러한 조건은 배열의 문자열 중 하나만 일치하면됩니다.
종류:
Condition 옵션은 크게 두가지로 나뉩니다.
1. 일반조건: 엔티티나 특정위치, 혹은 둘다에서 사용될 수 있는 조건
2. 비교조건: 두개의 엔티티나 두개의 위치가 필요한 조건. (이 조건은 Skill.yaml 의 TargetConditions 에서만 사용가능하다.)
스킬에 Conditions 노드에 사용되는 조건들 :
모든 조건을 사용할 수 있습니다.
캐스터는 항상 점검 할 엔티티(the entity that will be checked.)입니다. 모든 조건을 사용할 수 있지만
여기서 두 엔티티를 비교하는 조건(비교조건)은 의미가 없습니다.
스킬에 TargetConditions노드에 사용되는 조건들 :
모든 조건을 사용할 수 있습니다.
TargetConditions 노드는 스킬에서만 사용할 수 있습니다.
비교 엔티티는 해당 스킬의 대상에 따라 다릅니다.
@self스킬을 사용하는 경우. 비교할 엔티티는 캐스터입니다.
스킬이 다른 대상에게 발동되는 경우. 비교할 엔티티 or 위치는 대상입니다.
예)
1. Conditions 노드
Conditions:
- globalscore{objective=Test;v=>10}
이렇게 되었을때 해당조건을 점검할 엔티티는 시전자입니다.
2. TargetConditions노드
TargetConditions:
- globalscore{objective=Test;v=>10}
이렇게 되었을때 해당조건을 점검할 엔티티는 타겟입니다.
**CompareConditions 은 TargetConditions노드에서 의미가 있습니다.
왜냐면 두개의 엔티티를 비교할때 하나는 항상 시전자이고, 다른 하나는 타겟 엔티티이기 때문입니다.
Conditions 노드에서 사용한다면 시전자와 타겟은 항상 동일할것입니다.
4.0.0부터 새로운 format이 생겼습니다.
Conditions:
- condition [variable]
- condition [variable] [action]
- condition [variable] [action] [action_variable]
- condition{variable1=value;variable2=value} [action] [action_variable]
action변수는 각 조건마다, 조건이 충족되거나 충족되지 않을때 스킬이 어떻게 반응할것인지를 정합니다.
아래에 예시가 있습니다.
Conditions:
- day required
- stance defensive power 0.5
- stance{stance=defensive} power 0.5
- score{objective=test;value=>20} cancel
- haspotioneffect{type=POISON;level=>0;duration=0to100} true
action 변수의 종류
required (or true) 만족하지않으면 스킬을 실행X | The condition is required for the skill to run. |
cancel (or false) 만족하지 않아야지만 스킬실행 | The skill will not run if this condition is met. |
power [multiplier] 스킬의 힘을 수정 | Modifies the skill's power (e.i. power 2.0 would double the skill's power) |
cast [skill] 추가 스킬을 실행 | Casts an additional skill if the condition is met. |
castinstead [skill] 이 스킬 대신 다른스킬을 실행 | Casts a different skill instead if the condition is met. |
범위
범위값은 # to # 또는 #-# 형식을 사용합니다 .
범위에서 음수를 사용하려면 "-"대신 "to"를 사용해야합니다.
예를 들어 거리 조건은 다음과 같습니다.
TargetConditions:
- distance{d=1to10} true
Conditions:
- altitude{a=1-5}
conditions 의 종류
Altitude | Entity | Tests how far above the ground the target entity is 대상이 지상에서 얼마나 떨어져있는지 |
Biome | Location | Tests if the target is within the given list of biomes 대상이 지정된 바이옴내에 있는지 체크 |
BlockType | Location | Tests the material type present at the target location 대상 위치의 블록타입 |
Blocking | Entity | Tests if the target entity is blocking with a shield 대상이 방패로 막혀있는지 |
Crouching | Entity | Whether or not the target entity is crouching 대상이 웅크리고 있는지 |
Cuboid | Compare | Whether the target is within the given cuboid between location1 x location2 대상이 location1 x location2 직육면체 공간 안에 있는지 |
Dawn | Location | If the time is dawn, from 22000 to 2000 in-game time 시간이 새벽인지 |
Day | Location | If the time is day, from 2000 to 10000 in-game time 시간이 낮인지 |
Distance | Compare | Whether the distance between the caster and target is within the given range 캐스터와 대상 사이의 거리가 지정된 범위 내에 있는지 여부 |
DistanceFromSpawn | Location | Whether the distance from the world's spawn point to the target is within the given range 월드 스폰 지점에서 대상까지의 거리가 지정된 범위 내에 있는지 여부 |
Dusk | Location | If the time is dusk, from 14000 to 18000 in-game time. 시간이 황혼 인 경우 |
EntityType | Entity | Tests the entity type of the target 대상의 엔티티 타입 |
FallSpeed | Entity | If the fall speed of the target is within the given range 대상의 낙하속도가 지정된 범위내에 있는경우 |
FieldOfView | Compare | Tests if the target is within the given angle from where the caster is looking 대상이 시전자를 바라 보는 각도에서 주어진 각도 내에 있는지 테스트 |
Gliding | Entity | If the target is gliding 대상이 활공중인 경우 |
Globalscore | Entity | Checks a global scoreboard value 글로벌 스코어 보드 값을 확인 |
HasAura | Entity | Checks if the target entity has the given aura 대상 엔터티에 지정된 아우라가 있는지 확인 |
HasAuraStacks | Entity | Tests if the target has the given range of stacks from an aura 대상이 아우라에서 주어진 범위의 스택을 가지고 있는지 테스트 |
HasCurrency | Entity | If the target has the given amount of vault currency 지정된 금액의 금고통화가 있는경우 |
HasInventorySpace | Entity | If the target has the given amount of empty inventory space 지정된양의 빈 인벤토리가 있는경우 |
HasOwner | Entity | Tests if the target mob has an owner 타겟 몬스터의 소유자가 있는지 |
HasParent | Entity | Tests if the target mob has a parent 타겟 몬스터의 부모가 있는지 |
HasPotionEffect | Entity | Tests if the target entity has a potion effect 대상에 물약효과가 있는지 |
HasTag | Entity | Tests if the target has a scoreboard tag 대상에 스코어 보드 태그가 있는지 테스트 |
Haspermission | Entity | Tests if the target player has a permission 대상 플레이어에 권한이 있는지 테스트 |
Health | Entity | Matches the target's health 대상의 HP를 체크 |
Height | Location | Checks if the target's Y location is within a range 대상의 Y 위치가 범위 내에 있는지 확인 |
HeightAbove | Location | Checks if the target's Y location is above a value 대상의 Y 위치가 값보다 큰지 확인 |
HeightBelow | Location | Checks if the target's Y location is below a given value 대상의 Y 위치가 지정된 값보다 낮은 지 확인 |
Holding | Entity | Checks if the target is holding a given material 대상이 주어진 재료를 들고 있는지 확인 |
Inblock | Location | Checks the material at the target location 해당장소의 블럭을 확인 |
Incombat | Entity | If the target mob is considered in combat |
Inside | Location | Checks if the target has a block over their head 머리위에 블럭이 있는지 |
ItemRecharging | Entity | Checks if the target's weapon is recharging 대상의 무기가 재충전 중인지 확인 |
LastDamageCause | Entity | Checks the target's last damage cause 대상의 마지막 피해 원인 확인 |
LastSignal | Entity | Matches the last signal received by the target mob 대상 몬스터가 받은 마지막 신호와 일치 |
Level | Entity | Checks the target MythicMob's level 대상 MythicMob의 레벨을 확인합니다 |
LightLevel | Location | Tests the light level at the target location 대상 위치의 밝기 수준을 테스트합니다 |
LineOfSight | Compare | Tests if the target is within line of sight of the caster 대상이 시전자의 시야 내에 있는지 테스트합니다. |
LunarPhase | Location | Checks the target world's lunar phase 대상 세계의 달의 위상을 확인 |
Mobsinchunk | Location | Matches a range to how many mobs are in the target location's chunk 대상 위치 청크에있는 몹의 수와 범위를 일치시킵니다. |
Mobsinworld | Location | Matches a range to how many mobs are in the target world 대상 세계에 몇 명의 몹이 있는지에 대한 범위와 일치 |
Mounted | Entity | If the target entity is riding a mount/vehicle 대상 엔티티가 마운트 / 차량을 타고있는 경우 |
Moving | Entity | If the target has a velocity greater than zero 대상의 속도가 0보다 큰 경우 |
MythicMobType | Entity | Checks the MythicMob type of the target mob 대상 군중의 MythicMob 타입을 확인합니다 |
Night | Location | If the time is night, from 14000 to 22000 in-game time 시간이 밤인지 확인 |
NotInRegion | Location | If the target location is not within the given WorldGuard region 대상 위치가 지정된 WorldGuard 지역 내에없는 경우 |
OffGCD | Entity | Checks if the target mob has an active Global Cooldown 대상 몹에 활성화 된 전역 재사용 대기 시간이 있는지 확인합니다. |
OnBlock | Location | Matches the block the target entity is standing on 대상 엔티티가 서있는 블록과 일치 |
OnGround | Entity | If the target entity is standing on solid ground 대상 실체가 단단한 바닥에 서있는 경우 |
Outside | Location | If the target has open sky above them 대상의 위가 열린 하늘일 경우 |
Owner | Compare | Checks if the target entity is the owner of the caster 대상 엔터티가 캐스터의 소유자인지 확인 |
OwnerIsOnline | Entity | Checks if the owner of the target mob is online, if the owner is a player 소유자가 플레이어 인 경우 대상 몹의 소유자가 온라인인지 확인 |
Pitch | Entity | Checks if the pitch of the target entity is within a range 대상 엔티티의 pitch가 범위내에 있는지 확인 |
PlayerKills | Entity | Matches how many players the target mob has killed 대상 몹이 죽인 플레이어 수와 일치 |
PlayerNotWithin | Location | Checks if any players are within a radius of the target 플레이어가 대상의 반경 내에 없는지 확인 |
PlayerWithin | Location | Checks if any players are within a radius of the target 플레이어가 대상의 반경 내에 있는지 확인 |
Raining | Location | If it's raining in the target world 목표 세계에 비가 내린다면 |
Region | Location | If the target is within the given WorldGuard region 대상이 지정된 WorldGuard 지역 내에있는 경우 |
Score | Entity | Checks a scoreboard value of the target entity 대상 엔터티의 스코어 보드 값을 확인합니다 |
Stance | Entity | Checks the stance of the target mob 타겟 몬스터의 자세를 확인 |
StringEquals | Meta | Checks if value1 equals value2. Both values can use variables and placeholders. value1이 value2와 같은지 확인합니다. 두 값 모두 변수와 자리 표시자를 사용할 수 있습니다. |
Sunny | Location | If the weather is sunny in the target world. 대상 세계에서 날씨가 맑은 경우. |
TargetInLineOfSight | Entity | Tests if the target has line of sight to their target 서로 마주보고있는지 확인 |
TargetNotInLineOfSight | Entity | Tests if the target doesn't have line of sight to their target 서로 마주보고있지 않는지 확인 |
TargetWithin | Entity | Tests if the target's target is within a certain distance 대상의 타겟이 범위내에 있는지 확인 |
Targetnotwithin | Entity | Tests if the target's target is not within a certain distance 대상의 타겟이 범위내에 없는지 확인 |
Targets | Meta | Tests if the number of inherited targets from the parent skilltree matches the given range. 상위 스킬 트리에서 상속 된 대상 수가 주어진 범위와 일치하는지 테스트합니다. |
Thundering | Location | If it's thundering in the target world 대상월드에서 번개가 치고있는지 |
VariableInRange | Meta | Checks if the given numeric variable is within a certain range. 주어진 숫자 변수가 특정 범위 내에 있는지 확인합니다. |
VariableIsSet | Meta | Checks if the given variable is set. 주어진 변수가 설정되어 있는지 |
Variableequals | Meta | Checks if the given variable has a particular value. 주어진 변수에 특정 값이 있는지 확인합니다. |
Wearing | Entity | Tests what the target entity has equipped. 대상 엔터티가 무엇을 갖추고 있는지 테스트합니다. |
World | Location | Checks the name of the target world. 대상 세계의 이름을 확인합니다. |
Worldtime | Location | Matches a range against the target location's world's time. 대상위치의 세계시간과 범위를 일치시킨다 |
Yaw | Entity | Checks the yaw of the target entity against a range. |
최종예시
FlameShock:
Cooldown: 1
Conditions:
- targetwithin 15
- targetinlineofsight true
- incombat
- stance aggressive
- onblock GRASS
- offgcd Skills:
- gcd{t=60}
- message{m="<mob.name> begins casting a spell"}
- potion{t=SLOW;d=60;l=7}
- delay 60 - message{m="<target.name> &ecombusts"}
- effect:particles{p=flame;a=20;hS=3;vS=1;s=0;y=2}
- potion{t=HARM;d=1;l=1}
'마인크래프트 > 플러그인' 카테고리의 다른 글
매직스펠 General Spell Options (0) | 2020.05.18 |
---|---|
미스틱몹 플러그인(mythicmobs) - 5. place holder (0) | 2020.05.11 |
미스틱몹 플러그인(mythicmobs) - 3.여러개의 스킬묶기 (메타스킬) (0) | 2020.05.08 |
미스틱몹 플러그인(mythicmobs) - 2.몬스터의 스킬 (0) | 2020.05.08 |
미스틱몹 플러그인(mythicmobs) - 1.몬스터 (0) | 2020.05.08 |