MagicSpells-4.0-Beta-16
Note
4.0 Beta 16has been tested on1.21,1.21.1,1.21.3, and1.21.4.- All changes are already on the wiki.
Breaking Changes:
- Magic Item comparison no longer uses a liberal method of attribute modifier checking. Attribute modifiers must now have the same identifier and be listed in the same order to match.
- Removed the
VolleySpelloptionknockback-strength. This option stopped functioning due to internal changes. The effect can be simulated by the newweaponMagic Item option.
Changes:
- The
patternsoption for magic items now supports resource locations for patterns. - You can now list
*as a wildcard in theResistSpelloptionsnormal-damage-typesandspell-damage-types. DisguiseSpellnow requiresPacketEventsinstead ofProtocolLib. See here for why.- The
wearinginslotmodifier condition's ConditionVar format has been changed to be<slot/slot groups>=<magic items>.<slot/slot groups>specifies a list of equipment slot groups, separated by,. Old slot names still work, such ashat,helm,tunic,leg,pant,shoe,boot. Values can be optionally prefixed by!to negate them.<magic items>specifies a list of magic items separated by|. Negated groups have priority, hencewearinginslot mainhand,feet,!armor=stick|paperwould not match even if paper were to be in thefeetslot. - Enchantments can now be specified using resource locations.
- Removed unneeded libraries from the plugin jar.
- Version dependent functionality will no longer preemptively fail on untested versions. Caution should still be exercised.
- The
hug-surfaceoption ofParticleProjectileSpellwill now follow block shapes more closely. In addition, the option will now respect the values of theground-materials,disallowed-ground-materials,ignore-passable-blocks, andfluid-collision-modeoptions.
Attributes:
- Attribute names can now be specified using resource locations.
- Defining attribute modifier slots is no longer limited to Magic Items, but availabe to all spells with the
attributesoption, such asEntityEditSpell,MinionSpell, andSpawnEntitySpell. - The valid slot values have been extended to these values and
*(main_hand,hand, andoff_handare still valid). - String-based attribute modifiers now support a fifth argument to define a resource location as an id.
- Attribute modifiers now have a section-based format, with keys
type,id,operation,amount, andslot.
attributes:
- type: generic.movement_speed
id: magicspells:fast_movement
amount: 1
operation: add_value
slot: anyEntity Data:
- Renamed a variety of entity data options. Old names will continue to work, but it is suggested to migrate to the new names.
- Axolotl:
type->axolotl-variant. - Villager:
type->villager-profession. - Cat:
type->cat-variant. - Wolf:
color->collar-color. - Enderman:
material->carried_block. - Falling Block:
material->falling-block. - Fox:
type->fox-type. - Frog:
type->frog-variant. - Horse:
color->horse-color,style->horse-style. - Llama:
color->llama-variant,material->llama-decor. - Mooshroom:
type->mooshroom-type. - Parrot:
type->parrot-variant. - Rabbit:
type->rabbit-type. - Sheep:
color->sheep-color. - Shulker:
color->shulker-color. - Tropical Fish:
color->tropical-fish.body-color,pattern-color->tropical-fish.pattern-color,type->tropical-fish.pattern.
- Axolotl:
- Added the
villar-typeoption to entity data. Specifies a spawned villager's type. - Added the
wolf-variantoption to entity data. Specifies a spawned wolf's variant. - Expanded the
collar-color(formerlycolor) option on entity data to cats.
Additions:
- Added the
fixedtimemodifier condition. Checks if the time is fixed in the target location. - Added
SprintSpell. - Added the
messagemodifier action. Sends a rich text message specified in ActionVar to the caster. - Added the
permanentoption (Boolean,trueby default) toEntityEditSpell. Whenpermanent: false, attributes added by the spell no longer save with the entity. These attributes persist when the plugin unloads. - Added the
forceoption (Boolean,falseby default) toEntityEditSpell. Whenforce: true, attribute types not normally present on an entity are forcefully registered, allowing normally incompatible modifiers to be applied. Any attributes added this way will use the attribute's default base value. - Added
removeoption (Boolean,falseby default) toEntityEditSpell. Whenremove: true, the spell will instead always remove the configured attributes, based on their resource location identifier. - Added the
markerarmorstandstargeting element. When specified, armor stands with the marker attribute can be targeted. Aliases:markerstand,markerstands, andmarkerarmorstand. - Added
VolleySpelloptions:pierce-level(Integer,0by default) - Specifies how many entities the arrow can pierce through. It must be between0and127.weapon(Magic Item) - Specifies an item to consider as the weapon for the spawned arrows. Enchantments will generally function as normal, except for the piercing enchantment. Use thepierce-leveloption instead.arrow-item(Magic Item) - Sets the pickup item for the arrows. Note that Volley arrows cannot normally be picked up, but this option is there for other plugins.color(Color) - Spawned arrows emit particles matching the color.potion-type(Potion Type) - Spawned arrows will apply the potion effect as if the arrow was created from a tipped arrow.potion-effects(Potion Effect List) - Specifies additional custom effects to be applied on hit entities.
- The
defaults.ymlfile now supports all spell options, as well as properly supporting replacement. - Valid target lists now support entity type tags. For example:
can-target: #undead, players
Fixes:
- Fixed an issue with the
nightcondition incorrectly succeeding in dimensions with a fixed time. - Fixed an issue with entity data relating to the axis-angle format for display entity rotations.
- Fixed an issue that caused the
external::vanillamagic item serializer not to output the correct format. - Fixed an issue with the
intermediate-effectsandintermediate-hitboxesoptions ofParticleProjectileSpellandProjectileSpellthat caused intermediate positions to be calculated improperly. - Fixed an issue with the
intermeditate-hitboxesoption ofProjectileSpellthat caused intermediate hits to continue to process after the projectile had stopped. - Fixed an issue with the
wearinginslotmodifier condition that caused the incorrect slots to be checked. - Fixed an issue with
VolleySpellthat allowed the spawned arrows to be picked up. - Fixed magic items being incorrectly split in the following passive listeners:
anvil,craft,dropitem,enchant,equip,foodlevelchange,givedamage,grindstone,hitarrow,hotbardeselect,hotbarselect,leftclickitem,missarrow,pickupitem,playeranimate,prepareenchant,rightclickitem,smith,takedamage, andunequip. - Fixed an issue with the
orbitspell effect position where the effect was being duplicated. - Fixed an issue with the
colorparameter of theeffectlibspell effect not supporting specifying alpha (opacity) values. - Fixed an issue with the yaw and pitch options of the
/ms cast atcommand being incorrectly labeled in help commands. - Fixed an issue with the duration of the
dragondeathspell effect.