Sensors
[UPDATE!!!] After a year of Sensors inactive state, I give to you the Sensors 2.0.0 (released at 07 September 2013)
Description:
Sensors is a bukkit plugin, that supports creating and managing 3 types of sensors:
- line – like a laser beam, it detects entities that will go through it
- area – detects entities in a cylinder shaped area
- object – gets the state of the assigned object (like chest, pressure plate, button, lever, etc.) and informs the owner about the manipulation (like using it, clicking on it or destroying it)
Each sensor can be controlled by a specially created (with a command) sign, which displays a scrollable menu. More about it in the “How to use” section. Every sensor can react in 3 ways: a) only inform the owner about the detection b) send the redstone signal through the neighbor levers c) both For example. Player A created a line sensor in a cave passage and goes to get some food. Meanwhile, the player B sees the cave and wants to check it out. Enters is, the sensor detects his presence and reacts (in one of the chosen ways). If player A, set the inform only option, there will appear a message on a chat. If he chose the redstone signal reaction, the prepared mechanism, connected to the sensor, can be triggered and get rid of the unwanted guest
Link to the most recent version: https://dl.dropboxusercontent.com/u/94569866/Sensors.jar
Current version: 2.0.0
Commands:
Most of the commands starts with the “sen”. For example, the senmenu command means sensor menu. The ‘|’ char, separates the command alternatives - choose the most comfortable form to you :) By default, available for everybody:
- /newsensor <name>| /snew <name> - creates a new sensor with the specified name
- /mysensors | /smy | /senmy – displays the list of your sensors
- /senname | /sname – displays clicked sensor name
- /senmenu | /smenu – creating a sensor-management menu
- /seninfo <name> | /sinfo <name> – show the ingame window, that provides the information about the sensor
- /senstatus | /sstatus – show all your sensors state in a semi-transparent frame on the screen
- /senhide | /shide – hiding all the displayed sensors info
By default, for op’s:
- /senregion <name> <command> | /sregion <name> <command> | /senwg<name> <command> - (works ONLY if the WorldGuard is installed). Makes available managing sensors in the specified region (cuboid). <command> options:
- lockall (e.g. /senregion mycub lockall) – locks all the sensors in the region
- unlockall (e.g. /senregion mycub unlockall) – unlocks all the sensors in the region
- activateall (e.g. /senregion mycub activateall) – activates all the sensors in the region
- deactivateall (e.g. /senregion mycub deactivateall) – deactivates all the sensors in the region
- destroyall (e.g. /senregion mycub destroyall) – destroys all the sensors in the region
- /sensors <operation> | sen <operation> | s <operation>- command, which controls plugin state < operation > options:
- save (e.g. /sen save) – saves the current sensors list to a file
- reload (e.g. / sen reload) – erases the current sensors properties and loads a set from a file
- backup (e.g. / sen backup) – saves the current sensors list to a backup file
- destroy_all (e.g. / sen destroy_all) – destroys all the sensors on a server
- lock_all (e.g. / sen lock_all) – lock all the sensors on a server
- unlock_all (e.g. / sen unlock_all) – unlock all the sensors on a server
- activate_all (e.g. / sen activate_all) – activates all the sensors on a server
- deactivate_all (e.g. / sen deactivate_all) – deactivates all the sensors on a server
- /senmanage <name> <command> <val> | /senman <name> <command> <val> | /sman<name> <command> <val>- change the properties of the sensor <command> options:
- removeall (e.g. /sman sensor1 removeall ) – clears the permitted players list in the specified sensor
- activate (e.g. /sman sensor1 activate ) – activates the sensor (it starts detecting)
- deactivate (e.g. /sman sensor1 deactivate ) – deactivates the sensor (it stops detecting)
- lock (e.g. /sman sensor1 lock ) – locks the sensor
- unlock (e.g. /sman sensor1 unlock ) – unlocks the sensor
- destroy (e.g. /sman sensor1 destroy ) – destroys the sensor
- maxrange (e.g. /sman sensor1 maxrange 12 ) – sets the maximum detection range (0 – auto)
- maxheight (e.g. /sman sensor1 maxheight 5 ) – sets the maximum detection height (0 – auto)
- addplayer (e.g. /sman sensor1 addplayer Notch ) – adds a player to the permitted list
- removeplayer (e.g. /sman sensor1 removeplayer badGuy ) – removes a player to the permitted list
Permissions:
Line sensor:
- sensor.line.* - Gives access to all line sensor permissions
- sensor.line.manage - create an interactive menu to manage the sensor
- sensor.line.destroy - destroy a line sensor
Area sensor:
- sensor.area.* - Gives access to all area sensor permissions
- sensor.area.manage - create an interactive menu to manage the sensor
- sensor.area.destroy - destroy a area sensor
Object sensor:
- sensor.object.* - Gives access to all object sensor permissions
- sensor.object.manage - create an interactive menu to manage the sensor
- sensor.object.destroy - destroy a object sensor
Miscellaneous:
- sensor.create - creating sensors
- sensor.destroy_sb_else - destroy sensor that doesnt remain to us
- sensor.control_sb_else_sensor - manage somebodys else sensor by command
- sensor.ninja – A SPECIAL NODE - if a player has this permission, it won't trigger any sensors
WorldGuard:
- commands.wg.locking - locking all sensors in the specified region
- commands.wg.activating - activate all sensors in the specified region
- commands.wg.destroy - destroy all sensors in the specified region
Locking:
- sensor.locking.* - Gives access all the locking abilities
- commands.locking.lock_all - description: locking all sensors on the server
- commands.locking.unlock_all - unlocking all sensors on the server
- commands.locking.lock_sensor:
- commands.locking.unlock_sensor:
Activating:
- sensor.activating.* - Gives access all the activation abilities
- commands.activating.activate_all - activate all sensors on the server
- commands.activating.deactivate_all - deactivate all sensors on the server
- commands.activating.activate_sensor:
- commands.activating.deactivate_sensor:
Destroying:
- sensor.destroying.* - description: Gives access all the destroy abilities
- commands.destroying.destroy_sensor - destroying chosen sensor
- commands.destroying.destroy_all - destroys all the sensors
Global sensor managing:
- commands.add_player - add players to the sensors permitted list
- commands.remove_player - remove players from the sensors permitted list
- commands.remove_all - clears the permitted list
- commands.trigger - triggers the sensor
- commands.save - saving current sensors set
- commands.reload - reload current sensor set
- commands.manage_any - manage any chosen sensor
- commands.check_sensor_name - checking sensor name by clicking on it
- commands.change_max_range - changing the sensor max range
- commands.change_max_height - changing the sensor max height detecting
Bukkit page:
https://forums.bukkit.org/threads/misc-sensors-v2-00-creating-and-managing-sensors-1-6-2.89042
New feature added - the IgnoreList. Thanks to it, you can set and manipulate (add or remove) the list of players, that won't be detected by the specified sensor.
fungreenfox - problem fixed. Download the latest version from https://dl.dropbox.com/u/94569866/Sensors.jar
The plugin did respond on placed sensors for me. I have no explanation of how to place it.
Is it a sign on a block, and what line has to be used, and is it typed with [these] brackets?
The plugin is not in english so i don't understand half of it.
Hexaredron - problem fixed. Download the fixed version:
https://dl.dropbox.com/u/94569866/Sensors.jar
plugin works only partially and lists this error
thanks PS: own latest version on linux ubuntu 12.04 openjdk 7
thx:)
thesquirrel77 - fixed :) download the latest version from the dropbox link
It works. Very nice plugin:) And thanks for help! But I have a new problem. If I want to create a lightsensor there appears a message: An internal error occured while attempting to perform this command. The other sensors are working. Maybe you know a solution for the problem?!
I've uploaded the 1.13 version (download through a dropbox link in description above)
twisted420mc - the problem should be fixed now. If not, delete the Sensors folder.
Cyfer69696 - check the latest version (1.13) and if the problem still exists, PM me and tell about the details
nkomosim - the problem should be fixed now
IMPORTANT:
I've changed a bit the system of worldname saving, so if you didn't use Sensors plugin a lot, delete the Sensors folder.
If you have some important sensors already:
- open the "sensors.txt" and "sensors_react_signs.txt" and add to every line:
;<yourworldname>
if there is
sensor1;688;4;-860;s;Nez;1;Fire;l;inform
from now it should be e.g.
sensor1;688;4;-860;s;Nez;1;Fire;l;inform;world
If you won't do this, your sensors and react signs will be lost!
@nkomosim
Oh my, please use pastebin :S
So much spam.
2012-08-14 20:56:18 [SEVERE] Could not pass event BlockRedstoneEvent to Sensors org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.BlockRedstoneWire.a(BlockRedstoneWire.java:116) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:46) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:415) at net.minecraft.server.BlockPressurePlate.l(BlockPressurePlate.java:136) at net.minecraft.server.BlockPressurePlate.a(BlockPressurePlate.java:73) at net.minecraft.server.Entity.D(Entity.java:695) at net.minecraft.server.Entity.move(Entity.java:647) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:376) at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:70) at net.minecraft.server.Packet10Flying.handle(SourceFile:136) at net.minecraft.server.NetworkManager.b(NetworkManager.java:281) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:583) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.NullPointerException at nez.sensors.PlayerListener.RedstoneZmiana(PlayerListener.java:37) at sun.reflect.GeneratedMethodAccessor102.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330) ... 44 more 2012-08-14 20:56:18 [SEVERE] Could not pass event BlockRedstoneEvent to Sensors org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.BlockRedstoneWire.a(BlockRedstoneWire.java:116) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:46) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:417) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:415) at net.minecraft.server.BlockPressurePlate.l(BlockPressurePlate.java:136) at net.minecraft.server.BlockPressurePlate.a(BlockPressurePlate.java:73) at net.minecraft.server.Entity.D(Entity.java:695) at net.minecraft.server.Entity.move(Entity.java:647) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:376) at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:70) at net.minecraft.server.Packet10Flying.handle(SourceFile:136) at net.minecraft.server.NetworkManager.b(NetworkManager.java:281) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:583) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.NullPointerException at nez.sensors.PlayerListener.RedstoneZmiana(PlayerListener.java:37) at sun.reflect.GeneratedMethodAccessor102.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330) ... 48 more 2012-08-14 20:56:18 [SEVERE] Could not pass event BlockRedstoneEvent to Sensors org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.BlockRedstoneWire.a(BlockRedstoneWire.java:116) at net.minecraft.server.BlockRedstoneWire.a(BlockRedstoneWire.java:162) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:46) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:417) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:414) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.java:294) at net.minecraft.server.World.m(World.java:438) at net.minecraft.server.World.applyPhysics(World.java:415) at net.minecraft.server.BlockPressurePlate.l(BlockPressurePlate.java:136) at net.minecraft.server.BlockPressurePlate.a(BlockPressurePlate.java:73) at net.minecraft.server.Entity.D(Entity.java:695) at net.minecraft.server.Entity.move(Entity.java:647) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:376) at net.minecraft.serverhook.NetServerHandlerProxy.a(NetServerHandlerProxy.java:70) at net.minecraft.server.Packet10Flying.handle(SourceFile:136) at net.minecraft.server.NetworkManager.b(NetworkManager.java:281) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:109) at net.minecraft.server.ServerConnection.b(SourceFile:35) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:583) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.NullPointerException at nez.sensors.PlayerListener.RedstoneZmiana(PlayerListener.java:37) at sun.reflect.GeneratedMethodAccessor102.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:330) ... 49 more
Error with latest update.
Hello, would you mind helping me ? I'm getting this weird message 10:10 PM [SEVERE] Could not pass event BlockPlaceEvent to Sensors is there anything to do in order to solve it? Thx, Cheers, Cyfer
@xa19
this worked for me. thank you, but now how to change it from polish language? i put english in the config.yml and reloaded the sensor plugin but it still does all the stuff in polish.
Edit: i got it to switch to english, but the sensors reload command does not reload the plugin and if done via console it crashes the server.
Time: 8/14/12 9:54 PM Description: Exception in server tick loop
org.bukkit.command.CommandException: Unhandled exception executing command 'sensors' in plugin Sensors v1.12 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:492) at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.java:488) at net.minecraft.server.DedicatedServer.ah(DedicatedServer.java:248) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:213) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:476) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.command.ColouredConsoleSender cannot be cast to org.bukkit.entity.Player at nez.sensors.Sensors.onCommand(Sensors.java:256) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40) ... 8 more
to thesquirrel77:
It depends on a method, in which the redstone is connected. My algorithm is simple: when a redstone sign is going to send a signal, it checks if there is a redstone in every four directions (N,S,E,W) near the sign. If yes, the redstone is activated, so e.g. for now on, the neighboring signs (react sign and the wireless redstone sign), won't work. You'll need to eventually do something like this:
[react sign]-------[wireless sign] [wireless sign]---------continuation of a signal
If you have something else in mind, feel free to send a private message to me.
Could it be that this plugin is incompatible with wireless redstone (http://forums.bukkit.org/threads/mech-fun-wireless-redstone-1-6b-get-rid-of-those-wires-bukkitdev-1-2-5-r1.66887/) ?
twisted420mc - the cause of the problem, is that my plugin is set to java v7, and your server is running java v6. I will convert my plugin to java v6, so this problem won't appear anymore.
Edit: I have taken care of this problem. Try the latest version: https://dl.dropbox.com/u/94569866/Sensors.jar and post a comment here, if the problem disappeared.
sensors.jar unable to load unsupported major.min or version 51.0 ive tried both version 1.1 an 1.11 gets the same error for both.
Sounds like a more advanced tripwire.