[MECH] RedstoneChips 0.97 - Integrated circuits plugin [1.5.1-R0.2]

Discussion in 'Archived: Plugin Releases' started by eisental, Jan 19, 2011.

  1. Offline

    eisental

    RedstoneChips 0.97 / BasicCircuits 0.97 / SensorLibrary 0.34
    (Last update on April 30th, 2013, cb 1.5.1-R0.2)


    [​IMG]

    Features:
    • Build chips with any number of input and output pins, from compact 2 block chips up to whatever you can imagine.
    • Choose from over 50 different chip types and several 3rd party chip libraries.
    • Most chip types can work with a wide or infinte range of i/o configurations. Sign arguments allow you to customize chip behavior.
    • Chips can communicate through redstone, or directly by touching each other. Some chip types can also communicate over wireless channels.
    • Chips can be built in almost any imaginable structure allowing very compact circuits.
    • Debug and maintain large projects using various tools and commands.
    [​IMG]

    [cake] Help me spend more time working on RedstoneChips. Please donate

    Circuit libraries made by other people:
    Changelog (open)

    RedstoneChips 0.97 (Apr 30th, 2013)
    • Fixed the saving bug on cb 1.5.1.
    • Added an option to disable update checking.
    BasicCircuits 0.96 (Apr 30th, 2013)
    • pixel: Added a maximum distance value preference to prevent lags and server crashes. The max can be changed using/rcprefs pixel.maxDistance x and defaults to 7.
    • sram: Fixed a problem with anonymous memory.
    SensorLibrary 0.34 (Dec 1st, 2012)
    • daytime: Fixed daytime offset bug.



    Full changelogs and source code @ github.com:
    RedstoneChips [gunpowder] BasicCircuits [gunpowder] SensorLibrary
     
    DoomLord, Shamebot, Vecht and 6 others like this.
  2. Offline

    eisental

    Hmmm, there was a similar suggestion before to have it ignore specific players. My response was that it's not very realistic, but I'm starting to think nobody really cares about that stuff [​IMG]. I'm still not sure what's the best way to go. If anybody has more suggestions on this subject I'd be happy to hear them...

    On a different subject: I permanently changed the file names of all plugins (core and libraries) to xxx-beta.jar and changed the links accordingly. These are now permanent links and I'm going to add them to CraftBukkitUpToDate.
     
  3. Your model is extensible right? I might make a mob, player, animal detector.
     
  4. Offline

    eisental

    Yes, I think it's pretty easy to build a new circuit library plugin. A few people are already doing that, although nobody released their creations to the public yet :)
    I made a LibraryTemplate git repository here which you can use as a base.
    I would also probably accept a pull request if you want your circuit to be directly added to one of the existing libraries.
     
  5. The template is helpful but I have no idea what you mean by a pull request.

    I have absolutely no experience with Git. I've worked with SVN in the past but it's very different.
     
  6. Offline

    eisental

    Basically you need to make your own github fork of the repository you want to contribute to (just click on the fork button) then you submit your changes to your fork (github will tell you how) and make the pull request. After you make the request I can test and push your changes to the main repository. This is the way craftbukkit works as well.
     
  7. That's interesting. Thanks for the information.
     
  8. Offline

    Shamebot

    i noticed that when reactivating several circuits it says that they are all reactivated with the same number.
     
  9. Offline

    eisental

    Currently the circuit id is the circuits index on the list. When you reactivate a circuit it's removed from the list and added back as the last one, causing all the ones that were originally after it, to go back 1 place. This means that as long as you don't change the overall number of circuits you'll get the same id on reactivate.
    It's not really a bug but I guess I should change the id system so a circuit will have a fixed id to prevent confusion.
     
  10. I have a question about development. In Circuit.init(CommandSender, String[]) are the arguments provided each line of the sign or are they split up some other way?
     
  11. Offline

    eisental

    1st line is reserved for the circuit name. The args are read by splitting any text on lines 2-4 according to spaces. This is done very naively without checking for parenthesis balancing and such, so x(y z) for ex. will return 2 args - x(y and z).
    I plan to fix that on the next release.
     
  12. Ok. Space delimiter answered my question perfectly, thank you.
     
  13. Offline

    eisental

    Oh yeah, it was on the tip of my tongue [​IMG]
     
  14. Offline

    needspeed10

    I finally finished my clock display, but I didnt use the segdriver.

    Watch it on Youtube for 1080p.
     
  15. Offline

    eisental

    Awesome :D Added it to the videos page.​
    Btw, what happened to the blinking colons ':'?​
     
  16. Offline

    needspeed10

    Oh forgot to activate them :S
     
  17. Offline

    eisental

  18. Awesome, however my name linked wrong. Since there's a space it linked to a user named richard instead. I'm not sure how you'd link me...
     
  19. Offline

    eisental

    Yes, I was just fixing it... I guess the thread link should be enough.
    If you want to write doc pages I can add them to the circuitdocs on the website with a link to your thread.
     
  20. Well everything would basically be a copy of what pirsensor has right now except that the playersensor would have player names on the sign too.
     
  21. Offline

    dev10us

    love the plugin, been using it for a while now. That is all!!!
     
  22. Offline

    Dashkal

    *comes up for air from dragon age* Sweet! Thank you. I love my daylight sensors next to portals. Makes it so much saner to stick my neck out there.
     
  23. Offline

    eisental

    Nice. I was thinking of changing the daytime circuit to read time 0 as 8 o'clock to match other plugins but I guess that would make your circuits a bit more complicated. Any opinions that way or another?
     
  24. I think the raw number would be easier.
     
  25. Offline

    Dashkal

    I do my daytime circuit using tick with one bit output. Since tick 0 is immediately after dawn completes this works perfectly. It won't flag as day until the sun is all the way up, and it'll flag as night the moment it goes dim. If I ask for hours, I'd be surprised if 8am came out as hour zero.
     
  26. Offline

    needspeed10

    I decided to make my plugin downloadable too.
    SpeedCircuit
     
  27. Offline

    eisental

    Thanks :D very nice and seems to work. Added it to the 1st post.

    EDIT: Source code would be nice...
     
  28. I just found out that you can use this to make a link to a username that has a space.

    Richard Robertson
    Code:
    [user]Richard Robertson[/user]
     
  29. Offline

    eisental

    Ok. good to know...
     
  30. Offline

    Mordenkainen

    First off, thank you eisental for this enormously useful plugin!

    I have a few suggestions for you to consider for future releases:
    1. Make the relative position and number of wool blocks changed by the pixel circuit configurable. For example on the sign you could have "topright 3x1x1" which would instruct the pixel sign that it only affects the two wool blocks extending to the left of the interface block, or "center 3x1x2" which instructs it to affect the wool on either side of the interface block and blocks one out on the z-axis. I.E. "center" indicates the position of the interface block relative to the area specified, and the "XxYxZ" (Actually Left x Right x Z) indicates the affected blocks relative to that.

    2. Allow a second "chip" material to be specified, which would allow two chips to be placed right against each other without any confusion if they are of different materials. Of course for a given chip, you must use the same material for the whole chip. this would allow the chips to be packed more densely.

    3. Add a new "I/O" block that can be shared between chips. For one chip it is an output, for the others an input (or some combination). Once again this would allow you to pack the chips more densely. Perhaps a sign on the block could identify which chip it's an output for and which it's an input, or be based on the material the chip is made out of per suggestion #2 above.

    Once again, thanks for this wonderful plugin!

    Morden.
     

Share This Page