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.