1.12 conversion
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
package electroblob.wizardry.spell;
|
||||
|
||||
import electroblob.wizardry.Wizardry;
|
||||
import electroblob.wizardry.advancement.AdvancementHelper;
|
||||
import electroblob.wizardry.advancement.AdvancementHelper.EnumAdvancement;
|
||||
import electroblob.wizardry.constants.Element;
|
||||
import electroblob.wizardry.constants.SpellType;
|
||||
import electroblob.wizardry.constants.Tier;
|
||||
import electroblob.wizardry.entity.living.EntityWizard;
|
||||
import electroblob.wizardry.event.SpellCastEvent;
|
||||
import electroblob.wizardry.registry.WizardryAchievements;
|
||||
import electroblob.wizardry.registry.WizardryItems;
|
||||
import electroblob.wizardry.registry.WizardryPotions;
|
||||
import electroblob.wizardry.registry.WizardrySounds;
|
||||
@@ -43,7 +44,7 @@ public class ArcaneJammer extends Spell {
|
||||
if(rayTrace != null && rayTrace.typeOfHit == RayTraceResult.Type.ENTITY && WizardryUtilities.isLiving(rayTrace.entityHit)){
|
||||
|
||||
EntityLivingBase entity = (EntityLivingBase)rayTrace.entityHit;
|
||||
if(entity instanceof EntityWizard) caster.addStat(WizardryAchievements.jam_wizard);
|
||||
if(entity instanceof EntityWizard) { AdvancementHelper.grantAdvancement(caster, EnumAdvancement.jam_wizard); }
|
||||
|
||||
if(!world.isRemote){
|
||||
entity.addPotionEffect(new PotionEffect(WizardryPotions.arcane_jammer,
|
||||
@@ -78,9 +79,9 @@ public class ArcaneJammer extends Spell {
|
||||
|
||||
if(world.isRemote){
|
||||
|
||||
double dx = (target.posX - caster.posX) / caster.getDistanceToEntity(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistanceToEntity(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistanceToEntity(target);
|
||||
double dx = (target.posX - caster.posX) / caster.getDistance(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistance(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistance(target);
|
||||
|
||||
for(int i = 1; i < (int)(25 * modifiers.get(WizardryItems.range_upgrade)); i += 2){
|
||||
|
||||
|
||||
@@ -113,9 +113,9 @@ public class Banish extends Spell {
|
||||
|
||||
if(world.isRemote){
|
||||
|
||||
double dx = (target.posX - caster.posX) / caster.getDistanceToEntity(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistanceToEntity(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistanceToEntity(target);
|
||||
double dx = (target.posX - caster.posX) / caster.getDistance(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistance(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistance(target);
|
||||
|
||||
for(int i = 1; i < 25; i += 2){
|
||||
|
||||
|
||||
@@ -90,9 +90,9 @@ public class Bubble extends Spell {
|
||||
}
|
||||
if(world.isRemote){
|
||||
|
||||
double dx = (target.posX - caster.posX) / caster.getDistanceToEntity(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistanceToEntity(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistanceToEntity(target);
|
||||
double dx = (target.posX - caster.posX) / caster.getDistance(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistance(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistance(target);
|
||||
|
||||
for(int i = 1; i < (int)(25 * modifiers.get(WizardryItems.range_upgrade)); i += 2){
|
||||
|
||||
|
||||
@@ -87,9 +87,9 @@ public class Entrapment extends Spell {
|
||||
}
|
||||
if(world.isRemote){
|
||||
|
||||
double dx = (target.posX - caster.posX) / caster.getDistanceToEntity(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistanceToEntity(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistanceToEntity(target);
|
||||
double dx = (target.posX - caster.posX) / caster.getDistance(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistance(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistance(target);
|
||||
|
||||
for(int i = 1; i < 25; i += 2){
|
||||
|
||||
|
||||
@@ -61,9 +61,9 @@ public class Fireball extends Spell {
|
||||
- (caster.posY + (double)(caster.height / 2.0F));
|
||||
double dz = target.posZ - caster.posZ;
|
||||
|
||||
fireball.accelerationX = dx / caster.getDistanceToEntity(target) * 0.1;
|
||||
fireball.accelerationY = dy / caster.getDistanceToEntity(target) * 0.1;
|
||||
fireball.accelerationZ = dz / caster.getDistanceToEntity(target) * 0.1;
|
||||
fireball.accelerationX = dx / caster.getDistance(target) * 0.1;
|
||||
fireball.accelerationY = dy / caster.getDistance(target) * 0.1;
|
||||
fireball.accelerationZ = dz / caster.getDistance(target) * 0.1;
|
||||
|
||||
fireball.setPosition(caster.posX, caster.posY + caster.getEyeHeight(), caster.posZ);
|
||||
|
||||
|
||||
@@ -60,9 +60,9 @@ public class GreaterFireball extends Spell {
|
||||
- (caster.posY + (double)(caster.height / 2.0F));
|
||||
double dz = target.posZ - caster.posZ;
|
||||
|
||||
fireball.accelerationX = dx / caster.getDistanceToEntity(target) * 0.1;
|
||||
fireball.accelerationY = dy / caster.getDistanceToEntity(target) * 0.1;
|
||||
fireball.accelerationZ = dz / caster.getDistanceToEntity(target) * 0.1;
|
||||
fireball.accelerationX = dx / caster.getDistance(target) * 0.1;
|
||||
fireball.accelerationY = dy / caster.getDistance(target) * 0.1;
|
||||
fireball.accelerationZ = dz / caster.getDistance(target) * 0.1;
|
||||
|
||||
fireball.setPosition(caster.posX, caster.posY + caster.getEyeHeight(), caster.posZ);
|
||||
|
||||
|
||||
@@ -2,10 +2,11 @@ package electroblob.wizardry.spell;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import electroblob.wizardry.advancement.AdvancementHelper;
|
||||
import electroblob.wizardry.advancement.AdvancementHelper.EnumAdvancement;
|
||||
import electroblob.wizardry.constants.Element;
|
||||
import electroblob.wizardry.constants.SpellType;
|
||||
import electroblob.wizardry.constants.Tier;
|
||||
import electroblob.wizardry.registry.WizardryAchievements;
|
||||
import electroblob.wizardry.registry.WizardryBlocks;
|
||||
import electroblob.wizardry.registry.WizardryItems;
|
||||
import electroblob.wizardry.registry.WizardrySounds;
|
||||
@@ -58,7 +59,7 @@ public class IceAge extends Spell {
|
||||
target.extinguish();
|
||||
}
|
||||
|
||||
if(target instanceof EntityBlaze) caster.addStat(WizardryAchievements.freeze_blaze, 1);
|
||||
if(target instanceof EntityBlaze) { AdvancementHelper.grantAdvancement(caster, EnumAdvancement.freeze_blaze); }
|
||||
|
||||
if(target instanceof EntityLiving){
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package electroblob.wizardry.spell;
|
||||
|
||||
import electroblob.wizardry.Wizardry;
|
||||
import electroblob.wizardry.advancement.AdvancementHelper;
|
||||
import electroblob.wizardry.advancement.AdvancementHelper.EnumAdvancement;
|
||||
import electroblob.wizardry.constants.Element;
|
||||
import electroblob.wizardry.constants.SpellType;
|
||||
import electroblob.wizardry.constants.Tier;
|
||||
import electroblob.wizardry.registry.WizardryAchievements;
|
||||
import electroblob.wizardry.registry.WizardryBlocks;
|
||||
import electroblob.wizardry.registry.WizardryItems;
|
||||
import electroblob.wizardry.registry.WizardrySounds;
|
||||
@@ -52,7 +53,7 @@ public class IceStatue extends Spell {
|
||||
// Stops the entity looking red while frozen and the resulting z-fighting
|
||||
target.hurtTime = 0;
|
||||
|
||||
if(target instanceof EntityBlaze) caster.addStat(WizardryAchievements.freeze_blaze, 1);
|
||||
if(target instanceof EntityBlaze) { AdvancementHelper.grantAdvancement(caster, EnumAdvancement.freeze_blaze); }
|
||||
|
||||
// Short mobs such as spiders and pigs
|
||||
if((target.height < 1.2 || target.isChild()) && WizardryUtilities.canBlockBeReplaced(world, pos)){
|
||||
|
||||
@@ -82,7 +82,7 @@ public class Intimidate extends Spell {
|
||||
*/
|
||||
public static boolean runAway(EntityCreature target, EntityLivingBase caster){
|
||||
|
||||
if(target.getDistanceToEntity(caster) < 16){
|
||||
if(target.getDistance(caster) < 16){
|
||||
|
||||
Vec3d Vec3d = RandomPositionGenerator.findRandomTargetBlockAwayFrom(target, 16, 7,
|
||||
new Vec3d(caster.posX, caster.posY, caster.posZ));
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package electroblob.wizardry.spell;
|
||||
|
||||
import electroblob.wizardry.advancement.AdvancementHelper;
|
||||
import electroblob.wizardry.advancement.AdvancementHelper.EnumAdvancement;
|
||||
import electroblob.wizardry.constants.Element;
|
||||
import electroblob.wizardry.constants.SpellType;
|
||||
import electroblob.wizardry.constants.Tier;
|
||||
import electroblob.wizardry.registry.WizardryAchievements;
|
||||
import electroblob.wizardry.util.SpellModifiers;
|
||||
import electroblob.wizardry.util.WizardryUtilities;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
@@ -109,11 +110,11 @@ public class LightningBolt extends Spell {
|
||||
event.getLightning().getEntityData().getUniqueId("summoningPlayer"));
|
||||
|
||||
if(event.getEntity() instanceof EntityCreeper){
|
||||
player.addStat(WizardryAchievements.charge_creeper);
|
||||
AdvancementHelper.grantAdvancement(player, EnumAdvancement.charge_creeper);
|
||||
}
|
||||
|
||||
if(event.getEntity() instanceof EntityPig){
|
||||
player.addStat(WizardryAchievements.frankenstein);
|
||||
AdvancementHelper.grantAdvancement(player, EnumAdvancement.frankenstein);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ public class MindControl extends Spell {
|
||||
|
||||
for(EntityLivingBase possibleTarget : possibleTargets){
|
||||
if(WizardryUtilities.isValidTarget(caster, possibleTarget) && (newAITarget == null
|
||||
|| target.getDistanceToEntity(possibleTarget) < target.getDistanceToEntity(newAITarget))){
|
||||
|| target.getDistance(possibleTarget) < target.getDistance(newAITarget))){
|
||||
newAITarget = possibleTarget;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -88,9 +88,9 @@ public class Poison extends Spell {
|
||||
|
||||
if(world.isRemote){
|
||||
|
||||
double dx = (target.posX - caster.posX) / caster.getDistanceToEntity(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistanceToEntity(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistanceToEntity(target);
|
||||
double dx = (target.posX - caster.posX) / caster.getDistance(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistance(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistance(target);
|
||||
|
||||
for(int i = 1; i < (int)(25 * modifiers.get(WizardryItems.range_upgrade)); i += 2){
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ public class Shockwave extends Spell {
|
||||
for(EntityLivingBase target : targets){
|
||||
if(WizardryUtilities.isValidTarget(caster, target)){
|
||||
// Damage increases closer to player up to a maximum of 4 hearts (at 1 block distance).
|
||||
float damage = Math.min(8.0f / target.getDistanceToEntity(caster), 8.0f);
|
||||
float damage = Math.min(8.0f / target.getDistance(caster), 8.0f);
|
||||
target.attackEntityFrom(MagicDamage.causeDirectMagicDamage(caster, DamageType.BLAST),
|
||||
damage * modifiers.get(SpellModifiers.DAMAGE));
|
||||
|
||||
@@ -48,7 +48,7 @@ public class Shockwave extends Spell {
|
||||
// Entity speed increases closer to the player to a maximum of 3 (at 1 block distance).
|
||||
// This is the entity's speed compared to its distance from the player. Used for a similar triangles
|
||||
// based x, y and z speed calculation.
|
||||
double velocityFactor = Math.min(5 / target.getDistanceSqToEntity(caster), 3.0d);
|
||||
double velocityFactor = Math.min(5 / target.getDistanceSq(caster), 3.0d);
|
||||
|
||||
double dx = target.posX - caster.posX;
|
||||
double dy = target.posY + 1 - caster.posY;
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package electroblob.wizardry.spell;
|
||||
|
||||
import electroblob.wizardry.Wizardry;
|
||||
import electroblob.wizardry.advancement.AdvancementHelper;
|
||||
import electroblob.wizardry.advancement.AdvancementHelper.EnumAdvancement;
|
||||
import electroblob.wizardry.constants.Element;
|
||||
import electroblob.wizardry.constants.SpellType;
|
||||
import electroblob.wizardry.constants.Tier;
|
||||
import electroblob.wizardry.entity.living.EntityMagicSlime;
|
||||
import electroblob.wizardry.registry.WizardryAchievements;
|
||||
import electroblob.wizardry.registry.WizardryItems;
|
||||
import electroblob.wizardry.registry.WizardrySounds;
|
||||
import electroblob.wizardry.util.SpellModifiers;
|
||||
@@ -48,7 +49,7 @@ public class Slime extends Spell {
|
||||
this.getNameForTranslationFormatted()));
|
||||
}else if(!(target instanceof EntityMagicSlime)){
|
||||
|
||||
if(target instanceof EntitySkeleton) caster.addStat(WizardryAchievements.slime_skeleton);
|
||||
if(target instanceof EntitySkeleton) { AdvancementHelper.grantAdvancement(caster, EnumAdvancement.slime_skeleton); }
|
||||
|
||||
if(!world.isRemote){
|
||||
EntityMagicSlime slime = new EntityMagicSlime(world, caster, target,
|
||||
@@ -91,9 +92,9 @@ public class Slime extends Spell {
|
||||
|
||||
if(world.isRemote){
|
||||
|
||||
double dx = (target.posX - caster.posX) / caster.getDistanceToEntity(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistanceToEntity(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistanceToEntity(target);
|
||||
double dx = (target.posX - caster.posX) / caster.getDistance(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistance(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistance(target);
|
||||
|
||||
for(int i = 1; i < (int)(25 * modifiers.get(WizardryItems.range_upgrade)); i += 2){
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ public class Snowball extends Spell {
|
||||
|
||||
if(!world.isRemote){
|
||||
EntitySnowball snowball = new EntitySnowball(world, caster);
|
||||
snowball.setHeadingFromThrower(caster, caster.rotationPitch, caster.rotationYaw, 0.0f, 1.5f, 1.0f);
|
||||
snowball.shoot(caster, caster.rotationPitch, caster.rotationYaw, 0.0f, 1.5f, 1.0f);
|
||||
world.spawnEntity(snowball);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package electroblob.wizardry.spell;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import electroblob.wizardry.Wizardry;
|
||||
import electroblob.wizardry.constants.Element;
|
||||
@@ -13,6 +13,7 @@ import electroblob.wizardry.constants.Tier;
|
||||
import electroblob.wizardry.entity.living.EntityWizard;
|
||||
import electroblob.wizardry.registry.Spells;
|
||||
import electroblob.wizardry.util.SpellModifiers;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@@ -23,10 +24,11 @@ import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.util.text.TextComponentTranslation;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.fml.common.registry.IForgeRegistry;
|
||||
import net.minecraftforge.fml.common.registry.IForgeRegistryEntry;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.registries.ForgeRegistry;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
import net.minecraftforge.registries.IForgeRegistryEntry;
|
||||
|
||||
/**
|
||||
* Generic spell class which is the superclass to all spells in wizardry. When extending this class, you must do the
|
||||
@@ -258,7 +260,7 @@ public abstract class Spell extends IForgeRegistryEntry.Impl<Spell> implements C
|
||||
*/
|
||||
// This is final so nothing can override it, because that would cause all kinds of problems!
|
||||
public final int id(){
|
||||
return registry.getValues().indexOf(this);
|
||||
return ((ForgeRegistry<Spell>)registry).getID(this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -295,7 +297,7 @@ public abstract class Spell extends IForgeRegistryEntry.Impl<Spell> implements C
|
||||
*/
|
||||
@SideOnly(Side.CLIENT)
|
||||
public String getDisplayName(){
|
||||
return net.minecraft.client.resources.I18n.format("spell." + unlocalisedName);
|
||||
return I18n.format("spell." + unlocalisedName);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -312,8 +314,7 @@ public abstract class Spell extends IForgeRegistryEntry.Impl<Spell> implements C
|
||||
*/
|
||||
@SideOnly(Side.CLIENT)
|
||||
public String getDisplayNameWithFormatting(){
|
||||
return this.element.getFormattingCode()
|
||||
+ net.minecraft.client.resources.I18n.format("spell." + unlocalisedName);
|
||||
return this.element.getFormattingCode() + I18n.format("spell." + unlocalisedName);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -330,7 +331,7 @@ public abstract class Spell extends IForgeRegistryEntry.Impl<Spell> implements C
|
||||
*/
|
||||
@SideOnly(Side.CLIENT)
|
||||
public String getDescription(){
|
||||
return net.minecraft.client.resources.I18n.format("spell." + unlocalisedName + ".desc");
|
||||
return I18n.format("spell." + unlocalisedName + ".desc");
|
||||
}
|
||||
|
||||
/** Returns whether the spell is enabled in the config. */
|
||||
@@ -371,7 +372,7 @@ public abstract class Spell extends IForgeRegistryEntry.Impl<Spell> implements C
|
||||
* returned by Spell.getSpells(Spell.allSpells).size(), but this method is more efficient.
|
||||
*/
|
||||
public static int getTotalSpellCount(){
|
||||
return registry.getValues().size() - 1;
|
||||
return registry.getValuesCollection().size() - 1;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -383,10 +384,10 @@ public abstract class Spell extends IForgeRegistryEntry.Impl<Spell> implements C
|
||||
* better way; see </i>{@link Spell#getSpells(Predicate)}.
|
||||
*/
|
||||
public static Spell get(int id){
|
||||
if(id < 0 || id >= registry.getValues().size()){
|
||||
if(id < 0 || id >= registry.getValuesCollection().size()){
|
||||
return Spells.none;
|
||||
}
|
||||
Spell spell = registry.getValues().get(id);
|
||||
Spell spell = ((ForgeRegistry<Spell>)registry).getValue(id);
|
||||
return spell == null ? Spells.none : spell;
|
||||
}
|
||||
|
||||
@@ -399,7 +400,7 @@ public abstract class Spell extends IForgeRegistryEntry.Impl<Spell> implements C
|
||||
public static Spell get(String name){
|
||||
ResourceLocation key = new ResourceLocation(name);
|
||||
if(key.getResourceDomain().equals("minecraft")) key = new ResourceLocation(Wizardry.MODID, name);
|
||||
return registry.getValue(key);
|
||||
return ((ForgeRegistry<Spell>)registry).getValue(key);
|
||||
}
|
||||
|
||||
/** Returns a list of all registered spells' registry names, excluding the 'none' spell. Used in commands. */
|
||||
@@ -430,14 +431,7 @@ public abstract class Spell extends IForgeRegistryEntry.Impl<Spell> implements C
|
||||
* empty.</i>
|
||||
*/
|
||||
public static List<Spell> getSpells(Predicate<Spell> filter){
|
||||
|
||||
ArrayList<Spell> spells = new ArrayList<Spell>(1);
|
||||
|
||||
for(Spell spell : registry.getValues()){
|
||||
if(filter.test(spell) && spell != Spells.none) spells.add(spell);
|
||||
}
|
||||
|
||||
return spells;
|
||||
return registry.getValuesCollection().stream().filter(filter.and(p -> p != Spells.none)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/** Predicate which allows all spells. */
|
||||
|
||||
@@ -49,11 +49,11 @@ public class Whirlwind extends Spell {
|
||||
if(world.isRemote){
|
||||
for(int i = 0; i < 10; i++){
|
||||
double x2 = (double)(caster.posX + world.rand.nextFloat() - 0.5F
|
||||
+ caster.getLookVec().x * caster.getDistanceToEntity(target) * 0.5);
|
||||
+ caster.getLookVec().x * caster.getDistance(target) * 0.5);
|
||||
double y2 = (double)(WizardryUtilities.getPlayerEyesPos(caster) + world.rand.nextFloat() - 0.5F
|
||||
+ caster.getLookVec().y * caster.getDistanceToEntity(target) * 0.5);
|
||||
+ caster.getLookVec().y * caster.getDistance(target) * 0.5);
|
||||
double z2 = (double)(caster.posZ + world.rand.nextFloat() - 0.5F
|
||||
+ caster.getLookVec().z * caster.getDistanceToEntity(target) * 0.5);
|
||||
+ caster.getLookVec().z * caster.getDistance(target) * 0.5);
|
||||
world.spawnParticle(EnumParticleTypes.CLOUD, x2, y2, z2, caster.getLookVec().x,
|
||||
caster.getLookVec().y, caster.getLookVec().z);
|
||||
// Minecraft.getMinecraft().effectRenderer.addEffect(new EntitySparkleFX(world, x2, y2, z2,
|
||||
@@ -88,11 +88,11 @@ public class Whirlwind extends Spell {
|
||||
if(world.isRemote){
|
||||
for(int i = 0; i < 10; i++){
|
||||
double x2 = (double)(caster.posX + world.rand.nextFloat() - 0.5F
|
||||
+ caster.getLookVec().x * caster.getDistanceToEntity(target) * 0.5);
|
||||
+ caster.getLookVec().x * caster.getDistance(target) * 0.5);
|
||||
double y2 = (double)(caster.posY + caster.getEyeHeight() + world.rand.nextFloat() - 0.5F
|
||||
+ caster.getLookVec().y * caster.getDistanceToEntity(target) * 0.5);
|
||||
+ caster.getLookVec().y * caster.getDistance(target) * 0.5);
|
||||
double z2 = (double)(caster.posZ + world.rand.nextFloat() - 0.5F
|
||||
+ caster.getLookVec().z * caster.getDistanceToEntity(target) * 0.5);
|
||||
+ caster.getLookVec().z * caster.getDistance(target) * 0.5);
|
||||
world.spawnParticle(EnumParticleTypes.CLOUD, x2, y2, z2, caster.getLookVec().x,
|
||||
caster.getLookVec().y, caster.getLookVec().z);
|
||||
}
|
||||
|
||||
@@ -92,9 +92,9 @@ public class Wither extends Spell {
|
||||
|
||||
if(world.isRemote){
|
||||
|
||||
double dx = (target.posX - caster.posX) / caster.getDistanceToEntity(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistanceToEntity(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistanceToEntity(target);
|
||||
double dx = (target.posX - caster.posX) / caster.getDistance(target);
|
||||
double dy = (target.posY - caster.posY) / caster.getDistance(target);
|
||||
double dz = (target.posZ - caster.posZ) / caster.getDistance(target);
|
||||
|
||||
for(int i = 1; i < (int)(25 * modifiers.get(WizardryItems.range_upgrade)); i += 2){
|
||||
|
||||
|
||||
@@ -61,9 +61,9 @@ public class WitherSkull extends Spell {
|
||||
- (caster.posY + (double)(caster.height / 2.0F));
|
||||
double dz = target.posZ - caster.posZ;
|
||||
|
||||
witherskull.accelerationX = dx / caster.getDistanceToEntity(target) * 0.1;
|
||||
witherskull.accelerationY = dy / caster.getDistanceToEntity(target) * 0.1;
|
||||
witherskull.accelerationZ = dz / caster.getDistanceToEntity(target) * 0.1;
|
||||
witherskull.accelerationX = dx / caster.getDistance(target) * 0.1;
|
||||
witherskull.accelerationY = dy / caster.getDistance(target) * 0.1;
|
||||
witherskull.accelerationZ = dz / caster.getDistance(target) * 0.1;
|
||||
|
||||
witherskull.setPosition(caster.posX, caster.posY + caster.getEyeHeight(), caster.posZ);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user