Search in sources :

Example 66 with AxisAlignedBB

use of net.minecraft.server.v1_13_R2.AxisAlignedBB in project Citizens2 by CitizensDev.

the class NMSImpl method getCollisionBox.

@Override
public BoundingBox getCollisionBox(org.bukkit.block.Block block) {
    WorldServer world = ((CraftWorld) block.getWorld()).getHandle();
    BlockPosition pos = new BlockPosition(block.getX(), block.getY(), block.getZ());
    AxisAlignedBB aabb = world.getType(pos).c(world, pos);
    if (aabb == null) {
        aabb = world.getType(pos).d(world, pos);
    }
    return new BoundingBox(aabb.a, aabb.b, aabb.c, aabb.d, aabb.e, aabb.f);
}
Also used : AxisAlignedBB(net.minecraft.server.v1_10_R1.AxisAlignedBB) BlockPosition(net.minecraft.server.v1_10_R1.BlockPosition) BoundingBox(net.citizensnpcs.api.util.BoundingBox) WorldServer(net.minecraft.server.v1_10_R1.WorldServer) CraftWorld(org.bukkit.craftbukkit.v1_10_R1.CraftWorld)

Example 67 with AxisAlignedBB

use of net.minecraft.server.v1_13_R2.AxisAlignedBB in project Citizens2 by CitizensDev.

the class NMSImpl method setSize.

public static void setSize(Entity entity, float f, float f1, boolean justCreated) {
    if ((f != entity.width) || (f1 != entity.length)) {
        float f2 = entity.width;
        entity.width = f;
        entity.length = f1;
        BoundingBox bb = NMSBoundingBox.wrap(entity.getBoundingBox());
        entity.a(new AxisAlignedBB(bb.minX, bb.minY, bb.minZ, bb.minX + entity.width, bb.minY + entity.length, bb.minZ + entity.width));
        if ((entity.width > f2) && (!justCreated) && (!entity.world.isClientSide))
            entity.move(EnumMoveType.SELF, (f2 - entity.width) / 2, 0.0D, (f2 - entity.width) / 2);
    }
}
Also used : AxisAlignedBB(net.minecraft.server.v1_13_R2.AxisAlignedBB) BoundingBox(net.citizensnpcs.api.util.BoundingBox)

Example 68 with AxisAlignedBB

use of net.minecraft.server.v1_13_R2.AxisAlignedBB in project NoCheatPlus by NoCheatPlus.

the class MCAccessCB2808 method isIllegalBounds.

@Override
public AlmostBoolean isIllegalBounds(final Player player) {
    final EntityPlayer entityPlayer = ((CraftPlayer) player).getHandle();
    if (entityPlayer.dead)
        return AlmostBoolean.NO;
    // TODO: Does this need a method call for the "real" box? Might be no problem during moving events, though.
    final AxisAlignedBB box = entityPlayer.boundingBox;
    if (!entityPlayer.isSleeping()) {
        // This can not really test stance but height of bounding box.
        final double dY = Math.abs(box.e - box.b);
        // dY > 1.65D ||
        if (dY > 1.8)
            return AlmostBoolean.YES;
        if (dY < 0.1D && entityPlayer.length >= 0.1)
            return AlmostBoolean.YES;
    }
    return AlmostBoolean.MAYBE;
}
Also used : AxisAlignedBB(net.minecraft.server.v1_6_R2.AxisAlignedBB) EntityPlayer(net.minecraft.server.v1_6_R2.EntityPlayer) CraftPlayer(org.bukkit.craftbukkit.v1_6_R2.entity.CraftPlayer)

Example 69 with AxisAlignedBB

use of net.minecraft.server.v1_13_R2.AxisAlignedBB in project NoCheatPlus by NoCheatPlus.

the class BlockCacheCB2882 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: Probably check other ids too before doing this ?
        final net.minecraft.server.v1_6_R3.Entity mcEntity = ((CraftEntity) entity).getHandle();
        final AxisAlignedBB box = useBox.b(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_6_R3.Entity other = (net.minecraft.server.v1_6_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.boundingBox;
            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_6_R3.AxisAlignedBB) Entity(org.bukkit.entity.Entity) TileEntity(net.minecraft.server.v1_6_R3.TileEntity) CraftEntity(org.bukkit.craftbukkit.v1_6_R3.entity.CraftEntity) EntityBoat(net.minecraft.server.v1_6_R3.EntityBoat) CraftEntity(org.bukkit.craftbukkit.v1_6_R3.entity.CraftEntity) Iterator(java.util.Iterator) List(java.util.List)

Example 70 with AxisAlignedBB

use of net.minecraft.server.v1_13_R2.AxisAlignedBB in project NoCheatPlus by NoCheatPlus.

the class MCAccessCB3043 method isIllegalBounds.

@Override
public AlmostBoolean isIllegalBounds(final Player player) {
    final EntityPlayer entityPlayer = ((CraftPlayer) player).getHandle();
    if (entityPlayer.dead)
        return AlmostBoolean.NO;
    // TODO: Does this need a method call for the "real" box? Might be no problem during moving events, though.
    final AxisAlignedBB box = entityPlayer.boundingBox;
    if (!entityPlayer.isSleeping()) {
        // This can not really test stance but height of bounding box.
        final double dY = Math.abs(box.e - box.b);
        if (dY > 1.8) {
            // dY > 1.65D ||
            return AlmostBoolean.YES;
        }
        if (dY < 0.1D && entityPlayer.length >= 0.1) {
            return AlmostBoolean.YES;
        }
    }
    return AlmostBoolean.MAYBE;
}
Also used : AxisAlignedBB(net.minecraft.server.v1_7_R3.AxisAlignedBB) EntityPlayer(net.minecraft.server.v1_7_R3.EntityPlayer) CraftPlayer(org.bukkit.craftbukkit.v1_7_R3.entity.CraftPlayer)

Aggregations

List (java.util.List)25 Entity (org.bukkit.entity.Entity)23 Iterator (java.util.Iterator)21 AxisAlignedBB (net.minecraft.server.v1_12_R1.AxisAlignedBB)15 ArrayList (java.util.ArrayList)14 AxisAlignedBB (net.minecraft.server.v1_10_R1.AxisAlignedBB)13 HitBox (me.deecaad.weaponmechanics.weapon.projectile.HitBox)12 AxisAlignedBB (net.minecraft.server.v1_11_R1.AxisAlignedBB)12 ComplexCollisionBox (cc.funkemunky.api.utils.world.types.ComplexCollisionBox)10 SimpleCollisionBox (cc.funkemunky.api.utils.world.types.SimpleCollisionBox)10 AxisAlignedBB (net.minecraft.server.v1_8_R3.AxisAlignedBB)9 BlockPosition (net.minecraft.server.v1_10_R1.BlockPosition)8 BlockPosition (net.minecraft.server.v1_12_R1.BlockPosition)8 LivingEntity (org.bukkit.entity.LivingEntity)8 AxisAlignedBB (net.minecraft.server.v1_16_R3.AxisAlignedBB)7 AxisAlignedBB (net.minecraft.server.v1_9_R2.AxisAlignedBB)7 BlockPosition (net.minecraft.server.v1_11_R1.BlockPosition)6 BoundingBox (net.citizensnpcs.api.util.BoundingBox)5 Location (org.bukkit.Location)5 AxisAlignedBB (net.minecraft.server.v1_13_R2.AxisAlignedBB)4