Comments (3)
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.
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.
Also, since this is too minecraft specific, if a need arises, ask in the api.
from fabric-loader.
Related Issues (20)
- I have an issue with mods, and I can't find what mod is causing the crash. HOT 3
- cant load up minecraft 1.20.4 even with no mods, remapping issue? HOT 1
- [Question] How can I specify mods loading order HOT 6
- My fabric server crashes with the error: "java.lang.NoSuchFieldError: Class net.minecraft.class_1799 does not have member field 'java.text.NumberFormat FORMAT'"
- Just created a new 1.20.4 instance and cannot boot. Any solutions? HOT 2
- /Mods subfolder support for Fabric Server use HOT 1
- Item disappears when drop it in inventory HOT 4
- [Question] A Minecraft Mod Loader using Remote Class Loading System
- Order in which jar resources are read is inconsistent with unmodified jar HOT 1
- Failure to delete temporary remapping file for any nested JAR in development environment HOT 4
- blocks acting as lucky block but no mod HOT 2
- Black screen I PojavLauncher HOT 1
- how to download the releases? HOT 3
- Add global cache directory API
- Add an option to make different dependencies based on the environment
- Arm Problems - Raspberry Pi 5 HOT 8
- Vanilla RP shaders cannot load in newest fabric version
- tried to make a modpack btu it keeps crashing can anyone help HOT 1
- "jar in jar" is not being loaded correctly HOT 3
- I'm having a crash issues with 1.21 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fabric-loader.