From b6c67ddf34fec9c59c4be0265d5b7f81e7b59b81 Mon Sep 17 00:00:00 2001 From: Electroblob77 <35599699+Electroblob77@users.noreply.github.com> Date: Tue, 6 Oct 2020 00:34:19 +0100 Subject: [PATCH] Add ring of volthraa --- .../wizardry/registry/WizardryItems.java | 2 ++ .../electroblob/wizardry/spell/Meteor.java | 29 ++++++++++++++++++ .../assets/ebwizardry/lang/en_gb.lang | 2 ++ .../assets/ebwizardry/lang/en_us.lang | 2 ++ .../ebwizardry/models/item/ring_meteor.json | 6 ++++ .../ebwizardry/textures/items/ring_meteor.png | Bin 0 -> 6262 bytes 6 files changed, 41 insertions(+) create mode 100644 src/main/resources/assets/ebwizardry/models/item/ring_meteor.json create mode 100644 src/main/resources/assets/ebwizardry/textures/items/ring_meteor.png diff --git a/src/main/java/electroblob/wizardry/registry/WizardryItems.java b/src/main/java/electroblob/wizardry/registry/WizardryItems.java index 5b6a951a..2980fde1 100644 --- a/src/main/java/electroblob/wizardry/registry/WizardryItems.java +++ b/src/main/java/electroblob/wizardry/registry/WizardryItems.java @@ -220,6 +220,7 @@ public final class WizardryItems { public static final Item ring_fire_melee = placeholder(); public static final Item ring_fire_biome = placeholder(); public static final Item ring_disintegration = placeholder(); + public static final Item ring_meteor = placeholder(); public static final Item ring_ice_melee = placeholder(); public static final Item ring_ice_biome = placeholder(); public static final Item ring_arcane_frost = placeholder(); @@ -588,6 +589,7 @@ public final class WizardryItems { registerItem(registry, "ring_fire_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); registerItem(registry, "ring_fire_biome", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); registerItem(registry, "ring_disintegration", new ItemArtefact(EnumRarity.RARE, ItemArtefact.Type.RING)); + registerItem(registry, "ring_meteor", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); registerItem(registry, "ring_ice_melee", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); registerItem(registry, "ring_ice_biome", new ItemArtefact(EnumRarity.UNCOMMON, ItemArtefact.Type.RING)); registerItem(registry, "ring_arcane_frost", new ItemArtefact(EnumRarity.EPIC, ItemArtefact.Type.RING)); diff --git a/src/main/java/electroblob/wizardry/spell/Meteor.java b/src/main/java/electroblob/wizardry/spell/Meteor.java index 5fcf70fb..f00ab1ad 100644 --- a/src/main/java/electroblob/wizardry/spell/Meteor.java +++ b/src/main/java/electroblob/wizardry/spell/Meteor.java @@ -1,13 +1,16 @@ package electroblob.wizardry.spell; import electroblob.wizardry.entity.EntityMeteor; +import electroblob.wizardry.item.ItemArtefact; import electroblob.wizardry.item.SpellActions; import electroblob.wizardry.registry.WizardryItems; import electroblob.wizardry.util.EntityUtils; import electroblob.wizardry.util.SpellModifiers; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; @@ -24,6 +27,32 @@ public class Meteor extends SpellRay { addProperties(BLAST_STRENGTH); } + @Override + public boolean cast(World world, EntityPlayer caster, EnumHand hand, int ticksInUse, SpellModifiers modifiers){ + + if(ItemArtefact.isArtefactActive(caster, WizardryItems.ring_meteor)){ + + if(!world.isRemote){ + + EntityMeteor meteor = new EntityMeteor(world, caster.posX, caster.posY + caster.getEyeHeight(), caster.posZ, + modifiers.get(WizardryItems.blast_upgrade), EntityUtils.canDamageBlocks(caster, world)); + + Vec3d direction = caster.getLookVec().scale(2 * modifiers.get(WizardryItems.range_upgrade)); + meteor.motionX = direction.x; + meteor.motionY = direction.y; + meteor.motionZ = direction.z; + + world.spawnEntity(meteor); + } + + this.playSound(world, caster, ticksInUse, -1, modifiers); + return true; + + }else{ + return super.cast(world, caster, hand, ticksInUse, modifiers); + } + } + @Override public boolean requiresPacket(){ return false; } @Override diff --git a/src/main/resources/assets/ebwizardry/lang/en_gb.lang b/src/main/resources/assets/ebwizardry/lang/en_gb.lang index a7ba36b7..ccf6a7d9 100644 --- a/src/main/resources/assets/ebwizardry/lang/en_gb.lang +++ b/src/main/resources/assets/ebwizardry/lang/en_gb.lang @@ -281,6 +281,8 @@ item.ebwizardry\:ring_fire_biome.name=Ring of the Desert Sun item.ebwizardry\:ring_fire_biome.desc=Fire spells are 30%% more potent in hot biomes item.ebwizardry\:ring_disintegration.name=Ring of Searing Embers item.ebwizardry\:ring_disintegration.desc=All fire attack spells cause their victims to disintegrate +item.ebwizardry\:ring_meteor.name=Ring of Volthraa +item.ebwizardry\:ring_meteor.desc=Instead of falling from the sky, meteor can be aimed like a projectile item.ebwizardry\:ring_ice_melee.name=Ring of Icy Touch item.ebwizardry\:ring_ice_melee.desc=Hitting a creature with an ice wand gives it the frostbite effect item.ebwizardry\:ring_ice_biome.name=Ring of Glaciation diff --git a/src/main/resources/assets/ebwizardry/lang/en_us.lang b/src/main/resources/assets/ebwizardry/lang/en_us.lang index 8b1a4861..18b344dd 100644 --- a/src/main/resources/assets/ebwizardry/lang/en_us.lang +++ b/src/main/resources/assets/ebwizardry/lang/en_us.lang @@ -281,6 +281,8 @@ item.ebwizardry\:ring_fire_biome.name=Ring of the Desert Sun item.ebwizardry\:ring_fire_biome.desc=Fire spells are 30%% more potent in hot biomes item.ebwizardry\:ring_disintegration.name=Ring of Searing Embers item.ebwizardry\:ring_disintegration.desc=All fire attack spells cause their victims to disintegrate +item.ebwizardry\:ring_meteor.name=Ring of Volthraa +item.ebwizardry\:ring_meteor.desc=Instead of falling from the sky, meteor can be aimed like a projectile item.ebwizardry\:ring_ice_melee.name=Ring of Icy Touch item.ebwizardry\:ring_ice_melee.desc=Hitting a creature with an ice wand gives it the frostbite effect item.ebwizardry\:ring_ice_biome.name=Ring of Glaciation diff --git a/src/main/resources/assets/ebwizardry/models/item/ring_meteor.json b/src/main/resources/assets/ebwizardry/models/item/ring_meteor.json new file mode 100644 index 00000000..2d73ca47 --- /dev/null +++ b/src/main/resources/assets/ebwizardry/models/item/ring_meteor.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "ebwizardry:items/ring_meteor" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/textures/items/ring_meteor.png b/src/main/resources/assets/ebwizardry/textures/items/ring_meteor.png new file mode 100644 index 0000000000000000000000000000000000000000..b32fab84bd6e51a6de746dc85def86aa665a4d21 GIT binary patch literal 6262 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