promotional bannermobile promotional banner

The Idiot's Lantern

A mod to add The Wire from Doctor Who, working TVs, broadcasts and more!
Back to Files

IdiotsLantern-1.12.2-2.1.0.jar

File nameIdiotsLantern-1.12.2-2.1.0.jar
Uploader
MetebelisMetebelis
Uploaded
Oct 6, 2026
Downloads
30
Size
9.1 MB
Mod Loaders
Forge
File ID
9080451
Type
R
Release
Supported game versions
  • 1.12.2

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:the-idiots-lantern-mod-1719227:9080451")

Learn more about Curse Maven

What's new

2.1.0 "Obsidian"

New

  • The Obsidian Foundation (foundation/, tile/foundation/, block/foundation/). WireSignature.of(storySeed, strain) gives each world's Wire a carrier (41.000-67.999 Mc/s), phase, one of six waveforms and eight speech fragments. ResearchData (WorldSavedData idiotslantern_foundation) keeps spectral, phase, waveform, behaviour and linguistic points, milestones, a 40-entry findings log and the strain; Research.add applies researchRate and announces milestones within 48 blocks.
  • Containment Tank (two blocks; EMPTY / CONTAINED / BREACHED): redstone-held field, integrity and agitation per sample, earthing and Faraday steadying, lightning surges, comparator output from both halves, breach behaviour like a Wire TV (hunting, spreading), load from a Wire tape or handheld set, trap to a blank tape.
  • Instruments on the tank's coax: Oscilloscope, Spectrum Receiver, Chart Recorder (paper, chart strips; no paper, no research), Speech Decoder (needs a faceless subject on an Observation Bed within decoderRange).
  • Experiment Console with OBSERVE, TEST TONES, PROGRAMMES, STARVATION and DISCHARGE (redstone rising edge fires it).
  • Feeding Lock (FEED / SAMPLE; a coax lab device, so any number of locks anywhere on the tank's coax, not only beside it, up to the coax walk's 2048-cable limit; the drain is drawn from the remote lock), Restraint Straps (leading, delivering; owner check on tamed animals), Observation Bed. Villager feeding triggers Distrust: refusals, shying away and village reputation loss.
  • Containment Alarm: redstone output on BREACH, LOW INTEGRITY, SURGE, EXPERIMENT RUNNING, WIRE CONTAINED or ANY ALARM. It never powers an adjacent tank.
  • Jamming Transmitter (after the jamming pattern): Wire TVs within jammerRadius can't feed, spread or turn Magpie sets.
  • Inversion Carrier Generator: dials for five digits, phase and waveform; key and FIRE; the transmitter carries the "inversion" programme for inversionTicks; Inversion.resolve cleanses within range (x1.5 with all speech) or, if wrong, feeds The Wire wrongCarrierHunger and possesses the mast. No survivors means a new strain.
  • Detector Van entity: two seats, client-driven like a boat, VanHud dashboard (map, DF compass, meter, sets, lamps), bearings (B), clear (G), survey map print (N, costs paper), horn (H); range and accuracy grow with carrier digits. WireSites registry of Wire TVs, possessed masts, tanks.
  • Crowds: villagers gather round working sets for big broadcasts (street.crowdProgrammes), with reactions and village goodwill (the open_house advancement).
  • Ruined laboratories (world/RuinedLab, weight 50, ruinRarity 900): crumbling masonry, five decorative ruin blocks, a chest of burnt pages (8 lore pages).
  • Handbook chapters The Foundation, The Inversion, The Detector Van; diagrams "laboratory" and "triangulation".
  • 11 advancements, JEI info pages, 5 sounds, new textures and models, config categories foundation and street.

Changed

  • Faceless creatures are never targeted by The Wire; the faceless refresh always runs.
  • Drainer.tick has an overload with a custom finish; CoaxNet lists lab devices and inverters.
  • build.gradle compiles with options.encoding = 'UTF-8' so Windows builds read the sources correctly.

Fixed during review

  • A breached tank could never see a victim (its own glass blocked the sight line).
  • The inversion carrier could stay on the air forever if the generator's chunk unloaded mid-fire; two generators could fire through one transmitter; the generator could force-load the transmitter's chunk.
  • Instruments cabled to the tank's upper half were not found.
  • Offhand Wire sets were missed by the survivors check, which could start a new strain while The Wire lived on.
  • Straps now work on villagers, horses and pets with a plain right-click, and won't teleport a subject into a wall.
  • A Feeding Lock takes one subject at a time; ruined lab entrance stairs face the right way.

