Skip to content

Commit

Permalink
Plans
Browse files Browse the repository at this point in the history
  • Loading branch information
gdavid04 committed Feb 18, 2024
1 parent 772a92e commit b5c0f7f
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 2 deletions.
59 changes: 58 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 6DOF Test
A WIP space mod for Fabric 1.20.1 with 6DOF movement.

## Zero gravity space
- [x] no gravity
Expand All @@ -7,14 +8,70 @@
- [ ] correct on ground to use all surface orientations
- [x] no fall damage
- [ ] bump into wall damage regardless of direction
- [ ] make mob AI less helpless in zero gravity
- [ ] make mob AI less helpless
- [ ] make knockback work vertically
- [ ] make pushing entities work vertically
- [ ] disable water flowing downwards
- [ ] make area effect clouds spherical
- [ ] consider slowing down movement without thrusters
- [ ] consider making movement speed depend on pressure when not using thrusters
- [ ] allow launching off of walls faster
- [ ] allow moving along walls normally without thrusters

## 6DOF
- [x] camera
- [ ] fix glitch when looking upside down (gimbal lock?)
- [ ] fix frustum culling
- [x] model pose
- [ ] look around
- [x] controls for roll
- [ ] camera relative movement (hook Entity.movementInputToVelocity)
- [ ] sync orientation
- [x] animate transition back to upright (roll)

## Air
- [ ] make breath meter deplete in space
- [ ] oxygen tanks
- [ ] pressurization system
- [ ] airlocks
- [ ] make vacuum suck entities and air out of pressurized areas
- [ ] make vacuum deal damage

## Equipment
- [ ] space suit
- [ ] thrusters
- [ ] fuel
- [ ] option to use oxygen instead of fuel
- [ ] particle effects when using thrusters
- [ ] forward
- [ ] directional thrusters
- [ ] rotation
- [ ] sound effects when using thrusters
- [ ] make forwards thrust faster
- [ ] helmet
- [ ] overlay
- [ ] oxygen supply
- [ ] tether
- [ ] limit movement distance from tether
- [ ] attach to tether on right click
- [ ] detach from previous tether when already attached to one
- [ ] keybind to detach from tether
- [ ] keybind to pull yourself towards tether
- [ ] antigravity chamber multiblock
- [ ] turns on zero gravity inside when powered
- [ ] gravity generator
- [ ] some sort of power source for gravity manipulating equipment

## World
- [ ] space station dimension
- [ ] zero gravity
- [ ] maybe add a very weak pull towards the planet
- [ ] respect no gravity tag
- [ ] vacuum
- [ ] space skybox
- [ ] planet the station is orbiting
- [ ] day/night cycle for planet texture
- [ ] rotate skybox and planet as the station orbits the planet
- [ ] sky light based on planet's sun
- [ ] planet occluding the sun
- [ ] maybe sky light direction based on sun direction (would be easiest with shaders)
2 changes: 1 addition & 1 deletion src/main/java/gdavid/sixdoftest/mixin/EntityMixin.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ private void noGravityIn6DOFSpace(CallbackInfoReturnable<Boolean> callback) {

@Redirect(method = "writeNbt", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;hasNoGravity()Z"))
private boolean noSaveGravityIn6DOFSpace(Entity instance) {
// TODO: do the same hack for Buckeable.copyDataToStack, we don't want people bringing back floating fish from space
// TODO: do the same hack for Bucketable.copyDataToStack, we don't want people bringing back floating fish from space
if (SpaceManager.isIn6dof(instance)) return self().getDataTracker().get(NO_GRAVITY);
return instance.hasNoGravity();
}
Expand Down

0 comments on commit b5c0f7f

Please sign in to comment.