Skip to content

Latest commit

 

History

History
145 lines (132 loc) · 6.72 KB

TODO.md

File metadata and controls

145 lines (132 loc) · 6.72 KB

Blockbench

  • Add a root NBT blueprint setting Add a custom summon commands setting.
  • Custom animation properties dialog
  • Prevent the user setting their export namespace to 'global' or 'minecraft'
  • Add affected bones list to variant, and animation properties.
    • Variant Properties
    • Animation Properties
  • Implement .ajmodel to blueprint conversion.
  • Change .ajmeta to use relative file paths.
  • Resolve env variables in blueprint settings.
  • Add renderbox options to the blueprint settings.
  • Render and handle invalid cubes with a red outline.
  • Force animations to be at least 1 tick long
  • Respect Variant inheritance when applying variants in the animation preview.
  • Add a transparency option to the variant texture map selection. (And don't export completely transparent bones)
  • Locators
    • Custom command keyframes.
    • Locator config.
    • Data Pack Compiler support.
  • Natively support step keyframes.
  • When upgrading old ajmodels, if they have command keyframes in the effect animator, create a locator at 0 0 0 with those keyframes.
  • Add support for Text Displays
    • Basic rendering
    • Word wrapping - Thanks Fetchbot!
    • Italic
    • Bold
    • Underline
    • Strikethrough
    • Array style inheritance
    • Support vanilla fonts
      • minecraft:default
      • minecraft:alt
      • minecraft:illageralt
    • User interface
      • Figure out a nice way to configure text displays...
      • Include an option to change the text.
      • Include an option to change the max line width.
    • Animation
      • Make sure the text display is animatable.
    • Add a TextDisplay config.
      • Add support for billboarding to TextDisplays.
    • Add an option to change the alignment of the text.
  • Respect inheritance in the bone config.
  • Change font rendering to use a geometry for each character instead of a single plane for the entire text display. This will open the possibility of loading custom fonts and spacing.
  • Add vanilla block displays
    • Create a custom element type for block displays.
    • Add rendering for vanilla block models.
      • Use Blockstates to select models.
      • Parent model inheritance
      • block/block
    • Add overrides for entity-based block models.
      • chest
      • ender_chest
      • mob heads
      • shulker boxes
      • beds
    • multi-parts like walls throw an intneral error if they don't have any elements.
  • Add an option to Locators to use the old entity-based functionality.
  • Add an about page.
  • Camera Plugin Support
    • Data Pack Compiler support.
  • Add vanilla item displays
    • Create a custom element type for item displays.
    • Add rendering for vanilla item models.
      • Parent model inheritance
      • item/generated
      • item/handheld
      • item/handheld_rod
      • item/handheld_mace
    • Add overrides for entity-based models.
      • conduit
      • decorated_pot
      • template_banner
      • template_shulker_box
      • template_skull
      • banners
      • shield
      • trident
  • Change the Collection setting type to allow single-click swapping of items between lists.
  • Look into adding a color picker for tintable vanilla items.
  • Add Variants to the UndoSystem (Blocked by vanilla Blockbench not supporting custom undo actions).
  • Remove easingArgs and easingMode from saved keyframes if easingType is linear.
  • Add an option to generate a damage_flash variant for mob-type entities.
  • Add a fix for 360 rotation snap by using set_frame instead of apply_frame for the first frame of the animation.

Data Pack Compiler

  • Merge on_tick and on_load function tags
  • When merging the new minecraft:tick tag with old one, try and find any old style function references (AKA animated_java:my_project/zzzzzz/tick), and remove them.
  • Animation Tweening
  • Implement animation loop mode tech.
  • Write files after compilaion is done by using a queue system.
  • Make data pack compiler as async as possible.
  • Actually respect variant config options.
  • Warn the user when a previously summoned rig needs to be re-summoned due to changes in the blueprint.
  • Figure out how to add repeating functionality to command keyframes.
  • Add toggles to command keyframes to allow continuously running the commands in the keyframe instead of only once when the keyframe is reached.
  • Teleport the rig to the execution location of the summon command.
  • Rotate the bones with the root entity.
  • Add default saved Locator positions to the summoned rig.
  • Add support for text displays.
  • Add support for vanilla item displays.
  • Add support for vanilla block displays.
  • Locator rotation inheritance support - looks like they've supported it all this time...
  • Apply variant keyframes in animations.
  • Figure out how cameras will work.
  • See how much swapping to a static list of UUIDs for selecting bones effects performance.
  • Split up animation storage data command to avoid command length limit.
  • Check for references to non-existant functions in merged function tags, and remove them.
  • When applying variants, remove / replace any bones that have / had no elements with textured faces.

Resource Pack

  • Warn the user when they have custom elements in their model, but have disabled the resource pack export.

Plugin Exporter

  • Add an option to export a JSON file.

List of numbers to track

  • Total exports
    • Stored in amount per day
  • Total functions created by the data pack compiler
    • Stored in amount per day

Github

  • Reorganize the repo's branches.
    • Create a release branch.
    • Create a dev branch.
    • Create a legacy-beta tag.
    • Create a legacy-armorstands tag.
  • Reorganize the repo's tags.
    • Create a v1.0.0 tag.
    • Create a legacy-beta tag.
    • Create a legacy-armorstands tag.

Post 1.0.0

  • Add support for block-display.com's API
  • Add support for custom fonts in TextDisplays.
  • Add support and previewing for interaction entity based locators.
  • Add support for previewing player skins on heads.