What's new
Resource icon

mmCustomMechanicsConditions Collection 1.211

** 20.10.2017 *** added targetstarget & triggerstarget targeter. See targeters for details.
** 16.10.2017 *** fixed infront & behind condition as it was never finished. :)
** 14.10.2017 *** fix for MythicMobs RandomSpawn add not working after server start.
** 14.10.2017 *** fix for NPE in MythicPlayer DamageEvent.
** 12.10.2017 *** added lastdamager & crosshair targeter.
** 11.10.2017 *** added invisible option to customsummon mechanic.
** 11.10.2017 *** added mythicfloating and support for location targets to all floating mechanics. See floating mechanics for details.
** 10.10.2017 *** added blockfloating and entityfloating mechanic.
** 10.10.2017 *** fixed npe at first startup.
** 10.10.2017 *** experimental itemfloating mechanic.
*** 9.10.2017 *** fixed several bugs.
*** 9.10.2017 *** added playerweather & playertime conditions.
*** 9.10.2017 *** added asequip mechanic. mainly to equip head of armorstand with any Bukkit Material Type.
*** 9.10.2017 *** added ownertarget targeters. Targets the target of the owner of the mob. (Only work with mm 4.3 or patched 4.2)
*** 9.10.2017 *** added playerweather mechanic. See playerweather for details.
*** 9.10.2017 *** final fix for itemprojectile.
*** 7.10.2017 *** added owneralive condition. See ownerlaive condition for details.
*** 7.10.2017 *** fixed some problems in parsedstance mechanic.
*** 7.10.2017 *** added sideOffset & frontOffset to createhelthbar mechanic. See createhealthbar mechanic for details.
*** 5.10.2017 *** maybe fix for itemprojectile mechanic.
*** 3.10.2017 *** maybe customsummon mechanic npe fix.
*** 30.9.2017 *** added infaction and samefaction conditions. See conditions for details.
*** 29.9.2017 *** added setfaction mechanic. See setfaction mechanic for details.
*** 29.9.2017 *** added usecaster option to setmeta mechanic. See setmeta mechanic for details.
*** 24.9.2017 *** added boolean expression to iteminhand condition. See iteminhand condition for details.
*** 24.9.2017 *** added lookatme condition. See lookatme condition for details.
*** 24.9.2017 *** fixed lore issue in iteminhand condition & added ownsitem alias for it.
*** 24.9.2017 *** added parseddisguise mechanic. See parseddisguise mechanic for details.
*** 24.9.2017 *** added facing true/false for stun mechanic. See stun mechanic for details.
*** 20.9.2017 *** added relativedirection condition. See relativedirection condition for details.
*** 20.9.2017 *** hopefully fixed helper finally.
*** 19.9.2017 *** fixed helper class not loading properly.
*** 19.9.2017 *** added renameentity mechanic. See renameentity for details
*** 19.9.2017 *** added hasitem condition. See hasitem condition for details.
*** 18.9.2017 *** improved grenade skill to work with eyedirection and targetdirection. See grenade mechanic for details.
*** 17.9.2017 *** some improvments and cleanup.
*** 17.9.2017 *** added range value to customsummon amount option.
*** 17.9.2017 *** fixed issue where customsummon not working properly at MythicMobs 4.3
*** 17.9.2017 *** added https://github.com/lucko/helper loader for further usage.
*** 13.9.2017 *** PathfinderGoalReturnHome now 1.10-1.12.1 compatible.
*** 13.9.2017 *** added inmotion condition. See conditions for more details.
*** 12.9.2017 *** added returnhome pathfindergoal. See advaipathfinder for more details. Meanwhile 1_12 only. Needs some more testing.
*** 11.9.2017 *** added Block break chance to PathfinderBreakBlocks. See advaipathfinder for details.
*** 11.9.2017 *** added FacingDirection condition. See FacingDirection condition for details
*** 10.9.2017 *** improved PathfingerGoalFollowEntity. See advaipathfinder for details.
*** 04.9.2017 *** added materialtypes to breakblocks pathfindergoal. See advaipathfinder for details.
*** 04.9.2017 *** added breakblocks pathfindergoal. See advaipathfinder for more details.
*** 01.9.2017 *** added setcachedowner mechanics. See setcachedowner for details.
*** 29.8.2017 *** added tag option to customsummon mechanic. See customsummon for details.
*** 27.8.2017 *** added advrandomskill mechanic. See advrandomskill for details.
*** 27.8.2017 *** maybefix for issue where healthbars are not removed.
*** 27.8.2017 *** fixed an issue where lastdamagecause condition not working propertly.
*** 27.8.2017 *** added mobs config node "onDamageForOtherCause: true/false" to activate onDamage trigger for all none entity damage like lava fire etc... use lastdamagecause to react on the damagecause.
*** 25.8.2017 *** added counter option to createhealthbar mechanic. See createhealthbar for details.
*** 25.8.2017 *** added 1.12.1 support.
*** 10.8.2017 *** added changehealthbar mechanic. See changehealthbar mechanic for details.
*** 10.8.2017 *** fixed createhealthbar mechanic & added display option to skill. See createhealthbar for details.
*** 10.8.2017 *** added createhealthbar mechanic. Requires the holographicdisplay plugin to work. See createhealthbar mechanic for details.
*** 10.8.2017 *** fixed (maybe) several issues with other plugins & fixed mobsinradius compare distance with different worlds.
*** 09.8.2017 *** fixed compatibility issues with 1.10 and 1.11 server.
*** 06.8.2107 *** added followentity pathfindergoal. See advaipathfinder mechanic for details.
*** 06.8.2017 *** added advaipathfinder mechanic, rangedmelee & runfromsun pathfindergoal. See advaipathfinder mechanic for more.
*** 04.8.2017 *** since now, take care of the wiki: https://github.com/BerndiVader/mmCustomSkills26/wiki made by muhahahahahe thx alot to him.
*** 04.8.2017 *** added parsedstance mechanic & parsedstance target/compare condition. See parsedstance mechanic for details.
*** 03.8.2017 *** added meettargeter & elsetargeter to castif mechanic. See castif for details.
*** 01.8.2017 *** fixed some bugs. Fixed compatibility with MM 4.2, added infront, behind & attackable/damageable condition. See conditions for more info.
*** 26.7.2017 *** added patch to fix NaN in player.dat's AbsorptionAmount tag.
*** 20.7.2017 *** some work on item, block & entity projectile. now working with bounce.
*** 19.7.2017 *** final fix for location bug in orbit projectile.
*** 19.7.2017 *** added unequip mechanic. More work on castif, now possible to use it like boolean expressions. See castif for more info.
*** 17.7.2017 *** added inMobArena condition.
*** 16.7.2017 *** added castif mechanic. See CastIf mechanic for details.
*** 14.7.2017 *** added bounce=true/false(default) & bred=0.2f(default) & onbounceskill to effect/mythicprojecitle mechanic Use this options to bounce the projectile.
## CastIf mechanic:

