Breeding Suggestions and Updates (maybe possible within the next century or 2)
Summary
With the introduction of ~onBreed, there is incentive to push some new features for breeding as it is rather barren in the sense that there isn't much to do with breeding in mythicmobs. I have attempted to make some sort of breeding system with skills and summoning mobs with onBreed but it is rather tedious and unrefined (the fact that I am average at using brain doesn't help either)
Usage
With more breeding features, it opens up more possibility for an aspect of gameplay that is lacking in minecraft itself, as breeding is rather plain in this game with no real importance other than making farms, it could become something much more interactive and engaging.
Some possible features
- Compatible Mating: Mob can be configured to determine what other mythicmobs it can breed with(if this is possible)
- Inheritance: Parent mobs could pass on basic stats such as hp, attack, movement speed, ai goals etc
- Raising time: Set timer configurable that will determine how long the offspring takes to be raised to an adult that is able to breed
- Extra lvls/mutations (from ark): Setting that allows for the possibility that the offspring will gain extra hp or some stats predetermined
- Settings that could possibly be added:
- Chance for infertility every time an adult breeds, can be turned on or off
- Allow mobs to have actual traits that would work kind of similarly to real life, recessive and dominant traits etc
Value
The value of adding breeding features is that it explores an area that is overlooked in minecraft, with little incentive to breed in vanilla. This could potentially also help attract other people to use mythicmob with this included as a premium feature(possibly), adding another reason for people to buy premium.
Furthermore, there aren't many plugins that dedicates itself towards breeding with new and unique features. With the features MM has already, it could open a lot of possibilities for server owners out there that may want this.
Priority
This isn't of the most importance to be added, but at least I believe it is relatively useful and important. This could push mm as one of the only plugins that helps giving a unique system of breeding to minecraft compared to simply just "feeding wheat" to animals
Implementation
It may be helpful to have a breeding table - it is likely easier to see what mobs have for breeding settings in a table as a separate file rather than directly added to the mob config files. Furthermore, there are some possible features mentioned above that may be useful.
I am aware that some of this is achievable already through mm despite being tedious to do, but there are a lot more possibilities with breeding as again, breeding isn't heavily developed in minecraft, thus pushing a useful feature.
Below is my pathetic attempt that trying to do something for breeding, barely works but to implement this to a lot of mobs, it is rather hard and it is an unrefined system, pasted in the format changed for some reason idk why
MobInheritance-onSpawn:
Skills:
- CancelEvent
- randomskill{s=
[ - setvariable{type=STRING;var=caster.gender;value="male"} @self ],
[ - setvariable{type=STRING;var=caster.gender;value="female"} @self ]
} @self
- delay 20
- message{m="I am male"} @server ?variableEquals{var=caster.gender;value="male"}
- message{m="I am female"} @server ?variableEquals{var=caster.gender;value="female"}
- signal{s=BabyMob} @parent
MobInheritance-Parent:
Conditions:
- variableEquals{var=caster.mutated;value="has"} false
Skills:
- message{m="parent"} @server
- delay 5
- setvariable{type=STRING;var=target.regen_trait;value="has"} @trigger ?hasAura{n=regen_trait} #dominant
- setvariable{type=STRING;var=target.speed_trait;value="has"} @trigger ?hasAura{n=speed_trait} #dominant
- setvariable{type=STRING;var=target.health_trait;value="has"} @trigger ?hasAura{n=health_trait} #dominant
- setvariable{type=STRING;var=target.growth_trait;value="has"} @trigger ?hasAura{n=growth_trait} #recessive, trait allows mob to unlock a skill
- setvariable{type=STRING;var=target.fertile_trait;value="has"} @trigger ?hasAura{n=fertile_trait} #recessive
- setvariable{type=STRING;var=target.damage_trait;value="has"} @trigger ?hasAura{n=damage_trait} #recessive
- delay 1
- randomskill{s=
[ - aura{auraName=BreedingCooldown;d=72000} @self ] 99,
[ - setvariable{type=STRING;var=caster.infertile;value="has"} @self ] 1
} @self ?variableEquals{var=caster.fertile_trait;value"has"} castInstead [ - aura{auraName=BreedingCooldown;d=36000} @self ]
MobInheritance-Breed:
Skills:
- CancelEvent
- summon{t=Polar-Cutie;a=1} @selflocation ?variableEquals{var=caster.gender;value"female"}```