Class Levitation

java.lang.Object
com.binaris.wizardry.api.content.spell.Spell
com.binaris.wizardry.content.spell.sorcery.Levitation

public class Levitation extends Spell
  • Constructor Details

    • Levitation

      public Levitation()
  • Method Details

    • cast

      public boolean cast(PlayerCastContext ctx)
      Description copied from class: Spell
      This cast method is meant to be used for spells that are cast by a player source. This is useful for spells that are meant to be cast by players, as it provides more information about the caster and the context of the cast.

      Override this method to implement the casting behavior for spells that are meant to be cast by players.

      Specified by:
      cast in class Spell
      Parameters:
      ctx - The context of the spell cast, containing information about the world, caster, hand used, modifiers, etc.
      Returns:
      true if the spell was successfully cast, false otherwise. If this returns false, the spell will not be considered as having been cast, so no cooldown will be applied.
    • playSound

      protected void playSound(net.minecraft.world.level.Level world, net.minecraft.world.entity.LivingEntity entity, int castTicks, int duration)
      Description copied from class: Spell
      Plays this spell's sound at the given entity in the given world. This calls Spell.playSound(Level, double, double, double, int, int), passing in the given entity's position as the xyz coordinates. Also checks if the given entity is silent, and if so, does not play the sound.

      You should override this is you're trying to implement a custom sound loop, check FrostRaySpell as an example.

      Overrides:
      playSound in class Spell
      Parameters:
      world - The world to play the sound in.
      entity - The entity to play the sound at, provided it is not silent.
      castTicks - The number of ticks this spell has already been cast for, passed in from the cast(...) methods. Not used in the base method, but included for use by subclasses overriding this method.
      duration - The number of ticks this spell will be cast for, passed in from the cast(...) methods. Not used in the base method, but included for use by subclasses overriding this method.
    • playSound

      protected void playSound(net.minecraft.world.level.Level world, double x, double y, double z, int ticksInUse, int duration)
      Description copied from class: Spell
      Plays this spell's sounds at the given position in the given world. This is not called automatically by the Spell class; subclasses should call it at the appropriate point(s) in the cast methods. You can also override this method if you want to implement a sound loop (normally for continuous spells), check FrostRaySpell as an example.

      In case you're using any standard subclass of Spell (e.g. RaySpell ArrowSpell) you won't need to handle the sound system by yourself, as these classes will call the playSound in the right moment for you.

      Overrides:
      playSound in class Spell
      Parameters:
      world - The world to play the sound in.
      x - The x position to play the sound at.
      y - The y position to play the sound at.
      z - The z position to play the sound at.
      ticksInUse - The number of ticks this spell has already been cast for, passed in from the cast(...) methods.
      duration - The number of ticks this spell will be cast for, passed in from the cast(...) methods. Not used in the base method, but included for use by subclasses overriding this method.
    • isInstantCast

      public boolean isInstantCast()
      Description copied from class: Spell
      Whether this spell is instant or not. An instant spell is a spell that is cast in a single tick, (it could have cooldown and/or charge-up time) and does not have a duration. By default, this returns true, as most spells are instant, but you can override this to return false if your spell is meant to have a duration and be cast over multiple ticks.
      Overrides:
      isInstantCast in class Spell
      Returns:
      true if this spell is instant, false otherwise.
    • properties

      @NotNull protected @NotNull SpellProperties properties()
      Description copied from class: Spell
      This method is where you should set the default properties for your spell when creating a new spell class. This method is called in the constructor of the Spell class, and the properties returned by this method are assigned to the spell's properties field.
      Specified by:
      properties in class Spell
      Returns:
      A SpellProperties object with the default properties for your spell.