2.0.2

  • Control panel polish. Network Control Node: feed buttons read OFF / AUTO / STATION / STUDIO / CONT. / TAPE with tooltips, so nothing is clipped; "TAKE FEED"; site labels on the map no longer sit on their markers; proper plurals ("1 TRANSMITTER", "2 DISHES"); ISOLATED added to the map legend; LINKS columns and the ISOLATE button re-spaced. Panel meters draw their label clear of the needle pivot. Name and caption fields on the node and desk show the start of their text instead of the end.
  • The complete illustrated manual (PDF) accompanies this release.

2.0.1

  • The Engineer's Handbook, rebuilt as an illustrated book (client/gui/GuiHandbook, HandbookLayout, HandbookDiagrams, HandbookRecipes; content in item/Handbook): 142 pages in twelve chapters, contents page, chapter tabs, ribbon, cross-links, keyboard and wheel navigation, automatic pagination, eight diagrams, example cards, and live crafting grids (shaped and shapeless, ore-dictionary slots cycle, tooltips on hover). Falls back to the old vanilla book with plain-text pages if anything goes wrong.

2.0.0 "Alexandra Palace"

New

  • Lantern Productions. StoryGen builds whole episodes, deterministically, from (serial, world story seed, part): recurring casts, 24 sets with variations, beats, dialogue from a genre phrasebook, shot plans, mood music, recaps, cliffhangers, credits. Stories run 3-6 parts through set-up, complication, twist, darkest hour, climax and resolution, then a new story starts. Serials: The Fog Street Mysteries, Journey Beyond the Moon, The King's Highway, Number Nine Paradise Row, Shadows at Midnight, Operation Nightingale, The Set in the Window; plus Lantern Playhouse one-off plays. New serial slots on Lantern One, Lantern Two, Picture Palace and Nightlight. Script books ("SERIAL: ...") make home-made serials. Interlude films (five), caption slides, the network-join ident. Tapes of generated programmes store the episode and play from the start.
  • Control panels. A small server-authoritative GUI framework (panel/, client/gui/GuiPanel): snapshots twice a second, validated actions, rate limits, reach checks.
  • Transmitter Control Desk. STATUS / CONTROL / PROGRAMME / LOG. Transmitters gain desk on/off air, power 10-150 %, valve temperature with water/ice/snow cooling, overheat and lightning trips, RESET, VSWR, ERP, a 24-entry fault log, station names and ten programme sources (AUTO, STUDIO, CONTINUITY, SLOT, RELAY, LINK, SERIAL, TESTCARD, INTERLUDE, CAPTION).
  • Microwave Link Dish and Network Control Node. Dish pairing within ±12° and 384 blocks, link margin from distance, terrain (remembered across unloaded country), rain and thunder fade. Node: MAP, STATIONS (telemetry and remote control), FEED (offers, NETWORK JOIN / OPT OUT), LINKS (ISOLATE), TALKBACK; chunk loading; persisted registries. Feed loops are impossible (link-sourced content is never re-offered).
  • The Wire. Hunger stages (Lurking, Hungry, Ravenous, Ascendant) with faster drain and infection, stage whispers and taunts; Wire hops down microwave links (Faraday Cage at the receiving dish blocks it); the Coronation seizure of the greatest transmitter (1.5× reach, channels 1 and 2 hijacked, released at the end of the day); Mr Magpie's Cut-price Televisions; lightning surges on transmitters and masts; advancements "Only Five Pounds!", "Never Trust a Bargain", "It's Hungry", "Long Live the Queen!".
  • Engineer's Handbook: ten new pages.

Known limits

  • Compile-checked against API stubs with 34 unit tests and fuzzing of the programme generator (about 1.9 million frames); not yet run inside Minecraft. Test in a dev world before publishing.
  • Villagers already at level 2 or above in older worlds won't offer the Magpie television.

1.6.0

The stable release: everything from 1.5.2 and the experimental 1.5.3, reviewed file by file, with the bugs fixed, the half-finished parts finished and the slow parts made faster. Compile-checked; test in a dev world before publishing.

