[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

    ArashiDragon

    hmm.. having a diode like chip would be nice. but I guess the games redstone repeater covers that.

    As far as having circuits sharing blocks. I agree.. there should be some limit. But at the same time, some should be allowed.

    Example: I have a beacon, 2 clocks and 1 transmitter all sharing 1 input (the on/off) block.

    I like it this way, because the 2 clocks and the transmitter are the very first part of my circuit. Nothing else should work without these on. The beacon I want to only be on when the clocks are running. Otherwise it should be off.

    The way I have it setup now.. I have 1 switch, if it's on.. those 4 3 circuits are on, if it's off, they are all off.

    So if you do fix it.. please let some of them work this way.

    But common sense says there are some circuits that shouldn't share an input/output without causing some really messed up behavior.

    Right now I'm attaching transmitters to various circuits, like attaching a transmitter to a segdrivers input/clock pin, so that the clock signal can be sent to a second segdriver, which has a receiver (separate, but) next to it.

    EDIT: failure on my part, sure, turning the transmitter on is a good thing, except it needed a pulse, which means it has to come after the primary clock circuit (to get the clocks pulse). Oh well.. fixed and working.

    question, is there a way to mass edit circuit signs? IE: I have 28 pixel signs for a clock, and I want to change argument one from WHITE to Yellow? it's arg 1 on every sign, I just want them all to be the same.

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

    Kit Ramos

    Thanks for trying to help me,

    And okay I think in order to better explain what I want I should explain a little more about the setup.
    I got a sensor hooked up to a transmitter, and a clock that pulses for both once a minute. But the event that it's sensing doesn't happen every pulse or every other pulse or something like that so most of the transmissions are the same data it's got 4 conditions it's sensing for and returns a 0-3 on the transmitter channel depending on the conditions are during the clock chip pulse. But this causes lots of pulses where nothing has changed. I only want to trigger the counter when it has changed. so for example say transmissions 1-5 where all 0 and then the 6th and 7th transmissions where both 1 and the 8th transmission was a 2 I want only 3 pulses to have happened by that point. 0nce at the first transmission, once when it turned from 0 to 1 and the final when the output became 2. All those other times when the number it was transmitting was the same number it transmitted the last time I want to be ignored. So in the example it only pulsed on #1 (as that was the start)
    #6 (as that was the one where the output changed) #8 (as that was the one where the output changed)
    2-5 where the same as #1 so where ignored, and 7 was the same as 6 so was ignored.

    now if say #1 was 0 #2 was 1 and #3 was 0 in that situation I'm okay with it pulsing every transmissions due to none of the transmissions matched the previous transmission.

    Does that make it more clear what I'm looking for?
     
  4. Offline

    Mordenkainen

    I understand your reservations, so here are a few other blocks with directionality and no built-in redstone interaction:
    Furnace
    Jack-O-Lantern
    Stairs
    Torches
    Ladders

    It does indeed.

    I think something like this will work:
    circuit.jpg
    Thick lines are multiple connections.
    You will need a repeater for each bit of Data.
    This circuit will take the incoming data, compare it to the value in the Dregister, and if different, store the value in the Dregister and send a clock pulse.

    The AND at the end may not be needed, It's there to make sure the circuit only runs when new data is recieved, ignoring any transient states, but I'm not sure it's needed in this case.

    EDIT - @Eisental, here is a case where that "input changed" detection chip I mentioned would be useful. It would replace this whole circuit.
     
  5. Offline

    Dezman78

    Very cool plug-in. Was messing with sram ic to make a billboard display. Found out i can use a BCD number as input with /rctype and the output displays the correct picture. Making letters appear in a 3x5 grid with pixel ic is easy. Just need to figure out an effective way to get it to work for the other 15 letters on the sign. Eventually i'll use the terminal as input and the ascii values it sends will be the memory address's for the stored letters in sram. Just can't figure out a way to get this to work without building 15 30+ pin transmitters while getting sram to connect to each one of them. Thought about using a giant sram hooked to a transmitter able to handle every bit in the billboard decoding the letters all at once but can't figure out how. Anyway awesome plug-in. love it.
     
  6. Offline

    Mordenkainen

    Wait for the next version, as the new "display" chip is what you need. It handles matrix's of pixels that are accessed by address.

    I'm currently finishing up a scrolling billboard that sounds similar, but gets around the problem because of the scrolling, since it only needs to write one new column to the display each update. You could use a similar tactic, even without the scroll:
    Clear display
    Write each column to a set of shift registers, then shift, write the next column, and shift, etc, until the shift registers contain the whole message.
    Update display with the shift register data.
    Then you would only need 1 30+ pin transmitter, to feed the data to the shiftregisters.

    Morden.
     
  7. Offline

    Dezman78

    Interesting. i'll have to work with shift registers...need a better understanding then the doc on them. I don't understand how the display ic would be different from sram if it "handles matrix's of pixels that are accessed by address." That is exactly what i'm doing with sram.
     
  8. Offline

    Mordenkainen

    Well, instead of having to send "color red" to 10 different transmitters, you send "color red" to a single chip, and identify the individual pixels you want to be red. I.E. sending everything to one destination rather than a bunch of them.
     
  9. Offline

    Dezman78

    Makes sense more sense now.
     
  10. Offline

    dew

    Would it be possible to get some permissions support so that we can limit who is able to create circuits? Our players love the circuits, but some can make unnecessarily complex circuits that lag the server. I would love to restrict use to certain groups.

    Thanks!
     
  11. Offline

    BigRenegade

    @eisental

    Just an FYI, Redstone Chips is running fine under bukkit RB 798. I've been running it under 798 since the RB release.
     
  12. Offline

    eisental

    Ok. I'll add permissions :) I was waiting for an official bukkit support but none came so I guess I would have to work with the existing system. Please tell me how you or anybody else would want it to work. I never use permissions so I actually have no idea how they work. This was brought up in the past (many pages ago) but I'm too lazy to find it...

    I would like to have also per circuit class permissions so it's possible to only allow harmless chips and leave some sensors and clocks to authorized players.

    @BigRenegade Thanks. I don't think there's much difference between this and the last rb...
     
  13. Offline

    hiro24

    [SEVERE] Could not pass event REDSTONE_CHANGE to RedstoneChips
    java.lang.ArrayIndexOutOfBoundsException

    Anybody have any info on this? I'm using RedstoneChips 0.9 in conjunction with PuzzleQuest 0.1. This only seems to happen on my chip when I do a finish sign, aka turn in the quest. Only kicks when I turn in a quest
     
  14. Offline

    eisental

    Possibly a PuzzleQuest bug. There should be many more lines of information after what you pasted. If you copy them as well I could help.
     
  15. Offline

    mze9412

    I somehow cannot create new cirucits. Old circuits still work but when I try to build a new one it won't do anything. When I look at the sign (with the + on the sign) and type in "/rcactivate" in the chat I just the error message "You need to point at a wall sign." The sign is a wallsign, so no idea what is happening ...

    CB766, RC0.9
     
  16. Offline

    eisental

    Did you try other locations? Usually if this happens it's only in a specific chunk or so. In any case it seems to be a craftbukkit or minecraft bug so I'm not sure how to solve it. It's always good to try the latest RB (798).
     
  17. Offline

    mze9412

    I tried it elsewhere and it worked. I noticed that minecart mania has problems in that chunk, too. THe problem persists with CB794 :(
     
  18. Offline

    PrivateAlpha

    One idea for the permissions nodes would be to make it:

    RedstoneChips.lg.not (logic gates)(not gate)
    RedstoneChips.lg.and (logic gates)(and gate)
    RedstoneChips.rg.flipflop(registers)(flipflop)

    It will allow for admins to assign custom access
     
  19. Offline

    Bottswana

    Just a couple of things,
    Our sever keeps pasting 'server overloaded' whenever your plugin is installed. Not sure about this one since its not lagging
    It seemed to glitch and in the process destroyed all of our RC circuits. I had to run around and hit all the signs again. Since then it has decided that half of the chips that were working fine, no longer work. I get messages like 'Are you trying to make a chip, if that the case its to big' on a 1 output reciever, and 'you need to point at a wall sign'.
    We have huge areas in our map that you cant build RC circuits in. Nothing happens, though I think its a CB problem because Craftbukkit IC's dont work either

    Otherwise its an awesome mod.
     
  20. Offline

    mze9412

    I got it working again. I deleted the redstone.circuits file and then I could create circuits again. Maybe it was corrupt?
     
  21. Offline

    eisental

    @mze9412 It doesn't really make sense because the problem was with making new chips and the file just holds information about existing chips.

    @Bottswana This is the same problem mze9412 was talking about. The problem is that craftbukkit gives wrong block information to plugins. I still have no idea what the cause is though and it's very hard to reproduce this problem. The server overloaded message shouldn't trouble you much. It can happen when a fast clock is running. It just means it couldn't process the game tick in time with the clock. If you can't feel the lag there's nothing to worry about.

    @PrivateAlpha Thanks. Making chip groups seems like a good idea although I'm not sure it should be necessarily grouped that way. Is it not possible to create custom groups in the permission file itself?

    Due to a general lack of free time and MC1.6 coming up, I decided to delay the next version a bit.
     
  22. Offline

    Bottswana

    Well we have huge areas causing this issue.
    You are free to join our server and see thie issue if that is of any help.
    I can also send you the map if you so desired.

    EDIT: Updated to the lasted RB (798), and the block issues seem to have gone.
    All the chips that wouldnt activate are now activating and working.

    Also, just as a not, i types /rcdestroy looking at a circuit, it told me it was disabled, then told me it destroyed it successfully, even though it hadnt :D
     
  23. Offline

    PrivateAlpha

    by doing it that way a admin can either give a player the ability to make only a NOT gate(With RedstoneChips.lg.not), or can give the ability to make all the IC's in the logic gate family(with RedstoneChips.lg.*) or even access to ALL the IC's(RedstoneChips.*)

    Although all the Circuit libraries Will have to do their own permissions(or you will have to create a way for them to pass the permission nodes to the main library)
     
  24. Offline

    eisental

    Yeah, I get it. But why would you want to limit someone to using only logic gates and not registers or pulse chips for example? It's all the same for the server performance-wise.
     
  25. Offline

    mze9412

    @eisental
    No clue why it works again. Maybe I destroyed a circuit by accident with super pickaxe from WorldEdit and that caused problems?
     
  26. Offline

    eisental

    I could try to guess but unfortunately I have no clue...
    If anyone sees this happen with CB798+ please let me know.
     
  27. Offline

    PrivateAlpha

    Imagine a server with different ranks rank one can only use this.that and this.that2. Rank2 can use this.* and that.*

    get the idea? you are just giving the SysAdmin freedom:)
     
  28. Offline

    BigRenegade

    @eisental

    FYI Redstone chips works with bukkit RB 803. Been running it since it was released and no trouble.
     
  29. Offline

    dew

    This is the current permissions plugin

    I still haven't bothered to find out how redstonechips work, it's all wizardry to me. But it would be nice to have permissions for creating, modifying, and removing chips that I can grant at the minimun

    Thanks!
     
  30. Offline

    BigRenegade

    @mze9142

    It is very possible you are right. I have found that if you accidentally destroy a chip with the super pickaxe it does not destroy the chip like it would if you use an ordinary pickaxe. I ran into the same issue you have with a circuit i built.
     
  31. Offline

    mze9412

    Anyone has a clue why my transmitters and receivers are no longer in sync? Any way to fix this?
     

Share This Page