[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

    randeri221

    what about clockdisplay?
    somebody knows if it gets updated anymore?
     
  3. Offline

    eisental

    Malkerian hasn't been around for a very long time as far as I know. The source code is in the thread if anyone want's to update it. You should probably wait until RC0.93 though as it's going to break most libraries.
     
  4. Offline

    Fred K.

    Oh, I didn't notice that
    --
    How do I activate Daytime chips btw?
    When I right-click the sign, nothing happens
    [​IMG]
     
  5. Offline

    randeri221

    ok thx anyway :)
     
  6. Offline

    eisental

    RC0.93 is available (see main post). There are a lot of changes to the way io blocks work so there might be some new bugs to squash. Do let me know...
    Check the website for more info about the new stuff. It's already updated.
    Here's an example of the new direct connection between io blocks. Thanks, @AterIgnis and @Mordenkainen for the great idea:
    [​IMG]


    The chip looks ok, didn't you get any error messages?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 18, 2016
  7. Offline

    Vecht

    Is there any way you could add a 'disable' input pin for receiver circuits? It would be oh so much more convenient than AND-ing each output with a selection signal.
     
  8. Offline

    eisental

    If you're using direct connection from the receiver outputs attaching any output device (such as a lever) will make it stop the direct connection and only output to the lever. If there's no redstone wire on the input block of the other chip then this effectively disables the input. If it's not direct just remove the wire from the input block, or am I missing something?
     
  9. Offline

    blackalegator

    Got a bug(
    Code:
    2011-12-19 14:43:11 [INFO] [Spout] Spout 644 has been initialized
    2011-12-19 14:43:11 [INFO] [RedstoneChips] Loading BasicCircuits 0.93 > adder, and, clock, counter, demultiplexer, divider, flipflop, multiplexer, multiplier, or, pisoregister, print, random, receiver, shiftregister, transmitter, xor, decoder, encoder, pixel, pulse, not, synth, srnor, terminal, router, ringcounter, iptransmitter, ipreceiver, comparator, delay, repeater, nand, nor, xnor, segdriver, dregister, sram, bintobcd, display, burst.
    2011-12-19 14:43:11 [INFO] [RedstoneChips] Loading SensorLibrary 0.31 > photocell, pirsensor, rangefinder, daytime, slotinput, beacon, spark, vehicleid, playerid.
    2011-12-19 14:43:11 [SEVERE] [RedstoneChips] [BasicCircuits] Can't make folder /home/gaming/minecraft/plugins/RedstoneChips/sram
    2011-12-19 14:43:11 [SEVERE] Error occurred while enabling RedstoneChips v0.93 (Is it up to date?): null
    java.lang.NullPointerException
            at org.tal.basiccircuits.BasicCircuits.onRedstoneChipsEnable(BasicCircuits.java:36)
            at org.tal.redstonechips.RedstoneChips.callLibraryRedstoneChipsEnable(RedstoneChips.java:328)
            at org.tal.redstonechips.RedstoneChips.onEnable(RedstoneChips.java:68)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:188)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:968)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:280)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:186)
            at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:169)
            at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:128)
            at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:52)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:399)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    2011-12-19 14:43:11 [INFO] Preparing level "main"
    
    Redstone chips cannot be created, all the commands simply show their syntax. Folder is not created too
     
  10. Offline

    eisental

    Oops, sorry :/ To fix this just make the plugin folder yourself (plugins/RedstoneChips).
     
  11. Offline

    Vecht

    That would work, but the problem with that is that its not automated.

    What I'm trying to do is set up many receiver circuits that all receive from a single transmitter. However, I want to be able to select which are on at any given time. To do this, I have to AND each output with a selection signal, so that the information from the receiver only gets through if I have selected a specific node. With several outputs on each receiver, this takes up a lot of extra space.

    What I was asking is if its possible to add a "disable" pin similar to that of the transmitter, such that if it's on then the receiver wouldn't listen for new data until it was reactivated.
     
  12. Offline

    eisental

    I'll think about it, but you might want to look at the transmitter's select() argument. I'm not sure that will help but you can use it to select which receiver to transmit to (automatically). when all receivers use the same channel but different bits of it. There's a sample circuit here.
     
  13. Offline

    Cumsume

    is there any light sensor vid of this stuff scouted youtube and google and i only get clock tutorials >.<
     
  14. Offline

    eisental

    I don't think so. What are you trying to do?
     
  15. Offline

    Cumsume

    im trying to make a maze that change's in a day night cycle i just need the sensor the rest i can do with standaart redstone

    a small scematic will do if possible ^^
     
  16. Offline

    eisental

    What exactly do you need the chip to do? Do you only need to know if it's day or night?
     
  17. Offline

    Cumsume

    it need to change pistons (switch walls inside maze) on a day night cycle so there are like 2 diffrent maze's
    but i just need a light sensor xD and a way to connect it to actual redstone
     
  18. Offline

    Forest-18

    Hey. I hate to bother you, but every time I try to run "/rcreset all" it resets 93 out of 547 chips and I get this error in my console
    Code:
    17:56:40 [WARNING] Unexpected exception while parsing console command
    org.bukkit.command.CommandException: Unhandled exception executing command 'rcreset' in plugin RedstoneChips v0.93a
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:165)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:378)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:374)
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:564)
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:541)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    Caused by: java.lang.NullPointerException
        at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:129)
        at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:125)
        at org.tal.redstonechips.circuit.OutputPin.isDirect(OutputPin.java:202)
        at org.tal.redstonechips.circuit.InputPin.findSourceBlockState(InputPin.java:165)
        at org.tal.redstonechips.circuit.InputPin.refreshSourceBlocks(InputPin.java:140)
        at org.tal.redstonechips.circuit.Circuit.updateInputBits(Circuit.java:498)
        at org.tal.redstonechips.circuit.Circuit.initCircuit(Circuit.java:143)
        at org.tal.redstonechips.CircuitManager.activateCircuit(CircuitManager.java:201)
        at org.tal.redstonechips.CircuitManager.checkForCircuit(CircuitManager.java:189)
        at org.tal.redstonechips.CircuitManager.checkForCircuit(CircuitManager.java:84)
        at org.tal.redstonechips.CircuitManager.resetCircuit(CircuitManager.java:378)
        at org.tal.redstonechips.command.RCreset.resetAllCircuits(RCreset.java:56)
        at org.tal.redstonechips.command.RCreset.onCommand(RCreset.java:24)
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
        ... 7 more
    I'm using RedstoneChips 0.93a, BasicCircuits 0.93a and SensorLibrary 0.31.
    Am I doing anything wrong?
     
  19. Offline

    eisental

    You need to build a photocell chip with 1 input, 1 output and 1 interface block. Write 'photocell' on the sign. The interface block is the light sensor so don't put any blocks around it (except chip blocks).
    Build a clock chip with 1 input and 1 output. Write 'clock' on the sign 1st line and the clock frequency on the second line. The frequency should probably be something like 5min. depending on how exact you need it to be.
    The output of the clock should be connected to the photocell input. Whenever the clock sends signal to the photocell the photocell will set its output according to the light level. dark - off, light - on.
    You can also do this with a daytime chip instead of the photocell.

    @Forest-18 Thanks, this needs to be fixed, but it's most likely caused by 1 or more bad levers in the world your loading (probably levers with 0 data). You can reset them one by one until you find the problem, or just wait for the fix, it shouldn't take too long.
     
  20. Offline

    dustfinger314

    I'm just installed RedstoneChips and the LightControl 3rd party library. Everything works fine sans LightControl, but when I try to add it, the console starts vomiting errors. It's been posted in the LightControl post as well, but that developer doesn't seem to have been active with the project in a while, so I wondered if you could help. If he's not actually gone, then I'm going to feel a little awkward for trumpeting his demise prematurely, but oh well... The error log is below, and any insight is appreciated.
    Code:
    [SEVERE] Error occurred while enabling RedstoneChips v0.93a (Is it up to date?): org/tal/redstonechips/channels/ReceivingCircuit
    java.lang.NoClassDefFoundError: org/tal/redstonechips/channels/ReceivingCircuit
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
        at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:221)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:32)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
        at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:221)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:32)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
        at org.bukkit.plugin.java.JavaPluginLoader.getClassByName(JavaPluginLoader.java:221)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:32)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at org.morden.lightcontrol.LightControl.getCircuitClasses(LightControl.java:22)
        at org.tal.redstonechips.RedstoneChips.loadLibraries(RedstoneChips.java:309)
        at org.tal.redstonechips.RedstoneChips.onEnable(RedstoneChips.java:67)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:188)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:968)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:280)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:186)
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:169)
        at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:128)
        at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:52)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:145)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:399)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    Caused by: java.lang.ClassNotFoundException: org.tal.redstonechips.channels.ReceivingCircuit
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 58 more
     
  21. Offline

    eisental

    As I wrote in many places, 3rd party libraries needs to be updated for RC0.93, but I actually made an updated version of LightControl for test purposes. You can get it here.
     
  22. Offline

    pherce

    I've had your clock running as described in the wiki for some time now, but redoing it and placing a divider sign is throwing exceptions. The first problem we had while doing:
    • divider
    • 5
    • 24
    • mod
    was interference from ChestShop. Since the data was very similar to ChestShop, it thought I was trying to make a shop. After we pull ChestShop and try to make the divider sign we get:

    Code:
    2011-12-26 17:13:35 [SEVERE] Could not pass event PLAYER_INTERACT to RedstoneChips
    java.lang.NullPointerException
        at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:129)
        at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:125)
        at org.tal.redstonechips.circuit.OutputPin.isDirect(OutputPin.java:202)
        at org.tal.redstonechips.circuit.InputPin.findSourceBlockState(InputPin.java:165)
        at org.tal.redstonechips.circuit.InputPin.refreshSourceBlocks(InputPin.java:140)
        at org.tal.redstonechips.circuit.Circuit.updateInputBits(Circuit.java:498)
        at org.tal.redstonechips.circuit.Circuit.initCircuit(Circuit.java:143)
        at org.tal.redstonechips.CircuitManager.activateCircuit(CircuitManager.java:201)
        at org.tal.redstonechips.CircuitManager.checkForCircuit(CircuitManager.java:189)
        at org.tal.redstonechips.CircuitManager.checkForCircuit(CircuitManager.java:84)
        at org.tal.redstonechips.RCPlayerListener.onPlayerInteract(RCPlayerListener.java:48)
        at org.bukkit.plugin.java.JavaPluginLoader$11.execute(JavaPluginLoader.java:338)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
        at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:178)
        at net.minecraft.server.ItemInWorldManager.interact(ItemInWorldManager.java:266)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:593)
        at net.minecraft.server.Packet15Place.a(SourceFile:39)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    We tried this is with a brand new config and folder just in case.
     
  23. Offline

    eisental

    @pherce Thanks. This bug is already fixed. I'll try to upload a new build soon.
    Not sure what you can do with the plugin conflict. Does the other plugin automatically uses the sign or only when you right-click it?
     
  24. Offline

    pherce

    It's automatic. We got the NPE while right-clicking to activate. Basically ChestShop works off of something like
    • blankline (automatically inserts player name)
    • amount to sell
    • price
    • item id
    so ChestShop is thinking that divider sign is trying to sell like 5 items for 24 bucks. The word "mod" on the divider chip isn't an item id so it just breaks the sign and says "invalid id".

    It isn't a huge deal as we can easily pull ChestShop for 30 seconds and load without it to place the 2 dividers for the clock. Not sure if any of your other chips have 4 lines in this manner though? I can test anything you want.
     
  25. Offline

    eisental

    Well, breaking the sign seems like a pretty stupid thing to do. I guess ChestShop would cause all kinds of conflicts with other plugins, but you can fix the problem by not putting each argument on a different line.
    Just write:
    divider
    5 24 mod
     
  26. Offline

    pherce

    Thanks, I will try that. Did you update your zip that fixed the NPE yet?
     
  27. Offline

    eisental

    Not yet...
     
  28. Offline

    Keri

    "[SEVERE] [RedstoneChips] Could not delete memory file: plugins/RedstoneChips/sram/sram-1.data"
    when building a redstonechips SRAM it did not manage to save the memory file. Did not create any sram data file so the whole thing simply did not work. Seems to be a bug in the current version. THe sram folder was created, but it was always empty.
     
  29. Offline

    eisental

    I think this can be fixed by making the RedstoneChips/sram folder before running the server. In any case I hope to upload a new build in the new few days.
     
  30. Offline

    Keri

    and it seems the print thing isnt working correctly atm. it does not update the sign when the clock is applied
     
  31. Offline

    eisental

    Can you explain exactly how you built the print chip? I didn't see any problems with it.
     

Share This Page