From 03833a47f96c9a44a045bbcf1b42963a6633853f Mon Sep 17 00:00:00 2001 From: vincent <125838532+dogo8me@users.noreply.github.com> Date: Tue, 14 Jan 2025 15:31:11 -0500 Subject: [PATCH] Create RF_transmitter_receiver.js --- mods/RF_transmitter_receiver.js | 62 +++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 mods/RF_transmitter_receiver.js diff --git a/mods/RF_transmitter_receiver.js b/mods/RF_transmitter_receiver.js new file mode 100644 index 00000000..7dac97bd --- /dev/null +++ b/mods/RF_transmitter_receiver.js @@ -0,0 +1,62 @@ +// made by dogo8me2 lololol +let channelVar = "0"; + +// RF Transmitter Element +elements.rf_transmitter = { + color: "#142c47", + category: "Machines", + behavior: behaviors.WALL, + tempHigh: 250, + stateHigh: "dirt", + hoverStat: function(pixel) { + return pixel.channel || "unset"; + }, + onSelect: function() { + let ans1 = prompt("Set the transmitter channel (numbers only):", channelVar || 0); + channelVar = ans1; + }, + tick: function(pixel) { + if (!pixel.channel) { + pixel.channel = channelVar; + } + for (let i in currentPixels) { + let otherPixel = currentPixels[i]; + if (otherPixel.element == "rf_receiver" && otherPixel.channel == pixel.channel) { + for (let j = 0; j < adjacentCoords.length; j++) { + let coord = adjacentCoords[j]; + let x = otherPixel.x + coord[0]; + let y = otherPixel.y + coord[1]; + if (!isEmpty(x, y, true)) { + let neighborPixel = pixelMap[x][y]; + if (elements[neighborPixel.element].conduct) { + neighborPixel.charge = pixel.charge; + } + } + } + } + } + doDefaults(pixel); + }, + conduct: 1 +}; + +// RF Receiver Element +elements.rf_receiver = { + color: "#142c47", + category: "Machines", + behaviors: behaviors.WALL, + tempHigh: 250, + stateHigh: "dirt", + hoverStat: function(pixel) { + return pixel.channel || "unset"; + }, + onSelect: function() { + let ans1 = prompt("Set the receiver channel (numbers only):", channelVar || 0); + channelVar = ans1; + }, + tick: function(pixel) { + if (!pixel.channel) { + pixel.channel = channelVar; + } + } +};