-
Notifications
You must be signed in to change notification settings - Fork 9
Description
This is a potential future feature, and probably won't be implemented for at least another long while (don't get your hopes up), but different ideas for a server-side component for Scribble have come up at least a couple of times, so I want to collect them in a single issue here to keep track of them.
Eventually, a server-side component will probably be needed for some features, as Mojang is planning on removing the formatting codes at some point (or that's what they're saying). Though the server-side will always remain optional, it's just for additional features, things such as page management and double-page viewing will always remain fully client sided.
- Book editing on lecterns ([Feature Request] Scribble GUI on Lectern Too #23):
- We'd need either multi-user editing, or lock the book to be edited only by a single person. Otherwise, you could very easily accidentally overwrite what another user is writing.
- What redstone signal should the lectern emit? I like the idea of highlighting the page the cursor is on, maybe the highest page of all players editing? (discussion: [Feature Idea]: Multi User editing (maybe impossible) #91)
- Save books using JSON text components (Replace formatting codes (color codes) by Text component format #85).
- We can use a custom packet if Scribble is detected server-side, and just fall back to what we're doing now.
- This should future proof books written with colors, if Mojang ever were to remove formatting codes.
- If this happens, we can disable formatting options if it's only installed client-side, and display a short notice maybe perhaps. Page management and appearance features should always stay available.
- Maybe add a config option to allow players to use any RGB color, custom fonts, hover/click events, etc.
- Store this data on a custom item component for the writable books. We can still store using formatting codes in the default text field for Vanilla compatibility. This way, you can uninstall Scribble at any time without consequence.
- Intercept normal book packets to convert formatting codes to text components.
- Again, to future proof, shouldn't affect Scribble if we use custom packets, but can be useful if people still manually save books in vanilla / use other book coloring mods.
- This is really simple, a lot easier than custom packets, and would be a really good first step.
- If formatting code support ever is removed and just breaks everything (which I don't expect Mojang to do, they have a track record of keeping existing things working), we can DFU existing books to convert them?
- Quick save? If a player dies or otherwise forcefully gets their GUI closed, currently all their progress is lost. I don't like the solution of saving in those cases, since that would overwrite the current contents, which also isn't great. We could add an extra item component when this happens, and then ask the player if they want to restore it when they come back.
- Just globally disable colored text in books, just as an option for server owners.
- Huge huge maybe: add color options to other things, such as anvils and signs? This can't be done in Vanilla, and I'm not sure if it would fit Scribble (since, yknow, it's a book mod).
(Again, these are just ideas dumped out of my brain into a GitHub issue, there's a good chance most of these will never be implemented, as I don't want to fill Scribble with a million features. A lot of these would also be disabled by default.)