Minetest mod: radio transmitters, beacons, and receivers
Go to file
2022-09-03 22:37:04 +03:00
patches Add jumpdrive patch 2019-12-09 17:31:45 +00:00
textures update textures 2019-12-17 17:27:32 +02:00
beacon.lua Textures: set use_texture_alpha at required place 2022-09-03 15:40:33 +02:00
config.lua Separate digiline handling for receiver 2019-12-24 13:25:50 +02:00
craft.lua Fix recipe for basic_materials 2020-10-23 14:58:43 +03:00
digiline.lua Digiline receiver: load new RDS immediately 2019-12-24 14:03:08 +02:00
helpers.lua disable caching because of bug 2019-12-24 00:47:03 +02:00
hud.lua refactor hud colors 2019-12-08 21:43:32 +02:00
init.lua fix data reading 2019-12-24 01:11:10 +02:00
LICENSE.txt README and LICENSE 2019-12-08 20:27:42 +02:00
mod.conf add mod.conf 2019-12-09 03:14:41 +02:00
rds.lua indentation 2020-02-03 20:59:38 +02:00
README.md Separate digiline handling for receiver 2019-12-24 13:25:50 +02:00
receiver_station.lua Textures: set use_texture_alpha at required place 2022-09-03 15:40:33 +02:00
receiver.lua Toggle RDS on shift+click 2019-12-13 13:35:52 +02:00
screenshot.png Add screenshot 2019-12-08 22:52:56 +02:00
transmitter.lua fix method call 2020-02-25 19:01:04 +00:00

Ham Radio

Ham Radio screenshot

This mod brings radio transmitters and receivers to the Minetest world.

Dependencies:

default
basic_materials?
technic?
digilines?

Craft recipes depend of the mods installed.

Transmitter

Craft a transmitter and place it in the world. Right click on transmitter to open configuration dialog, then set frequency and RDS message.

  • Empty frequency turns transmitter off.
  • Transmitter information is displayed as info text when player points at it.
  • RDS message can be multiline. However, it is transmitted line by line.
  • RDS message and frequency can be set via digiline. Also, you can read transmitter configuration via digiline too.

Beacon

Beacon is a simplified transmitter. After placement it automatically tunes on a random unoccupied frequency from predefined range. Beacon frequency range is determined by beacon_frequency setting.

  • Beacon frequency is displayed as info text when player points at it.

Receiver

Handheld receiver is a wielded tool.

  • Left click opens configuration dialog to set frequency. Empty string turns receiver off.
  • Shift + left click toggles reception of RDS messages.

When receiver is tuned to a frequency where at least one transmitter is present, HUD signal meter bar shows signal power. The signal power depends on distance and direction to the transmitter.

If RDS reception is toggled on, the RDS messages from all transmitters on this frequency are enqueued and will be send one by one as a chat messages to the player with 10 seconds interval. When RDS message queue becomes empty, it refills and starts over again.

Stationary Receiver

Right click on receiver opens configuration window to set frequency. Receiver displays RDS messages as infotext in the same way as handheld receiver. It does not have signal power meter.

  • You can operate the receiver via digiline in the same way as the transmitter.

Digiline

-- channel "ham_radio_rds" accepts plain text
digiline.send('ham_radio_rds', 'new RDS message')

-- get transmitter info
digiline.send('ham_radio', { command = 'get' })
-- returns { frequency = 12345, rds_message = 'text' }

-- set frequency
digiline.send('ham_radio', { command = 'set_frequency', value = '12345' })
-- returns { update = 'frequency', success = true/false, message = errorMessage }

-- set RDS message
digiline.send('ham_radio', { command = 'set_rds_message', value = 'new RDS message' })
-- returns { update = 'rds_message', success = true }

-- get receiver info
digiline.send('ham_radio_receiver', { command = 'get' })
-- returns { frequency = 12345, rds_message = 'text' }

-- set receiver frequency
digiline.send('ham_radio_receiver', { command = 'set_frequency', value = '12345' })
-- returns { update = 'frequency', success = true/false, message = errorMessage }

Config

See config.lua to see current parameters. You can edit this file to change them.

Default parameters:

  • Frequency range: 0 - 9999999
  • Locked frequency range: 100000 - 9999999
    • Only one transmitter is allowed for the frequency in this range.
  • Beacon frequency range: 1000000 - 99999999
    • Beacon frequency is auto-assigned from this range.
    • Please note, this range overlaps with locked frequency range to ensure each beacon receives unique frequency.
  • RDS interval: 10 seconds
    • This setting affects handheld receivers only. The interval should be high enough to avoid spamming chat with repeated messages.
    • RDS interval for stationary receiver is 5 seconds and can't be changed.

What's next?

  • Place beacons or transmitters anywhere in the world, give frequency to other players and let them search for them
  • Pick a frequency which all players can use for their announcements to organize radio bulletin board
  • Operate your transmitters with digiline to receive notification on radio
  • ???
  • PROFIT

Author and license

(c) techniX 2019

Source code: MIT

Textures: CC BY-SA 3.0

Sounds: cut from "G32-20-Tuning Radio" by craigsmith, CC 0