Use this mechanic to compare conditions and targetconditions inside of skills and execute a skill if meet or another if not meet.

Code:
- castif{c="onground true && outside true && playerwithin{d=10} true";tc="onblock grass true && outside true";meet=meetSkill;else=elseSkill} @trigger ~onDamaged

  • conditions=c= (Optional) The conditions to compare with the caster. Can be an arraylist split by &&
  • targetconditions=tc= (Optional) The conditions to compare with the targeted entity. Can be an arraylist split by &&
  • meet= (Optional) The skill to be executed if the conditions are meet.
  • else= (Optional) The skill to be executed if the conditions not meet.

The meet and else skills inherit the skilldatas like targeter, caster, targets from the parent skill.

NOTE THE "" for the conditions and targetconditions!!
*** 10.7.2017 *** added setmeta, delmeta mechanics & hasmeta condition. See MetaMechanics for details.
*** 08.7.2017 *** fixed issue for MythicPlayers when change world by teleport or portal.
*** 05.7.2017 *** some work on the projectiles & mythicplayers. See CustomProjectiles/MythicPlayers for details.

MetaMechanics & Conditions:

### setmeta mechchanic:
Set parsed(!) metadata for the target. You can use all variables that are avaible while the skill is executed.
Code:
- setmeta{meta="tag=tagname;value=tagvalue;type=BOOLEAN/NUMERIC/STRING"}

The tags "tag" and "value" can contain any mob variable. Example: [- setmeta{meta=<target.uuid>} @self] add the uuid of the target as metatag to the mob.
You can also use values and types, but this is more for further purpose. Still you can go form them too.

Code:
- setmeta{meta="tag=lastdamagedentity;value=<trigger.uuid>;type=STRING"} @self ~onAttack

This will set the lastdamagedentity tag of the mob to the victims uuid.
It is possible to set a metadata of a block by using a location targeter. All blocks but air are valid.

### delmeta mechanic:
Delete a metatag from the targeted entity. Be aware, if you remove tags that are not added by yourself, might break something else!

Code:
- delmeta{meta="tag=lastdamagedentity"} @self ~onCombatDrop

This remove the lastdamagedentity tag if the mob stop fighting.

