Emilia(SleepeeSoftware) 49511f4109 working nice
2026-02-21 11:22:03 +01:00

3.3 KiB
Raw Blame History

Emilia's Mod


1. Environment: Space & Subworlds

  • Subworld Library: Integrate this to handle the "Space" dimension without hitting the 163,840-tile height limit of the main world.

  • Physics Overrides: Create a ModSceneEffect or Subworld hook to set gravity = 0f and windSpeed = 0f.

  • Oxygen Logic: A ModPlayer timer that drains health if HasSpaceSuit == false while in the Space subworld.


2. Ship Construction & The Launch Pad

  • The Anchor (Launch Pad): A ModTile that acts as the origin point (0,0) for your ship scan.

  • Integrity Scan: A method to check a 50×50 (or larger) area for "Hull" tiles (Luminite bricks, etc.) and at least one "Engine" tile.

  • Serialization: A CaptureShip() function that saves the TileType, WallType, and TileEntity data of the ship into a TagCompound.

  • Launch Animation: * Spawn a large Projectile with the ships sprite.

    • Set ship tiles in the world to type = 0 (Air).
    • Apply upward velocity to the projectile and trigger the subworld transfer once it hits the "top" of the screen.

3. Pilot Mode (Top-Down Combat)

  • The Controller: A ModTile (Pilot Seat) that toggles IsPiloting = true.

  • Physics Hack: * In PreUpdateMovement, set Player.gravity = 0.

    • Apply Player.velocity *= 0.95f for linear drag.

    • Map WASD to 2D vector movement (Top-down style).

  • Visual Masking: Use PlayerDrawLayer to hide the player sprite and draw the Ship sprite rotated toward Main.MouseWorld.

  • Ship Systems: Implement a "Shield" variable in ModPlayer that recharges over time and absorbs damage before the player takes hits.

4. Automation & Logistics

  • The Registry: A List or List in a ModSystem to track active machines (extractors, assemblers).

  • Heartbeat Loop: Run automation logic in PostUpdateWorld every 1020 ticks to save CPU.

  • Push/Pull Logic: Instead of complex pipes, use a "Transferer" tile that checks for an IItemStorage (Chest or TileEntity) in the 4 cardinal directions and moves 1 item per tick.

  • Resource Nodes: Create "Asteroid" tiles in the subworld that can only be harvested by an automated LaserDrill TileEntity.

5. Progression Flow (Post-Moon Lord)

  • Crafting: Combine Luminite and Moon Lord drops to create the Launch Pad and Ship Engines.

  • Assembly: Build the ship on the pad in the Main World.

  • Exploration: Launch to the Orbit Subworld to mine "Exotic Matter" from asteroids.

  • Automation: Use Exotic Matter to build the Star-Chart (Remote Teleporter) and auto-farms.

  • Expansion: Use the ship's Top-Down mode to fight "Star-Beast" bosses in Deep Space.

6. Other Point

  • Navigator (move in after moonlord)
  • Physicist (move in after moonlord)
  • Martian (move in after martian invasion, but access shop after moonlord) * hint about space travel
  • Martian spaceship can drop ship part after moonlord
  • Cleanse Reforge
  • spacesuit (Terrarian upgrade + Mystical Conch + Diving gear)
  • Alien Surf (Sigil + Celestial Starboard)
  • Space Combat (Top Down Ship Control).

Items: { EmiliasWand: { DisplayName: Emilias Wand Tooltip: ''' Is it a Drill ? is it a Sword ? It's an Hitachi Magic Wand !! (never used ?) ''' } Spacesuit: { DisplayName: Spacesuit Tooltip: Are you ready for Space ? ''' Beam me up !!!! ''' } }