

Suggestion Type: Fix | Addition | Compatibility
Short Description:
Long Description:
Estimated time with MS:
Go nuts @here (edited)
4
- itemlorehas (line):(value) then we could essentially store data on items. This would open up new possibilities for custom storage and durability.
Time with MS: 7 years. (edited)
5



"If the PortalSpell was also a target location (like the MarkSpell is, believe it or not) you could just cast Portal2 at Mark1 and bam, two-way portal." -Shadoward12
Estimated Time with MS: 4 years. (edited)




max-power-multiplier implement power in empowerspell
Long Description: as the short desc saying changing max-power-multiplier instead of recasting to stack up it would make it the max power achievable from the modifier power or addpower as for my next suggestion which is the addition implementing power in EmpowerSpell for example lets say this is the spell example:
spell-class: ".buff.EmpowerSpell"
duration: 10
power-multiplier: 1
max-power-multiplier: 2
modifiers:
- night power 3 as you can see so on night lets assume you'd use it that power would be muliplied by the exisiting multiplier so the final multiplier will be 1*3 = 3 bue due max power multiplier it can't exceed 2max_power-multiplier of recasts because power is very powerful so recasting to increase it's power is a bad idea
dotactive Similar to buffactive, but for the DotSpell
- Add feature to DotSpell (or new DotSpell variant) which supports drain life features (Near identical to drainlife spell).
- New option to DotSpell stackable. Boolean. If set to true, when a dotspell would be applied to a target, if it is already affected by the same dotspell to add the damage from the newly added dotspell to the existing dotspell and setting the duration to the duration that would have been applied with the new dotspell.
.instant.PortalSpell so that players need to have e.g. buffactive PortalEntry required in order to travel.
entrance-modifiers sectionteleport-non-players could be useful
targetedMultiSpell:
spell-class: ".TargetedMultiSpell"
spells:
- firstPainSpell
- DELAY 20
- secondPainSpell
So, it will deal 4 hearts of damage, then wait for a second, and then deal 5 hearts of damage.... Ok, it's not complicated right ?
Would you like to have one PainSpell that can do both 4 and 5 hearts of damage (with delay in between)? I would...
My suggestion is:
Can we add new method that will set property of certain spell in MultiSpell?
Something like this:
targetedMultiSpell:
spell-class: ".TargetedMultiSpell"
spells:
- somePainSpell setproperty damage 8 #damage = hearts*2
- DELAY 20
- somePainSpell setproperty damage 10
Chrono told me I can use spell power.... Ok, but can I use it to set, for example, projectile-velocity or particle-name? I CAN'T!
So:
multiSpell:
spell-class: ".MultiSpell"
spells:
- somePPSpell setproperty velocity 5
#or - somePPSpell2 setproperty particle-name blockcrack_95_3
But, can you add to set more than one property ? To look something like this:
multiSpell:
spell-class: ".MultiSpell"
spells:
- somePPSpell setproperties velocity 5 particle-name blockcrack_95_3
- DELAY 20
- somePPSpell setproperties velocity 10 particle-name blockcrack_95_6
That sound rly good to me 
hit-air-during: true to blocktoss spells
Long Description: pls
Estimated time with MS: 5 years





spell-on-tick added to it.


Suggestion Type: Addition
Short Description:More options for the Magic Bond Spell
Long Description: When I was testing out the Magic Bond spell I felt like it was missing a few things that would make it a lot more useful. The first was that it would be nice to have a feature where you could use more than just one spell(By this I mean after using a spell you cant use it again, like add a way for players to number how many spells can be casted within one bond before it ends) Along with that, I feel like it would be a lot more useful to have a bind to any entity rather than binding to a player.
Estimated time with MS: been working with ms for about a year and a half (edited)
3
4
Suggestion Type: Addition.
Short Description: fist as a cast item.
Long Description: You cast spells through inventory's slots. Each slot can bind only one spell to cast.

allowed-spell-tags in the Reflect Spell to specify only a set collection of spells that can be reflected. In a similar matter, also include disallowed-spell-tags so that only a collection of spells can’t be reflected.
hug-surface being added to BeamSpell and also ProjectileSpell if possible.
Long Description: Allow for the usage of hug-surface in the BeamSpell and, if it’s possible, then the ProjectileSpell too. This will be a replication of how ParticleProjectileSpell acts when hug-surface is set to true, except BeamSpell will happen in an instant line, while the ProjectileSpell could simply act as the ParticleProjectileSpell does.

