Невидимый объект по-прежнему имеет поле столкновения 1x1x1 в Fabric (орудие GeckoLib)JAVA

Программисты JAVA общаются здесь
Anonymous
Невидимый объект по-прежнему имеет поле столкновения 1x1x1 в Fabric (орудие GeckoLib)

Сообщение Anonymous »

Я делаю мод Minecraft Fabric (1.21.11) с пушечным блоком.
Пушка использует пользовательскую модель GeckoLib (BlockEntity) и отдельный
невидимый объект «сиденье» (CannonSeatEntity расширяет Entity), который появляется
когда игрок щелкает пушечный блок, чтобы позволить себе ездить на нем.
Текущее состояние:
- Белый контур уже удален с помощью миксина.
- Однако объект все еще имеет невидимый хитбокс размером 1x1x1.
- Этот хитбокс ведет себя как полный куб: пройти через него нельзя.
Проблема:
Несмотря на то, что контура нет, CannonSeatEntity по-прежнему блокируется движение
как полный куб, что нежелательно.
Что я пробовал:
- getVisualShape(), возвращающий Shapes.empty()
- переопределение getDimensions() (getBoundingBox() является окончательным)
- Миксины для LevelRenderer (контурный рендеринг)
- setInvisible(true)
- noPhysics = true
- isPickable() возвращает false
- очень маленькие размеры в EntityType.Builder
Чего я хочу достичь:
- Полностью удалить физическое столкновение объекта (без блокирующего хитбокса)
- Сохранять объект пригодным для езды
- Создайте VoxelShape, соответствующий полной пользовательской 3D-модели GeckoLib (не кубу).
- Сделайте всю модель кликабельной, чтобы независимо от того, где я нажимаю на пушку, я могу сесть на нее.
Использование: Fabric 1.21.11, GeckoLib 5.4.4, сопоставления Mojang

Вернуться в «JAVA»