Releases: TheComputerGeek2/MagicSpells
MagicSpells-4.0-Beta-16
Note
4.0 Beta 16
has been tested on1.21
,1.21.1
, and1.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
optionknockback-strength
. This option stopped functioning due to internal changes. The effect can be simulated by the newweapon
Magic Item option.
Changes:
- The
patterns
option for magic items now supports resource locations for patterns. - You can now list
*
as a wildcard in theResistSpell
optionsnormal-damage-types
andspell-damage-types
. DisguiseSpell
now requiresPacketEvents
instead ofProtocolLib
. 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 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|paper
would not match even if paper were to be in thefeet
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 ofParticleProjectileSpell
will 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-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 asEntityEditSpell
,MinionSpell
, andSpawnEntitySpell
. - The valid slot values have been extended to these values and
*
(main_hand
,hand
, andoff_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
, andslot
.
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
.
- Axolotl:
- 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
(formerlycolor
) 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) toEntityEditSpell
. Whenpermanent: 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) 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
remove
option (Boolean,false
by default) toEntityEditSpell
. Whenremove: 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
, andmarkerarmorstand
. - Added
VolleySpell
options:pierce-level
(Integer,0
by default) - Specifies how many entities the arrow can pierce through. It must be between0
and127
.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-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
andintermediate-hitboxes
options ofParticleProjectileSpell
andProjectileSpell
that caused intermediate positions to be calculated improperly. - Fixed an issue with the
intermeditate-hitboxes
option ofProjectileSpell
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
, andunequip
. - Fixed an issue with the
orbit
spell effect position where the effect was being duplicated. - Fixed an issue with the
color
parameter of theeffectlib
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
Version Support
This build only supports Paper server version 1.20.6
.
Breaking Changes
- During the update to
1.20.5/6
, the identifiers of several data types were renamed to match their vanilla counterparts. For example, thespell_mob
andredstone
particles were renamed toentity_effect
anddust
, respectively. In most cases spell options will still accept the legacy names; users are still advised to migrate away from them, however. - The
entity_effect
particle now requires a color. For theparticles
,particlespersonal
andparticlecloud
spell effects, this is done with the newargb-color
option.
Bugfixes
- Fixed an issue that prevented
ListSpell
andSublistSpell
from listing temp-granted spells. - Fixed an issue that caused
ListSpell
andSublistSpell
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
andSublistSpell
now list spells in alphabetical order.SummonSpell
now checkscan-target
andtarget-modifiers
, as well as applyingvariable-mods-target
.
Additions
- Added the
argb-color
option to theparticles
,particlespersonal
andparticlecloud
effect types. Specifies an ARGB color to be used for the particle. Applicable to theentity_effect
particle. - Added the
body
andbody-drop-chance
options to theequipment
section of entity data. Applicable to mob entities. - Added the
only-count-on-success
option toLoopSpell
. Whentrue
, an iteration of the loop only counts towardsiterations
if all of the subspells inspells
succeed. Defaults tofalse
. - Added the
pitch
andyaw
angle options to spell effects, entity data, andOffsetLocationSpell
. 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. Iffalse
, the spawned mob will no longer burn in the day. Defaults tofalse
.
MagicSpells-4.0-Beta-14
Supports only version 1.20.4.
MagicSpells-4.0-Beta-13-patch-1
Bugfixes:
- Fixed an issue where the
height
option ofVelocitySpell
was divided by10
. - Fixed an issue where the
velocity
option ofVelocitySpell
wasn't divided by10
. - Fixed an issue with
ExplodeSpell
that caused it to error out in specific circumstances. - Fixed an issue that prevented
change-pitch
option ofParticleProjectileSpell
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 thebossbar
effect to not function properly.
Additions:
- Added the
projectile-horiz-offset
,projectile-vert-offset
,projectile-horiz-spread
, andprojectile-vert-spread
options toHomingMissileSpell
. - The
remove
option ofCleanseSpell
now supports removing totems spawned byTotemSpell
, using the formattotem:<totem spell name>
. - The
namespace-key
option of thebossbar
effect now supports replacement.
MagicSpells-4.0-Beta-13
This release includes many bugfixes, long awaited global variable replacement and many other additions!
Beta 13 supports 1.19.4
- 1.20.2
.
MagicSpells-4.0-Beta-12
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
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
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
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
1.16.4 Version support
Small additions
Full changelog: https://pastebin.com/zD4sqiJk