Skip to content

Releases: TheComputerGeek2/MagicSpells

MagicSpells-4.0-Beta-16

13 Nov 16:58
47ecdbb
Compare
Choose a tag to compare

Note

  • 4.0 Beta 16 has been tested on 1.21, 1.21.1, and 1.21.3.
  • 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 VolleySpell option knockback-strength. This option stopped functioning due to internal changes. The effect can be simulated by the new weapon Magic Item option.

Changes:

  • The patterns option for magic items now supports resource locations for patterns.
  • You can now list * as a wildcard in the ResistSpell options normal-damage-types and spell-damage-types.
  • DisguiseSpell now requires PacketEvents instead of ProtocolLib. See here for why.
  • The wearinginslot modifier 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 as hat, 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, hence wearinginslot mainhand,feet,!armor=stick|paper would not match even if paper were to be in the feet slot.
  • 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-surface option of ParticleProjectileSpell will now follow block shapes more closely. In addition, the option will now respect the values of the ground-materials, disallowed-ground-materials, ignore-passable-blocks, and fluid-collision-mode options.

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 attributes option, such as EntityEditSpell, MinionSpell, and SpawnEntitySpell.
  • The valid slot values have been extended to these values and * (main_hand, hand, and off_hand are 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, and slot.
attributes:
    - type: generic.movement_speed
      id: magicspells:fast_movement
      amount: 1
      operation: add_value
      slot: any

Entity 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.
  • Added the villar-type option to entity data. Specifies a spawned villager's type.
  • Added the wolf-variant option to entity data. Specifies a spawned wolf's variant.
  • Expanded the collar-color (formerly color) option on entity data to cats.

Additions:

  • Added the fixedtime modifier condition. Checks if the time is fixed in the target location.
  • Added SprintSpell.
  • Added the message modifier action. Sends a rich text message specified in ActionVar to the caster.
  • Added the permanent option (Boolean, true by default) to EntityEditSpell. When permanent: false, attributes added by the spell no longer save with the entity. These attributes persist when the plugin unloads.
  • Added the force option (Boolean, false by default) to EntityEditSpell. When force: 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 remove option (Boolean, false by default) to EntityEditSpell. When remove: true, the spell will instead always remove the configured attributes, based on their resource location identifier.
  • Added the markerarmorstands targeting element. When specified, armor stands with the marker attribute can be targeted. Aliases: markerstand, markerstands, and markerarmorstand.
  • Added VolleySpell options:
    • pierce-level (Integer, 0 by default) - Specifies how many entities the arrow can pierce through. It must be between 0 and 127.
    • 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 the pierce-level option 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.yml file 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 night condition 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::vanilla magic item serializer not to output the correct format.
  • Fixed an issue with the intermediate-effects and intermediate-hitboxes options of ParticleProjectileSpell and ProjectileSpell that caused intermediate positions to be calculated improperly.
  • Fixed an issue with the intermeditate-hitboxes option of ProjectileSpell that caused intermediate hits to continue to process after the projectile had stopped.
  • Fixed an issue with the wearinginslot modifier condition that caused the incorrect slots to be checked.
  • Fixed an issue with VolleySpell that 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, and unequip.
  • Fixed an issue with the orbit spell effect position where the effect was being duplicated.
  • Fixed an issue with the color parameter of the effectlib spell effect not supporting specifying alpha (opacity) values..
  • Fixed an issue with the yaw and pitch options of the /ms cast at command being incorrectly labeled in help commands.
  • Fixed an issue with the duration of the dragondeath spell effect.

MagicSpells-4.0-Beta-15

12 Jun 20:47
28c30db
Compare
Choose a tag to compare

Version Support

This build only supports Paper server version 1.20.6.

Breaking Changes

  1. During the update to 1.20.5/6, the identifiers of several data types were renamed to match their vanilla counterparts. For example, the spell_mob and redstone particles were renamed to entity_effect and dust, respectively. In most cases spell options will still accept the legacy names; users are still advised to migrate away from them, however.
  2. The entity_effect particle now requires a color. For the particles, particlespersonal and particlecloud spell effects, this is done with the new argb-color option.

Bugfixes

  • Fixed an issue that prevented ListSpell and SublistSpell from listing temp-granted spells.
  • Fixed an issue that caused ListSpell and SublistSpell to list empty spell lists improperly in certain situations.
  • Fixed an issue that prevented SummonSpell from functioning without a caster when casting at an entity from a location.
  • Fixed an issue that prevented replacement and certain spell effect options from working when using the trail effect position in certain situations.
  • Fixed an issue that prevented ProjectileSpell from checking intermediate entity collisions properly.

Changes

  • ListSpell and SublistSpell now list spells in alphabetical order.
  • SummonSpell now checks can-target and target-modifiers, as well as applying variable-mods-target.

Additions

  • Added the argb-color option to the particles, particlespersonal and particlecloud effect types. Specifies an ARGB color to be used for the particle. Applicable to the entity_effect particle.
  • Added the body and body-drop-chance options to the equipment section of entity data. Applicable to mob entities.
  • Added the only-count-on-success option to LoopSpell. When true, an iteration of the loop only counts towards iterations if all of the subspells in spells succeed. Defaults to false.
  • Added the pitch and yaw angle options to spell effects, entity data, and OffsetLocationSpell. Specifies an angle for pitch and yaw, respectively. Optionally supports starting with a ~ to specify a relative angle. Both options default to ~.
  • Added the should-burn-in-day option to entity data. If false, the spawned mob will no longer burn in the day. Defaults to false.

MagicSpells-4.0-Beta-14

18 May 14:33
3d80d93
Compare
Choose a tag to compare

Supports only version 1.20.4.

Changelog

MagicSpells-4.0-Beta-13-patch-1

06 Nov 18:28
1507fdf
Compare
Choose a tag to compare

Bugfixes:

  • Fixed an issue where the height option of VelocitySpell was divided by 10.
  • Fixed an issue where the velocity option of VelocitySpell wasn't divided by 10.
  • Fixed an issue with ExplodeSpell that caused it to error out in specific circumstances.
  • Fixed an issue that prevented change-pitch option of ParticleProjectileSpell from functioning properly.
  • Fixed an issue that caused self-targeting to error out in specific circumstances.
  • Fixed an issue that prevented the cast-time spell option from functioning.
  • Fixed an issue that caused the duration option of the bossbar effect to not function properly.

Additions:

  • Added the projectile-horiz-offset, projectile-vert-offset, projectile-horiz-spread, and projectile-vert-spread options to HomingMissileSpell.
  • The remove option of CleanseSpell now supports removing totems spawned by TotemSpell, using the format totem:<totem spell name>.
  • The namespace-key option of the bossbar effect now supports replacement.

MagicSpells-4.0-Beta-13

19 Oct 18:30
d8c0381
Compare
Choose a tag to compare

This release includes many bugfixes, long awaited global variable replacement and many other additions!
Beta 13 supports 1.19.4 - 1.20.2.

Changelog

MagicSpells-4.0-Beta-12

10 Jul 09:17
7e23bad
Compare
Choose a tag to compare

Supports 1.19 only.

Minor changes and bugfixes

Changelog:

Added always modifier.
Added bow-items, ammo-items, disallowed-bow-items, disallowed-ammo-items for BowSpell.
Added strict-enchants and strict-enchant-level for MagicItems.
Added potion-effects list for PotionEffectSpell (Format: <PotionType> <Duration> <Strength> <Hidden> <Ambient> <Icon>).
Added icon parameter for PotionEffectSpell.
Subspells will check their target lists when casting at an entity.

MagicSpells-4.0-Beta-11

03 May 18:00
ba2ed2a
Compare
Choose a tag to compare

Supports 1.18.2 only.

Minor changes and bugfixes
Requires Java 17 and Paper or its forks to run

Changelog:

Added spell-on-entity-location for BowSpell.
Added spell-on-entity-location for BeamSpell.
Added spell-on-entity-location for ProjectileSpell.
Added RiptideSpell.
Added RiptidingCondition.
Added Anvil, Enchant, Grindstone and Smith passive triggers.
Added str-on-teach for spells.
Added LoopSpell, LoopActiveCondition and OwnedLoopActiveCondition.
Added force option for particles effect.
Added error-log-limit in general.yml
Added world.time and world.gametime data elements.

MagicSpells-4.0-Beta-10

22 Nov 11:32
951be38
Compare
Choose a tag to compare

Supports 1.17.1 only.
Minor changes and bugfixes
Requires Java 16 and Paper or its forks to run

Changelog:

Added support for dust_color_transition and vibration particles:

  • added to-color, which accepts a hex value
  • added arrival-time, which accepts an integer value
  • added vibration-offset, which accepts a vector value
  • added vibration-relative-offset, which accepts a vector value

Added pass-targeting for AreaEffectSpell and TargetedMultiSpell, which is true by default. It passes down the target list to its subspells when its set to true, means you dont have to make separate AOE subspells if you want them to target the caster and other entities.
Fixes for MenuSpell
BowSpell supports crossbows
Added effectlib-instance-limit to general.yml - its the limit for effectlib effect instances, default to 20000.
Added terminate-effectlib-instances to general.yml - whether it should terminate all effectlib effect instances when the effectlib-instance-limit is reached, otherwise it just wont play further effectlib effects. default set to true.
Added equip and unequip passive triggers.
Added partial block data support, currently works for NovaEffect, LookingAtBlock, InBlock, OnBlock, OverBlock, TestForBlock and UnderBlock modifiers.

MagicSpells-4.0-Beta-9

25 Jun 05:53
2169ec0
Compare
Choose a tag to compare

1.16.5 Version support
Lots of changes and optimizations
Fixed effectlib memory leaks and bugs

Requires Java 11 and Paper or its forks to run

Full changelog: https://pastebin.com/EgCy0CHZ

MagicSpells-4.0-Beta-8

08 Dec 11:38
b27b778
Compare
Choose a tag to compare

1.16.4 Version support
Small additions

Full changelog: https://pastebin.com/zD4sqiJk