spell-option option that will check which option the player has chosen, and if the spell-option matches a option in the option list, A spell or list of spells will be casted, which is under spell or `spells, which would be a spellname or list of spellnames that will be cast by the ConversationSpell.
1
MenuSpell that allows for drag and drop of items in the menu to the player's inventory or vice-versa(is not required to be stored when placed in menu.) (edited)
variable1 and variable2 and this addition was added to variablecompare modifier variablecompare variable1>variable2:3 this is just an example of what the format would look like anyways what that means is variable1 has to be more than variable2 by a value which is 3 what the current variablecompare does it can compare 2 variables BUT not by a value for example variablecompare variable1>variable2 variable1 just has to be more than variable2


variablecompare variable1>3>variable2
targetcastervariable condition. Similiar to the variable condition, it compares the values of the target's variable with the caster variable. The syntax could be <castervariablename><operator><targetvariablename>. This also removes the need for the variablematches condition

hasspell modifier










vert-expand-radius
vert-expand-delay
horiz-expand-radius
horiz-expand-delay
- can be negative for implosion





join trigger to make what you need.
Personally, the way I use passive spells is that I have a file full of passive spells, one for every listener I need. I think that's more optimised than multiple instances of the listeners - and that's proven for the ticks passive trigger.



Suggestion Type: Compatibility
Description: Not really plugin related. I think support channel 4 should be listed in the request-room channel
Estimated time with MS: 1 year
















hidden only hide the potion effect icon within the PotionEffectSpell when true, and instead add a particles option that prevents particles when set to false.
Long Description: There is currently only a hidden option for the PotionEffectSpell which allows for you to hide the potion effect visually of both the icon that appears and particles that play. There should be some way to preserve the icon or particles separately rather than both requiring their removal at the same time.















cast-items.

list: &anchor [item1, item2]
list2: *anchor
(Output)
{
"list": [
"item1",
"item2"
],
"list2": [
"item1",
"item2"
]
}
http://magicspells.site.nfoservers.com/forums/discussion/48/anchors-and-inline-lists-and-mappings (edited)








circle-shape to the ReplaceSpell.
Long Description: Since this is an option being recently implemented into various other spells, I think the ReplaceSpell should be able to use it. Currently it can only replace in a square shape. circle-shape would simply act as a Nova using this option would, being a flat circle shape, which could also end up forming cylinders with the height options. (edited)

hasnbt modifier.
Long Description: This modifier will tell you if the specified NBT tag is on the item specified.
modifiers:
- hasnbt (slot) (NBT) (action)
modifiers:
- hasnbt hand/offhand/armor/helmet/chestplate/leggings/boots/0-35 CriticalAllowedNBT required (edited)

collection: [collection name(s)] option to magic items, and an itemcollection modifier.
Long Description: You can define what collection(s) an item belongs too. These are purely self-defined identifiers. The modifier will determine if the item you have in a particular slot is part of the specified collection. Ex: itemcollection hand SwordCollection required

min-altitude option for Windwalk spell.
Long Description: Add a min-altitude option that controls the minimum height a player can be at while using a WindwalkSpell. If they go below the min-altitude, the spell will force them back up to min-altitude, much like how max-altitude forces them down. If there are blocks in the way, it'll just force them up as high as they can go.



%t_uuid & %a_uuid


1
eff1:
position: caster
effect: armorstand
duration: null
armorstand:
head: sk1
gravity: false
duration: 0 ㄱ
summon => delay1 => disable
Long Description:
use caster or target pos for summon armourstand
it can be use less spell (edited)
replace-oldest-on-cap: true/false to pulsers/totems/other spells that have a numerical limit like that
Long Description: make it so that, if the above option is true, it replaces the oldest totem/pulser block/etc rather than straight up refusing to place more
Estimated time with MS: 7 years? i think

can-enchant option to magic item.
Long Description: If can-enchant is false, the player can't add enchantment to magic item using enchanting table. Only magic item configuration can add enchant.
Estimated time with MS: 7 months
Suggestion Type: Addition
Short Description: hastotem modifier condition
Long Description: checks if the player has a certain amount of totems active. the syntax would be hastotem <totemname> <operator><amount>
Estimated time with MS: 1 minute

Suggestion Type: Addition
Short Description: totem modifiers option
Long Description: checks the modifiers of the totem whenever it pulses spells. If the modifier fails, the totem will dissapear.

Suggestion Type: Addition
Short Description: hastotem modifier condition
Long Description: checks if the player has a certain amount of totems active. the syntax would be hastotem <totemname> <operator><amount>
Estimated time with MS: 1 minute 



Suggestion Type: Add
Short Description: specific strings for modifier fails
Long Description:
Do you have multiple modifiers?
Do they have different functionalities?
Look no further, with this new addition, you can put strings for different modifiers whenever they fail!
It works as a simple cast argument to ur modifier or anyway else the devs wanna do it
Example:
modifiers:
- hasitemamount >14;reishishard required(str-failed: "Ahhh you dont got enough materials")
- variable craftingstatus=1 denied(str-failed: "Ahhh you're already crafting some shit")
$$[msg] no quotes$ if that doesn't work




Suggestion Type: Fix
Short Description: Change the order of spell to process zones first before modifiers
Long Description: When a spell has a chance 100 modifier with a spell, the spell is casted. I believe this
is because the zones are processed when casting a spell after the modifiers are processed
Suggestion Type: Change
Short Description: Change region option to string list
Long Description: Making multiple zones can be a hassle and isn't optimized. Changing the region option to accept
string lists can eliminate that.
Suggestion Type: Addition
Short Description: PassiveSpell trigger for natural health regeneration
Long Description: A new trigger for PassiveSpells that listens for vanilla health regeneration from having a hunger bar value above 17, preferebly this trigger would be cancellable
Estimated time with MS: 1~ year (edited)




add-more-enchants(boolean) option in magic item
Long Description: If magic item has enchants option can use add-more-enchants not to add more enchants to magic item with anvil.
Estimated time with MS: 1 year (edited)

Credit Level: 1-3 you'd progress these roles by having people rate you as a commissioner like when you go to a fancy restaurant and rate it obviously there can be malice in this feedback so it could be taken as a grain of salt however it was just an idea. I also think having commission roles could help a lot people just completely ignore the rules etc.. but if they see a commissions: closed/open role it could stop or entice them. Just a thought I don't expect it to be taken seriously
1

reviews channel and in there you would review the person you commissioned in any sort of way and the more positive reviews you have the more "points" you acquire slowly building up your credit as a reliable person.
I also imagine this being used for people who seek out people to commission them. You'd be able to review them so people are aware of them if they're untrustworthy for example: "This person was an unreliable client, they didn't provide sufficient detail within their descriptions or references material. They further refused to pay for my work because they didn't like the colour of an effect etc..".
it could be a channel where you can only read your own messages so people can't just bombard the same person with negative or positive reviews and they would need to be reviewed to ensure the commission actually went through and it isn't just a fake review, however I doubt this would be too much of an issue besides a few trolls or salty clients.
2
claim-projectiles was supposed to do. But that spell and config option has a couple of problems. Projectile Modify is extremely finnicky and difficult to configure. It can also have its quirks with accuracy. Furthermore, because projectile modify does not exist, does not travel, does not target, etc., it is significantly more "dumb" than particle projectiles. They do not have the same capacity for logic. Also I dont think it even works lmao
As such, there should be something like allow-caster-interact-only within particle projectiles and whatever spellClasses have interactions.
There is a allow-caster-interact: false to make it so that the caster cannot interact with their own projectiles. Rn I'm essentially suggesting the opposite. (edited)
2
can-interact:




effect-interval: TICKS
buff option






Suggestion Type: Addition
Short Description: Giving modifiers to effects
Long Description: Allow varying effects within a single spell to play based on modifier conditions.
example:
effects:
effect: sound
position: caster
sound: entity.generic.explode
effect-modifiers:
- onblock dirt required
Estimated time with MS: 4 months (edited)
modifiers section in the buff position



effects: #This option replaces the "type" option
- speed 0 60
- strength 1 120
- resistance 2 240

Suggestion Type: Addition
Short Description: The ability to change display messages.
Long Description: What I mean by this is change where they are displayed exactly. For example having a config option to display cooldown messages in the action bar etc. I think it could be useful to some people who may want to change this such as myself. Chat spam is never fun especially when a cooldown is close to being up and people spam click and their chat is flooded.
Yes I am very aware this is a niche suggestion and I don't expect much to come of it however there is no harm in suggesting it.
Estimated time with MS: 4+ years.
Suggestion Type: Addition
Short Description: Update inventory in MenuSpell whenever a variable used in it is changed
Long Description: When item lores with var replacement are displayed in the MenuSpell, if the variable is changed, the menuspell will not update its value unless you close the inventory and open it again. Thus, displaying timers in menu spells are inaccurate unless you keep opening and closing the inventory.
Estimated time with MS: 4+ years.

Suggestion Type: Addition
Short Description: PlayerItemConsumeEvent passive trigger.
Long Description: On the spell config we have consume-cast-item which is great, but gives limited control, I would like to make a drinkable potion that give a short buff but can be consumed more than once so I need the option to cancel-default-action.
Estimated time with MS: 9+ years.
Suggestion Type: Addition
Short Description: An option for the MountSpell called "rotate-on-movement: (true/false)"
Long Description: The option "rotate-on-movement" when true is the current behavior, where when the player presses WASD, the mounted entity will turn in that direction. When the option is false, the mounted entity will not turn with the player when WASD is used.
Estimated time with MS: 6-7ish years.
3
Suggestion Type: Addition
Short Description: An option for the ItemSerialize spell called "slot: (int value)"
Long Description: Seriaizes the item in the slot number rather than the hand item
Estimated time with MS: 6-7ish years.
Suggestion Type: Addition
Short Description: Variable cast to recognize external spell names
Long Description: Variable cast only works with internal name. Please make it with external names as well
Estimated time with MS: 6-7ish years.


















Suggestion Type: Addition
Short Description: Interrupt spell cast time if the player switches item.
Long Description: spell cast times can be interpreted by moving or taking damage, think a nice addition would be to require the player to hold the cast-item during the cast, perhaps add the config option interrupt-on-item-switch? Possible issues, spells don't require a cast item and if you can cast from the offhand does that need to be considered?
Estimated time with MS: 9+ years.
Suggestion Type: Addition
Short Description: Disable scientific notation in general.yml
Long Description: Sometimes I gotta do some math with like variables and stuff and I don’t like to count decimal places. I would like it if variables aren’t displayed with scientific notation. My scrap paper has a lot of u’s in it from counting all the places
Estimated time with MS: 1 hour.
1e2, where e replaces *10^ - 1 * pow(10, 2)
# for 'aaa', animation frames 0-8388607 are not autoplay. numbers past 8388608 defines starting frame to auto-play from with smooth interpolation (suso's idea)
# auto-play color can be calculated by: 8388608 + ((total duration + ([time query gametime] % 24000) - starting frame) % total duration)

73237 * 10^182372




















function getFullNum() {
var num = args[0];
var splits;
if (num.includes("e")) splits = num.split("e");
else if (num.includes("E")) splits = num.split("E");
if (!splits || !splits.length) return num;
var final = splits[0];
var negFinal = final < 0;
if (negFinal) final = -final;
var dec = splits[1];
var negDec = dec < 0;
if (negDec) dec = -dec;
for (var i = 0; i < dec; i++) {
if (negDec) final = "0" + final;
else final += "0";
}
if (negDec) final = "0." + final.substring(1);
if (negFinal) final = "-" + final;
return final;
}
getFullNum();



Suggestion Type: Addition
Short Description: Extra options for entomb.
Long Description: For as long as I've used MS, I've always wanted to be able to stretch out entomb. Since there are problems with the Materialize spell, I feel like this option would allow a super simple option for those who just want to... entomb, just bigger, and to get around using something a little more complex such as Materialize. This suggestion isn't to rid off materialize completely, but to add options to a spell that's been around since nisovin that still has very little options to it.
Options I suggest:
- Height
- Radius and/or Area
- Patterns (I personally don't care for this option, but I figure I suggest it because there might be other opinions / this could also be used to give some prettier entomb options.)
Estimated time with MS: 4 years. (edited)





































Suggestion Type: Compatibility
Short Description: Better Compatibility with Incantations & chat plugins
Long Description: Chat plugins & Incantation spells currently are very limited i think it would be cool to add better compatibility with chat plugins as it kinda Impairs the user to use certain chat plugins with limited customization.
Estimated time with MS: a year and a half


Suggestion Type: Addition
Short Description: Have the RoarSpell implement TargetedEntitySpell.
Long Description: Having the RoarSpell implement TargetedEntitySpell would allow for more specific mob targeting/casting in base MS, for example, allowing for the creature spawned by a MinionSpell to target entities based on customizable threat levels.
Estimated time with MS: 2 1/2+ years.























general.yml change gamemode targetting.
Suggestion Type: Addition
Short Description: Be able to set a stack size limit for a magic-item.
Long Description: Be able to set a stack size limit for a magic-item.
Estimated time with MS: Around... Uh.. *I can't remember when I first started*
While typing this I realized it is possible with the use of Variables and setting limits, figured it would be easier for the public / people who don't know how to use this yet. ❤️
Suggestion Type: Fix
Short Description: Entity effect fails the spell if you spawn certain mob types without defining certain entitydata
Long Description: If you use certain mob types such as tropical fish or horses, which have many variations, you will cause a bug where the spell does not occur but the mob is spawned. This occurs when you do not specify stuff such as colours or patterns for the mob, and instead a random variant is spawned.
Estimated time with MS: 3+ years (?) (edited)
















