[MECH] RedstoneChips 0.95 - Integrated circuits plugin [1.2.5-R1.0]

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

     
  1. Offline

    eisental

    RedstoneChips 0.95 / BasicCircuits 0.95 / SensorLibrary 0.33
    (Last update on Apr 8th, 2012, cb 1.2.5-R1.0)


    [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:

    RedstoneChips 0.95

    • Updated for MC1.2.5
    • Rewrote /rcsel. Added /rcsel target for selecting chips by pointing at them and /rcsel world … for selecting all chips in specified worlds.
    • Added /rctool - sets the chip probe tool material and /rctool clear for removing all tools.
    • Added many command aliases.
    • Memory data that's no longer used by any other chip is properly released.
    • Split some functionality into etCommon library.
    • Uses new bukkit event system.
    • Player data, including the chip probe material is saved on player quit and loaded on player join.
    • /rcactivate - renamed verbose option to -v. -v1 and -v2 print different amount of debug messages.
    • Chips can be built with one io block and a sign attached to the io block.
    • /rctransmit renamed to /rcsend.
    • Added support for saving circuit state data on a reset.
    • Fixed memory file support for integers with more than 64bits.
    • Fixed bit set and big integer conversion methods.
    • Fixed redstone torch output CB1.1 bug.
    • Fixed lever update doesn't apply physics around the output block.
    • Fixed an update bug in redstone torch output devices.
    BasicCircuits 0.95

    • Updated for RC0.95
    • display: Rewrote the chip and added support for directly displaying ram memory contents.
    • burst: Added pulse rate. Now can pulse at slower rates. It takes an additional sign argument in the same format as the frequency used for the clock chip.
    • sram: outputs are immediately updated if another sram on the same memory writes on the same address.
    • clock: Clock stops when chip is disabled.
    SensorLibrary 0.33

    • Updated for RC0.95
    • daytime: Added hour offset argument.
    • slotinput: The chip works now.
    • rangefinder: Fixed scaling bug.
    • pirsensor: Speed improvements
    • rangefinder: An output of 0 now means only "no target". When a target is detected the output value starts from 1.
    • pirsensor: Added option to track entities in a cube in addition to sphere. Tracked entity types can be specified in sign arguments. by Vecht.



    Full changelogs and source code @ github.com:
    RedstoneChips [gunpowder] BasicCircuits [gunpowder] SensorLibrary

    This post has been edited 19 times. It was last edited by eisental Apr 10, 2012.
    DoomLord, Shamebot, Vecht and 6 others like this.
  2.  
  3. 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!
  4. Offline

    subram

    Nice :D works
  5. Offline

    Dreggor

    Very nice... Seems you got to this before the Craftbook guys could get to it.
  6. 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.
  7. 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?
  8. 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.
  9. Offline

    RustyDagger

    -snip- failed to see that there were 2 parts to it....
  10. 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
  11. 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.
  12. 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
  13. Offline

    Nijikokun

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

    Samkio

    dev.bukkit.org profile:
    Samkio
    My Plugins
    This plugin looks great!
    Can't wait to test it. :)
    Thanks!
  15. 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.
  16. 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 ;)
  17. 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.
  18. 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!
  19. 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 >>
  20. 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.
  21. Offline

    eisental

    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!
  22. Offline

    jordanske

    hey when i make a circuit and then destroy it it stays active!
  23. 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.
  24. 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.
  25. 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.
  26. 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
  27. 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.");
        }
    
  28. 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.
  29. 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.
  30. Offline

    mickael9

    I was wondering, what is the propagation time of these chips ?
    Also, why not add a NOT gate to BasicCircuits ?
  31. 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

Share This Page