MythicMobs issueshttps://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues2024-01-29T02:08:17Zhttps://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1458Allow multiple triggers in stats2024-01-29T02:08:17ZCharlieAllow multiple triggers in stats**Summary**
Allow multiple triggers in stats. Its already in a list format, not sure why it doesn't work.
**Usage**
https://pastebin.com/8CfTv2p0
**Value**
Big qol for keeping configs clean. As currently to have stats on bows that work for arrows fired you have to have a separate stat just for BOWHIT trigger. Whereas if you could have a list of triggers the same damage stat could apply to melee and bows.**Summary**
Allow multiple triggers in stats. Its already in a list format, not sure why it doesn't work.
**Usage**
https://pastebin.com/8CfTv2p0
**Value**
Big qol for keeping configs clean. As currently to have stats on bows that work for arrows fired you have to have a separate stat just for BOWHIT trigger. Whereas if you could have a list of triggers the same damage stat could apply to melee and bows.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1425RingAroundOrigin and ParticleRing does not have support for relative=true2023-12-21T03:22:10ZIonTechRingAroundOrigin and ParticleRing does not have support for relative=trueIn a recent update, the @Ring targeter received relative=true, however @RingAroundOrigin and the ParticleRing mechanic do not have this parameter.
![image](/uploads/c48815db57e023fd90c63c8062358656/image.png)
Ideally relative=true for these two would orient the ring to face towards the inherited target from the origin. If a similar parameters can be made for targeter offsets such as relative x,y,z relativeoffset(rxo, ryo, rzo), it'd make creating effects and accurate targeters much easier.In a recent update, the @Ring targeter received relative=true, however @RingAroundOrigin and the ParticleRing mechanic do not have this parameter.
![image](/uploads/c48815db57e023fd90c63c8062358656/image.png)
Ideally relative=true for these two would orient the ring to face towards the inherited target from the origin. If a similar parameters can be made for targeter offsets such as relative x,y,z relativeoffset(rxo, ryo, rzo), it'd make creating effects and accurate targeters much easier.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1424[Suggestion] Support in damage mechanics for custom stats damage_modifiers an...2023-12-21T03:22:20ZCharlie[Suggestion] Support in damage mechanics for custom stats damage_modifiers and damagetype**Summary**
Add support to hit/damage mechanics for custom damage stats as it currently does not take them into account
**Usage**
In this example I would have expected the outcome to be for the hit mechanic to do 5 damage to whoever attacks it as it does 5 Poison damage whenever it strikes someone due to the bonus damage it gets from the DAMAGE_POISON stat. This is not the case however and the hit mechanic is only taking the mobs damage attribute into account so its doing 0 damage.
Mob file: https://pastebin.com/MkyaP1Vw
Stats file: https://pastebin.com/yALez2s3
And in this example the expected outcome would be for the player to take 0 damage due to the POISON_RESISTANCE stat on their armor. Instead it does 5 damage because the damagetype attribute from the damage mechanic does not appear to be compatible with the damagetype attribute from custom stats
Mob File: https://pastebin.com/tyfMHWtm
Item File: https://pastebin.com/twfkVvig
Stats File: https://pastebin.com/Bc4GGs9J
**Value**
Allow much easier implementation of custom damage reduction stats and damage types through stats
**Priority**
Would be nice. There doesn't seem to be much interaction between damage mechanics and stats yet**Summary**
Add support to hit/damage mechanics for custom damage stats as it currently does not take them into account
**Usage**
In this example I would have expected the outcome to be for the hit mechanic to do 5 damage to whoever attacks it as it does 5 Poison damage whenever it strikes someone due to the bonus damage it gets from the DAMAGE_POISON stat. This is not the case however and the hit mechanic is only taking the mobs damage attribute into account so its doing 0 damage.
Mob file: https://pastebin.com/MkyaP1Vw
Stats file: https://pastebin.com/yALez2s3
And in this example the expected outcome would be for the player to take 0 damage due to the POISON_RESISTANCE stat on their armor. Instead it does 5 damage because the damagetype attribute from the damage mechanic does not appear to be compatible with the damagetype attribute from custom stats
Mob File: https://pastebin.com/tyfMHWtm
Item File: https://pastebin.com/twfkVvig
Stats File: https://pastebin.com/Bc4GGs9J
**Value**
Allow much easier implementation of custom damage reduction stats and damage types through stats
**Priority**
Would be nice. There doesn't seem to be much interaction between damage mechanics and stats yethttps://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1420[Suggestion] An option to hide the custom durability bar and placeholders for it2024-03-17T21:17:18ZLithid[Suggestion] An option to hide the custom durability bar and placeholders for it**Summary**
An option for crucible items that are using custom durability to hide the durability bar, and 2 placeholders to go along with it for their current custom durability and their original/max durability.
**Usage**
I could create an item that uses custom durability, hide the bar and then use the placeholders to display the durability nicely inside of the lore.
**Value**
If this was added, users would be able to create better and cleaner items as the built in Minecraft durability bar doesn't look good. Using the placeholders, they'd be able to display the durability bar where ever they want in the format they want.
**Priority**
Medium, it's not a really crucial change but I think it would make the plugin a lot nicer.
**Implementation**
I'm not sure how it should be implemented as I'm not sure how the custom durability system works right now. An idea that I was thinking was to add the unbreakable flag to the item to hide the bar, but that currently seems to break custom durability so I'm not sure.**Summary**
An option for crucible items that are using custom durability to hide the durability bar, and 2 placeholders to go along with it for their current custom durability and their original/max durability.
**Usage**
I could create an item that uses custom durability, hide the bar and then use the placeholders to display the durability nicely inside of the lore.
**Value**
If this was added, users would be able to create better and cleaner items as the built in Minecraft durability bar doesn't look good. Using the placeholders, they'd be able to display the durability bar where ever they want in the format they want.
**Priority**
Medium, it's not a really crucial change but I think it would make the plugin a lot nicer.
**Implementation**
I'm not sure how it should be implemented as I'm not sure how the custom durability system works right now. An idea that I was thinking was to add the unbreakable flag to the item to hide the bar, but that currently seems to break custom durability so I'm not sure.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1419[Suggestion] Detailed damage taken placeholder2023-12-21T03:21:29ZTaiyou06[Suggestion] Detailed damage taken placeholder**Summary**
A placeholder for returning damage taken, attacker and parent of the attacker(if exists) in a string format. Ideally, it would be used in a ~onDamaged skill, but logically, it should just be holding the data of the last attack, so it should be retrievable anytime.
Currently, Bukkit DamageCause or <skill.var.damage-amount> or @interactionLastAttacker are not enough for tracking. Additionally, mythiclib & mmocore skills and summons complicate the matter even further.
**Usage**
Use case: Keeping track of DPS of every individual player in a boss fight.
**Value**
**Priority**
Very High as i would use this feature in calculation for loottables
**Implementation**
Returned string: "damage taken, the name of the player (or the entity) that initiated the attack, "
Or if it is triggered by a summon: "damage taken, parent player (or entity) of the summon, summon name,".
Example 1: Let's assume a player named John attacks the boss, damaging it for 13 hp, and triggering its ~onDamaged skill. Suppose this skill is `- message{m="<caster.last-damage>"} @world`. Then the skill sends a message such as `13,John`.
Example 2: If, Instead of John, his summon named undead_thrall attacks the said mob, then the returned string would be `5,John,undead_thrall`**Summary**
A placeholder for returning damage taken, attacker and parent of the attacker(if exists) in a string format. Ideally, it would be used in a ~onDamaged skill, but logically, it should just be holding the data of the last attack, so it should be retrievable anytime.
Currently, Bukkit DamageCause or <skill.var.damage-amount> or @interactionLastAttacker are not enough for tracking. Additionally, mythiclib & mmocore skills and summons complicate the matter even further.
**Usage**
Use case: Keeping track of DPS of every individual player in a boss fight.
**Value**
**Priority**
Very High as i would use this feature in calculation for loottables
**Implementation**
Returned string: "damage taken, the name of the player (or the entity) that initiated the attack, "
Or if it is triggered by a summon: "damage taken, parent player (or entity) of the summon, summon name,".
Example 1: Let's assume a player named John attacks the boss, damaging it for 13 hp, and triggering its ~onDamaged skill. Suppose this skill is `- message{m="<caster.last-damage>"} @world`. Then the skill sends a message such as `13,John`.
Example 2: If, Instead of John, his summon named undead_thrall attacks the said mob, then the returned string would be `5,John,undead_thrall`https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1414[Suggestion] Trigger ~onDamageSkill2023-12-07T14:17:09ZBitrateBilly[Suggestion] Trigger ~onDamageSkill**Summary**
A new trigger similar to ~onAttack, but activated exclusively by damage skills (Damage, Base Damage, Percent damage, Consume, Etc.) instead.
**Usage**
It would look like this
- damage{a=10} @target ~onUse
- skill{s=regenerate} @self ~onDamageSkill
**Value**
~onAttack used to be able to be triggered by damage skills in lower versions of mythic like 5.3.5, since its been fixed there seemingly isnt a proper way of activating a skill with the damage skills (damage, base damage, percent damage, etc) so having this would allow for people to set up more dynamic items easier without needing to use as much brainpower.
**Priority**
Kinda important? Definitely to me, a lot of items in my server relied upon ~onAttack working alongside the damage skill, now I have no idea how to make any of them work given that you dont really punch things on my server.
**Implementation**
It is just a trigger, so there really isnt a need to discuss how it can be implemented, however for an alternative, you can add a setting to the damage skills to make them activate "onAttack" triggers if thats easier.**Summary**
A new trigger similar to ~onAttack, but activated exclusively by damage skills (Damage, Base Damage, Percent damage, Consume, Etc.) instead.
**Usage**
It would look like this
- damage{a=10} @target ~onUse
- skill{s=regenerate} @self ~onDamageSkill
**Value**
~onAttack used to be able to be triggered by damage skills in lower versions of mythic like 5.3.5, since its been fixed there seemingly isnt a proper way of activating a skill with the damage skills (damage, base damage, percent damage, etc) so having this would allow for people to set up more dynamic items easier without needing to use as much brainpower.
**Priority**
Kinda important? Definitely to me, a lot of items in my server relied upon ~onAttack working alongside the damage skill, now I have no idea how to make any of them work given that you dont really punch things on my server.
**Implementation**
It is just a trigger, so there really isnt a need to discuss how it can be implemented, however for an alternative, you can add a setting to the damage skills to make them activate "onAttack" triggers if thats easier.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1401[Suggestion] Mechanic "setDisplayItem"2023-11-21T15:30:40ZDrawn[Suggestion] Mechanic "setDisplayItem"**Summary**
A new mechanic for displaying entities called "setDisplayItem" will change the item of a display entity.
Currently, there is already a similar mechanic, but it only applies to projectiles.
**Usage**
It should look like this:
- setDisplayItem{item=MYTHIC item or a vanilla one}
**Value**
Display entities are the future of Minecraft, and this mechanic is really important
**Priority**
Kinda important? at least for me it would be, I need this mechanic and I currently need to use the console "command" mechanic.
**Implementation**
--**Summary**
A new mechanic for displaying entities called "setDisplayItem" will change the item of a display entity.
Currently, there is already a similar mechanic, but it only applies to projectiles.
**Usage**
It should look like this:
- setDisplayItem{item=MYTHIC item or a vanilla one}
**Value**
Display entities are the future of Minecraft, and this mechanic is really important
**Priority**
Kinda important? at least for me it would be, I need this mechanic and I currently need to use the console "command" mechanic.
**Implementation**
--https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1329[SUGGESTION} Allow Effect Mechanics to orient/face towards their target from ...2023-10-07T22:26:17ZIonTech[SUGGESTION} Allow Effect Mechanics to orient/face towards their target from the originAs of right now, using effect mechanics such as particlering and particle, there is no way to reliably orient a particle effect to face towards the effect's targeter without doing excessive amounts of math - a parameter such as orient=true which makes the effect face the targeter from the origin would be amazing.
Could use this for projectile contrails, impact FX, portals, magic circles, ect cetera. If this could also be applied to Slash, that'd be great too.As of right now, using effect mechanics such as particlering and particle, there is no way to reliably orient a particle effect to face towards the effect's targeter without doing excessive amounts of math - a parameter such as orient=true which makes the effect face the targeter from the origin would be amazing.
Could use this for projectile contrails, impact FX, portals, magic circles, ect cetera. If this could also be applied to Slash, that'd be great too.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1323[API Suggestion] Custom Target Filters2023-10-05T20:29:40ZCeduz19[API Suggestion] Custom Target Filters**Summary**
As the title say, my suggestion is to implement the possibility to create custom target filters using the API.
**Implementation**
I think it would be great if its implementation is similar to custom targeters.
**Value**
Just creating a custom targeter in some cases is not really the ideal solution, it has not the same versatility as target filters have.**Summary**
As the title say, my suggestion is to implement the possibility to create custom target filters using the API.
**Implementation**
I think it would be great if its implementation is similar to custom targeters.
**Value**
Just creating a custom targeter in some cases is not really the ideal solution, it has not the same versatility as target filters have.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1255[suggestion] Add compatibility with CyberLevels plugin2023-09-18T19:18:06ZOlokw[suggestion] Add compatibility with CyberLevels plugin**Summary**
Add compatibility with the CybeLevels plugin
**Usage**
The exp-gain system of Cyberlevels have some events, but the most important (killing-mob event) doesnt work with the mobs from MythicMobs. If add compatibility, the exp (of CyberLevels) could be put as a mob reward.
**Value**
CyberLevels is a open-source plugin with leveling system. Its a very good plugin and it would be nice to have compatibility with this in MythicMobs. There are many level plugins compatibilities at mythicmobs, and would be nice to have more one (and with a good plugin like the CyberLevels).
**Priority**
Not so much. I know that the development team has a lot to do, and I know that this is not a high priority here, but I really think it should be done.
**Implementation**
I believe the CyberLevels plugin is a very good plugin, but not well recognized. If a compatibility was made, and even (maybe) a partnership, it could be better publicized. I tested each of the plugins that have compatibility with MythicMobs, but all of them has additional things that I didn't intend to use... they weren't plugins that go straight to the main point (level and EXP system). CyberLevels, in addition to being Open-Source, unlike other plugins, it is only about a level system (and a very well done one, by the way). So I think you guys could give it a go and add compatibility with this plugin.**Summary**
Add compatibility with the CybeLevels plugin
**Usage**
The exp-gain system of Cyberlevels have some events, but the most important (killing-mob event) doesnt work with the mobs from MythicMobs. If add compatibility, the exp (of CyberLevels) could be put as a mob reward.
**Value**
CyberLevels is a open-source plugin with leveling system. Its a very good plugin and it would be nice to have compatibility with this in MythicMobs. There are many level plugins compatibilities at mythicmobs, and would be nice to have more one (and with a good plugin like the CyberLevels).
**Priority**
Not so much. I know that the development team has a lot to do, and I know that this is not a high priority here, but I really think it should be done.
**Implementation**
I believe the CyberLevels plugin is a very good plugin, but not well recognized. If a compatibility was made, and even (maybe) a partnership, it could be better publicized. I tested each of the plugins that have compatibility with MythicMobs, but all of them has additional things that I didn't intend to use... they weren't plugins that go straight to the main point (level and EXP system). CyberLevels, in addition to being Open-Source, unlike other plugins, it is only about a level system (and a very well done one, by the way). So I think you guys could give it a go and add compatibility with this plugin.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1233[suggeston] add skill parameter support for conditions2023-09-18T19:18:56ZJohn[suggeston] add skill parameter support for conditions**Summary**
It would be very useful if you could use the skill parameters feature for conditions within a mythicmobs skill.
**Usage**
- skill:CoolSkill{condition=5;boolean=“true”} @self ~onUse
CoolSkill:
Conditions:
- heightbelow{h=<skill.condition>} <skill.boolean>
**Value**
This would make skill parameters ten times more useful when using variables or tags within the Conditions section.
**Priority**
This feature should be of high priority due to the fact that it will allow server creators to build the necessary systems to make mob and item skills and streamline their development. Skill parameters allow for building systems like this, and make mob and item development much easier.**Summary**
It would be very useful if you could use the skill parameters feature for conditions within a mythicmobs skill.
**Usage**
- skill:CoolSkill{condition=5;boolean=“true”} @self ~onUse
CoolSkill:
Conditions:
- heightbelow{h=<skill.condition>} <skill.boolean>
**Value**
This would make skill parameters ten times more useful when using variables or tags within the Conditions section.
**Priority**
This feature should be of high priority due to the fact that it will allow server creators to build the necessary systems to make mob and item skills and streamline their development. Skill parameters allow for building systems like this, and make mob and item development much easier.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1208[Feature Request] skullTexture support for projectile DISPLAY and TRACKING bu...2023-09-12T07:14:11ZGhmmy[Feature Request] skullTexture support for projectile DISPLAY and TRACKING bullettypesRight now only MOB bullettypes support skull textures by using a mythicmob and equiping it with a player head. Since both TRACKING and DISPLAY dont use mythicmobs, it would be nice to have a skullTexture option to give a player head a custom texture similar to how it is done for equipment.Right now only MOB bullettypes support skull textures by using a mythicmob and equiping it with a player head. Since both TRACKING and DISPLAY dont use mythicmobs, it would be nice to have a skullTexture option to give a player head a custom texture similar to how it is done for equipment.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1114[Suggestion] Add Relative Velocity Mechanic/Skill2023-09-12T07:14:21ZTaiyou06[Suggestion] Add Relative Velocity Mechanic/Skill**Summary**
Can you guys add a relative version of the velocity mechanic? Instead of working with x y z axes for velocity, can we get a version that works with forward(casters facing direction)-backward, left-right, and up-down? Also, Is it possible for the velocity mechanic( and this hypothetical relative velocity mechanic) to work with the projectile mechanic?
From a bird eye view this kind of stuff is what I need to do.
![image](/uploads/2c4a6483d898d5564b4d11435fe15af9/image.png)
Now this is somewhat possible with missile mechanic + armor stand trickery or via repeatedly teleporting a zero velocity summoned mob really fast or summoning a mob and using velocity mechanic and a lot of math, but all of those "solutions" are really jank and either hit the performance hard or are really painful to write. Plus, scaling them up is a nightmare too. For example, writing 108 projectiles( or mobs) doing the same movement in a ring like formation is absolute hell. I have been trying and searching for a definitive solution on and off for months but to no avail. Something like aforementioned relative velocity or the ability to change targeters for a projectile mid flight would be REALLY helpful.
**Usage**
Both relative velocity and changing targeters could work with an onStart skill with a delay. Changing targeters also could work without involving timing with if "TargetWithin" condition works for locations (didnt test it). Relative velocity Could work with an onTick skill too. For my case, I would use it for making bullethell style mobs and bosses.
**Value**
Ease of use. It would make it tremendously easier to create any kind of curving or erratically moving projectiles.
**Priority**
It should have a pretty high priority. Currently, MM is better suited for more traditional rpg mobs and dont offer much control for projectiles. In my opinion, It would fix one of the MythicMobs' greater weaknesses, as it would open the possibility of making "patterns" with projectiles.
**Implementation**
Relative velocity would use forward(casters facing direction)-backward, left-right and up-down instead of using with x y z axes for velocity. It could work in tandem with the spin mechanic as another use case. Changing targeters would work simply by changing the direction of the momentum bullet has towards the new target.**Summary**
Can you guys add a relative version of the velocity mechanic? Instead of working with x y z axes for velocity, can we get a version that works with forward(casters facing direction)-backward, left-right, and up-down? Also, Is it possible for the velocity mechanic( and this hypothetical relative velocity mechanic) to work with the projectile mechanic?
From a bird eye view this kind of stuff is what I need to do.
![image](/uploads/2c4a6483d898d5564b4d11435fe15af9/image.png)
Now this is somewhat possible with missile mechanic + armor stand trickery or via repeatedly teleporting a zero velocity summoned mob really fast or summoning a mob and using velocity mechanic and a lot of math, but all of those "solutions" are really jank and either hit the performance hard or are really painful to write. Plus, scaling them up is a nightmare too. For example, writing 108 projectiles( or mobs) doing the same movement in a ring like formation is absolute hell. I have been trying and searching for a definitive solution on and off for months but to no avail. Something like aforementioned relative velocity or the ability to change targeters for a projectile mid flight would be REALLY helpful.
**Usage**
Both relative velocity and changing targeters could work with an onStart skill with a delay. Changing targeters also could work without involving timing with if "TargetWithin" condition works for locations (didnt test it). Relative velocity Could work with an onTick skill too. For my case, I would use it for making bullethell style mobs and bosses.
**Value**
Ease of use. It would make it tremendously easier to create any kind of curving or erratically moving projectiles.
**Priority**
It should have a pretty high priority. Currently, MM is better suited for more traditional rpg mobs and dont offer much control for projectiles. In my opinion, It would fix one of the MythicMobs' greater weaknesses, as it would open the possibility of making "patterns" with projectiles.
**Implementation**
Relative velocity would use forward(casters facing direction)-backward, left-right and up-down instead of using with x y z axes for velocity. It could work in tandem with the spin mechanic as another use case. Changing targeters would work simply by changing the direction of the momentum bullet has towards the new target.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1036[Feature Request] Particle Ring overhaul2023-05-03T00:59:00ZJpegIsMe[Feature Request] Particle Ring overhaulThe ParticleRing skill has been pretty barebones for a long while now.. and here are some ideas to help overhaul it and make it more flexible than ever before:
- Add rotation parameters (Same used as orbitals, rotX, rotY, rotZ, etc..)
- Other general parameters used by orbitals
- Cutoff parameter (See high-budget proof of concept image)
The cutoff parameter would allow us to make such things like slash effects that otherwise would require goop (a whole other 3rd party plugin) AND help us greatly with doing more complex particle effects and patterns.
Thanks for considering
![image](/uploads/d5371d8605dc200efc74cbeb3fe2fe07/image.png)The ParticleRing skill has been pretty barebones for a long while now.. and here are some ideas to help overhaul it and make it more flexible than ever before:
- Add rotation parameters (Same used as orbitals, rotX, rotY, rotZ, etc..)
- Other general parameters used by orbitals
- Cutoff parameter (See high-budget proof of concept image)
The cutoff parameter would allow us to make such things like slash effects that otherwise would require goop (a whole other 3rd party plugin) AND help us greatly with doing more complex particle effects and patterns.
Thanks for considering
![image](/uploads/d5371d8605dc200efc74cbeb3fe2fe07/image.png)https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1028Suggestion for condition2023-09-15T01:28:26ZArno2596Suggestion for conditionI wanted, if possible, to add a new condition for skills who will be the threat condition to run skills such as:
TargetConditions:
- threat{amount=>10} true
The condition will check if the target have above 10 in the threat table of the caster (if it's a mob)I wanted, if possible, to add a new condition for skills who will be the threat condition to run skills such as:
TargetConditions:
- threat{amount=>10} true
The condition will check if the target have above 10 in the threat table of the caster (if it's a mob)https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1023[Suggestion] Divide HorizontalRadius into FrontRadius and SideRadius2023-02-12T04:15:00Zl rz[Suggestion] Divide HorizontalRadius into FrontRadius and SideRadius**Summary**
The HorizontalRadius has limitations and should be split into FrontRadius and SideRadius, for better controlling projectiles.
**Usage**
The current HR attribute has defects for high velocity projectiles. If set too small, the projectiles will more likely to pass through the target without hitting it; and if set too large, they can still hit the target when acturally targeting the air of its two sides. Therefore, this attribute needs to be divided into two independent types, which allows set the hitbox a smaller left-right radius and larger front-behind radius to solve this problem.
**Value**
To take a better control of projectiles' hitboxes, and solve problems as above.
**Priority**
Medium to high. It'll be surely useful when creating fast custom projectiles.
**Implementation**
Divide the HorizontalRadius attribute of projectile related mechanics into FrontRadius and SideRadius.**Summary**
The HorizontalRadius has limitations and should be split into FrontRadius and SideRadius, for better controlling projectiles.
**Usage**
The current HR attribute has defects for high velocity projectiles. If set too small, the projectiles will more likely to pass through the target without hitting it; and if set too large, they can still hit the target when acturally targeting the air of its two sides. Therefore, this attribute needs to be divided into two independent types, which allows set the hitbox a smaller left-right radius and larger front-behind radius to solve this problem.
**Value**
To take a better control of projectiles' hitboxes, and solve problems as above.
**Priority**
Medium to high. It'll be surely useful when creating fast custom projectiles.
**Implementation**
Divide the HorizontalRadius attribute of projectile related mechanics into FrontRadius and SideRadius.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1020Compatibility with MythicLib damage system2023-06-21T02:15:46ZJulesCompatibility with MythicLib damage systemI've been trying to build up an interface between the damage systems from Mythic and the MMO plugins.
### Reason
It would be nice if elemental damage from MM was handled like elemental damage in MythicLib. **This direction is implemented and working up to some extent.** Similarly, it would also be nice to have MythicMobs detect and consider elemental damage from MythicLib.
Both plugins have features which modify the damage output based on damage cause. MythicMobs has damage modifiers, ML has tons of stats interacting with damage types and elements. Hence the need of being able to recognize damageMetas from other plugins.
### Problem 1: structure of DamageMetadata
MythicMobs currently allows for one damage type, one amount, and a maximum of one element per DamageMetadata. MythicLib allows for multiple packets, which are basically sub-attacks. Packets have a set of damage types + one optional element. The final damage is the sum of all packets.
It's easy to implement the first direction of such interface: MM -> ML, because the DamageMetadata class is "contained" (ignoring most boolean options) in the ML DamageMeta class. Also, this direction is implemented and running in latest ML dev builds. It's working fine as long as the element names **PERFECTLY MATCH** in ML and MM. That means, MythicLib fully identifies and takes into account the DamageMetadatas from MM.
MythicMobs needs modularity with its damage system, and needs to have a script that detects and considers DamageMetadatas from ML. Here is a small "example "script that would adapt a DamageMetadata from ML to one from MM:
```
// Take a random element from all the packets.
@Nullable
private String findFirstElement(DamageMetadata damageMeta) {
for (DamagePacket packet : damageMeta.getPackets())
if (packet.getElement() != null)
return packet.getElement().getId();
return null;
}
private io.lumine.mythic.api.skills.damage.DamageMetadata adaptDamageMetadata(SkillCaster who, DamageMetadata damageMetadata) {
return new io.lumine.mythic.api.skills.damage.DamageMetadata(who,
damageMetadata.getDamage(),
findFirstElement(damageMetadata),
false,
false,
false,
false,
EntityDamageEvent.DamageCause.ENTITY_ATTACK);
}
```
That being said, the DmgMetadata structure issue just puts a limit to MM-ML compatibility. I've tried implementing a simple "adapter" script that would run on Bukkit damage events, which would transform DM's from ML into DM's from MM. That did not work, here's why:
### Problem 2: event priorities
I've tried a lot of different things and I cannot implement this on my end. The reason has to do with event priorities. MythicLib applies tons of things (like on-hit effects, elemental damage etc.) using damage events on priority HIGHEST. Such an adapter script would be useless when ran at priority HIGHEST because MM has already done all its calculations. If I use a priority like LOWER, I risk conflicting with flag plugins like WG, Residence which prevent PvP in certain zones. I've done the assumption that MM runs at priority NORMAL or HIGH which should be the case imo.
That is to say, I think things have to be done on MM end. Hope you can provide more compatibility tools when redoing the dmg system, being able to achieve this in-depth damage system compatibility would be a nice advancement. I can provide more information if required
### ... Bugs
This creates weird issues were elements & damage types are only recognized in a specific direction (MM -> ML). On-hit elemental damage from ML is not recognized by MM on melee/projectiles attacks. Nevertheless, the `mmodamage` mechanic works fine within MM (because it is coded to register the right DM's in both ML and MM).I've been trying to build up an interface between the damage systems from Mythic and the MMO plugins.
### Reason
It would be nice if elemental damage from MM was handled like elemental damage in MythicLib. **This direction is implemented and working up to some extent.** Similarly, it would also be nice to have MythicMobs detect and consider elemental damage from MythicLib.
Both plugins have features which modify the damage output based on damage cause. MythicMobs has damage modifiers, ML has tons of stats interacting with damage types and elements. Hence the need of being able to recognize damageMetas from other plugins.
### Problem 1: structure of DamageMetadata
MythicMobs currently allows for one damage type, one amount, and a maximum of one element per DamageMetadata. MythicLib allows for multiple packets, which are basically sub-attacks. Packets have a set of damage types + one optional element. The final damage is the sum of all packets.
It's easy to implement the first direction of such interface: MM -> ML, because the DamageMetadata class is "contained" (ignoring most boolean options) in the ML DamageMeta class. Also, this direction is implemented and running in latest ML dev builds. It's working fine as long as the element names **PERFECTLY MATCH** in ML and MM. That means, MythicLib fully identifies and takes into account the DamageMetadatas from MM.
MythicMobs needs modularity with its damage system, and needs to have a script that detects and considers DamageMetadatas from ML. Here is a small "example "script that would adapt a DamageMetadata from ML to one from MM:
```
// Take a random element from all the packets.
@Nullable
private String findFirstElement(DamageMetadata damageMeta) {
for (DamagePacket packet : damageMeta.getPackets())
if (packet.getElement() != null)
return packet.getElement().getId();
return null;
}
private io.lumine.mythic.api.skills.damage.DamageMetadata adaptDamageMetadata(SkillCaster who, DamageMetadata damageMetadata) {
return new io.lumine.mythic.api.skills.damage.DamageMetadata(who,
damageMetadata.getDamage(),
findFirstElement(damageMetadata),
false,
false,
false,
false,
EntityDamageEvent.DamageCause.ENTITY_ATTACK);
}
```
That being said, the DmgMetadata structure issue just puts a limit to MM-ML compatibility. I've tried implementing a simple "adapter" script that would run on Bukkit damage events, which would transform DM's from ML into DM's from MM. That did not work, here's why:
### Problem 2: event priorities
I've tried a lot of different things and I cannot implement this on my end. The reason has to do with event priorities. MythicLib applies tons of things (like on-hit effects, elemental damage etc.) using damage events on priority HIGHEST. Such an adapter script would be useless when ran at priority HIGHEST because MM has already done all its calculations. If I use a priority like LOWER, I risk conflicting with flag plugins like WG, Residence which prevent PvP in certain zones. I've done the assumption that MM runs at priority NORMAL or HIGH which should be the case imo.
That is to say, I think things have to be done on MM end. Hope you can provide more compatibility tools when redoing the dmg system, being able to achieve this in-depth damage system compatibility would be a nice advancement. I can provide more information if required
### ... Bugs
This creates weird issues were elements & damage types are only recognized in a specific direction (MM -> ML). On-hit elemental damage from ML is not recognized by MM on melee/projectiles attacks. Nevertheless, the `mmodamage` mechanic works fine within MM (because it is coded to register the right DM's in both ML and MM).https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1013[Feature Request] Support Proskillapi2023-09-15T01:27:49Zluoxiawuchen[Feature Request] Support Proskillapi**Summary**
Describe your suggestion in detail.
With the abandonment of skillapi, skillapi only supports up to version 1.15
The proskillapi is taken over by a new team. This project is the continuation of the skillapi,
The proskillapi supports 1.16+, which is consistent with the support of future versions of mm。
**Usage**
Describe how your suggestion would be used.
Based on the support type of skillapi, support the Proskilapi.
For example, in the configuration file:
Compatibility:
SkillAPI:
Enabled: true
ShowXPMessage: true
XPMessageFormat: '&7You receive <drop.amount> experience for slaying <dropper.name>'
Add Proskillapi compatibility:
Compatibility:
SkillAPI:
Enabled: true
ShowXPMessage: true
XPMessageFormat: '&7You receive <drop.amount> experience for slaying <dropper.name>'
ProSkillAPI:
Enabled: true
ShowXPMessage: true
XPMessageFormat: '&7You receive <drop.amount> experience for slaying <dropper.name>'
**Value**
Describe what value your suggestion adds to the project.
The old version of skillapi is too old, and the updated support for proskillapi conforms to the development trend of mm version.
**Priority**
Describe what priority you think this suggestion should have and why.
Like mm, skillapi plays a very important role in the RPG server. However, skillapi does not support the mc1.16+version, and proskillapi provides support (but it also rewrites some codes and placeholders, which requires mm to re support)
**Implementation**
Describe how you think your suggestion should be implemented.
Just like skillapi, let monsters drop ProSkillapi experience.**Summary**
Describe your suggestion in detail.
With the abandonment of skillapi, skillapi only supports up to version 1.15
The proskillapi is taken over by a new team. This project is the continuation of the skillapi,
The proskillapi supports 1.16+, which is consistent with the support of future versions of mm。
**Usage**
Describe how your suggestion would be used.
Based on the support type of skillapi, support the Proskilapi.
For example, in the configuration file:
Compatibility:
SkillAPI:
Enabled: true
ShowXPMessage: true
XPMessageFormat: '&7You receive <drop.amount> experience for slaying <dropper.name>'
Add Proskillapi compatibility:
Compatibility:
SkillAPI:
Enabled: true
ShowXPMessage: true
XPMessageFormat: '&7You receive <drop.amount> experience for slaying <dropper.name>'
ProSkillAPI:
Enabled: true
ShowXPMessage: true
XPMessageFormat: '&7You receive <drop.amount> experience for slaying <dropper.name>'
**Value**
Describe what value your suggestion adds to the project.
The old version of skillapi is too old, and the updated support for proskillapi conforms to the development trend of mm version.
**Priority**
Describe what priority you think this suggestion should have and why.
Like mm, skillapi plays a very important role in the RPG server. However, skillapi does not support the mc1.16+version, and proskillapi provides support (but it also rewrites some codes and placeholders, which requires mm to re support)
**Implementation**
Describe how you think your suggestion should be implemented.
Just like skillapi, let monsters drop ProSkillapi experience.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1002[Feature Request] Support wildcards on region condition2023-09-18T18:41:33Zl rz[Feature Request] Support wildcards on region condition**Summary**
Support wildcards on region condition.
This is a supplement for #959. Since this may be easier to achive, hope it can be implemented faster.
**Usage**
To support various region creating plugins such as ProtectionStone.
**Value**
Makes region condition more flexible.
**Priority**
Maybe high. It's needed for some servers using WG and PS to protect player assets.
**Implementation**
Add wildcards supports such as "\?", "\*" to region condition.
e.x.**- region{r=ps\*x\*y\*z}** condition is able to detect region "ps0x0y0z", "ps100x64y-100z" and more.**Summary**
Support wildcards on region condition.
This is a supplement for #959. Since this may be easier to achive, hope it can be implemented faster.
**Usage**
To support various region creating plugins such as ProtectionStone.
**Value**
Makes region condition more flexible.
**Priority**
Maybe high. It's needed for some servers using WG and PS to protect player assets.
**Implementation**
Add wildcards supports such as "\?", "\*" to region condition.
e.x.**- region{r=ps\*x\*y\*z}** condition is able to detect region "ps0x0y0z", "ps100x64y-100z" and more.https://git.mythiccraft.io/mythiccraft/MythicMobs/-/issues/1000[Feature Request] Allow spawn a group of mobs for each spawn point with rando...2023-09-18T18:41:29Zl rz[Feature Request] Allow spawn a group of mobs for each spawn point with random spawn system**Summary**
Add a new option "GroupNumber" for random spawning system to set a number or range that how many mobs will be spawned as a group at a spawn point. For example, if set "GroupNumber: 2-5", there will be 2-5 mobs being spawned at each point.
**Usage**
To randomly spawn mobs into groups.
**Value**
Makes the random spawn system more like the vanilla mob spawning. Most vanilla mobs, such as zombies, pigs, are usually spawned as a group containing 1-4 mobs together.
**Priority**
Low to medium. Just add a beautiful thing to a contrasting beautiful thing.
**Implementation**
Add a new option "GroupNumber" for random spawning system, as mentioned above.**Summary**
Add a new option "GroupNumber" for random spawning system to set a number or range that how many mobs will be spawned as a group at a spawn point. For example, if set "GroupNumber: 2-5", there will be 2-5 mobs being spawned at each point.
**Usage**
To randomly spawn mobs into groups.
**Value**
Makes the random spawn system more like the vanilla mob spawning. Most vanilla mobs, such as zombies, pigs, are usually spawned as a group containing 1-4 mobs together.
**Priority**
Low to medium. Just add a beautiful thing to a contrasting beautiful thing.
**Implementation**
Add a new option "GroupNumber" for random spawning system, as mentioned above.