Added Backstab
This commit is contained in:
@@ -1,69 +1,9 @@
|
||||
package com.willfp.ecoenchants.enchantments;
|
||||
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.AshArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.CloudsArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.CrimsonArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.DamageArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.DragonArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.DustArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.EmeraldArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.EnchantmentArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.EndArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.FireArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.HeartArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.HoneyArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.InkArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.LavaArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.LimeArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.MagicArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.MagmaArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.MusicArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.NetherArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.RedstoneArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.SmokeArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.SnowArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.SoulArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.SoulFireArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.SparkleArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.TearArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.TotemArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.WarpedArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.WaterArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.WitchArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.ZapArtifact;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.curse.BreaklessnessCurse;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.curse.CallingCurse;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.curse.DecayCurse;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.curse.FragilityCurse;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.curse.HarmlessnessCurse;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.curse.HungerCurse;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.curse.InaccuracyCurse;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.curse.MisfortuneCurse;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.curse.PermanenceCurse;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.artifact.*;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.curse.*;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.normal.*;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Aiming;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Annihilate;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Bladed;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Bolt;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Carve;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Confusion;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Energizing;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Force;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Frenzy;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Harpoon;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Indestructibility;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Instability;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Intellect;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.LifeSteal;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Pentashot;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Preservation;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Prosperity;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Razor;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Repairing;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Soulbound;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Spring;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Streamlining;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.Volatile;
|
||||
import com.willfp.ecoenchants.enchantments.ecoenchants.special.*;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@@ -294,6 +234,7 @@ public class EcoEnchants {
|
||||
public static final EcoEnchant ASH_ARTIFACT = new AshArtifact();
|
||||
public static final EcoEnchant WARPED_ARTIFACT = new WarpedArtifact();
|
||||
public static final EcoEnchant TEAR_ARTIFACT = new TearArtifact();
|
||||
public static final EcoEnchant BACKSTAB = new Backstab();
|
||||
|
||||
/**
|
||||
* Get all registered {@link EcoEnchant}s
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.willfp.ecoenchants.enchantments.ecoenchants.normal;
|
||||
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchant;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchantBuilder;
|
||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public final class Backstab extends EcoEnchant {
|
||||
public Backstab() {
|
||||
super(
|
||||
new EcoEnchantBuilder("backstab", EnchantmentType.NORMAL,5.0)
|
||||
);
|
||||
}
|
||||
|
||||
// START OF LISTENERS
|
||||
|
||||
|
||||
@Override
|
||||
public void onMeleeAttack(LivingEntity attacker, LivingEntity victim, int level, EntityDamageByEntityEvent event) {
|
||||
Vector pDir = attacker.getLocation().getDirection();
|
||||
Vector eDir = victim.getLocation().getDirection();
|
||||
double xv = pDir.getX() * eDir.getZ() - pDir.getZ() * eDir.getX();
|
||||
double zv = pDir.getX() * eDir.getX() + pDir.getZ() * eDir.getZ();
|
||||
double angle = Math.atan2(xv, zv); // Value between -π and +π
|
||||
double angleInDegrees = (angle * 180) / Math.PI;
|
||||
|
||||
if(angleInDegrees > 60 || angleInDegrees < -32)
|
||||
return;
|
||||
|
||||
event.setDamage(event.getDamage() * ((level * this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "damage-multiplier-per-level")) + 1));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user