Скачать MECHA - Multiple Entity Collision Hitboxes API — Minecraft Моды — MetaMods
MECHA - Multiple Entity Collision Hitboxes API

MECHA - Multiple Entity Collision Hitboxes API

Активный

Установок

7

Последнее обновление

1 год назад

Версии

1.19.4 — 1.21.1
Клиент и сервер
Fabric
Игровые механики
Библиотеки
Утилиты

MECHA - Multiple Entity Collision Hitboxes API

Данный API предоставляет разработчикам возможность наделять пользовательские сущности несколькими областями столкновения вместо стандартной одной.

Начало работы

Для подключения библиотеки добавьте в файл build.gradle репозиторий Modrinth и укажите соответствующую версию мода:

repositories {
    maven { url 'https://api.modrinth.com/maven' }
}

dependencies {
    modImplementation "maven.modrinth:mecha-api:VERSION_GOES_HERE"
}

Применение

В классе вашей пользовательской сущности реализуйте интерфейс MultiCollidable и переопределите метод getColliders, чтобы добавить дополнительные области столкновения.

Пример реализации

В следующем примере кода к сущности добавляются две области столкновения, каждая размером с плиту:

public CustomEntity extends Entity implements MultiCollidable {
    public List<VoxelShape> getColliders() {
        List<VoxelShape> colliders = new ArrayList<>();
        BlockPos pos = this.blockPos();
        double x = pos.getX();
        double y = pos.getY();
        double z = pos.getZ();
        colliders.add(VoxelShapes.cuboid(x, y, z, x+1, y+0.5, z+1));
        colliders.add(VoxelShapes.cuboid(x, y+0.5, z, x+1, y+1, z+1));
        return colliders;
    }
}

Начиная с версии 0.1.2, доступен специальный тип сущности DynamicBoundingBoxEntity, который автоматически изменяет свои границы в соответствии со списком, возвращаемым методом getColliders():

public CustomEntity extends DynamicBoundingBoxEntity {
    // Границы этой сущности будут динамически изменяться
    // для соответствия областям столкновения, возвращаемым этой функцией
    @Override
    public List<VoxelShape> getColliders() { ... }
}
Участники проекта
byteManiak

byteManiak

Разработчик

Создан: 6 мая 2024

ID: 14648