Search in sources :

Example 26 with CraftEntity

use of org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity in project NoCheatPlus by NoCheatPlus.

the class MCAccessSpigotCB1_8_R2 method getHeight.

@Override
public double getHeight(final Entity entity) {
    final net.minecraft.server.v1_8_R2.Entity mcEntity = ((CraftEntity) entity).getHandle();
    AxisAlignedBB boundingBox = mcEntity.getBoundingBox();
    final double entityHeight = Math.max(mcEntity.length, Math.max(mcEntity.getHeadHeight(), boundingBox.e - boundingBox.b));
    if (entity instanceof LivingEntity) {
        return Math.max(((LivingEntity) entity).getEyeHeight(), entityHeight);
    } else
        return entityHeight;
}
Also used : AxisAlignedBB(net.minecraft.server.v1_8_R2.AxisAlignedBB) LivingEntity(org.bukkit.entity.LivingEntity) CraftEntity(org.bukkit.craftbukkit.v1_8_R2.entity.CraftEntity)

Example 27 with CraftEntity

use of org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity in project NoCheatPlus by NoCheatPlus.

the class BlockCacheSpigotCB1_8_R3 method standsOnEntity.

@Override
public boolean standsOnEntity(final Entity entity, final double minX, final double minY, final double minZ, final double maxX, final double maxY, final double maxZ) {
    try {
        // TODO: Find some simplification!
        final net.minecraft.server.v1_8_R3.Entity mcEntity = ((CraftEntity) entity).getHandle();
        final AxisAlignedBB box = new AxisAlignedBB(minX, minY, minZ, maxX, maxY, maxZ);
        @SuppressWarnings("rawtypes") final List list = world.getEntities(mcEntity, box);
        @SuppressWarnings("rawtypes") final Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            final net.minecraft.server.v1_8_R3.Entity other = (net.minecraft.server.v1_8_R3.Entity) iterator.next();
            if (!(other instanceof EntityBoat)) {
                // && !(other instanceof EntityMinecart)) continue;
                continue;
            }
            if (minY >= other.locY && minY - other.locY <= 0.7) {
                return true;
            }
            // Still check this for some reason.
            final AxisAlignedBB otherBox = other.getBoundingBox();
            if (box.a > otherBox.d || box.d < otherBox.a || box.b > otherBox.e || box.e < otherBox.b || box.c > otherBox.f || box.f < otherBox.c) {
                continue;
            } else {
                return true;
            }
        }
    } catch (Throwable t) {
    // Ignore exceptions (Context: DisguiseCraft).
    }
    return false;
}
Also used : AxisAlignedBB(net.minecraft.server.v1_8_R3.AxisAlignedBB) Entity(org.bukkit.entity.Entity) CraftEntity(org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity) EntityBoat(net.minecraft.server.v1_8_R3.EntityBoat) CraftEntity(org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity) Iterator(java.util.Iterator) List(java.util.List)

Example 28 with CraftEntity

use of org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity in project NoCheatPlus by NoCheatPlus.

the class MCAccessSpigotCB1_9_R1 method getHeight.

@Override
public double getHeight(final Entity entity) {
    final net.minecraft.server.v1_9_R1.Entity mcEntity = ((CraftEntity) entity).getHandle();
    AxisAlignedBB boundingBox = mcEntity.getBoundingBox();
    final double entityHeight = Math.max(mcEntity.length, Math.max(mcEntity.getHeadHeight(), boundingBox.e - boundingBox.b));
    if (entity instanceof LivingEntity) {
        return Math.max(((LivingEntity) entity).getEyeHeight(), entityHeight);
    } else
        return entityHeight;
}
Also used : AxisAlignedBB(net.minecraft.server.v1_9_R1.AxisAlignedBB) LivingEntity(org.bukkit.entity.LivingEntity) CraftEntity(org.bukkit.craftbukkit.v1_9_R1.entity.CraftEntity)

Example 29 with CraftEntity

use of org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity in project NoCheatPlus by NoCheatPlus.

the class BlockCacheSpigotCB1_9_R2 method standsOnEntity.

@Override
public boolean standsOnEntity(final Entity entity, final double minX, final double minY, final double minZ, final double maxX, final double maxY, final double maxZ) {
    try {
        // TODO: Find some simplification!
        final net.minecraft.server.v1_9_R2.Entity mcEntity = ((CraftEntity) entity).getHandle();
        final AxisAlignedBB box = new AxisAlignedBB(minX, minY, minZ, maxX, maxY, maxZ);
        @SuppressWarnings("rawtypes") final List list = world.getEntities(mcEntity, box);
        @SuppressWarnings("rawtypes") final Iterator iterator = list.iterator();
        while (iterator.hasNext()) {
            final net.minecraft.server.v1_9_R2.Entity other = (net.minecraft.server.v1_9_R2.Entity) iterator.next();
            if (mcEntity == other || !(other instanceof EntityBoat) && !(other instanceof EntityShulker)) {
                // && !(other instanceof EntityMinecart)) continue;
                continue;
            }
            if (minY >= other.locY && minY - other.locY <= 0.7) {
                return true;
            }
            // Still check this for some reason.
            final AxisAlignedBB otherBox = other.getBoundingBox();
            if (box.a > otherBox.d || box.d < otherBox.a || box.b > otherBox.e || box.e < otherBox.b || box.c > otherBox.f || box.f < otherBox.c) {
                continue;
            } else {
                return true;
            }
        }
    } catch (Throwable t) {
    // Ignore exceptions (Context: DisguiseCraft).
    }
    return false;
}
Also used : AxisAlignedBB(net.minecraft.server.v1_9_R2.AxisAlignedBB) Entity(org.bukkit.entity.Entity) CraftEntity(org.bukkit.craftbukkit.v1_9_R2.entity.CraftEntity) EntityBoat(net.minecraft.server.v1_9_R2.EntityBoat) CraftEntity(org.bukkit.craftbukkit.v1_9_R2.entity.CraftEntity) Iterator(java.util.Iterator) List(java.util.List) EntityShulker(net.minecraft.server.v1_9_R2.EntityShulker)

