Skip to content

General Minecraft Script to-do #3

@dudecon

Description

@dudecon
  • Update mcInterface.py to work with 1.18 map format, https://minecraft.fandom.com/wiki/Chunk_format
    • decode 9bit Heightmaps, expose to scripts
      • unpack on read
      • repack when chunk is saved to disc
    • world height updated to 384? Yes, min height is -64, max is 319, for a total internal storage value of 384, modify world height and user-facing coordinates. Heightmaps store val+65.
    • section format with block state palette
      • block indexing is re-ordered to YZX (same as before)
      • blank section generation
      • read block data
      • unpack block data and palette on chunk read
      • pack block data with variable width packing on file save
      • try to parse pseudo-code in the wiki: https://minecraft.fandom.com/wiki/Chunk_format#Block_format
      • "Add byte array" optional? See if I can get an example to work with. Looks like this was before the palette system. Ignore.
      • Is palette always sorted by occurrence frequency? Check.
    • Block Entity Data would be nice to be able to parse and edit
    • edit mobs too.
    • Biome data is handy too, see if that's encoded standard
    • test changing chunk Status to "light" in order to dirty the lighting and force a re-calc
    • Once things are working again, see what you can do about deleting data_ob from all the tags. It shouldn't be hanging around as a shared pointer in all the NBT tag objects.
  • fix all existing scripts to work with the new block data format
  • Forester Updates
    • convert all foliage in section to non-decaying variety
    • larger foliage clusters for larger trees
    • branching roots and branches
    • simulated growth with damaged sections for more interesting shapes
      • use Squares and canvasses to do incremental growth of damaged sections?
      • randomized offsets for each slice
  • Ore Reduce Updates
    • process all chunks in the save file?
    • search for block types in section palette
    • grab whole ID array and step through each item
    • excavator, put all the "reduced" ore on the surface in a big pile
    • mineshaft, piles tailings, builds shafts and tunnels to all ore spots
      • consume appropriate amount of food from inventory?
  • Line Rail Updates
    • fix up linerail, there was some modified code somewhere, or just fix it up anew
  • New Road Paving Script
    • needs a catchy name
    • slopes that follow terrain where possible
    • obstacle avoidance and switchbacks
    • Proper Bridges that rise up over water and deep gaps
    • gravel fill for small gaps
    • Street Lights
  • StarStone
    • excavate whole sections at once for larger craters
    • estimate contents based on palette instead of checking each block
    • aggregate block type by quantity instead of storing each one
    • scatter blocks by distribution pattern instead of "toss" and "kick" each one individually
  • Wizard Mountain
    • fix log detection
    • flood-fill trees and foliage
    • update the heightmaps
    • handle block entities and mobs properly.
    • propagate fluids (water and lava?) at edges.
    • Option to operate at the Section scale. Should work much faster.
    • close single square islands?
  • CaveDiver
    • cavern mode? Progressively larger height-scale near the center. Spikes, etc.
    • better stalactite code. Lower the ground and raise the ceiling?
    • clean up the janky codebase
    • better large-scale structures
    • add pointed dripstone sparingly
  • Garden script
    • garden plots
    • paths
    • flowers
    • trees
    • wall around the outside
  • Revive Groundwork
    • semi-flatten the ground
    • lay streets
    • subway tunnels?
  • make/fix a castle script
    • convert "square" and canvas from CaveDiver and Wizard Mountain to stand-alone code
      • inside mcInterface? Or in a separate module?
      • Break out crossection and sphere from forester and starstone as well?
      • Other helper classes or functions?
      • offset layers
      • partial selection offsets
      • nested canvas
    • get walls working
    • use walls to build towers and main walls
    • use main walls and towers to build castles
    • add style
      • look up cool castles
      • ask the kids about the best castles
    • houses, huts, and buildings (towers)
      • roof in offset layers
        • windows in high offsets
        • stairs for roof material
        • roof ridge decorations
      • multi-level buildings
        • stairs
          • straight
          • spiral
        • open-center atriums
        • uneven wall heights
        • reducing and expanding floorplans
      • exterior decks
      • doors and room connectedness
  • meta-script that calls other scripts
    • linerail to go in the direction the player is looking
    • trees planted around player
    • crater(s) around player
      • big crater + trees for a semi-walled grove, convert stone to cobble?
    • pocket dimension
      • nuggets to set size?
      • crater and wizard mountain as excise shapes
      • sort fort, to sort out all your chests
  • uplift in Minecraft by moving and filling sections?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions