Skip to content
PoroCYon edited this page Nov 3, 2015 · 30 revisions

A semi-categorised/ordered (but incomplete) to-do list.


  • Anything marked with //TODO in the source code (mostly cleanup or stuff to do when support for something else has been added) (just grep for that string)
  • Documentation

Things with partial support, but needs to be completed. OR Things with a high priority

  • Create a TileBHandler when one is placed.
  • More [Item|Mount|NPC|Projectile|Tile|Game]Behaviour hooks
  • Player, WorldGen, UI, Netplay, ... hooks
    • Player/UI/... drawing layers?
    • WorldGen tasks?
  • Tile/Wall drop items
  • Finish Town NPC support (spawn, chat, display names, shop etc) (integrate with custom UI support later on?)
  • Mod enabling/disabling (either support it or remove it altogether)
    • At least display which mods are loaded (+ info? mod options (when supported)?)
    • Mod sets (?)
  • Exception UI page (use UI API when support has been added?)
  • Steam cloud support for player & world .prism files

Things that should be supported in the initial (non-prerelease) release

  • Custom NPC spawning
      • global NpcBehaviour spawning hooks
  • Custom UI (both game menu & in-game) support
  • Netplay support
    • Netplay API (custom messages etc)
    • Send mods to sync (-> cross-platform problems?) or check loaded mods & load order, to avoid conflicts?

Details, not that important, but should be implemented nontheless (but not necessarily in the first release)

  • Custom prefixes
  • Custom gores
  • Custom dusts
  • Custom quest items (i.e. register as quest item for Angler/Dye Trader/Custom Town NPC, items can be marked as Quest Item already, but it has no effect.)
  • Custom fishing items
    • Custom items in crates
  • Custom fishing poles (if not a combination of item useStyle/channel + projectile aiStyle + [item|projectile] fishing power)
  • Custom yoyos (see above)
  • Custom minecart track parts (see above, or simple TileBehaviour stuff)
  • Custom dyes
  • Custom hair dyes
  • Minimap-related tile stuff (tile/wall colours, mouseover text)
  • Chest support
  • Sign support (TileDef.Subtypes.IsSign exists, but I don't know if that's enough)
  • Wiring support
  • Chain (grappling hook etc) & laser support

Things meant to be done in a future release

  • Biome API
    • Integrate with BGM API?
    • Integrate with NPC spawning API?
  • Custom invasions & wave event (e.g. pumpkin moon) support: messages, progress bar, etc.
  • Custom achievements (not synced with Steam, obviously could be put on the Steam Cloud, but they won't be visible as achievements in Steam)
    • Custom achievement conditions
  • Custom TileEntities TileEntities are used to contain TileBehaviours.
  • Custom options
    • Steam Could support?
  • Nicer NPC drop table API
  • Nicer NPC spawning API
  • Custom Item UseStyles
  • Custom Item HoldStyles

Rough ideas

  • Custom injection support (???)
    • Would require checking mods for injections, etc...