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

    Hafnium

    No, I won't be adding a cool down, but you could probably rig one up with redstone.
     
  3. Offline

    but2002

    Every now and then signs just stop working, and have to be recreated (Just noticed the slimeball trick, will use from now own)

    Do you know what could be causing it?

    EDIT:
    It seems that if some event changes (Like the time of day) and you enter an unloaded chunk the sign doesn't update.

    Example: It's daytime, and a :CTIME sensor is configured to be on at night-time. You leave the chunk at day, and it gets unloaded. You come back at night, and when it gets reloaded, the :CTIME sensor doesn't re-fire until it becomes day, and then night again.
     
  4. Offline

    Hafnium

    The :ctime bug is easily fixed. I have no clue, however, why the signs are unloading. I'm looking into it.
     
  5. Offline

    but2002

    Easily fixed as in plugin needs a patch, or easily fixed as in I'm doing something wrong?
     
  6. Offline

    furekusu

    Hey Hafnium, amazing Plugin!

    I really like to hear that you are working on a scripting language. So I have a "few" ideas regarding this. It's ok if you hate me for that.

    Show Spoiler

    • Variables and stack system (obviously)
    • Trigonometric functions
    • Hardly limited inputs and outputs
    • Call ICs dynamically (both variables and static arguments): set + cuboid, proximity + twire (with the possibility to search for certain players + wildcards), disp
    • Call existing :script-ICs: pass arguments as inputs and recieve outputs on the stack.
    • Read from / write to signs! (signs that belong to a :sign block) + functions to deal with text
    • Get the ID of block :)get?)
    • Manage /trigger arguments, e.g. /trigger settext Hello!
    This is how I'd imagined such an IC:

    script.png
    Script length, inputs and outputs are only limited by space. The main sign contains the band for global variables (just like :send), a name for calls and a trigger command (both optional).

    And this is how you'd call other scripts and standard ICs:
    Code:
    ::cuboid x y z 0 2 0 7::
    ::write SignName 1 "This"::
    ::write SignName 2 "is"::
    ::write SignName 3 "PailStone"::
    
    Would turn PailStone in the best plugin ever, thank you!
     
  7. Offline

    Planitia

    I though it was broked, then I discovered my fail. Perhaps a mention that sign posts don't work?

    EDIT: I also had a problem with :ctime unloading. but it was unusual. I have 2 rows of 25 each with a space in between. When I left and came back The middle third of each row wasn't working. The signs span across 3 chunks but only the middle one died.
     
  8. Offline

    but2002

    Idea. There's another plugin that proved you can dymanically load and unload chunks at your will

    Make the plugin detect when a :SEND IC has been toggled, then detect all related :RECV ICs. If the chunk is unloaded, load it, THEN toggle the output (So it happens regardless if a player is there) then unload the chunk (If not in use by players[If the related dirtblock and/or lever are on the border of the chunk make sure that chunk gets loaded too])
     
  9. Offline

    Planitia

    Yeah all of my :set and :ctime signs stop working. They work at first then a few go the a few different ones then they all work now nothing, It works if I replace the signs but it's 100 odd signs which is annoying to place.

    I'm not sure what information to provide other then that the chunks were unloaded for some time.
     
  10. Offline

    but2002

    If you right click a sign with a slime ball, it forces PailStone to reload it (If it's already loaded, it spits out debugging information instead).

    No need to remake the signs. :)
     
    Planitia likes this.
  11. Offline

    Planitia

    You freaking rule :D
     
  12. Offline

    Markkanen

    Hey, your homepage seems to be down. Could you post an alternate download url?

    Thx in advance!
     
  13. Offline

    Hafnium

    Not entirely sure how far ahead my current version is. :p I'll look into it this weekend.
     
  14. Great Plugin,
    but there is one feature I would like to see.
    The set and cuboid command basicly allow every User (Yes I know that I could remove their permission), to
    spawn infinite Amount of Diamond Blocks. It would be great if it would be possible to set
    allowed Blocks in the config File. Also there is a Question. Is there any way to spawn a Wood Slab?
    Sadly, I guess not. Would be great for making Bridges though. Maybe think about that as well.

    Keep the great work up.
     
  15. Offline

    but2002

    So, what did you think of my idea posted above? :D
     
  16. Offline

    Hafnium

    No, I'm not forcing chunks to load. Maybe I can make a "load chunk" IC, but other than that, no.
     
  17. Offline

    Planitia

    That would help alot.


    Also some of my signs died, died. Even sliming them isn't reviving them
     
  18. Offline

    TankFox

    Would you be able to email me PailStone.jar ? I'd happily host a download link here until eonz.net is back online

    It's working now! Awesome!
     
  19. Offline

    Blobinet

    Amazing plugin :) Could it be possible to spawn multiple mobs with 1 :spawn sign ?
     
  20. Offline

    but2002

    Do you think you could come up with some other solution then? A wireless transmitter a significant distance has no way to toggle one a futher distance away. Perhaps, store the state of the :SEND IC in a file, so when a :RECV IC gets loaded, it will change to match that state?
     
  21. Offline

    Hafnium

    I've been banging my head against the unloading signs for hours, but I can't figure it out. >_>

    If someone more experienced in bukkit wants to help out, I'm open to suggestions. :p

    If all else fails, I'm going to go back to adding features and rewrite the bukkit interfacing parts later.

    Coming up next on PailStone:
    • Data values for :cuboid
    • Spawning more than one mob should be simple, will look awkward, but I can give the option.
    • I COULD make a chunk loading IC, the functionality exists.
    I'm really opposed to storing more data to file than I already am.
     
  22. Offline

    but2002

    Well, wireless 'channels' over large distances are useless if they don't work because of unloaded chunks. Regardless of how it's stored, it should be remedied.
     
  23. Offline

    Hafnium

    The intent was never to make wireless channels over long distances. There are very few applications for that. The intent was to be able to provide current to hard to reach places, like the top of towers, without making a giant redstone ladder. I'm 90% sure the signs are unloading because of some bug in the chunks anyway, and I'd prefer not to worsen the situation.
     
  24. Offline

    Hafnium

    Uh, oops. Found the bug. Unfortunately, its very deeply woven with the entire plugin. Crappy thing about OOP is if you need to change something major very deep in the hierarchy, the amount of time it takes to fix everything is exponential. I've opted for a total rewrite with some engine changes that needed to happen anyway. What this means, unfortunately, is that all signs in your worlds now will break in PailStone 3. I'll see about making right clicking signs reload them.

    Anyway, update within 7 days, I hope.
     
  25. Offline

    but2002

    Couldn't you create a simple plugin that you drop in the plugin folder, converts the signs, deletes itself, and then unloads itself? (Not sure if that's possible)

    I also like the idea of checking a sign when you right click it, and if it has to re-create, say so in chat, otherwise display nothing. If the item is a SlimeBall, print debug info anyways
     
  26. Well, i am not into bukkit/Minecraft API, but is there a way to find/iterate all or at least near signs?
    If so you could just deliver a Chatcommand like "/pailstone reload" to go through all those signs and
    reparse them. I guess that would be a lot easier on the Clientside than to dig out every Sign and do it
    manually. Any hope we'll see a cuboid "Allowed Blocks" in the next config? :D

    Dont mean to push you. Take your time.
     
  27. Offline

    TankFox

    I'll live with a world of broken signs if it means PS will be nice and stable, I use it on mine because I love it enough to deal with resetting the signs all the time, but when it's really solid I'm going to pimp it out to the owner of my favorite public server. He's already implemented a number of mods at my request, and he'd likely implement this one too if I could convince him that it'll be stable!

    I'll use it regardless, stable or not.
     
  28. Offline

    ronix

    Do you plan to include metadata for blocks in the :set and :cubiod commands, too? This would make it possible to create colored wool via pailstone for example. Would love to see this :)
     
  29. Offline

    Sam19293

    Hey the :send and :recv isnt working for me, im typing it into the signs correctly but the signal doesnt get sent. Im using the same channel and band but the signal just doesnt get to the recieve sign where my TNT is wired up. what do i do?
     
  30. Offline

    Hafnium

    I've decided that I don't really have time to work around the constant breakages in bukkit atm. When bukkit's API settles down, I'll bring this back to life.
     
  31. Offline

    but2002

    Oh no you have got to be kidding. This plugin was possibly my favorite.
     

Share This Page