[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

    How come? What happens when the duration is larger? It worked for me when I connected it to a counter with 1 sec duration...
     
  3. Offline

    Mordenkainen

    Well, it works, but it's no longer quite sequential because the it doesn't wait the duration before going to the next output. So it works as designed, but with any setting other than 0 duration doesn't do quite what I would expect. I wouldn't expect it to go on to the 2nd output until the first is done.

    EDIT - Replaced all my pulsar/ringcounter combos. Seems to work perfect for that purpose.
     
  4. Offline

    eisental

    Oh you mean until the first one is off again. I'll change it.

    EDIT: Changed it. It's quite nice this way.
     
  5. Offline

    nala3

    @eisental hey how much memory did you say each circuit takes up? i want to do some testing lol
     
  6. Offline

    treve

    NALA, before you do some testing, fix the problem you have first! youre server is not saving anything anymore! the map is going back to a state where the changes are not made. ie: i builded a second 16-segment display, when i joined server today, it was just GONE! really, you need to fix that or i cannot go on, i lost alot hours instead of saving. plz send me backup of full server and let me help looking, or just run my project on singleplayer, because like this, i will never be finished, and it gets me really crazy. the interface etc is done, my message board is as good as ready! all i need to do is copy the segment display and fill my display with it (and rename the signs offcourse) but i want to see my design in action!
    regards
    a very sad treve

    @eisental: any id how much frames i can display in a second? i have only 1 letter running, but i should not have a faster clock then 1000ms or its not displaying the full letter. i have no idea what it will do when i have a screen filled up with letters :D they also should load at the same time, will i have problems with to much data at the same time?

    @mor: can i see youre message board? or have it? (backup from server) i would like to see how you done it, but i cant follow in letters, i will need to play it to get it.
    if i ever see you @ nala's i will give you a full tutorial of mine. i was about to do a 64-
     
  7. Offline

    eisental

    @nala3 It really depends on the chips themselves. I tried to test my own setup with 300+ and got numbers from 4mb to around 15mb. It's very hard to get an accurate estimate. Shouldn't be that much though...
     
  8. Offline

    treve

    join again eisental :p i was afk
     
  9. Offline

    MichaelBurge

    I'm building a minecart station that does automatic switching through a network, and I'm having an issue with transmitters and receivers(specifying when to switch) when chunks are unloaded.

    I have a 1-bit transmitter at the central station with a clock input from the switching buttons that seems to be transmitting a "0" whenever the chunk is unloaded. I tried hooking up a receiver right next to it that's attached to a beacon, so that the chunk stays alive while the user is in transit until he gets to his destination and a reset signal is sent to the beacon.

    Is there a way to stop transmitters from transmitting when they're unloaded, even without a beacon? If not, my beacon sign text is:

    beacon
    null
    2

    where I'm assuming that "radius" is in chunks.
     
  10. Offline

    treve

    little bug in the counter: when you set direction to count up and then you set it to count down and then up again, it goes to wrong adres. what i want is 1 2 3 4 3 4 5 what i get is 1 2 3 4 3 2 5 or so
     
  11. Offline

    eisental

    The fact that the chip get's a redstone change on the transmitter send pin means that the chunk was already loaded. Redstone signals don't work otherwise. Your transmitter might be using more than 1 chunk. Check it out with /rcinfo you can also see if the chunk is loaded or not according to the color and the letter after the chunk coordinates. u means unloaded and L means loaded.

    I didn't quite understand the question about the beacon. Does it work for you that way or not? I'm not sure the beacon will cause the chunk to unload. It will only not try to keep it loaded anymore. It still might need a reason to unload naturally like a player leaving it. Easiest way to solve it of course is to leave the keepalive pin on all the time. If it's only 1 chunk you shouldn't be very worried about it.
     
  12. Offline

    treve

    i made a new control room for my display :) its protected with code on door, 1234 for now thanks to slotinput. and i use a pirsensor to get in the building (get in building before you get in a room)
    the room is divided in blocks (you need to look good to see that lol) the first block is to send the frame you want to store it, the second block is the place to store it, the thirth is the letter to use there, and the fourth block is what color to use. each block has 2 inputs when you look at the display, and 1 in the back to reset the counters. the first is always a button, to go to the next frame / position or color, the second one is to change next into previous and in the back is the reset to go to 0 again. the place/position block has an extra send button in the back, and the reset works as store! Ie: to create a red A on the first position on the first frame/picture, i need to sycle trough the frames unit empty one, then i hit the position button once, and hit send! then i pick the first letter A and then i go to color block, and cycle until red. if that is done, i go back to position block, hit store, and hit send. done
     
  13. Offline

    Badzilla

    I may have missed it somewhere but I'm looking for a way to put text on a sign based on the status of a circuit.
    Example, when the circuit is on, the sign says on and when it's off the sign says off.
    It would be even better if I could choose the text message that would be displayed when on or off.
    Is there a way to do this?
     
  14. Offline

    Shamebot

    You don't mean the print circuit do you?
     
  15. Offline

    eisental

    Could help but you can't really select from a list of text messages (it's on the list...). You need to send it the ascii codes you want to print or print numbers which is easier.
     
  16. Offline

    Badzilla

    Exactly, and I wanted to just have two different messages depending on an on/off signal.

    My though was a name of the sign on the first line and a message in one of the other lines.
    Maybe store in a config file of some sort. Maybe be able to choose what line the message goes on.

    What I am trying to do is set up several things in a control room to remotely detect things at a distance like a cart stops at a point and it would indicate that in the control room. That's just one example, there are others.
     
  17. Offline

    Shamebot

    Could he use a print in scroll mode with a pulsar? The substrings would need to be equal long, so the pulsar could shift the text by ones substrings' length. Wouldn't be a good solution, I'm not sure about (leading) spaces in /rctype too.
    What about multiple prints on one interface block? would be limited to 5.
     
  18. Offline

    eisental

    @Badzilla currently you can have it print 0 or 1 according to its input data pin.

    @Shamebot That could work if the whole string length would be 30. 15 for each line. Not sure about /rctype spaces also... Do you mean having "input" signs that you can select between?
     
  19. Offline

    Badzilla

    I understand but 0 and 1 isn't really all that great. I am looking for something more descripted.
    eisental, I believe I mentioned this either in the main thread or a pm and you said it was a good idea. Then again, maybe I just dreamt it.
     
  20. Offline

    Shamebot

    I meant sharing one interface block between several print circuits, but input sign are actually a pretty nice idea.
     
  21. Offline

    eisental

    That's probably why it's on the list ;)
     
  22. Offline

    Badzilla

    A sign that would display text based on inputs with only one input would be great. Even better with multiple. I don't care if I have to hand modify a config file. I'm fine with that.

    LOL

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

    eisental

    What do you mean by multiple? for having more than 2 options?
     
  24. Offline

    Badzilla

    More than 2 messages. two inputs would give you 4 messages available

    It's just a thought and thought I would just throw the idea out there.

    FYI when you get ready to work on this, PM me and we can bounce ideas around.
    I will be very glad to test it as you work on it.
     
  25. Offline

    treve

    small bug, but some pixels give me error: a lever is missing from one of its outputs, but its a pixel chip :s
     
  26. Offline

    nala3

    @eisental treve said you were on earlier and needed something or..something like that lol sorry i wasnt there i was probably playing portal 2. ohh and i got rid of some plugins and that cleared up some memory :D its was probably big brother taking all the memory to track all the stuff we made ( and then also it rolling back every time i restarted the server ) but in any case we went from using over a gig to around 500Mb (atm)
     
  27. Offline

    treve

    youre sleeping lol, and playing in youre dreams ;)
     
  28. Offline

    Mordenkainen

    A slightly complicated solution would be an SRAM with the text you want in it, attached to a print chip. The state you want to monitor could select the appropriate start address for the message, then clock it out to the print chip. as long as the messages were the same length (they could be padded with spaces) you just clock out x characters. Um, off the top of my head, it would take:

    1 SRAM
    1 Counter
    1 Multiplier
    1 Print
    1 Adder
    1 Pulsar (from speedcircuits)

    Pulsar (set to num characters in message) -> counter (with "max" set to num characters in message) -> Adder
    And
    Input to monitor -> Multiplier (set t0 multiply by num characters in message) -> Adder
    And
    Adder -> SRAM Address, SRAM output -> Print

    Additionally, you would need to detect a change in the input and trigger the Pulsar, also, you need to provide a clock into the Print, but this can come from the Pulsar.

    Lets make some assumptions and examine how it works:
    1 input to monitor
    Message is 8 characters

    Input goes low (0) is multiplied by 8 (0), and selects address 0 on SRAM. Pulsar triggers counter, then print 8 times, outputting the 8 characters in addresses 0-7 to the print.

    Input goes high (1) is multiplied by 8 (8), and selects address 8 on SRAM. Pulsar triggers counter, then print 8 times, outputting the 8 characters in addresses 8-15 to the print.

    It is a lot of circuitry to handle a status message, but it would do what you want and support as many messages as you need.

    Morden.
     
  29. Offline

    eisental

    If you did for some reason connect an output block to the pixel and didn't attach a lever to it, you'll get the message regardless if you need the output or not. If not then it's weird :)
     
  30. Offline

    treve

    the ground was same as the pixel (not sandstone)
    but still small bugs, like sram having 20 outputs, only seeing 10 etc
     
  31. Offline

    nala3

    i gots a nice tasty error message for you :p
    Code:
    12:23:58 [SEVERE] Could not pass event PLAYER_INTERACT to RedstoneChips
    java.lang.ArrayIndexOutOfBoundsException: 0
        at org.tal.sensorlibrary.photocell.inputChange(photocell.java:23)
        at org.tal.redstonechips.circuit.Circuit.runInputLogic(Circuit.java:553)
        at org.tal.redstonechips.circuit.Circuit.initCircuit(Circuit.java:134)
        at org.tal.redstonechips.CircuitManager.activateCircuit(CircuitManager.java:187)
        at org.tal.redstonechips.CircuitManager.checkForCircuit(CircuitManager.java:183)
        at org.tal.redstonechips.RedstoneChips$4.onPlayerInteract(RedstoneChips.java:203)
        at org.bukkit.plugin.java.JavaPluginLoader$9.execute(JavaPluginLoader.java:254)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:257)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:162)
        at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:64)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:433)
        at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:195)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:370)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    
     

Share This Page