Dimensional Doors Legacy

Dimensional Doors Legacy

7.4k Downloads

Official todo-list. Pt. 001. Very high urgency

Robijnvogel opened this issue · 6 comments

commented

Full initial todo list.

  • Make sure that all the Chest TileEntities are actually added to the TileEntity list per Schematic, so loot can be added in all Dungeon Pockets.
  • Repair Monolith Spawn Eggs
  • Change Crafting Recipes for Dimensional Doors to require Stable Fabric instead of just Ender Pearls.
  • Finish destinations
    • Add a "ReturnDestination" according to this.
    • Make a consensus between Runemoro's description and Robijnvogel's description
    • Add additional "composite destinations" for sending people somewhere based on several kinds of conditions.
    • Add a library of pre-configured destinations, so that the same builder doesn't need to be used in-code and by players time and time again.
  • Get Travis/Gradle to correctly incorporate the build number in the jar file name upon building the mod.
  • Fix Players turning invisible after traveling through DimDoors #30
  • Chests don't render after placing schematic
  • Fix Rift Tesseract Render speeding up if there's more than one in the player's view and/or when the player is looking at it from a different angle.
  • The sky in Limbo is white, and the red eye in the sky is not visible when using the night vision effect. #26
  • Make the configs comments more concrete and see if we can fix some stupid little things, that Forge's simple implementation can't handle by itself, in code
  • Make schematics not permanently load in RAM, because that stuff is terribly inefficient (f*ing @Robijnvogel ... Oh wait, that's me. :o )
  • Change the configuration format for Dungeon Pocket configuration
    • Add several "distribution types", such as "uniform", "gaussian" etc. These distribution types and their respective weights would determine the dungeon's weight (for the weighted random function that chooses the dungeon to be generated) at a specific depth.
  • Implement Rift Configuration Tool
  • Handle placement of Transient Doors structures in a later phase, to prevent CoFHWorld from replacing the door block with something else. CoFH World probably uses the oregen stage, by the way. See this.
  • Make Transient Portals a more general dimensional portal block that can have pretty much any shape
    • Convert the transient door to a resizable portal structure
    • Make Portals (including DimDoors) only "open" and render if there's a "frame" of full blocks (isSideSolid should be enough, though) on all sides. Transient Portals could have some sort of detection algorithm for this (first search upwards, then in all directions, not only axis-aligned).
  • Make portal render 2-sided, at least for the Transient Portal.
    • Make the backside of DimDoors permanently solid, even if the door is open.
  • Re-add portal render to Transdimensional Trapdoors. #26
  • Repair Eternal Fabric's ability to teleport the player back to the Overworld
  • Make Transient Portals close as they are entered by a player
  • Lower the default Config value for generating Transient Portal structures
  • Add an additional mods list to out schematic format:
     1 list of the actual content being used of mods (blocks and (tile)entities)
     	If these mods are not loaded, the schematic outright refuses to load
     1 list of all the mods that were loaded at the time of schematic creation (with versioning)
     	If there are errors during loading of the schematic, the mods out of these that are lower versions or missing will be pointed out as suspects.```
     - [ ] Add a config option to forcibly load Schematics from that have "required" mods that are not contained in the loaded-mods list. 
     	- [ ] Perhaps even make it an integer between 0 and 2, to even have an option to not load schematics if they are in the "global" mod list and lacking.
    
  • Rework the way that Rift-container Blocks, (door-)items and TileEntities are related. See Pastebin
    • Transient Portals collapsing to Rift Scars would have nothing to do with their destination. This should be Transient Portal Block functionality or still need a separate TileEntity extending the Rift of course.
  • Change the Personal DimDoor and Chaos Door's Recipes to only need 1 door
  • Change all Doors and the Transdimensional TrapDoor to drop exactly one normal Door/TrapDoor item upon breakage and never remove their Rift, not even in Creative.
  • Add a creative item for Pocket Entrance Doors and Dungeon Doors for Dungeon Schematic Creation purposes.
  • Add a "Wrapper" Block, Entity, TileEntity etc. to the dimdev packages, to handle unavailable modded content upon schematic placement.
    • Which can contain any nbt.
    • and upon reading from NBT, can check if the mod is installed now and convert themselves to the original content if it is installed
    • Add a Wrapper Item, which links to an NBTTagCompound in a central, world-saved registry
      • We may need to save Items-inside-Containers-inside-Schematics as their resource location using a separate Item-palette apparently this is terrible for performance, because reading from NBT is painfully inefficient.
      • Use item stack NBT, so an un-stackable item (otherwise, we'd have to register X instances for this, as we could only save 16 different Items per Item Wrapper variant. Item damage isn't optimal either)
        • Make it show the original item resource name, the stack size and the damage by default.
    • Make the Wrappers show some general information in Waila by default.
  • Make Dungeons generate in the middle of their assigned grid "cell" ~~~and in the middle according to y-coord. This should make the player less likely to catch on fire when teleporting from a pocket to the Overworld/Nether/a modded dimension with Lava on the lower y-levels.~~~
  • ~~~Get the player's potion status and on-fire status before dimensional teleport and reset it after this is concluded~~~~
commented

Added new task:

  • Change Crafting Recipes for Dimensional Doors to require Stable Fabric instead of just Ender Pearls.
commented

Added new task:

  • Make sure that all the Chest TileEntities are actually added to the TileEntity list per Schematic, so loot can be added in all Dungeon Pockets.
commented

Added three new tasks:

  • Repair Eternal Fabric's ability to teleport the player back to the Overworld
  • Make Transient Portals close as they are entered by a player
  • Lower the default Config value for generating Transient Portal structures
commented

Added new task:

  • Repair Monolith Spawn Eggs
commented

Moved one task over from #32:

  • Add an additional mods list to out schematic format:
     1 list of the actual content being used of mods (blocks and (tile)entities)
     	If these mods are not loaded, the schematic outright refuses to load
     1 list of all the mods that were loaded at the time of schematic creation (with versioning)
     	If there are errors during loading of the schematic, the mods out of these that are lower versions or missing will be pointed out as suspects.```
    
    

Added seventeen tasks:
- Add a config option to forcibly load Schematics from that have "required" mods that are not contained in the loaded-mods list.
- Perhaps even make it an integer between 0 and 2, to even have an option to not load schematics if they are in the "global" mod list and lacking.

  • Rework the way that Rift-container Blocks, (door-)items and TileEntities are related. See Pastebin
    • Transient Portals collapsing to Rift Scars would have nothing to do with their destination. This should be Transient Portal Block functionality or still need a separate TileEntity extending the Rift of course.
  • Change the Personal DimDoor and Chaos Door's Recipes to only need 1 door
  • Change all Doors and the Transdimensional TrapDoor to drop exactly one normal Door/TrapDoor item upon breakage and never remove their Rift, not even in Creative.
  • Add a creative item for Pocket Entrance Doors and Dungeon Doors for Dungeon Schematic Creation purposes.
  • Add a "Wrapper" Block, Entity, TileEntity etc. to the dimdev packages, to handle unavailable modded content upon schematic placement.
    • Which can contain any nbt.
    • and upon reading from NBT, can check if the mod is installed now and convert themselves to the original content if it is installed
    • Add a Wrapper Item, which links to an NBTTagCompound in a central, world-saved registry
      • We may need to save Items-inside-Containers-inside-Schematics as their resource location using a separate Item-palette apparently this is terrible for performance, because reading from NBT is painfully inefficient.
      • Use item stack NBT, so an un-stackable item (otherwise, we'd have to register X instances for this, as we could only save 16 different Items per Item Wrapper variant. Item damage isn't optimal either)
        • Make it show the original item resource name, the stack size and the damage by default.
    • Make the Wrappers show some general information in Waila by default.
  • Make Dungeons generate in the middle of their assigned grid "cell" and in the middle according to y-coord. This should make the player less likely to catch on fire when teleporting from a pocket to the Overworld/Nether/a modded dimension with Lava on the lower y-levels.
  • Get the player's potion status and on-fire status before dimensional teleport and reset it after this is concluded
commented

Added two new tasks:

  • Make the configs comments more concrete and see if we can fix some stupid little things
  • Make schematics not permanently load in RAM