promotional bannermobile promotional banner

Lingua Peripherals

CC:Tweaked addon for TTS, displays, and audio playback
Back to Files

linguaperipherals-1.20.1-forge-2.0.1.jar

File namelinguaperipherals-1.20.1-forge-2.0.1.jar
Uploader
Dr_AsmDr_Asm
Uploaded
Aug 1, 2026
Downloads
27
Size
188.3 KB
Mod Loaders
Forge
File ID
8557257
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:lingua-peripherals-1590157:8557257")

Learn more about Curse Maven

What's new

Lingua Peripherals v2.0.1

CC: Tweaked addon — language-related peripherals, DFPWM tape audio, and Unicode-safe text I/O.

  • Minecraft: 1.21.1 (NeoForge 21.1.228) · 1.20.1 (Forge 47.4.22)
  • CC: Tweaked: 1.119.0+ (1.21.1) · 1.120.0 (1.20.1)
  • License: CC BY-NC-SA 4.0

✨ What's new in v2.0.x

Full Unicode support (v2.0.0)

Fixes CC:Tweaked's lossy byte↔string conversion at both boundaries:

  • LinguaUtility.fixLuaString(String) — reverses Cobalt's byte→char mapping and re-decodes UTF-8, recovering non-ASCII text passed from Lua (handles both raw UTF-8 and the legacy \uXXXX workaround).
  • LinguaUtility.toLuaBytes(String) — returns UTF-8 byte[] directly to Lua, bypassing Cobalt's lossy character encoding.
  • All @LuaFunction string parameters now go through fixLuaString; all read methods return raw UTF-8 bytes.
  • Write Lua code with native \u{XXXX} escapes — no double-backslash workaround needed:

```lua local n = peripheral.find("narrator") n.playVoice('\u{4F60}\u{597D}')  -- 你好

  • Read → write round-trip is now lossless (no double escaping).
  • Removed the encodeNonAscii layer from the display peripherals (flap/sign/lectern).
  • Docs updated to v2.0.0 (README / README_CN / all peripheral docs).

Cassette auto-completion at boot (v2.0.1)

  • cassette shell completion is now registered at boot time via rom/autorun/cassette.lua (instead of inside the program body), matching how CC:Tweaked registers completion for its own programs — completion now works on the first cassette <Tab>, no need to run the program first.
  • Completion covers: - subcommands: play / pause / stop / label / volume / write / wget / ? - volume levels 03 - file arguments for write (completion.file)

🗺️ 1.20.1 (Forge) support

Starting with the 2.0.0 line, the mod ships for both loaders:

Version Loader File
1.21.1 NeoForge 21.1.228 linguaperipherals-1.21.1-neoforge-2.0.1.jar
1.20.1 Forge 47.4.22 linguaperipherals-1.20.1-forge-2.0.1.jar

Port highlights:

  • Networking rewritten from NeoForge payloads to Forge SimpleChannel.
  • Access transformers for Channel.pumpBuffers(int) and SoundEngine.executor enable DFPWM audio streaming on Forge (CC 1.120.0 + fg.deobf()).
  • JEI plugin adapted, mods.toml split per loader, recipe/network/peripheral registration updated.

🔧 Fixes in v2.0.x

  • Cassette completion only worked after the program had been run once → registered at boot (v2.0.1).
  • Non-ASCII text garbled / double-escaped across the Lua↔Java boundary → fixLuaString / toLuaBytes (v2.0.0).
  • \uXXXX workaround required double backslashes → native \u{XXXX} supported (v2.0.0).

📦 Blocks & Items

Block Description
Narrator TTS block using the Minecraft Narrator; full Speaker API
Creative Narrator Indestructible, global broadcast, full Speaker API
Cassette Drive Single-slot drive — data R/W, DFPWM audio playback, built-in cassette command
Item Description
Cassette Tape 16 colors, 1 MB storage (data or DFPWM audio)

Display peripherals (place a computer adjacent): Create Flap Display (flap_display), Vanilla Sign (sign_display), Vanilla Lectern (lectern_display).


🔗 Links

This mod has no related projects