1
0
Fork
You've already forked MineTV
0
MineTV is a scripted TV mod for games using the Luanti engine
  • Lua 100%
Find a file
2025年06月10日 21:59:21 -07:00
textures Initial check-in, alpha state/first proof of concept 2025年06月10日 21:59:21 -07:00
tvs Initial check-in, alpha state/first proof of concept 2025年06月10日 21:59:21 -07:00
channel.lua Initial check-in, alpha state/first proof of concept 2025年06月10日 21:59:21 -07:00
init.lua Initial check-in, alpha state/first proof of concept 2025年06月10日 21:59:21 -07:00
LICENSE.txt Initial check-in, alpha state/first proof of concept 2025年06月10日 21:59:21 -07:00
mod.conf Initial check-in, alpha state/first proof of concept 2025年06月10日 21:59:21 -07:00
program.lua Initial check-in, alpha state/first proof of concept 2025年06月10日 21:59:21 -07:00
README.txt Initial check-in, alpha state/first proof of concept 2025年06月10日 21:59:21 -07:00
scheduler.lua Initial check-in, alpha state/first proof of concept 2025年06月10日 21:59:21 -07:00

MTV mod -- It's not just TV, it's MineTV
This mod displays sequences of images and text from connected TV screens.
Place a TV from a supported mod, or use the default one, and right click
to turn it on, and left click to change channels.
Channels play shows according to their broadcast schedule, and repeat
 when they've hit the end of the schedule. Shows can be run in order, or
 in a random sequence until all have been shown.
Supported mods: ----------------------------------------------------------
None yet
Ma and Pop's Furniture mod is required for some of the test channels
Content: -----------------------------------------------------------------
Content for the mtv mod consists of programs and a channel to display them.
A sample channel playing a single program on a basic schedule will be
 provided
Programs -----------------------------------------------------------------
Programs are made from scenes and scripts, and sent to the MTV mod via lua.
A program has a table of scenes and scripts for episodes which are kept in
 a folder, and can be numbered.
myprogram.lua:
MTV.define_show("My Program", {scene table}, "episode_folder/", { options })
--#TODO: check if mod security will prevent reading the folder
-- maybe a loop? for i = .. MTV.add_episode("Show Name", folder_contents[i])
Scenes: -------------------
A scene is a selection of textures, still or animated, defined in lua tables.
 can be show-specific or defined channel-wide. Any scene that's been defined
 should be accessible by name. In the event of a name collision, the
 show-specific version scene will be selected.
Scene table format:
{
 [scene_name] = { tex = <Luanti texture definition>,
 color = <color string>,
 sound = <Luanti SimpleSoundSpec>
 },
 [scene_name] = ..., etc.
}
For example:
{ ["Pepperpot2"] = { tex = { "pepperpot.png^[transform4]" },
 color = "#AAF",
 sound = { name = "bleah.ogg", pitch = 0.5 }
 }
Scripts: ------------------
 A script is text that defines playback time, scenes, and dialogue.
Script format:
[time] [scene]: Dialogue <i>italics</i> <b>bold</b>
or <break>
For example:
[[
 3 Pepperpot1: Well, what did you buy?
 2.4 Pepperpot2: A <i>piston engine!</i>
 ]]
Future plans: ------------------------------------------------------------
Need a system to handle the screen entity's nametag, so it can display the
 channel and also closed captions
Need a remote control object that opens a formspec (off to the side) to
 control power, channel, volume, closed captions toggling. Without it,
 you're stuck with punch to cycle channels and right click to power off.
Need to handle "markup" for <b>old and <i>talics, and maybe overriding
 a scene's color to emphasize words or to show one character on-screen
 while another talks.
Special scenes: can we create multi-layered entity scenes with
 lua-programmable animation? Texture modifiers are pretty powerful
 already, but we could go bigger.
VCR: Play episodes from an item, without commercials/station filler,
 or maybe even record a time slot and play it back complete (copy
 the playback script?) The former's easy, we read the program directly
 Channel [1] will be reserved as a special case to have the screen
 wait for a nearby playback device to connect
TV listings: A book that displays the channel's schedules would be handy
 You'll probably want a clock to go with it