diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/AwkwardSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/AwkwardSpell.java index daab266b..8741cb1a 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/AwkwardSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/AwkwardSpell.java @@ -3,8 +3,8 @@ package com.minelittlepony.unicopia.ability.magic.spell; import java.util.ArrayList; import java.util.List; -import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.Thrown; +import com.minelittlepony.unicopia.projectile.MagicProjectileEntity; import com.minelittlepony.unicopia.util.shape.Sphere; import net.minecraft.particle.ParticleEffect; @@ -22,7 +22,7 @@ public class AwkwardSpell extends AbstractSpell implements Thrown { } @Override - public boolean onThrownTick(Caster source) { + public boolean onThrownTick(MagicProjectileEntity source) { if (source.isClient()) { source.spawnParticles(new Sphere(false, (1 + source.getLevel().get()) * 8), 10, pos -> { diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/FireSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/FireSpell.java index bd02a10f..6473ab69 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/FireSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/FireSpell.java @@ -51,12 +51,12 @@ public class FireSpell extends AbstractSpell implements Thrown, Attached { } @Override - public boolean onBodyTick(Caster source) { - return onThrownTick(source); + public boolean onThrownTick(MagicProjectileEntity projectile) { + return onBodyTick(projectile); } @Override - public boolean onThrownTick(Caster source) { + public boolean onBodyTick(Caster source) { if (source.isClient()) { generateParticles(source); } diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/IceSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/IceSpell.java index 4bb60d47..bdd5c99c 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/IceSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/IceSpell.java @@ -5,6 +5,7 @@ import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.Thrown; import com.minelittlepony.unicopia.block.state.StateMaps; import com.minelittlepony.unicopia.particle.ParticleUtils; +import com.minelittlepony.unicopia.projectile.MagicProjectileEntity; import com.minelittlepony.unicopia.util.MagicalDamageSource; import com.minelittlepony.unicopia.util.PosHelper; import com.minelittlepony.unicopia.util.VecHelper; @@ -35,12 +36,12 @@ public class IceSpell extends AbstractSpell implements Thrown, Attached { } @Override - public boolean onBodyTick(Caster source) { - return onThrownTick(source); + public boolean onThrownTick(MagicProjectileEntity projectile) { + return onBodyTick(projectile); } @Override - public boolean onThrownTick(Caster source) { + public boolean onBodyTick(Caster source) { LivingEntity owner = source.getMaster(); PosHelper.getAllInRegionMutable(source.getOrigin(), effect_range) diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/InfernoSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/InfernoSpell.java index c269f384..10535113 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/InfernoSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/InfernoSpell.java @@ -21,7 +21,7 @@ public class InfernoSpell extends FireSpell { } @Override - public boolean onThrownTick(Caster source) { + public boolean onBodyTick(Caster source) { if (source.isClient()) { generateParticles(source); } diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RevealingSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RevealingSpell.java index 17ce9fb3..eb26619c 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RevealingSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/RevealingSpell.java @@ -4,6 +4,7 @@ import com.minelittlepony.unicopia.ability.magic.Attached; import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.Thrown; import com.minelittlepony.unicopia.particle.MagicParticleEffect; +import com.minelittlepony.unicopia.projectile.MagicProjectileEntity; import com.minelittlepony.unicopia.util.shape.Shape; import com.minelittlepony.unicopia.util.shape.Sphere; @@ -27,12 +28,12 @@ public class RevealingSpell extends AbstractSpell implements Attached, Thrown { } @Override - public boolean onBodyTick(Caster source) { - return onThrownTick(source); + public boolean onThrownTick(MagicProjectileEntity projectile) { + return onBodyTick(projectile); } @Override - public boolean onThrownTick(Caster source) { + public boolean onBodyTick(Caster source) { if (source.isClient()) { MagicParticleEffect effect = new MagicParticleEffect(getType().getColor()); diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ScorchSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ScorchSpell.java index 6f5753a7..c77af967 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ScorchSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ScorchSpell.java @@ -20,7 +20,7 @@ public class ScorchSpell extends FireSpell { } @Override - public boolean onThrownTick(Caster source) { + public boolean onBodyTick(Caster source) { BlockPos pos = PosHelper.findSolidGroundAt(source.getWorld(), source.getOrigin(), source.getPhysics().getGravitySignum()); diff --git a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ShieldSpell.java b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ShieldSpell.java index ee95ee80..e9c973c9 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ShieldSpell.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/magic/spell/ShieldSpell.java @@ -17,6 +17,7 @@ import com.minelittlepony.unicopia.item.enchantment.UEnchantments; import com.minelittlepony.unicopia.particle.MagicParticleEffect; import com.minelittlepony.unicopia.particle.ParticleHandle; import com.minelittlepony.unicopia.particle.SphereParticleEffect; +import com.minelittlepony.unicopia.projectile.MagicProjectileEntity; import com.minelittlepony.unicopia.projectile.ProjectileUtil; import com.minelittlepony.unicopia.util.shape.Sphere; @@ -66,7 +67,7 @@ public class ShieldSpell extends AbstractSpell implements Attached, Thrown { } @Override - public boolean onThrownTick(Caster source) { + public boolean onThrownTick(MagicProjectileEntity source) { if (source.isClient()) { generateParticles(source); } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/CastSpellEntity.java b/src/main/java/com/minelittlepony/unicopia/entity/CastSpellEntity.java index 363ddffa..0f369db5 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/CastSpellEntity.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/CastSpellEntity.java @@ -7,10 +7,10 @@ import com.minelittlepony.unicopia.Affinity; import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.Levelled; import com.minelittlepony.unicopia.ability.magic.Spell; +import com.minelittlepony.unicopia.ability.magic.SpellContainer; import com.minelittlepony.unicopia.ability.magic.spell.AbstractPlacedSpell; import com.minelittlepony.unicopia.ability.magic.spell.SpellPredicate; import com.minelittlepony.unicopia.network.Channel; -import com.minelittlepony.unicopia.network.EffectSync; import com.minelittlepony.unicopia.network.MsgSpawnProjectile; import net.minecraft.entity.Entity; @@ -112,8 +112,8 @@ public class CastSpellEntity extends Entity implements Caster { } @Override - public EffectSync getSpellSlot() { - return Caster.of(getMaster()).map(Caster::getSpellSlot).orElse(null); + public SpellContainer getSpellSlot() { + return Caster.of(getMaster()).map(Caster::getSpellSlot).orElse(SpellContainer.EMPTY); } @Override