### hasmeta condition:
With this condition you can check any parsed meta. In its main purpose its a compare condition. Mean its a TargetConditions because it needs 2 entities. But by setting the cs tag (compareself)
in the condition, you can choose if the target or the caster metas are checked. Its also possible to use a list of tags. All mob variables that are useable at the moment the skill is executed
can be used.

Syntax:
Code:
- hasmeta{meta="tag=tagname;value=metavalue;type=BOOLEAN/NUMERIC/STRING";cs=true/false;action=true/false}

Example:
Code:
- hasmeta{meta="tag=lastdamagedentity;value=<target.uuid>;type=STRING";cs=true;action=true}

This will check the caster entity if it has the tag "lastdamagedentity" and if it contains the uuid of the target. If cs=false it would check the target entity.
The following condition use a list. ATM it will meet the condition if only 1 of the tags match. This will be changed in the future.

Example:
Code:
- hasmeta{meta="tag=<target.uuid>||tag=<trigger.uuid>";cs=true;action=true}

Checks if the caster mob have the tag target uuid or trigger.uuid.

The following example shows how to make it, that every entity can hit the villager only once. After that the entity have to interact with the villager do get removed and can hit him again one time:

Full working example for metatag mechanics and condition:
Code:
Mob yaml:

MetaMonkey:
  Health: 1000
  Type: villager
  Display: "Meta Monkey"
  AIGoalSelectors:
  - 0 clear
  Skills:
  - skill{s=cancelDamageIfMeta;sync=true} @trigger ~onDamaged
  - skill{s=setMetaTag} @trigger ~onDamaged
  - skill{s=delMetaTag} @trigger ~onInteract

 
Skill yaml:

delMetaTag:
  TargetConditions:
  - hasmeta{list="tag=<target.uuid>";action=true;cs=true}
  Skills:
  - message{msg="<mob.name> >> <trigger.name> i remove you from my black list!"} @world
  - delmeta{meta="tag=<trigger.uuid>"} @self
 
setMetaTag:
  TargetConditions:
  - hasmeta{list="tag=<target.uuid>";cs=true;action=false}
  Skills:
  - message{msg="<mob.name> >> <trigger.name> i will remember you!"} @world
  - setmeta{meta="tag=<trigger.uuid>"} @self
 
cancelDamageIfMeta:
  TargetConditions:
  - hasmeta{list="tag=<target.uuid>";cs=true;action=true}
  Skills:
  - cancelevent
*** 04.7.2017 *** (alpha)implemented MythicPlayers addon. See MythicPlayers for more details and examples.
*** 03.7.2017 *** (alpha)added mythicorbitalprojectile & some cleanup. See mythicorbitalprojectile for details and example. (known issue: the voffset applies very very late)

MythicPlayers Module
With this module you can turn any player on your server into a MythicPlayer. With almost all abilities of a MythicMobs mob. But there are some limitations. Because a player is a player and not a mob
its very important that you make all the mob yamls that will be used for player ++persistent++ otherwise it will break your server and because of that fact you can only use MythicMobs yamls that have
persistent set to true. Well thats the only limit.

### Mechanics:

ActivePlayer:
Transform the targeted player into a mythicplayer.

NormalPlayer:
Make the mythicplayer player a ordinary player again.

SetTarget:
This mechanic is used to update the crosshair target of the player.

Example configuration for a full working MythicPlayer (Summon the PlayerMonkey and interact with it to turn into the MythicPlayer mob or damage the mob to be normal player):

Mob yaml file:

Code:
PlayerMonkey:
  Type: villager
  Display: "&cPlayer Monkey"
  Health: 20
  AIGoalSelectors:
  - 0 clear
  AITargetSelectors:
  - 0 clear
  Skills:
  - activeplayer{m=MythicPlayer} @trigger ~onInteract
  - normalplayer @trigger ~onDamaged

MythicPlayer:
  Type: player
  Options:
    Persistent: true
  Modules:
    ThreatTable: true
  Skills:
  - firework{t=1;d=0;f=true;tr=true} @selflocation ~onSpawn
  - skill{s=PlayEffectOnTarget} ~onTimer:20
  - particlesphere{particle=angryVillager;amount=10;radius=1} @trigger ~onAttack
  - heal{a=5} @self ~onDamaged <25% 1
  - skill{s=ApplyStealth} @self ~onCrouch
  - skill{s=RemoveStealth} @self ~onUnCrouch
  - message{msg="use"} @self ~onUse

Skill yaml file:

Code:
ApplyStealth:
  Skills:
  - message{msg="crouch"} @self
  - potion{type=INVISIBILITY;duration=999999;level=4} @self
  - particlesphere{particle=cloud;amount=20;radius=1} @self

