Giter Site home page Giter Site logo

Comments (3)

Frontrider avatar Frontrider commented on August 16, 2024

Only personal opinion.

Purely client-side config categories (as we discussed in other places)

  • keybinding: minecraft has a system for it
  • model variants: resource packs are designed for it. If you want to give the player a "low res mode" for performance, make a resource pack (if the model is in code, than you might not want to keep it in code if this is what you want to do with it). That might also allow people to tweak it and probably do better than you did.
  • generic client-side configuration (not keys, not rendering):-> personally, I'd make them come from a folder/resource packs. The latter is good for quick and easy distribution (eg: I could pack up my GUI configs, and then give it to someone else) and saving (I don't need to reconfigure it every time I get my hands on it). Some vanilla players already do something like that, by coloring different slots, marking how they use it.
    If it's in resource packs than the server can sync it to the client if optionally required by said server.

Shared configuration:

  • for a general case, data packs sound like the sanest option. They already sync by default and are intended to store all the settings for content.
  • having things like power usage in a data pack could also enrich said mod, by having easy to use additional, configs that can be mixed and matched.
  • enabled/disabled content-> this is an interesting part. Generally, the way how people did this was to turn off the recipe or something to keep the integrity of the world, which is already supported by data packs.
    If it's a modular mod than making separate modules as separate mods might be more appropriate. (having an "all in" version can be produced during the build process. jar in a jar, or just pack all of the classes/assets together)

Purely server-side config:
I don't know how often we have anything like this, probably just generic config file, needs no syncing.

from fabric-loader.

liach avatar liach commented on August 16, 2024

vanilla idea is that if a config shouldn't be modified by the client (e.g. datapack stuff), they have dedicated packets for synchronization instead so that client always query from the server. for other contents, mechanisms like registry sync suffices.

from fabric-loader.

liach avatar liach commented on August 16, 2024

Also, since this is too minecraft specific, if a need arises, ask in the api.

from fabric-loader.

Related Issues (20)

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.