mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-02-22 14:00:09 +00:00

We now convert uncode characters from "char" and "paste" events to CC's charset[^1], rather than just leaving them unconverted. This means you can paste in special characters like "♠" or "🮙" and they will be converted correctly. Characters outside that range will be replaced with "?", as before. It would be nice to make this a bi-directional mapping, and do this for Lua methods too (e.g. os.setComputerLabel). However, that has much wider ramifications (and more likelyhood of breaking something), so avoiding that for now. - Remove the generic "queue event" client->server message, and replace it with separate char/terminate/paste messages. This allows us to delete a chunk of code (all the NBT<->Object conversion), and makes server-side validation of events possible. - Fix os.setComputerLabel accepting the section sign — this is treated as special by Minecraft's formatting code. Sorry, no fun allowed. - Convert paste/char codepoints to CC's charset. Sadly MC's char hook splits the codepoint into surrogate pairs, which we *don't* attempt to reconstruct, so you can't currently use unicode input for block characters — you can paste them though! [^1]: I'm referring this to the "terminal charset" within the code. I've flip-flopped between "CraftOS", "terminal", "ComputerCraft", but feel especially great.