RemoveStealth:
  Skills:
  - message{msg="uncrouch"} @self
  - particlesphere{particle=cloud;amount=20;radius=1} @self
  - removepotion{p=INVISIBILITY} @self
PlayEffectOnTarget:
  Skills:
  - settarget
  - particlesphere{particle=flame;amount=10;radius=1} @target
#### *** 03.7.2017 *** added mythicorbitalprojectile & some cleanup. See mythicorbitalprojectile for details and example. (known issue: the voffset applies very very late)

Code:
MythicOrbitalBullet:
  Skills:
  - mythicorbitalprojectile{pobject=MythicOrbital1;ontick=IP-Tick-dust-blue;i=1;hR=0;vR=0;oradx=0;oradz=1.5;orady=-1.5;oradsec=3;md=20000;se=false;sb=false;pvoff=1}
  - delay 40
  - mythicorbitalprojectile{pobject=MythicOrbital1;ontick=IP-Tick-dust-red;i=1;hR=0;vR=0;oradx=0;oradz=1.5;orady=1.5;oradsec=3;md=20000;se=false;sb=false;pvoff=1}
  - delay 40
  - mythicorbitalprojectile{pobject=MythicOrbital1;ontick=IP-Tick-dust-green;i=1;hR=0;vR=0;oradx=1.5;oradz=1.5;orady=-1.5;oradsec=3;md=20000;se=false;sb=false;pvoff=1}
  - delay 40
  - mythicorbitalprojectile{pobject=MythicOrbital1;ontick=IP-Tick-dust-black;i=1;hR=0;vR=0;oradx=1.5;oradz=1.5;orady=1.5;oradsec=3;md=20000;se=false;sb=false;pvoff=1}

Attachments

  • 2017-07-03_15.10.01.png
    2017-07-03_15.10.01.png
    403 KB · Views: 420
  • 2017-07-03_12.48.21.png
    2017-07-03_12.48.21.png
    227.1 KB · Views: 392
  • 2017-07-03_00.12.08.png
    2017-07-03_00.12.08.png
    730.4 KB · Views: 400
  • 2017-07-03_00.08.14.png
    2017-07-03_00.08.14.png
    810.5 KB · Views: 402
#### *** 02.7.2017 *** added mythicprojectile and customparticles. See customprojectiles mechanic for details and example.

Mobs Yaml: https://pastebin.com/6U6iUxkF
Skill Yaml: https://pastebin.com/Vnanzhmz
Items Yaml: https://pastebin.com/ddkeJaqG
*** 30.6.2017 *** last finally added rpgitem armor support to customdamage & added pspin to entityprojectile
*** 25.6.2017 *** added itemprojectile, blockprojectile & entityprojectile. Beta in meanwhile. Report issues. See CustomPrjectiles for more details.
*** 21.6.2017 *** added some more improvements to customteleport. See customteleport for details and example.

Advanced teleport mechanic. Use this to teleport from/to variable destinations with variable behaviors.

Options:
destination= MythicMobs targeter or vanilla targeter. Use "" that the targeter can be parsed.
noise=n= number, random point around the target
teleportdelay=tdelay=td= number, delay in ticks between teleportation (if more than 1)
infrontof=front=f= true/false, teleport in front of target (if target is a entity)
returntostart=return=r= true/false, if the source entity should return to its start position
betweenlastentitysignal=bls= signalname to be send to caster mob between the teleportations, where the trigger is the last entity (if target was an entity)
betweennextentitysignal=bns= signalname to be send to caster mob
ignoreowner=io= true/false, if the owner of the caster mob should be ignored.
maxtargets=mt= number, the maximium number of targets.

Code:
Example Mob:

Monkey:
  Health: 300
  Type: zombie
  Display: "Monkey"
  AIGoalSelectors:
  - 0 clear
  Skills:
  - customsummon{t=ChainDummy;setowner=true} @selflocation ~onDamaged
 
ChainDummy:
  Type: armor_stand
  Options:
    Invisible: true
    Invincible: true
  Skills:
  - customteleport{destination="@EIR{r=10}";sdelay=20;front=false;fs=ende;bns=bns;bls=bls;r=false;io=true} @self ~onSpawn
  - skill{s=chain} @trigger ~onSignal:bns
  - remove @self ~onSignal:ende
 
#  NOTICE THE "" FOR THE DESTINATION!

Example Skill:

chain:
  Skills:
  - lightning
  - customparticleline{particle=reddust;amount=5;color=#feff90;ys=2.5;vd=1.0;hd=-0.5;distanceBetween=0.5;tyo=1.25}
Top