diff --git a/CHANGELOG.md b/CHANGELOG.md index 82669bc..feccb58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ ### Changelog +**1.0.14** +* Update Spell API + **1.0.13** * Rename ```SpellRegistry.registerSpell``` to ```SpellRegistry.register``` diff --git a/gradle.properties b/gradle.properties index 3fdc535..e489bc5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ org.gradle.jvmargs = -Xmx1G loader_version = 0.7.8+build.186 # Mod Properties - mod_version = 1.0.13 + mod_version = 1.0.14 maven_group = com.thebrokenrail archives_base_name = sorcerycraft diff --git a/src/main/java/com/thebrokenrail/sorcerycraft/entity/SpellEntity.java b/src/main/java/com/thebrokenrail/sorcerycraft/entity/SpellEntity.java index 44772ec..e7f9a35 100644 --- a/src/main/java/com/thebrokenrail/sorcerycraft/entity/SpellEntity.java +++ b/src/main/java/com/thebrokenrail/sorcerycraft/entity/SpellEntity.java @@ -57,17 +57,17 @@ public class SpellEntity extends ThrownItemEntity { if (success) { if (hitResult.getType() == HitResult.Type.BLOCK) { BlockHitResult blockHitResult = (BlockHitResult) hitResult; - spell.execute(getEntityWorld(), blockHitResult); + spell.execute(getEntityWorld(), this, getOwner(), blockHitResult); } else if (hitResult.getType() == HitResult.Type.ENTITY) { Entity entity = ((EntityHitResult) hitResult).getEntity(); - spell.execute(entity, this, getOwner()); + spell.execute(world, this, getOwner(), entity); } } else if (getOwner() != null) { if (getOwner() instanceof PlayerEntity) { PlayerEntity player = (PlayerEntity) getOwner(); player.playSound(SoundEvents.ENCHANT_THORNS_HIT, SoundCategory.PLAYERS, 1.0f, 1.0f); } - spell.execute(getOwner(), this, getOwner()); + spell.execute(world, this, getOwner(), getOwner()); } } } @@ -88,7 +88,7 @@ public class SpellEntity extends ThrownItemEntity { Spell spell = SpellRegistry.getSpell(entry); if (spell != null) { if (success) { - spell.execute(getOwner(), this, getOwner()); + spell.execute(world, this, getOwner(), getOwner()); } else if (getOwner() instanceof PlayerEntity) { PlayerEntity player = (PlayerEntity) getOwner(); player.playSound(SoundEvents.ENCHANT_THORNS_HIT, SoundCategory.PLAYERS, 1.0f, 1.0f); diff --git a/src/main/java/com/thebrokenrail/sorcerycraft/spell/CoolingSpell.java b/src/main/java/com/thebrokenrail/sorcerycraft/spell/CoolingSpell.java index 9756e2c..b2bb0cf 100644 --- a/src/main/java/com/thebrokenrail/sorcerycraft/spell/CoolingSpell.java +++ b/src/main/java/com/thebrokenrail/sorcerycraft/spell/CoolingSpell.java @@ -16,12 +16,12 @@ public class CoolingSpell extends Spell { } @Override - public void execute(Entity target, Entity source, Entity attacker) { + public void execute(World world, Entity source, Entity attacker, Entity target) { target.setFireTicks(0); } @Override - public void execute(World world, BlockHitResult hitResult) { + public void execute(World world, Entity source, Entity attacker, BlockHitResult hitResult) { BlockPos blockPos = hitResult.getBlockPos(); if (world.getBlockState(blockPos).matches(BlockTags.FIRE)) { world.removeBlock(blockPos, false); diff --git a/src/main/java/com/thebrokenrail/sorcerycraft/spell/DamageSpell.java b/src/main/java/com/thebrokenrail/sorcerycraft/spell/DamageSpell.java index 87c15d7..f6c8976 100644 --- a/src/main/java/com/thebrokenrail/sorcerycraft/spell/DamageSpell.java +++ b/src/main/java/com/thebrokenrail/sorcerycraft/spell/DamageSpell.java @@ -7,6 +7,7 @@ import net.minecraft.entity.effect.StatusEffects; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.util.Identifier; +import net.minecraft.world.World; public class DamageSpell extends Spell { public DamageSpell(Identifier id, int level) { @@ -14,7 +15,7 @@ public class DamageSpell extends Spell { } @Override - public void execute(Entity target, Entity source, Entity attacker) { + public void execute(World world, Entity source, Entity attacker, Entity target) { if (target instanceof LivingEntity) { StatusEffects.INSTANT_DAMAGE.applyInstantEffect(source, attacker, (LivingEntity) target, getLevel(), 1.0d); } diff --git a/src/main/java/com/thebrokenrail/sorcerycraft/spell/DissolveSpell.java b/src/main/java/com/thebrokenrail/sorcerycraft/spell/DissolveSpell.java index f878a6e..b032140 100644 --- a/src/main/java/com/thebrokenrail/sorcerycraft/spell/DissolveSpell.java +++ b/src/main/java/com/thebrokenrail/sorcerycraft/spell/DissolveSpell.java @@ -6,6 +6,7 @@ import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.util.Identifier; +import net.minecraft.world.World; public class DissolveSpell extends Spell { public DissolveSpell(Identifier id, int level) { @@ -13,7 +14,7 @@ public class DissolveSpell extends Spell { } @Override - public void execute(Entity target, Entity source, Entity attacker) { + public void execute(World world, Entity source, Entity attacker, Entity target) { if (target instanceof LivingEntity) { ((LivingEntity) target).clearStatusEffects(); } diff --git a/src/main/java/com/thebrokenrail/sorcerycraft/spell/FlameSpell.java b/src/main/java/com/thebrokenrail/sorcerycraft/spell/FlameSpell.java index c0acdd9..0f78ff6 100644 --- a/src/main/java/com/thebrokenrail/sorcerycraft/spell/FlameSpell.java +++ b/src/main/java/com/thebrokenrail/sorcerycraft/spell/FlameSpell.java @@ -16,12 +16,12 @@ public class FlameSpell extends Spell { } @Override - public void execute(Entity target, Entity source, Entity attacker) { + public void execute(World world, Entity source, Entity attacker, Entity target) { target.setFireTicks(400 + (getLevel() * 200)); } @Override - public void execute(World world, BlockHitResult hitResult) { + public void execute(World world, Entity source, Entity attacker, BlockHitResult hitResult) { BlockPos blockPos = hitResult.getBlockPos().offset(hitResult.getSide()); if (world.isAir(blockPos)) { world.setBlockState(blockPos, AbstractFireBlock.getState(world, blockPos)); diff --git a/src/main/java/com/thebrokenrail/sorcerycraft/spell/HealSpell.java b/src/main/java/com/thebrokenrail/sorcerycraft/spell/HealSpell.java index 86179e7..d0a5862 100644 --- a/src/main/java/com/thebrokenrail/sorcerycraft/spell/HealSpell.java +++ b/src/main/java/com/thebrokenrail/sorcerycraft/spell/HealSpell.java @@ -7,6 +7,7 @@ import net.minecraft.entity.effect.StatusEffects; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.util.Identifier; +import net.minecraft.world.World; public class HealSpell extends Spell { public HealSpell(Identifier id, int level) { @@ -14,7 +15,7 @@ public class HealSpell extends Spell { } @Override - public void execute(Entity target, Entity source, Entity attacker) { + public void execute(World world, Entity source, Entity attacker, Entity target) { if (target instanceof LivingEntity) { StatusEffects.INSTANT_HEALTH.applyInstantEffect(source, attacker, (LivingEntity) target, getLevel(), 1.0d); } diff --git a/src/main/java/com/thebrokenrail/sorcerycraft/spell/LevitateSpell.java b/src/main/java/com/thebrokenrail/sorcerycraft/spell/LevitateSpell.java index 64a5611..25b131c 100644 --- a/src/main/java/com/thebrokenrail/sorcerycraft/spell/LevitateSpell.java +++ b/src/main/java/com/thebrokenrail/sorcerycraft/spell/LevitateSpell.java @@ -8,6 +8,7 @@ import net.minecraft.entity.effect.StatusEffects; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.util.Identifier; +import net.minecraft.world.World; public class LevitateSpell extends Spell { public LevitateSpell(Identifier id, int level) { @@ -15,7 +16,7 @@ public class LevitateSpell extends Spell { } @Override - public void execute(Entity target, Entity source, Entity attacker) { + public void execute(World world, Entity source, Entity attacker, Entity target) { if (target instanceof LivingEntity) { ((LivingEntity) target).addStatusEffect(new StatusEffectInstance(StatusEffects.LEVITATION, 400 + (getLevel() * 160))); } diff --git a/src/main/java/com/thebrokenrail/sorcerycraft/spell/TeleportSpell.java b/src/main/java/com/thebrokenrail/sorcerycraft/spell/TeleportSpell.java index a935495..0f10a94 100644 --- a/src/main/java/com/thebrokenrail/sorcerycraft/spell/TeleportSpell.java +++ b/src/main/java/com/thebrokenrail/sorcerycraft/spell/TeleportSpell.java @@ -21,8 +21,7 @@ public class TeleportSpell extends Spell { } @Override - public void execute(Entity target, Entity source, Entity attacker) { - World world = target.getEntityWorld(); + public void execute(World world, Entity source, Entity attacker, Entity target) { int range = 16 + (8 * getLevel()); if (target instanceof LivingEntity) { LivingEntity user = (LivingEntity) target; diff --git a/src/main/java/com/thebrokenrail/sorcerycraft/spell/registry/Spell.java b/src/main/java/com/thebrokenrail/sorcerycraft/spell/registry/Spell.java index 6886276..c565487 100644 --- a/src/main/java/com/thebrokenrail/sorcerycraft/spell/registry/Spell.java +++ b/src/main/java/com/thebrokenrail/sorcerycraft/spell/registry/Spell.java @@ -23,11 +23,11 @@ public abstract class Spell { return level; } - public void execute(Entity target, Entity source, Entity attacker) { + public void execute(World world, Entity source, Entity attacker, Entity target) { // NOOP } - public void execute(World world , BlockHitResult hitResult) { + public void execute(World world, Entity source, Entity attacker, BlockHitResult hitResult) { // NOOP }