[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

    WinSock

    Thanks for this awesome plugin, I was thinking about doing one myself but it has now been made! definitely going to use this on my server!
     
  3. Offline

    subram

    Nice :D works
     
  4. Offline

    Dreggor

    Very nice... Seems you got to this before the Craftbook guys could get to it.
     
  5. Offline

    eisental

    Thanks. Happy to hear it works :cool:
    I didn't have the chance to test it on an actual server with more than one user though, so if anybody is doing that, let me know.
     
  6. Offline

    Zerosan

    Seems to be a very nice approach to scalability of circuits.

    Here are two things I've seen:
    Can you make the input blocks accessible by redstone current from the sides?
    Could it be that buttons in combination with transmitter/receiver setups don't update the receiver properly?
     
  7. Offline

    eisental

    @Zerosan Yeah, I see the button problem, thanks. I'll try to fix it later.
    About the inputs from the side, can you explain why do you find it helpful?
    It actually means 3 times more redstone checks, so I think it would slow everything down a bit.
     
  8. Offline

    RustyDagger

    -snip- failed to see that there were 2 parts to it....
     
  9. Offline

    eisental

    Updated to RedstoneChips 0.4
    • temporary fix for the button bug. I think its a craftbukkit or minecraft bug.
    • better performance when working with a large number of circuits.
    and BasicCircuits 0.2

    • fixed a bug in decoder circuit.
    • removed unnecessary log messages.
    Check the first post for download links
     
  10. Offline

    Bobv2

    The multiplier has trouble being useful due to the fact that there are never enough outputs.

    Unless I'm missing something, a multiplier with two inputs with two bits can only display up to 3, limiting it's usefulness even with only two sets of inputs. Perhaps make the bit length of the inputs a sign argument, and the number of input pins would have to be a multiple of the amount specified on the sign, that way you can have as many output pins to display output as you want.
     
  11. Offline

    RustyDagger

    What would be nice is a bunch of vids explain some simple way to use each gate. so i can show my users how to use it most of them don't understand and it don't help that i am a little unclear my self the wiki is a start but videos would be better.


    IF I CAN Learn I will Personally MAKE THE VIDS.
    any 1 willing to teach me send me a pm or drop by my minecraft server
     
  12. Offline

    Nijikokun

    Nice -uses to build a rave club-
     
  13. Offline

    Samkio

    This plugin looks great!
    Can't wait to test it. :)
    Thanks!
     
  14. Offline

    eisental

    I look into that, but in the mean time you can use more input bits than you actually need to have enough outputs. So to multiply two 2-bit numbers use a 4-bit multiplier with 8 inputs and 4 outputs. Just leave the last 2 bits of each input off.
     
  15. Offline

    3istee

    Please update this plugin, doesn't work with #106. Just get this error when I try to activate the "circuit":
    Code:
    FATAL ERROR: Could not pass event BLOCK_RIGHTCLICKED to RedstoneChips
    java.lang.ArithmeticException: / by zero
            at org.tal.redstonechips.BitSetCircuit.init(BitSetCircuit.java:54)
            at org.tal.redstonechips.Circuit.initCircuit(Circuit.java:73)
            at org.tal.redstonechips.RedstoneChips.detectCircuit(RedstoneChips.java:
    360)
            at org.tal.redstonechips.RedstoneChips.checkForCircuit(RedstoneChips.jav
    a:269)
            at org.tal.redstonechips.RedstoneChips.access$100(RedstoneChips.java:40)
    
            at org.tal.redstonechips.RedstoneChips$1.onBlockRightClick(RedstoneChips
    .java:71)
            at org.bukkit.plugin.java.JavaPluginLoader.callEvent(JavaPluginLoader.ja
    va:170)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:201)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:445)
            at net.minecraft.server.Packet15Place.a(SourceFile:57)
            at net.minecraft.server.NetworkManager.a(SourceFile:232)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:65)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:104)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:261)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:197)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    #

    Hope you update this, because it's awesome ;)
     
  16. Offline

    eisental

    Thanks for the feedback :). It means you tried to make a gate or arithmetic circuit without any outputs. I'll add a check for this error to give some input to the player. From what I can see, everything still works with release #106.
     
  17. Offline

    liquidthex

    I think I got hard when I read that.

    <-- Closet craftbook hater.. Only thing about it I like is the ICs!

    Thank you so much, I can't wait to get started with this mod!
     
  18. Offline

    Zeus87

    It's exactely THE plugin that i need ! ^^

    But...
    2011-01-21 23:34:26 [INFO] BasicCircuits 0.2 enabled.
    2011-01-21 23:34:26 [INFO] RedstoneChips: properties loaded.
    2011-01-21 23:34:26 [INFO] RedstoneChips: Loaded 0 circuits
    2011-01-21 23:34:26 [INFO] RedstoneChips 0.4 enabled.

    I have test with a 4bits counter and his clock, but they don't work.
    I think the "Loaded 0 circuits" isn't normal, but i don't find anyone solution.
    Can you help me to load my circuits?^^

    Thank you !

    PS : Sorry for my english >>
     
  19. Offline

    eisental

    The loaded circuits message is counting the number of activated circuits in the server. Since you didn't build any circuits yet it says 0.
    You are probably making some mistake when building the circuit. Did you right-click the sign after you built it? It should say 'activated clock circuit with x inputs and x outputs' after you activate it.
    If you tell me how you tried to build them I can help.

    Also, apparently the clock circuit can make craftbukkit crash [​IMG], so in the mean time it's better to use a normal redstone clock.
    I hope to fix it when timers are added to bukkit.

    Forgot to mention,
    this update will force you to re-activate all your circuits and you will lose any changes in the preferences file.
    You can delete redstonechips.properties and redstonechips.dat from the servers root folder after the upgrade.

    Updated to RedstoneChips 0.5:D
    • improved circuit detection algorithm.
    • improved performance of circuit destruction.
    • circuits are now destroyed when one of their blocks get exploded.
    • new /redchips-classes command.
    • renamed active circuits list command to /redchips-active
    • new /redchips-prefs command, for viewing and editing the preferences file from within the game.
    • moved plugin files to the plugin folder.
    • preferences are now a yaml file.
    • added color to player messages.
    and BasicCircuits 0.4
    • NEW pixel circuit using colored wool as display pixels.
    • print must have at least 2 inputs now.
    • counter must have at least 1 input now.
    • clock circuit is much more stable.
    I also tried to make everything a bit more clear and friendly (except the Wiki...). Check the first post for links.
    Any feedback and suggestions would be greatly appreciated!

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

    jordanske

    hey when i make a circuit and then destroy it it stays active!
     
  21. Offline

    eisental

    Was it a clock circuit or something else? Did you see if it got destroyed after restarting the server?
    Can you reproduce it does it happen at random?

    and kind of OT, do you keep the source code of MySignEdit a secret? I'm really interested to know how you change the sign text. I can't make it work...

    Thanks.
     
  22. Offline

    xXTechmanXx

    I dont really understnad the Pixel Circuit I builded it and it wont work the first iron block after the sign is the clock one right? So I made it , i playced wool after the circuit and it doesnt change.
     
  23. Offline

    eisental


    The general way to do it is like so, with just 'pixel' on the sign:

    c - chip block (sandstone), i - input block (iron block), w - wool, s - sign

    Code:
     s
     c i      - clock pin
     c
     c i      - data 1
     c
     c i      - data 2
     c
     c i      - data 3
     c
     c i      - data 4
    www
    
    Connect a lever (through redstone wire) to each data input and a button to the clock pin.
    Set the data pins to some 4-bit binary number (for ex. on,off,on,on would be 13) to choose the color,
    then hit the button to update the wool color.

    You can also use less data pins if you write on the sign (from 2nd line) a list of color names or numbers.
    For example if the sign says
    Code:
    pixel
    white black
    green pink
    
    Setting the data pins to 0 will make the wool white, 1 will make it black, 2 - green and 3 - pink.
    Then only 2 data pins are necessary cause you have only 4 possibilities, and the chip can be a bit smaller.
     
  24. Offline

    I D

    I'm courious as how i can create an ic to put into the game... example being an old school 4017 1 input 1 reset 10 outputs, example

    In Out
    0--0000000000
    1---1000000000
    0--1000000000
    1--0100000000
    0--0100000000
    1--10000000
    0--10000000

    and so on...
    0001000000
    0000100000
    0000010000
    0000000100
    0000000010
    0000000001
    1000000000

    with reset reseting to all zeros.
    This maybe already available but i'm too much of an electronic noob to understand how this works. I've tried the wiki but can't get anything to show up other than the links which when i click them reloads the link page again.

    Thanks
     
  25. Offline

    eisental

    EDIT: oops okay, fixed the link...
    What's the problem with wiki exactly? Are the links not working? I thought I finally got it right :'(

    If anybody is interested in helping to make it better, write me a pm or something. I'm not very good with documentation...;)

    Anyway, this can already be done by connecting a counter to a decoder. The decoder takes a binary input from the counter and output the corresponding bit like the 4017, but a single chip might save some space / cpu. When you set the decoder clock pin to high it will decode the output of the counter in the same way:

    counter decoder
    0001 - 00000001
    0010 - 00000010
    0011 - 00000100
    0100 - 00001000
    0101 - 00010000

    To add an IC you need to write a bukkit plugin with a class extending Circuit that represents whatever IC you're trying to create. They can only be written in Java at the moment...
    To add your circuit class to the game you need to get an instance of the plugin and call it's addCircuitClass() method. This is how it's done in BasicCircuits:
    I still hope to make it a bit easier and write a proper guide, so it should change in the next versions.

    Code:
        @Override
        public void onEnable() {
            Plugin p = getServer().getPluginManager().getPlugin("RedstoneChips"); // get the redstone chips instance
            if (p==null) {
                log.warning(pdf.getName() + " " + pdf.getVersion() + ": Required plugin " + rcName + " is missing.");
            }
    
            plugin = (RedstoneChips)p;
    
            plugin.addCircuitClass(adder.class);
            plugin.addCircuitClass(and.class);
            plugin.addCircuitClass(clock.class);
            plugin.addCircuitClass(counter.class);
            plugin.addCircuitClass(demultiplexer.class);
            ....
            log.info(pdf.getName() + " " + pdf.getVersion() + " enabled.");
        }
    
     
  26. Offline

    mickael9

    Isn't that possible with a simple shit register ? (100 010 001 100...)
    You can basically use the shiftregister chip and wire the last output to the data input.
    That way, bits will "jump" from output to output.
    This requires forcing the data input to HIGH if all outputs are LOW (you can use a NOR gate for this) otherwise, it will stay at zero forever.
     
  27. Offline

    eisental

    Nice :). When I tried this I realized shiftregister had a bug so it won't really work with the current release. I forgot to check if the clock input is high, so it will fire also when it changes to low... Anyway i fixed it for the next release.
     
  28. Offline

    mickael9

    I was wondering, what is the propagation time of these chips ?
    Also, why not add a NOT gate to BasicCircuits ?
     
  29. Offline

    marcvdo

    I can't get the pixel chip to work for me. can someone post a video tutorial for it.

    thanks. Great pluggin BTW
     
  30. Offline

    MatCat

    Not sure how this could be done, but an IC chip would be awesome for it... 12 buttons, just like you have on a telephone, 0 to 9, # and *, which the input from all buttons goes into the circuit, there should be a way to have it remember a set 4 digit number of any arbitrary value from 0000 to 9999 which can be set of course, then putting in the correct numbers in order if the numbers input matches the ic's memory, a success output, if not, a fail output. Not sure how this would be done... But if anything its a request!

    EDIT: # and * really would have no use, except maybe one of them could be used as a clear button. Even better if the IC chip has an additional 4 outputs, so first is success, second is fail, third is on first button push, up to the sixth which is the 6th button push, this way I could put redstone torches to indicate how many of the numbers have been input sofar!
     

Share This Page