MagicTorches
Wireless Redstone Torches
MagicTorches gives you a way to make wireless redstone torch connections. Each MagicTorch array has one transmitter and any number of receivers. When the transmitter changes its state (to on or off), that change is transmitted to all of the receiver torches.
Receiver Torch Types
Type | Description |
---|---|
Direct | matches the transmitter at all times |
Inverse | opposite of the transmitter at all times |
Toggle | changes state, and ignores all other transmits for a period of time. Can be used to make a torch that changes state when a button is pushed down, but doesn't change back when the button is released. |
Timer | changes state, waits some period of time (ignoring all other transmitted signals), then changes back. |
Delay | waits a period of time before processing the signal. It acts as if there are any number of repeaters between the transmitter and receiver. |
Tutorial Video
This is from the last version, but it shows you quickly how to set things up. Commands have changed slightly, and there are more options now.
German Tutorial (thanks Rogge88):
Commands
/mt create <name> [direct|inverse|toggle|delay|timer] - Creates a MagicTorch array. Receiver torches selected will be direct (default), inverse, toggle (was called delay in last version), delay, or timer.
/mt edit <name> - Edit an existing torch array.
/mt cancel - Cancels a torch creation or edit.
/mt finish - Finishes the creation or edit of a MagicTorch array, and names it <name>.
/mt direct - Sets the next receiver torches selected to be direct receivers.
/mt inverse - Sets the next receiver torches selected to be inverse receivers.
/mt toggle [time] - Sets the next receiver torches selected to be toggle receivers, with the time specified. Default time is specified in config.yml.
/mt delay [time] - Sets the next receiver torches selected to be delay receivers, with the time specified. Default time is specified in config.yml.
/mt timer [time] - Sets the next receiver torches selected to be timer receivers, with the time specified. Default time is specified in config.yml.
/mt delete <name> - Delete the named torch array.
/mt list [name] [page] - paged list torch arrays that you own, or admins can specify a player's name to list their arrays.
/mt info <name> - Shows info for the named torch array.
/mt price - Shows the current price of the array you're editing or creating. Requires economy (vault).
/mt rate - Shows the rates for creating and editing torches. Requires economy (vault).
/mt enable - Admin: Reenables all loaded MT Torch arrays, after they have been disabled.
/mt disable - Admin: Disables all loaded MT Torch arrays.
/mt reload - Admin: Reloads MagicTorches from the database.
/mt prune - Removes any non-loaded MagicTorch arrays from the database.
Permissions
Permission | Description |
---|---|
magictorches.access | basic access to the command. Needed for anyone who will create/edit torches. |
magictorches.create.direct | allows a user to create an array with direct receivers. |
magictorches.create.inverse | allows a user to create an array with inverse receivers. |
magictorches.create.toggle | allows a user to create an array with toggle receivers. |
magictorches.create.delay | allows a user to create an array with delay receivers. |
magictorches.create.timer | allows a user to create an array with timer receivers. |
magictorches.admin | allows a user to see, edit, list and delete all MagicTorch arrays. Also allows user to reload the MT db. |
magictorches.* | Gives all permissions |
magictorches.use | Gives all permissions, except for magictorches.admin |
Default config.yml
The default config.yml can be found here.
Basic Instructions
To begin the creation a MagicTorch array (i.e., a wireless transmitter torch connected to a variety of receiver torches), simply type /mt create <name>. Left clicking on a redstone torch will designate that torch as a wireless transmitter. Right clicking on a redstone torch will add/remove it from the receiver array.
Each receiver torch is assigned a type: direct, inverse, toggle, timer or delay. You can specify the type when you create the torches by typing /mt create [direct|inverse|toggle|delay|timer], or by typing /mt direct, /mt inverse, /mt toggle [time], /mt timer [time], or /mt delay [time] while creating the MagicTorch array. You can have multiple receivers of different types. Types only apply to those receivers selected after you specify the type.
When you've selected all of your torches, type /mt finish to finish creating the array, or /mt cancel to cancel the array creation. It is now active and the transmitter torch will transmit any power changes it receives to every receiver torch in its array.
Editing is similar. To edit, type /mt edit <name>. When reassigning torch types, you must first remove the receiver from the array, and then add it back again with the new type/settings. E.g., to change a direct receiver to an inverse, you would right click to remove the torch from the array, then type /mt inverse, then right click to add the torch back in to the array.
Discussion
Please see the forum for discussion on this plugin.
I have not tested it with any CB beyond 1337. Feel free to try it.
I'm assuming this works with 1.0.0? :D
I could do that, however, if the user started to set up an MT and got distracted, then they would find that they could not place any blocks, and perhaps not know why. I'd rather leave it as is.
Would there be a way to implement this in a config file so the user himself can say if he wants it on or off?
If not not, im just trying to give you an idea :)
Okay, i understand, I think. When you're selecting receivers (which you do with a right click), make sure you have either an empty hand or something else instead of a torch. The right click still tries to place blocks, which I didn't want to disable, in case you want to place the redstone transmitters and receivers before selecting them.
@sorklin
You answered the idea/question about the transmitter. Because you say your self that you can only do 1 transmitter per array.
And the other thing is a problem that i am having. It is when i want to make a reciever where there is room for more then 1 torch to put down. It automaticly puts down a second torch that i dont want there. (this only happens when there is room on the floor or there are blocks around the spot where the torch)
(im sorry if im not clear enough, it happens because English isnt my main langues)
I'm not sure what your question is, but you can have two transmitters use the same receiver torch. It does require two arrays, since for logistics, there can be only one transmitter per array. But there is nothing keeping you from creating two arrays (2 transmitters) sending to the same receiver.
I'm not really sure what your question is. Can you rephrase?
Hi there,
I have 1 question and 1 idea.
I am having the problem when i want to right click an torch that he adds a extra redstone tourch when it has the room to put 1 down. (this is in creative mode) I hope you can add an extra option in where there are 2 (or more) transmitters and just 1 reciever (and this in 1 MT array).
I hope you consider my idea, if not i will have to look for an other way. Thx for your time and keep the good work up :) (like the addon because it makes messy stuff look better :) )
There are a lot of improvements coming, I promise. I've been part of a team getting a very large server launched and I've been focused on those tasks. But we're launching soon, so i'll be able to get back to this plugin. On the todo list:
The plugin is great ! But can you do something to improve it ? Add for admins a sort of "/mt list <PlayerName>" to list a specific player's arrays.
Great job again for the plugin !
Does that happen if you disable spout? I have the same version running on a large server with no problems, so I'm wondering if its an interaction with spout?
Using RB1337, Spout 510 and latest version of MagicTorches:
2011-11-12 03:18:08 [SEVERE] Could not pass event PLAYER_INTERACT to MagicTorches java.lang.NullPointerException at sorklin.magictorches.internals.TorchArray.add(TorchArray.java:44) at sorklin.magictorches.internals.MTorch.setReceiver(MTorch.java:467) at sorklin.magictorches.internals.MTorch.setReceiver(MTorch.java:453) at sorklin.magictorches.listeners.MTPlayerListener.onPlayerInteract(MTPlayerListener.java:53) at org.bukkit.plugin.java.JavaPluginLoader$11.execute(JavaPluginLoader.java:330) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339) at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:171) at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:265) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:592) at net.minecraft.server.Packet15Place.a(SourceFile:57) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92) at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:501) at net.minecraft.server.NetworkListenThread.a(SourceFile:108) at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374) at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
Wow...this is fantastic! Exactly what I've been looking for. I'm going to give it a shot later tonight. Just awesome, thanks mate!
Why? I'm not sure why you want signs to do it. This works fine.
Could you mske this possible with signs? Like wirelles redstone did?