Inactive [MECH] PailStone v4.0 - A redstone extension [2034]

Discussion in 'Inactive/Unsupported Plugins' started by Hafnium, Feb 28, 2011.

  1. Offline

    Hafnium

    Eonz PailStone
    A Redstone Extension


    Version: v4.0 (download)

    Permissions: Any

    Do you like this plugin? Help a poor student out, and toss me a few bucks!
    [​IMG]


    New version control setup coming soon.​

    Features:
    • :logic IC signs to simplify redstone logic gates and save space.
    • :logged IC detect if a player is in the world.
    • :item IC spawns item drops.
    • :ctime IC signs to check the time.
    • :send and :recv transmit signals wirelessly.
    • :sensor senses players withing a certain area.
    • :spawn IC spawns mobs.
    • :cuboid IC changes up to 100 blocks at a time
    • :bolt IC to spawn lightning
    • :disp IC to send you text from anywhere when redstone power is applied!
    • :announce IC to display messages to everyone in an area.
    • :trigger IC to turn on redstone power from anywhere.
    • :cweather IC to sense the weather conditions.
    And MORE! Full List


    Changelog:

    4.0:
    • Major overhaul of all systems.
    • Some significant syntax changes.
    3.8:
    • Added :area
    • Added /ps area
    • Added :arrow
    • Added :teleport
    • Added /ps coord
    3.7
    • Added pulse
    • Permissions Overhaul
    3.6

    • Added :click and :count.
    • Added support for PermissionsEx and Bukkit permissions.
    • Made PermissionsEx the default choice for permissions.
    Old Changelog (open)

    3.5
    • Added :delay, :toggle, :clock, :rand
    3.4
    • Fixed minor errors in text prompts
    • Added :item, :logged
    • Added config file
    • Added sign wipe protection to combat standing bugs in vanilla minecraft (toggleable in config)
    • Added variable cuboid limit, settable in config.
    • (3.4.1) Fixed error when triggering :trigger signs from console.
    3.3
    • Fixed bug with a single input not working when extra inputs were wired.
    • Fixed bug where signs with blank lines would not always load.
    • Optimization.
    3.2
    • Added :cweather
    • Added data values to :cuboid
    • Fixed bug where :send signs fired in rapid succession would not always trigger their :recv signs.
    3.1
    • Added :disp
    • Added :announce
    • Added :trigger (previously :command)
    • Bugfixes (Thanks, Ollieboy)
    3.0
    • Total rewrite. New release.
    2.3
    • Various bug fixes.
    • Signs names, not arguments, are now colored.
    • Updated for 602.
    2.2
    • Fixed major bug in the :cuboid IC regarding build limits. (Thanks to kenohki for pointing it out)
    • Added :twire IC to detect players in cuboid areas.
    2.1
    • Started work on IC scripting language. (Unreleased)
    • :spawn IC
    • :cuboid IC
    2.03
    • Updated to 556 to capitalize on the chunk ghosting glitch fix. The chunk ghosting glitch was causing spontaneous sign unloading.
    • Various bug fixes.
    • Pulled all code onto the main thread to stop concurrency errors.
    2.02
    • Fixed a major bug that caused signs to sometimes spontaneously unload.
    • Fixed proximity's sensor range bug
    • Temporary bugfix for levers not triggering signs. (This is a craftbukkit problem. I put in a hacky solution)
    • Added config file.
    • Added ability to set data values of blocks with :set (fourth line)
    • Updated for CraftBukkit 531
    2.01
    • Removed reference to Block.getRawData()
    • Updated for CraftBukkit 527
    2.0
    • Redid backend entirely.
    • Added : proximity
    • Added :send and :recv
    • Removed (maybe temporarily) : players
    1.8
    • Major bugfix.
    1.7
    • Added :command
    1.6
    • Minor bugfixes to :set.
    • General bug fixes.
    • Added players sign.
    1.5
    • Major bugfix. (Thanks GagaPeter)
    • Added :rand sign.
    • Modified the :disp sign.
    1.4
    • Added support for Permissions 2.5+
    • Added :set
    • A few bug fixes.
    1.3
    • Fixed a bug that broke :ctime signs in some cases.
    • Auto-toggling ICs now fix their output levers if a player flips it.
    1.2
    • Fixed code that still referred to the plugin by its old name.
    • Added support for automatically toggling signs.
    • Added :ctime and :logged
    1.1
    • First Public release.
    • Added :logic and :disp
     
    sinkir and furekusu like this.
  2. Offline

    Sneaky420

    well that is why I was thinking having it as an option, so that servers that could support it would be able handle it, or for when an admin doesnt give the permission to other to make clocks. The only reason that I wanted this to be self powered was to allow me to take the clocksign plugin off my server so it is not running as many. The server is already powering 4 clocksigns 3 on a 5 tick delay and one on a 15, all starting when the server restarts without lag issues.

    I really do understand it, I was just really happy that I could reduce the amount of plugins that I have to update, for not I hooked up a :trigger to restart the one I was testing with, but yea the one tower is rather far away so a :sensor would not be piratical, but a good idea for my dispensary for items cause that is a smaller building. But allowing it to be an option for limited numbers of clocks on a server (that would only run if the chunks are loaded anyways, i think) or maybe a permission node for the "self-powered" variable.


    Thank you again for all the work on the plugin and the new signs :)


    EDIT
    Only reason I need a clock sign is cause the redstone relay clocks freeze up after restarts as well.
     
  3. Offline

    Sneaky420

    Me again... Sry to have so many suggestions, but I really like this plugin and have been using it more :)

    Any chance at getting an alias for :trigger, having to type in /trigger <blah> when testing things and having to type it a lot is... meh, but if there is a chance that would be awesome, maybe make it customizable in the config so things like /tr or something won't conflict with other plugins (maybe)

    Thank you


    EDIT
    My server did its daily restart at 5:30am and when I logged back in, I had to redo the :sensor cords :( I know it did a save before the restart (checked the log) Just reporting it
     
  4. Offline

    Hafnium

    /t is and always has been an alias for /trigger.

    That's not enough information to track down a bug. I need at least your log, and some way to reproduce the error would be ideal.
     
  5. Offline

    TheGurw

    I've noticed that anytime I do a server reboot all the signs are wiped, as if they never existed.

    EDIT: I should have said that the functions are wiped, since the signs and their text remain. They just don't do anything until I break and replace them.
     
  6. Offline

    but2002

    Does the server have permission to write to the database file?
     
  7. Offline

    TheGurw

    Definitely.
     
  8. Offline

    Hafnium

    Are you rebooting safely? Pastebin me the the console output shown when you shut down.
     
  9. Offline

    Sneaky420

    Thank you, I missed where that was

    and for the error, My log reset when it restarts, but I changed that to just restart rather then flip the log, so in the morning I will be able to send it to you if it happens again. (MCMyAdmin is the tool used to schedule the server for restarts and saves)

    Just a thought, but when I make a sign, it is saved at the same time as it is created right? cause the sensor ones I started with were made about an hour before the restart.

    And to comment on the sign wiping, The first :clock i made took out all the signs in the same chunk, at first I thought it was a bug with the new server (just moved) but it happened again after restoring from a back up.
     
  10. Offline

    Hafnium

    Its not saved to flat file each time you make one, no.
     
  11. Offline

    Sneaky420

    Could be why I had to remake the sensor signs after the restart?
     
  12. Offline

    Hafnium

    But it should always save on a safe restart.
     
  13. Offline

    TheGurw

    Ah, that may have been my issue. I had to do a few force-stops due to an attempted DDOS (miserable failure, on their part, but I digress). I think that that was the case, since some of my older signs still worked (confusing as hell, at the time). I'll confirm it later, no news will be good news. Is there anyway to have a scheduled save time, much like Citizens does? Say, every 30 minutes force a save/check of signs?

    One other request: Could there be a hook into WorldEdit for the :cuboid command? Or at least the ability to load a .schematic when the sign is on, and have it not load when it's off (or viceversa). Or even add a :schematic sign specific for this purpose. The reason I ask is we're currently remaking some portions of the Pokemon games, and I was interested in making the Vanishing Isle.
     
  14. Offline

    Sneaky420

    No news on a debugging item? I have been avoiding remaking all the :clock signs for my clock tower :(
     
  15. Offline

    Wahrheit

    @Hafnium CB1000 on initialize

    Code:
    15:05:22 [INFO] [PailStone] Loading PailStone
    15:05:22 [INFO] [PailStone] Copyright (c) 2011 Chris Bode
    15:05:22 [INFO] [PailStone] Author contact: [email protected]
    15:05:22 [INFO] [PailStone] PailStone is licensed under the
    15:05:22 [INFO] [PailStone] RECIPROCAL PUBLIC LICENSE 1.1
    15:05:22 [SEVERE] java.io.IOException: The system cannot find the path specified
    
    15:05:22 [SEVERE]       at java.io.WinNTFileSystem.createFileExclusively(Native
    Method)
    15:05:22 [SEVERE]       at java.io.File.createNewFile(Unknown Source)
    15:05:22 [SEVERE]       at net.eonz.bukkit.psduo.PailConfigFile.load(PailConfigF
    ile.java:33)
    15:05:22 [SEVERE]       at net.eonz.bukkit.psduo.PailStone.onEnable(PailStone.ja
    va:105)
    15:05:22 [SEVERE]       at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlug
    in.java:126)
    15:05:22 [SEVERE]       at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(
    JavaPluginLoader.java:878)
    15:05:22 [SEVERE]       at org.bukkit.plugin.SimplePluginManager.enablePlugin(Si
    mplePluginManager.java:272)
    15:05:22 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftSe
    rver.java:162)
    15:05:22 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.enablePlugins(Craf
    tServer.java:146)
    15:05:22 [SEVERE]       at net.minecraft.server.MinecraftServer.e(MinecraftServe
    r.java:284)
    15:05:22 [SEVERE]       at net.minecraft.server.MinecraftServer.a(MinecraftServe
    r.java:271)
    15:05:22 [SEVERE]       at net.minecraft.server.MinecraftServer.init(MinecraftSe
    rver.java:148)
    15:05:22 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:335)
    15:05:22 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:422)
    15:05:22 [WARNING] [ERROR] Error while creating config file.
    15:05:22 [INFO] [PailStone] wipe-protection is set to 'true'
    15:05:22 [INFO] [PailStone] max-cuboid-area is set to '400'
    15:05:22 [SEVERE] java.io.FileNotFoundException: .\plugins\pail\stone\config.txt
     (The system cannot find the path specified)
    15:05:22 [SEVERE]       at java.io.FileOutputStream.open(Native Method)
    15:05:22 [SEVERE]       at java.io.FileOutputStream.<init>(Unknown Source)
    15:05:22 [SEVERE]       at java.io.FileOutputStream.<init>(Unknown Source)
    15:05:22 [SEVERE]       at net.eonz.bukkit.psduo.PailConfigFile.save(PailConfigF
    ile.java:69)
    15:05:22 [SEVERE]       at net.eonz.bukkit.psduo.PailStone.onEnable(PailStone.ja
    va:112)
    15:05:22 [SEVERE]       at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlug
    in.java:126)
    15:05:22 [SEVERE]       at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(
    JavaPluginLoader.java:878)
    15:05:22 [SEVERE]       at org.bukkit.plugin.SimplePluginManager.enablePlugin(Si
    mplePluginManager.java:272)
    15:05:22 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftSe
    rver.java:162)
    15:05:22 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.enablePlugins(Craf
    tServer.java:146)
    15:05:22 [SEVERE]       at net.minecraft.server.MinecraftServer.e(MinecraftServe
    r.java:284)
    15:05:22 [SEVERE]       at net.minecraft.server.MinecraftServer.a(MinecraftServe
    r.java:271)
    15:05:22 [SEVERE]       at net.minecraft.server.MinecraftServer.init(MinecraftSe
    rver.java:148)
    15:05:22 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftSer
    ver.java:335)
    15:05:22 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(Sour
    ceFile:422)
    15:05:22 [WARNING] [ERROR] Error while updating config file.
    15:05:22 [INFO] [PailStone] No sign data file found.
    15:05:22 [INFO] [PailStone] Finished Loading. (3.5)
    
     
  16. Offline

    Hafnium

  17. Offline

    Atomic Fusion

    My suggestions:
    Add player/group/permission filter for :sensor.
    Add mob/vehicle/item versions of :sensor.
    Add a :wait IC that works like :delay, but it only waits to turn the output on. So if it's set to wait for10 seconds and I quickly toggle it, it'll never turn on, and if I turn it on and wait 11 seconds before turning it off, it'll only be on for one second.
    Add an IC to spawn vehicles.

    Could you add the permissions nodes in the main post so that they're easier to find?

    This plugin is incredibly useful, thank you for making it.
     
  18. Offline

    strontkever

    lol i mustb e dumb, but i cant find permissions on the pailstone site not in the thread
     
  19. Offline

    Hafnium

    permissions nodes have been discussed in this thread. They are all pailstone.<sign name> . I've made them more prominent on the site.
     
  20. Offline

    Sneaky420

    so @Hafnium trying to make a :trigger sign, but is seems it is not working with the newer permissions system, permissions bukkit, so the &<group> is not working, or i am doing it wrong :(
     
  21. Offline

    TheGurw

    This isn't properly compatible with BukkitPerms. Use a bridge plugin if you want to use anything other than Permissions
     
  22. Offline

    Hafnium

    Until Bukkit permissions gets up to par with Nijikokun's API or development stops on the Permissions API, I will not be switching to the Bukkit permissions API.
     
  23. Awesome plugin!
    I have just one small request, feel free to point me in a different direction if there is a better way to do this:

    I'm using some circuits that are (de)activated by button presses, and would like to also be able to use a :trigger sign to activate them remotely. This works, but the sign obviously toggles on/off when triggered so I have to type the trigger twice to make it turn off again like a button press would have. Is it possible to have the sign have a mode where it simply pulses and then turns off again (like a button does)? Maybe add a fourth (optional) line to the :trigger sign to indicate trigger type "TOGGLE" (default) or "PULSE"?

    For the rest, really awesome stuff. I will be using this a lot :)

    Heh, I'm impatient :)
    Here's an edited source file for the trigger sign that will function exactly like I wrote above. Feel free to include in the original - or not.
     
    Last edited by a moderator: May 10, 2016
  24. Offline

    Aza24

    @hafnium I cant seem to get the send and receive to work so it would be good if you could post some top on diagrams like this:

    [​IMG]
     
  25. Offline

    TheGurw

    Here ya go.
    [​IMG]
    Hey @Hafnium if you think it would help I could do this for all the signs. My screen capture software stopped working properly so I can't do the videos like I planned, but Gimp still works :p
     
  26. Offline

    BadDog

    Hello there!

    I'm glad to see that updates for this awesome plugin are back! I had a problem though, severe errors were showing during the first restart of the server after I had installed PailStone. After a clean stop and another restart, no error was showing any longer though.

    I want to be sure that now I don't see any error anymore, it's fine to go and it's not running on a bad basis, since there were errors (say, bad config file created, that sort of things).

    This is what I got in the console when I launched CB for the first time after installing PS:


    Code:
    [INFO] [PailStone] Copyright (c) 2011 Chris Bode
    [INFO] [PailStone] Author contact: [email protected]
    [INFO] [PailStone] PailStone is licensed under the
    [INFO] [PailStone] RECIPROCAL PUBLIC LICENSE 1.1
    [SEVERE] java.io.IOException: No such file or directory
    [SEVERE]      at java.io.UnixFileSystem.createFileExclusively(Native Method)
    [SEVERE]      at java.io.File.createNewFile(File.java:883)
    [SEVERE]      at net.eonz.bukkit.psduo.PailConfigFile.load(PailConfigFile.java:33)
    [SEVERE]      at net.eonz.bukkit.psduo.PailStone.onEnable(PailStone.java:105)
    [SEVERE]      at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
    [SEVERE]      at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:885)
    [SEVERE]      at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:278)
    [SEVERE]      at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:178)
    [SEVERE]      at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:161)
    [SEVERE]      at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:286)
    [SEVERE]      at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:273)
    [SEVERE]      at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:149)
    [SEVERE]      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:337)
    [SEVERE]      at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    [WARNING] [ERROR] Error while creating config file.
    [INFO] [PailStone] wipe-protection is set to 'true'
    [INFO] [PailStone] max-cuboid-area is set to '400'
    [SEVERE] java.io.FileNotFoundException: ./plugins/pail/stone/config.txt (No such file or directory)
    [SEVERE]      at java.io.FileOutputStream.open(Native Method)
    [SEVERE]      at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
    [SEVERE]      at java.io.FileOutputStream.<init>(FileOutputStream.java:145)
    [SEVERE]      at net.eonz.bukkit.psduo.PailConfigFile.save(PailConfigFile.java:69)
    [SEVERE]      at net.eonz.bukkit.psduo.PailStone.onEnable(PailStone.java:112)
    [SEVERE]      at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
    [SEVERE]      at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:885)
    [SEVERE]      at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:278)
    [SEVERE]      at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:178)
    [SEVERE]      at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:161)
    [SEVERE]      at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:286)
    [SEVERE]      at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:273)
    [SEVERE]      at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:149)
    [SEVERE]      at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:337)
    [SEVERE]      at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    [WARNING] [ERROR] Error while updating config file.
    [INFO] [PailStone] Permission system not detected, defaulting to OP
    [INFO] [PailStone] No sign data file found.
    [INFO] [PailStone] Finished Loading. (3.5)
    
    You'll notice that it's the same errors as someone posting a page back in this thread.
    And now that I don't see errors, this is what I get when starting the server:


    Code:
     [INFO] [PailStone] Loading PailStone
     [INFO] [PailStone] Copyright (c) 2011 Chris Bode
     [INFO] [PailStone] Author contact: [email protected]
     [INFO] [PailStone] PailStone is licensed under the
     [INFO] [PailStone] RECIPROCAL PUBLIC LICENSE 1.1
     [INFO] [PailStone] wipe-protection is set to 'true'
     [INFO] [PailStone] max-cuboid-area is set to '400'
     [INFO] [PailStone] Permission system not detected, defaulting to OP
     [INFO] [PailStone] Loaded old signs.
     [INFO] [PailStone] Finished Loading. (3.5)

    Additional info: We run a Debian GNU/Linux server and we were using CB 1000 when the problem was showing.
    Here are the plugins in use back then: WorldGuard, LWC, iConomyChestShop, WorldEdit, MobileAdmin, iConomy, PailStone, CommandBook, MinecartManiaCore, MinecartManiaSignCommands, MinecartManiaStation, MinecartManiaAdminControls, MinecartManiaChestControl, dynmap.

    So, is it ok to run the server like this, or was there something "terribly" wrong and we shouldn't keep on using the plugin this way (but instead do a proper "first launch" without errors)?

    Sorry for the long post, but issues well described are always simpler and quicker to resolve. Thank you for your time and help, we really appreciate it, whether there's an answer or not!
     
  27. Offline

    imjake9

    @BadDog — I got a similar error when starting my server for the first time. However, after that first run, the problem fixed itself. It should be fine.

    @Hafnium — I see the problem (or at least I think I do). In the code, you have this:
    Code:java
    1. try {
    2. cfg.createNewFile();
    3. } catch (IOException e) {
    4. e.printStackTrace();
    5. this.main.e("Error while creating config file.");
    6. }


    However, the directory is often not created. Use this instead:
    Code:java
    1. try {
    2. cfg.getParentFile().mkdirs();
    3. cfg.createNewFile();
    4. } catch (IOException e) {
    5. e.printStackTrace();
    6. this.main.e("Error while creating config file.");
    7. }


    However, that brings up another issue. Why even use pail/stone/ as the config directory? That's just odd, and it goes against the pattern that all other plugins use. It seems to me it'd make more sense to just use plugin.getDataFolder().
     
    BadDog likes this.
  28. Offline

    BadDog

    @imjake9: Thank you, I feel a little more relieved then! By the way, nice formatting for the code, is it when you input java? :cool:


    EDIT:

    I found a strange behaviour, and since in the console it is advised to report it, here I come:

    Placing a :ctime sign on a block, when you also run iConomyChestShop on the same server, gives you a sign that fall from the block and an error message in game: [Shop] You have no chest set up. (that's relative to iConomyChestShop) and an error in the console:
    Code:
    [INFO] [PailStone] SignChangeEvent contains a non-sign block. Please send a list of plugins you are running to chris[removed because of e-mail address shown here]
    Additional info: here are the plugins we run on our server (who knows, might be of interest): WorldGuard, Permissions, LWC, iConomyChestShop, WorldEdit, MobileAdmin, dynmap, iConomy, PailStone, CommandBook, MinecartManiaCore, MinecartManiaSignCommands, MinecartManiaStation, MinecartManiaAdminControls, MinecartManiaChestControl
     
  29. Offline

    Aza24

    Thanks a lot. I didn't use a lever.
     
  30. Offline

    Sneaky420

    K so I am using the bridge for permissions bukkit, i am still using other plugins threw the bridge... but again, the groups are not going threw the bridge then, I make the sign, says it is complete, but even with me being the admin, the trigger will not work. I tried case sensitive for the group name, still nothing, all lowercase, nothing...

    So in short, i do have permissions bukkit, with the bridge, but signs still dont work.
     
  31. Offline

    Hafnium

    When I do my 1.8 updates I'll look into it.

    I'm working on a system for the website that does just this.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 10, 2016

Share This Page