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

    imjake9

    Well, currently, the only two commands for the /ps command are msg and listsigns. Use /ps msg <message> to set the message for :disp and :announce signs. You can also use /ps listsigns [player] will list all the signs owned by a certain player.
     
  3. Offline

    Hafnium

  4. Offline

    BadDog

    Ok so it's not something new then, it's the ones used to set the messages prior to creating the signs, I get it. Thanks for your quick answer.

    Can you tell me though if I need to upload the src folder too, or is it just for documentation? :)

    By the way, I'm trying the 2 new IC and I have to say, they are really interesting, thanks for the addition!
     
  5. Offline

    Hafnium

    src is the source code. It is not needed on the server, and now that pailstone uses github, it will not be included in future releases.
     
  6. Offline

    BadDog

    Thanks for your help and keep up the good work! ;)
     
  7. Offline

    Hafnium

    I'm sad to say that I'll be disabling native bukkit permissions support in 3.7. Its API is incompatible with the way I need permissions to work.

    The latest problem is the disconnect between normal action and command based permissions and IC permissions. Bukkit's API doesn't anticipate the need for some instance created by a player to make permission checks when that player is offline. Their "OfflinePlayer" class that deals with similar problems when banning offline players, but it does not give me access to permissions.

    I'm not going to design around the flaws in the bukkit permissions API. Come 3.7, pailstone will support PEX and all derivatives of Nijikokun's original Permissions plugin. On servers without an acceptable permissions solution, PailStone will act as if everyone has pailstone.*

    Once bukkit provides us a way to check permissions of offline players without ugly hacks, PailStone will support it again.
     
  8. Offline

    BadDog

    I understand. As an admin of a server running PermissionsEx, I can say that it works really great, and if someone who came to love this great plugin that is PailStone is wondering which permissions plugin to use, I recommend PermissionsEx which does the job well. So your choice is right by me!
     
  9. Offline

    imjake9

    Your reasoning is valid, but I do question why you actually need access to Permissions when players are not online. Could you elaborate of give an example?
     
  10. Offline

    Hafnium

    I ran into the problem first when implementing the /ps listsigns command which will be available in 3.7. In order to list what signs a player could build, that player had to be logged in.

    Ran into it again while working on some modifications to :cuboid, specifically a pailstone.ignoremaxsize permission. I could store the results of the permission check when the sign is created, but they would continue to work if the permissions level of the owner changed, and I would feel dirty. :p
     
  11. Offline

    BadDog

    Is pailstone.ignoremaxsize related to the limit we are told when trying to make a :cuboid zone too big?
     
  12. Offline

    Hafnium

    Aye, that it is.
     
  13. Offline

    BadDog

    Great, I'm glad that admins can go past it then!
     
  14. Offline

    TheGurw

    As much as I love this plugin, I can no longer deal with the non-updating permissions plugins. I'll have to disable it. At the very least you could have included an OP-only check.
     
  15. Offline

    Hafnium

    The problems forcing m to drop bukkit permissions also break op-only checks.

    I had a flash of inspiration: 3.7 will allow you to specify who can use PailStone as a config key. An internal permissions system of sorts. Removing all names from this key will allow everyone to use it.

    3.7 is out.

    Annnnnd 3.7.1 with a new command! You can finally reload signs now.

    :D

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

    BadDog

    Great! I'm not really sure if I understand what the pulse sign does, though. I'm like a child every time I see you add a new sign feature to this plugin! :)
     
  17. Offline

    Hafnium

    Ollie the sexy Australian will have more tutorial vids soon. Hes actually recording : pulse's as I type.
     
  18. Offline

    joeblow0413

    hey can you please make a video and ill probably download i need to see things first im that type of person
     
  19. Offline

    Hafnium

    Check the top post for a link to the pailstone site. Many signs have tutorial videos.
     
  20. Offline

    BadDog

    And they are short, well done and very informative, don't hesitate! If more are coming then, it's great! (Don't forget to update the title and the OP with the new versions by the way! ;)
     
  21. Offline

    Ollieboy

    Thank you for the kind words!

    There are 5 more videos uploaded to the pailstone youtube channel, and will appear on the official website whenever Hafnium gets around to it.

    http://www.youtube.com/watch?feature=player_detailpage&v=E59puRTRlWA Here is a short video on both :toggle and :pulse. Sorry about the wait! My internet has a very slow upload speed :p All the best.
     
    BadDog likes this.
  22. Offline

    xandor

    Thank you. Btw, this addon is fantastic.

    I found 1 problem. Permission plugin is required to do the sign part (had to install it since I didnt have it yet, intended to install it anyway though). Said I didnt have permission before I installed it, and I have promoted myself to op.
    Installed and did a '*' permission and it worked. This was for :announce sign.
     
  23. Offline

    Hafnium

    If you have no permission plugins, all you have to do is add yourself to 'allow-list' in /plugins/pail/stone/config.txt
     
  24. Offline

    BadDog

    Ho, I'm really glad you changed the behaviour of the :count sign to a non-pulse output! That saves the addition of a :toggle sign after that. And now that I'm aware that :pulse is the opposite of this :toggle sign, I know we can add this :pulse sign to mimic the previous behaviour if need be!

    Thanks for the plugin and thanks Ollieboy for the videos!
    By the way, I think it's a good idea to show even a small example of "real use" in Minecraft, just like you do at the end of your tutorials. It adds a bit of a interest and you've got your way of doing it that makes me smile with these examples (we're dealing about logic gates and pulse outputs and a giving a smile while talking about that is a talent, believe me!) :)
     
  25. Offline

    Ollieboy

    Thanks again! I also have a showcase planned with a few quest things I have made that show Pailstone's true power of what it can do with Minecraft, with multiple IC's acting at once, but I am waiting until I get around to making tutorials for all the videos.

    And also, please, if you have made something awesome with pailstone, put it on youtube or send it to us! We'll show it on the PailStone youtube channel and maybe feature it on the website! That goes for everyone else as well.
     
  26. Offline

    noisebox

    Thanks for the awesome plugin! This has changed the way i develop redstone devices. That said, i just ran into a huge problem with my server. Spent the last 2 days building a train depot with a lot of pailstone signs. Everything worked great UNTIL bukkit crashed hard today, some java failure that spit out an error log and stopped the server. I don't think the crash itself had anything to do with pailstone. When the server was brought back up all existing pailstone signs were not functioning. I could create new signs that worked fine but any sign placed before the crash had to be manually destroyed and recreated. Why did this happen? How do i prevent it from happening again? If it happens months from now when there are hundreds of pailstone signs in my world it would be impossible to recover from such a failure.
     
  27. Offline

    Hafnium

    There is a command, /ps loadsigns <radius>, that will reload all unloaded signs within 'radius' blocks (besides :disp and :announce) as if you had just created them.
     
  28. Offline

    noisebox

    Thank you for the quick response! You've saved me a ton of time.
     
  29. Offline

    BadDog

    I agree, I tried the /ps loadsigns command today and I must say that it's quite a time saver, that was a great idea!

    @Ollieboy
    Ho, if it's the underground rooms we see in some of your videos, with the traps, the crushing pistons and so on, I can't wait to have a more detailed visit of what your mind has imagined!

    No problem for our own videos though, if I get some time soon, I'll try to make a video of our PailStone creations (well, mine since our users are not so interested in "complex" things — that's more of a personal hobby!). If you're interested, here is a list of some of our PailStone related constructions in the spoiler tag:

    Show Spoiler
    We've got a fully functioning auto-resetting clock tower (with in game time displayed by fire on the four faces) based on Big Ben (that you can see on our map), security gates for shops/stadium/"adult shop" all over the city. I'm also in the process of making a nice slot machine with the help of the new :count, but also :send/recv, :item, (and of course :ctime and :logged so as to rig the machine whenever I please, or when I'm notified, with :disp that too many people are winning hehe), shop signs blinking, a reproduction of the Tokyo Dome concert hall which can switch its floor to the usual baseball stadium when choosing which event we want to plan (by punching signs, of course)... Also worth mentioning, a big ass 15 level (60x60x7 for each level) labyrinth with multiple endings if you answered wrong to questions along the way (haa, PailStone...) and of course, multiple difficulty too depending on your choices!
    Well I'll stop there for the moment!


    As you can see if you read the spoiler, we don't build a lot on our server but we're thoroughly building it (and I make things more complex afterwards) :D So yes, this plugin is a real treasure to us! It'll be with great pleasure that I'll try to share ideas with you and the rest of the users, if it can help them imagine PailStone creations! (of course, you, the player who is still reading me, must try the traps first :evil: )

    The only problem is that... even though I like complex things and great plugins, I've not yet tried to make a single video in my life! That will be another adventure! :p
     
  30. Offline

    Nibelton

    after updating to 1317 on stop
    Code:
    2011-10-11 22:04:05 [INFO] [PailStone] Finished unloading. (3.7)
    2011-10-11 22:04:05 [SEVERE] Error occurred (in the plugin loader) while disabling PailStone v3.7 (Is it up to date?): null
    java.lang.NullPointerException
        at java.lang.Class.isAssignableFrom(Native Method)
        at org.bukkit.plugin.java.JavaPluginLoader.removeClass(JavaPluginLoader.java:245)
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:992)
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:296)
        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:289)
        at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:166)
        at net.minecraft.server.MinecraftServer.stop(MinecraftServer.java:325)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:404)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
     
  31. Offline

    Hafnium

    PailStone doesn't perform any operations after "[PailStone] Finished unloading. (3.7)." Errors after that line are in bukkit. The error is in the code bukkit uses to load and maintain plugins. Anything dealing with java.lang.Class is reflection, and that's something PailStone simply doesn't deal with.

    The good news is none of your pailstone data will be lost on that error.

    Edit: If this a serious problem in the new version, I will fix it within 10 hours. Check back soon!
     

Share This Page