Урон по области?

Версия Minecraft
1.12+
Решение
Код:
    public static void splech(World world, EntityPlayerMP playerMP, EntityLivingBase target, double x, double y, double z, float radius, float damage) {
        List<EntityLivingBase> entityLivingBases = world.getEntitiesWithinAABB(EntityLiving.class, new AxisAlignedBB(x - radius, y - radius, z - radius, x + radius, y + radius, z + radius));
        for (EntityLivingBase base : entityLivingBases) {
            if(base == playerMP)continue;
                if(base == target)continue;
                base.setHealth(base.getHealth() - damage/2.2F);
            }
        }
Вот такая шняга, спасибо hohserg , за подсказку, пользуйтесь.
3,005
192
592
7,099
324
1,510
Посмотри методы в базовом классе меча. Там есть метод, вызываемый при атаке мечем. Переопредели этот метод в своем мече, чтобы там было взятие сущностей вокруг места удара при помощи AABB и раздача им всем урона.
 
586
32
136
Посмотри методы в базовом классе меча. Там есть метод, вызываемый при атаке мечем. Переопредели этот метод в своем мече, чтобы там было взятие сущностей вокруг места удара при помощи AABB и раздача им всем урона.
не могу найти(
 
7,099
324
1,510
hitEntity метод.
Вроде. Добавь туда println и потестируй, будет ли он вызываться при атаке мобов
 
586
32
136
Код:
    public static void splech(World world, EntityPlayerMP playerMP, EntityLivingBase target, double x, double y, double z, float radius, float damage) {
        List<EntityLivingBase> entityLivingBases = world.getEntitiesWithinAABB(EntityLiving.class, new AxisAlignedBB(x - radius, y - radius, z - radius, x + radius, y + radius, z + radius));
        for (EntityLivingBase base : entityLivingBases) {
            if(base == playerMP)continue;
                if(base == target)continue;
                base.setHealth(base.getHealth() - damage/2.2F);
            }
        }
Вот такая шняга, спасибо hohserg , за подсказку, пользуйтесь.
 
Сверху