I'm making a Minecraft Fabric mod (1.21.11) with a cannon block.
The cannon uses a custom GeckoLib model (BlockEntity) and a separate
invisible "seat" entity (CannonSeatEntity extends Entity) that spawns
when a player clicks the cannon block to allow riding it.
Current state:
- The white outline is already removed via a mixin
- However, the entity still has a 1x1x1 invisible hitbox
- This hitbox behaves like a full cube: you cannot walk through it
The problem:
Even though the outline is gone, the CannonSeatEntity still blocks movement
as a full cube, which is not desired.
What I tried:
- getVisualShape() returning Shapes.empty()
- getDimensions() override (getBoundingBox() is final)
- Mixins to LevelRenderer (outline rendering)
- setInvisible(true)
- noPhysics = true
- isPickable() returns false
- very small dimensions in EntityType.Builder
What I want to achieve:
- Remove the physical collision of the entity completely (no blocking hitbox)
- Keep the entity usable for riding
- Create a VoxelShape that matches the full custom 3D GeckoLib model (not a cube)
- Make the entire model clickable, so no matter where I click on the cannon, I can sit on it
Using: Fabric 1.21.11, GeckoLib 5.4.4, Mojang mappings