Fixed

  • Continuity Desk ate items: clicking a full desk took the tape or book out of your hand and threw it away. It now checks for room first, and creative mode no longer uses up the item (same for the Caption Generator).
  • Wire storm XP farm: cleansing paid 30 XP every time, but cleansing only moves The Wire, so a portable set or a tape loop paid out all night. Only a set the storm itself infected pays, and only once (stormBorn, saved).
  • Wire storms: with doWeatherCycle off the forced thunder never stopped; now the weather is left alone. The storm's start, announcement and dawn advancement are saved per day, so a restart can't repeat them, and the announcement no longer goes missing when it was already thundering.
  • Victims in another dimension: the shared victim search could hand out a player who had just left through a portal.
  • Tile sync: deltas went to everyone within a radius, so a player who walked into range could get a delta built on state they never had (a TV showing The Wire's sparks with the wrong picture). Syncs now go only to players watching the chunk, the first full copy after chunk data resets the base, and a delta without a base is ignored. The client also no longer runs readFromNBT on update tags, which wiped fields such as the transmitter's channel.
  • Possessed transmitters are now synced to clients (the signal meter's map shows them).
  • Transmitter comparator reads The Wire's hold on the tile itself, so a powered (off-air) possessed transmitter still reads 15 and a comparator feedback loop no longer oscillates.
  • Coax Router: cables no longer draw an arm toward a face that isn't joined; the selection box matches the model.
  • Continuity Desk hitbox turns with the desk and covers its raised top.
  • Studio cameras: with interlacing on, MIX and WIPE transitions and captions were drawn onto the half-updated picture (ghost captions, double-mixed lines, combs after a wipe). Each feed now keeps its own traced picture and composites transitions and captions on top every frame. Transitions reuse the outgoing camera's last frame instead of re-tracing it.
  • Studio Clock captions chosen on the vision mixer are now shown.
  • Lantern Text: the Coronation countdown was a day out, ignored coronationEvery and counted down when it was off; tabs overlapped; the channel number covered the clock.
  • Text off the screen in the auction, detective, evensong, nursery, model railway, election, results, crime, poetry and show-jumping programmes.
  • Player channels' title cards show the station name instead of an empty top third.
  • Monitor walls: a ragged wall gave its blocks different sizes, so the shared picture was deleted and rebuilt several times a frame and the slices didn't line up. A wall is now one picture over its bounding rectangle.
  • Handbook: the redstone page ran past the bottom of the book; it is now two pages (recipes start on page 17).
  • Negative world time (set by other mods) could crash the schedule; days and weekdays now use floor maths.
  • Channel number flash: loading a chunk no longer flashes the channel number on every television in it.
  • Threading: server shutdown no longer clears the client's signal cache from the server thread; the Portable TV's in-use list is no longer touched from the client thread.

Faster

  • Idle televisions re-tune on a phase taken from their position, so they no longer all wake in the same 40 ticks of every 400 (a lag spike every 20 seconds). A transmitter going on or off air nudges the sets tuned to it.
  • Signal ray-trace cache: a block change only discards cached paths whose box it falls in (ring of the last 256 changes per dimension), instead of every path in the dimension. Multi-block placements (doors, beds) count fully.
  • Coax network cache: only the networks next to a changed cable or device are dropped, and unrelated block changes no longer clear it. Cosmetic state changes (TV screen, analyser level, transmitter lamp) no longer notify neighbours.
  • Earthing Rods and Faraday Cages are kept in a saved per-world list. Worlds from 1.5.3 are scanned once per chunk, only through sections that hold blocks.
  • Shared victim search: the first set in a cell searches alone; a shared pool is only built when a second set asks, and only over the heights they need. Old pools are dropped and cleared when a world unloads.
  • Network Monitors update comparators only when the value changes.
  • Coax Switches on a fast redstone clock refresh their line at most every 10 ticks (the last state always applies).
  • Studio camera tracer: no allocation per ray, one entity list per frame filtered to what is near the lens.
  • Monitor walls: pictures are uploaded to the graphics card only when a screen actually draws them; cameras watched only by a monitor wall are traced at most every 8 ticks.
  • Content hashes and scrolling captions no longer copy tags or allocate canvases every frame.
  • Village TV kits skip villages that don't reach the chunk being populated.

Changed

  • A ragged monitor wall's settings live on its bottom-left block; walls made in 1.5.x may need setting again.
  • JEI builds (-PwithJei) use maven.blamejared.com, where JEI moved.

Known limits

  • Not run in Minecraft here: compile-checked against API stubs, unit tests and the radio-physics checks pass.
  • update.json still needs a real homepage and hosting before the update checker is switched on (see BUILDING.md).

1.5.3 (experimental)

Built from 1.5.2 by adding the improvements listed below. Nothing here has been compiled or run in Minecraft yet: the build environment had no Forge. Treat it as a first pass to compile, then test in a dev world.

Fixed

  • Signal obstruction cache: keys could collide, ignored the dimension, and kept its timestamp in a float. It is now keyed by dimension + both end points, stores a long, and is discarded when a block is placed, broken or exploded.
  • Server broadcast state is cleared when the server stops (an integrated server no longer carries it into the next world).
  • A Portable Television's in-use entry is dropped when its player logs out.

Faster

  • Televisions with no player within performance.idleRange (96) re-tune every performance.idleRefreshTicks (400) instead of every 40, and skip their victim search.
  • A tile sync identical to the last one sent is no longer re-sent (performance.dedupeTileSync).
  • Television re-tunes were already staggered (each set starts at a random tick), so no extra stagger was added.

New

  • Earthing Rod, Faraday Cage (blocks, models, textures, recipes).
  • Wire storms: every 11th night, never on Coronation Day. Forces thunder at dusk, ravenous Wire, XP for cleansing.
  • Comparator output on the Broadcast Transmitter (15 while The Wire has it) and the Network Monitor (15 while The Wire is on the air in the dimension; polled once a second).
  • Dalek immunity (integration.daleksImmune, matched by entity id).
  • 15 advancements (assets/idiotslantern/advancements/lantern), two granted from code.
  • Engineer's Handbook item: an in-game manual with every recipe.
  • de_de, fr_fr, es_es translations (block/item names, advancements, storm message; everything else falls back to English).
  • update.json template for the update checker; JUnit tests (gradlew test -PrunTests).

Changed behaviour to be aware of

  • Daleks are now ignored by The Wire by default (turn off with integration.daleksImmune=false).
  • Schedule.isRavenous (Coronation Day or a storm) now drives the transmitter's infection budget, the Portable TV's hunger and WireLogic.appetite; programme tables still use isCoronationDay only.

Added in the second pass

  • Coax Router block: two of six faces joined, click to re-patch (see README). CoaxNet walks through it face to face.
  • Shared coax scans: a scan from a set now reuses the cable-network part of recent scans (performance.coaxCacheTicks, default 10 ticks), discarded whenever a cable, switch, router or neighbouring block changes.
  • Shared victim search: hungry sets, Wire TVs and transmitters in one 32-block cell share one entity search per 10 ticks (performance.sharedVictimScan). Searches too big to share fall back to the old behaviour.
  • Delta tile syncs: only changed fields are sent, merged on the client, with a full copy at least every 100 ticks (performance.deltaTileSync). Identical syncs are still skipped, but a full copy is re-sent every 100 ticks so players who walk into range are brought up to date (the first 1.5.3 build skipped these indefinitely).
  • Network Monitor ticker: a station with a Continuity Desk adds a "CH n NEXT hh:mm: title" line. Continuity Desks already took player-chosen titles (tape titles, book titles, anvil names) and produced title cards and NEXT captions, so no separate listing book was needed.
  • JEI: gradlew build -PwithJei compiles com.idiotslantern.jei.LanternJei, which adds an info page to 20 blocks and items. Recipes already appear in JEI without it, since they are ordinary JSON recipes.

Still not done

  • Licence: that is your choice. Name one and I'll add it.
  • Moving the build to RetroFuturaGradle: I can't test a Gradle setup offline, and a wrong template is worse than none. Your current ForgeGradle 5 setup is untouched.
  • A cable beside a router still draws an arm toward it even when the router's joined faces point elsewhere. This is cosmetic: the signal logic is right.
  • Not compiled or run. Everything above, including the cache invalidation and delta sync, needs a dev-world test.

This mod has no additional files