Example 30 with CraftEntity

use of org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity in project solinia3-core by mixxit.

the class SoliniaActiveSpell method applyBackstab.

private void applyBackstab(SpellEffect spellEffect, ISoliniaSpell soliniaSpell, int casterLevel) {
    if (getLivingEntity().isDead())
        return;
    if (Bukkit.getEntity(getSourceUuid()) == null)
        return;
    Entity sourceEntity = Bukkit.getEntity(getSourceUuid());
    if (sourceEntity == null)
        return;
    if (!(sourceEntity instanceof LivingEntity))
        return;
    LivingEntity sourceLivingEntity = (LivingEntity) sourceEntity;
    try {
        ISoliniaLivingEntity solSourceEntity = SoliniaLivingEntityAdapter.Adapt(sourceLivingEntity);
        if (solSourceEntity == null)
            return;
        int backstabSkill = solSourceEntity.getSkill("BACKSTAB");
        if (backstabSkill < 1)
            backstabSkill = 1;
        EntityDamageSource source = new EntityDamageSource("thorns", ((CraftEntity) Bukkit.getEntity(getSourceUuid())).getHandle());
        source.setMagic();
        source.ignoresArmor();
        int weaponDamage = 0;
        // Offhand item only
        ItemStack mainitem = sourceLivingEntity.getEquipment().getItemInOffHand();
        if (mainitem != null) {
            try {
                ISoliniaItem item = SoliniaItemAdapter.Adapt(mainitem);
                if (item != null)
                    if (item.getDamage() > 0) {
                        weaponDamage = item.getDamage();
                    }
            } catch (SoliniaItemException e) {
            }
        }
        if (weaponDamage < 1)
            weaponDamage = 1;
        int hpToRemove = weaponDamage;
        // back stab formula
        if (solSourceEntity.isBehindEntity(this.getLivingEntity()))
            hpToRemove = (int) Math.floor((2 + backstabSkill / 50) * weaponDamage);
        ((CraftEntity) getLivingEntity()).getHandle().damageEntity(source, hpToRemove);
        solSourceEntity.tryIncreaseSkill("BACKSTAB", 1);
    } catch (CoreStateInitException e) {
    }
}
Also used : CraftLivingEntity(org.bukkit.craftbukkit.v1_12_R1.entity.CraftLivingEntity) ISoliniaLivingEntity(com.solinia.solinia.Interfaces.ISoliniaLivingEntity) LivingEntity(org.bukkit.entity.LivingEntity) CraftLivingEntity(org.bukkit.craftbukkit.v1_12_R1.entity.CraftLivingEntity) ISoliniaLivingEntity(com.solinia.solinia.Interfaces.ISoliniaLivingEntity) Entity(org.bukkit.entity.Entity) CraftEntity(org.bukkit.craftbukkit.v1_12_R1.entity.CraftEntity) LivingEntity(org.bukkit.entity.LivingEntity) PathEntity(net.minecraft.server.v1_12_R1.PathEntity) ISoliniaLivingEntity(com.solinia.solinia.Interfaces.ISoliniaLivingEntity) ISoliniaItem(com.solinia.solinia.Interfaces.ISoliniaItem) CoreStateInitException(com.solinia.solinia.Exceptions.CoreStateInitException) ItemStack(org.bukkit.inventory.ItemStack) SoliniaItemException(com.solinia.solinia.Exceptions.SoliniaItemException) EntityDamageSource(net.minecraft.server.v1_12_R1.EntityDamageSource)

Aggregations

Entity (org.bukkit.entity.Entity)30 Iterator (java.util.Iterator)21 List (java.util.List)21 LivingEntity (org.bukkit.entity.LivingEntity)17 UUID (java.util.UUID)12 CraftEntity (org.bukkit.craftbukkit.v1_10_R1.entity.CraftEntity)10 CraftEntity (org.bukkit.craftbukkit.v1_11_R1.entity.CraftEntity)10 HashSet (java.util.HashSet)8 Set (java.util.Set)8 CraftEntity (org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity)8 CraftEntity (org.bukkit.craftbukkit.v1_12_R1.entity.CraftEntity)7 CraftEntity (org.bukkit.craftbukkit.v1_9_R2.entity.CraftEntity)7 EntityAttachmentHelper (com.denizenscript.denizen.utilities.entity.EntityAttachmentHelper)6 Location (org.bukkit.Location)6 BukkitRunnable (org.bukkit.scheduler.BukkitRunnable)6 net.minecraft.server.v1_10_R1 (net.minecraft.server.v1_10_R1)5 net.minecraft.server.v1_11_R1 (net.minecraft.server.v1_11_R1)5 Entity (net.minecraft.world.entity.Entity)5 CraftEntity (org.bukkit.craftbukkit.v1_17_R1.entity.CraftEntity)5 Vector (org.bukkit.util.Vector)5