From f6c74ce98e96c541cf7d05ee3c25000ff8a23879 Mon Sep 17 00:00:00 2001 From: Kellen Hurrey Date: Sun, 7 Sep 2025 19:16:42 -0600 Subject: [PATCH] Add radio method --- .../network/TileEntityRadioTorchBase.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchBase.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchBase.java index 921ddd245..4f21df3a0 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchBase.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchBase.java @@ -17,6 +17,8 @@ import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; +import java.util.Map; + @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public class TileEntityRadioTorchBase extends TileEntityLoadedBase implements IControlReceiver, SimpleComponent, CompatHandler.OCComponent { @@ -137,4 +139,18 @@ public class TileEntityRadioTorchBase extends TileEntityLoadedBase implements IC customMap = args.checkBoolean(0); return new Object[] {}; } + + @Callback(direct = true, limit = 4, doc = "setCustomMapValues(value: table) -- Sets the custom signal mapping values with a table with indices corresponding to the redstone value (1-16)") + @Optional.Method(modid = "OpenComputers") + public Object[] setCustomMapValues(Context context, Arguments args){ + Map values = args.checkTable(0); + + for (int i = 1; i <= 16; i++){ + if (values.containsKey(i) && values.get(i) instanceof String){ + this.mapping[i - 1] = (String) values.get(i); + } + } + + return new Object[] {}; + } }