Skip to content

Spaceship #2

@FabianHummel

Description

@FabianHummel

Idea

  • Adapt existing spaceship model and controller to the new system.
  • For the spaceship model itself, today's standard is to use item displays. For further customization I could use the tint-component to color specific parts of the spaceship which would be very cool. Using entity parents, I can also allow for individual parts/modules customization of the spaceship such as weapons, boosters, different types of wings, etc... that have an influence on the stats of the spaceship
  • Third person view would also be cool, where the player's position is locked onto a sphere around the spaceship while fixating a point roughly in the center of the spaceship. Maybe I can use the new camera_distance attribute + F5, or create a custom controller with interpolation.

Input Method (Surface)

  • Vertical input (mouse up & down) translates to relative vertical rotation.
  • Horizontal input (mouse left & right) translates to relative horizontal rotation.
  • Forward and backward keys (W & S) are throttle and brake.
  • Left and right keys (A & D) are spaceship-roll (max-angle dependent on speed, so no rotation while hovering) and horizontal rotation.

Edit: Spaceship-roll is also directly bound to horizontal rotation, so mouse movement on the x-axis is entirely unused.

Additional Info

In space, the controller works differently than on a planet surface. In short: The player is kept entirely stationary whereas celestial objects rotate and move around the player. This approach allows for much more sophisticated mobility such as full 360° rotation on any axis (even roll-axis which will look very cool! In space, the roll is not dependent on spaceship's speed). However, for that to work I'd need to repeatedly rotate the player's camera to the center of the screen, which will probably look very janky, but I am sure I'll come up with a workaround.

In contrast to surface movement, in space the player can freely rotate in any direction and is not limited by different forces that don't apply in space. For example: On the surface, when rotating horizontally, the spaceship's roll is limited by some inverse of the current velocity, whereas in space the roll axis is not limited at all and holding the A or D keys will continuously roll the spaceship.

Input Matrix

Surface Space
W & S Accelerate & Brake Accelerate & Brake (+ cancel warp)
A & D Horizontal rotation (with limited roll) Continuous Roll
Mouse H Unused Horizontal rotation (follow camera)
Mouse V Vertical rotation (follow camera) Vertical rotation (follow camera)
Space ⚠️ Warp thrusters cannot be used here Activate warp thruster

Helpful Resources

Screen.Recording.2025-11-27.at.10.23.50.webm

Credits: SNIGUR on Minecraft Commands Discord (https://discord.com/channels/154777837382008833/1439226509586993318)

camera_tilt.webm

Credits: PINKIUS on Minecraft Commands Discord (https://discord.com/channels/154777837382008833/1439718510577062019)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions