Coder Social home page Coder Social logo

multipacks's Issues

Assets from class loaders

Allow processing assets obtained from class loaders.

An example use case would be a plugin that adds custom items: you add CustomModelData in item NBT and item model in plugin.jar/assets/namespace/models, then let Multipacks handle custom model predicates.

Multipacks Server

Multipacks Server primary goal is to distribute Multipacks packs to users and distribute bundled packs to players.

  • Repository functionality to Multipacks Server
  • Bundled packs hosting capability

Mapping pack resources to target version

Pack indexes now have sourceGameVersion field, which you can define the version that the pack was originally made for. To use the pack on future versions, there are 2 ways:

  • Just build the pack with targetGameVersion == sourceGameVersion and load it to client. It should work, but future game versions may choose to remove "fixers" for old version, just like what they have done in 1.19.3.
  • Let Multipacks remap resources to new version. This can be defined in either multipacks.modifiers.json or Bundler (targetGameVersion argument).
    • User can choose to define in multipacks.modifiers.json if they are migrating from old game version to new game version. sourceGameVersion must be the same as what is defined in multipacks.modifiers.json.

Obtain assets & data from existing game installations

Modifiers like "builtin/models" requires a base model to be presented in user's pack. Being able to obtain models from game installations would be more convenient.

However, this might only works with Multipacks CLI. As for "Multipacks for Spigot", we have 2 options:

  • Download client JAR to plugin data folder. This will take a while on initial master pack build, and it might not work well with Docker (which deletes fs once the container is deleted).
    • We can add "client JAR download location" config to multipacks.config.json so user can mount external dir to containers and use that as "cache".
  • Only allow packs bundling using CLI. We have serializers that serialize modifiers output, which can be loaded to Multipacks Spigot plugin.
  • Add multipacks-cli include minecraft:<resource path> command to CLI to obtain assets from game JAR.

Enhance built-in models modifier

  • Switch to "multiple predicate types" system
  • Add support for "item durability" predicate
  • Add support for "trim material" predicate
    • It is important not to override existing materials.

Multipacks Additions: Blockbench models

  • Blockbench models loader
  • Conversion for Blockbench models to Minecraft JSON models
  • 23w06a: Blockbench model animations to functions (using item display entities)
  • 23w06a: Blockbench models to Minecraft JSON models with item display entities
    • With this, you can spawn Blockbench models with XYZ rotations, quaternions or matrix transformations

Support for Java Edition 1.19.3

Java Edition 1.19.3 has just been released. There are some changes to packs:

  • Resource pack version is now 12.
  • Introduction of feature flags.
  • Backward compatibility for resource packs with version 3 and 4 has been removed.
  • Some textures loading changes.
    • Introduction of atlases/. Mainly for improving textures loading performance.

There are more technical changes, which can be found here.

There are some tasks that need to be done to support 1.19.3:

  • Feature flags on index files (multipacks.index.json).
  • Atlas files generation.
  • Perhaps we should remove pre-flattening pack versions? (version 3 and 4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.