[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

    BasBloem

    Hey, I know that the BasicCircuits are just another plugin, but can we make new chips too?
    And where can I find the files to do that?
    I'm interested in making more chips :p
     
  3. Offline

    eisental

    Yes, you can. If you're familiar enough with Java it shouldn't be very hard, just look at the source code of BasicCircuits. Basically any plugin can register new circuits with the core RedstoneChips plugin. circuits extend the Circuit class and are pretty easy to implement. I'm planning to write a guide and maybe make a circuit package plugin template in the near future, but I really don't have enough time lately.
    We're also working on making it possible to use ruby scripts to code new circuits, which should be much easier, but there's nothing concrete yet.
     
  4. Offline

    joshr1001

    I love this plugin. It adds a ton of functionality >.< Works great now :D
     
  5. Offline

    eisental

    Cool, thanks,
    Just out of curiosity, did you check if it does indeed conflict with the ControllerBlock plugin?
    Of course you can just change the inputBlockType of RedstoneChips...
     
  6. Offline

    joshr1001

    It didn't conflict. It was trying to find redstonechips and couldnt find it. idk. but what ever happened fixed it.
     
  7. Offline

    QQCucumber

    So I got this after a server restart, where it was working fine previously..

    SEVERE: Unknown circuit type: transmitter (Is it up to date?)
    java.lang.IllegalArgumentException: Unknown circuit type: transmitter
    at org.tal.redstonechips.CircuitLoader.getCircuitInstance(CircuitLoader.java:53)
    at org.tal.redstonechips.CircuitPersistence.parseCircuitMap(CircuitPersistence.java:106)
    at org.tal.redstonechips.CircuitPersistence.loadCircuits(CircuitPersistence.java:52)
    at org.tal.redstonechips.RedstoneChips.onEnable(RedstoneChips.java:106)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:135)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:175)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:63)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:44)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:156)
    at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:143)
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:104)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:186)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)

    Absolutely nothing changed on the server, no plugins added or anything. One server restart just broke everything, and wouldn't become fixed until I deleted the folder the data is stored in. Afterward, it's works fine. It's like it's getting corrupted or something.

    Edit: Just saw the test builds, gonna try those.
     
  8. Offline

    JackTDawson

    Donated. Its not much.. but I wanted to show my appreciation somehow.
     
  9. Offline

    eisental

    Thanks! :)
    --- merged: Feb 3, 2011 2:31 PM ---
    Weird, does it happen every time you restart the server?
    It means that BasicCircuits is not loaded when RedstoneChips tries to activate the circuits. Do you see a "BasicCircuits 0.74 circuit package enabled." before the error?
     
  10. Offline

    QQCucumber

    No.

    Unfortunately I don't know, I have to wait until it happens again. server.log doesn't seem to keep errors. :(
     
  11. Offline

    eisental

    In any case, i don't think the .circuits file gets corrupted. By deleting it the plugin didn't need to activate any circuits and so was able to start.
    --- merged: Feb 4, 2011 1:51 AM ---
    I've updated to RedstoneChips 0.75 and BasicCircuits 0.75.
    Synths can now actually play the noteblocks and the chips in the images below are now possible (ignore the misplacement of the levers :rolleyes:).
    Check the changelogs on the first post for more info.
    Please let me know of any bugs or other problems.

    Special thanks to all the kind donors :)
    [​IMG]
    [​IMG]
     
  12. Offline

    QQCucumber

    Got this from upgrading. The plugin did not load.

    Feb 4, 2011 5:13:41 AM org.bukkit.craftbukkit.CraftServer loadPlugins
    SEVERE: Unknown circuit type: srnor (Is it up to date?)
    java.lang.IllegalArgumentException: Unknown circuit type: srnor
    at org.tal.redstonechips.CircuitLoader.getCircuitInstance(CircuitLoader.java:53)
    at org.tal.redstonechips.CircuitPersistence.parseCircuitMap(CircuitPersistence.java:106)
    at org.tal.redstonechips.CircuitPersistence.loadCircuits(CircuitPersistence.java:52)
    at org.tal.redstonechips.RedstoneChips.onEnable(RedstoneChips.java:129)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:135)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:175)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:63)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:44)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:156)
    at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:143)
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:104)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:186)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
     
  13. Offline

    eisental

    No exceptions before that?
    Did you change any filenames?
    Did you upgrade to both RedstoneChips-0.75.jar and BasicCircuits-0.75.jar?
    I'm not sure what to say, haven't seen this happen before...
     
  14. Offline

    QQCucumber

    I changed the name of the folder to RedstoneChips-0.75 and that's it.
     
  15. Offline

    eisental

    Can you send me your craftbukkit folder (w/o the map) somehow?
     
  16. Offline

    QQCucumber

    -Link removed-

    Here you go. Included in the plugins directory are the two folders that are properly labeled.

    The 0.72 folder was the one I renamed to 0.75 and got the error from.

    The 0.75 folder is a newly generated one with all the signs activated, and is working correctly.
    --- merged: Feb 4, 2011 3:18 AM ---
    Well speak of the devil.

    I just put the server back up (with the 0.75 folder included in the zip package I just linked you) and got this:

    Feb 4, 2011 6:17:48 AM org.bukkit.craftbukkit.CraftServer loadPlugins
    SEVERE: Unknown circuit type: receiver (Is it up to date?)
    java.lang.IllegalArgumentException: Unknown circuit type: receiver
    at org.tal.redstonechips.CircuitLoader.getCircuitInstance(CircuitLoader.java:53)
    at org.tal.redstonechips.CircuitPersistence.parseCircuitMap(CircuitPersistence.java:106)
    at org.tal.redstonechips.CircuitPersistence.loadCircuits(CircuitPersistence.java:52)
    at org.tal.redstonechips.RedstoneChips.onEnable(RedstoneChips.java:129)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:135)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:380)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:175)
    at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:63)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:44)
    at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:156)
    at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:143)
    at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:104)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:186)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)

    No, there weren't any other messages related to the plugin whatsoever, didn't load at all.

    This was literally working just fine until I stopped the server and backed it up to send to you. Nothing changed. Started it back up.. got that.
     
  17. Offline

    eisental

    Sorry, I have no clue what's going on. Both folders worked fine on my system. Maybe for some reason craftbukkit tries to load the RedstoneChips before BasicCircuits is loaded. I'll check tomorrow if it's possible.
     
  18. Offline

    QQCucumber

    Well the server won't start until I delete the folder, sadly..
    --- merged: Feb 4, 2011 3:26 AM ---
    Should I send you a version with the world? It will take some time to upload, about 500MB..
    --- merged: Feb 4, 2011 3:45 AM ---
    Since updating, redstone chips breaks every time I restart, rather than just sometimes. :( Can only get it back up by deleting the folder, then it's back to reactivating everything..
    --- merged: Feb 4, 2011 7:42 AM ---
    Okay, here's what I did. I took RedstoneChips-0.75 out of the directory. I started with just BasicCircuits. It booted up fine. Then, put it back in, and used essentials to first load it, and then enable it. Same error occurred. I don't believe it has anything to do with load order.
    --- merged: Feb 4, 2011 7:49 AM ---
    Just did a test, had it generate a new world. Once again, same exact error. So it's not the world and it's not the load order.
     
  19. Offline

    eisental

    It doesn't prove that it's not load order, since without RedstoneChips being available on startup BasicCircuits should say
    Code:
    BasicCircuits 0.75: Required plugin RedstoneChips is missing.
    2011-02-04 15:13:08 [SEVERE] BasicCircuits: Can't find RedstoneChips plugin. Filename or version mismatch.
    
    And won't register any circuit classes anyway. I managed to reproduce your error by renaming BasicCircuits jar to X.jar which makes me think there's definitely a problem with load order. I'll try to upload a fix and then we'll know for sure. What OS are you using? is it Linux?
     
  20. Offline

    QQCucumber

    Yes, it's CentOS 5.
    --- merged: Feb 4, 2011 3:30 PM ---
    You're right, it's a load order issue. I just renamed BasicCircuits into XBasicCurcuits and it works fine now. How bout that.
     
  21. Offline

    eisental

    Funny, apparently your system is reading the plugins in reverse alphabetical order :)

    Anyways, I think I solved the problem. I've uploaded new versions - RedstoneChips 0.76 and BasicCircuits 0.76. The only difference is in the way circuit libraries are handled and loaded. If anybody is having similar problems, download the new jars. Please let me know if it works now without renaming.
     
  22. Offline

    QQCucumber

    Seems to work just fine, thanks for the fix.
     
  23. Offline

    SilverstarX

    I now red through all 7 pages, but it seems no one is using this with MinecartMania or, at least, has no issues with it.
    Does someone use it together with MM and can tell me it works?
     
  24. Offline

    eisental

    It works.:) you could bump into rare chunk problems with redstone wires but it doesn't have anything to do specifically with my plugin.
     
  25. Offline

    QQCucumber

    I just now got around to testing it and thank you a LOT for letting your chips receive power from the top, this is going to make things a million times easier.
     
  26. Offline

    Tobba

    Would it be possible to have a circuit that adds two binary numbers together instead of a binary number + a constant? Possibly a splitter block to have "sections" of different inputs

    e.g (i = iron o = obisian)
    i i i ioi i i i i i i (only the input part obviously)
    Would basicly add a 4 bit binary number at the first "section" together with a 6 bit binary number at the second "section"
     
  27. Offline

    eisental

    The adder is capable of adding any amount of numbers in addition to the constant. You can omit the constant from the sign if you want. Every number including the result should have the same number of bits. For example if you want to add 2 6-bit numbers, build it with 12 inputs and 6 outputs. The multiplier and divider work the same way.

    I will add some support for the carry bits in the future. For each number you add, the result might have one more extra bit and therefore currently will eventually overflow the number of outputs. For the multiplier the number of required extra bits can become quite large.
     
  28. Offline

    Tobba

    Didn't see that in the documentation, oh well. Thanks
     
  29. Offline

    eisental

    I made a circuit library template plugin for anybody who's looking to write new circuit libraries for RedstoneChips.

    It contains everything that's needed to compile a circuit library including one sample circuit. Uses maven for compiling and packaging.

    To use it just extract the zip file somewhere. To compile install maven and run 'mvn package' while inside the LibraryTemplate folder.
    If you're using NetBeans you can load the template project by clicking on "Open Project..." and choosing the LibraryTemplate/ folder. It should have an 'm' icon.

    Any feedback would be appreciated.

    EDIT: I moved this into it's own github repository:

    https://github.com/eisental/LibraryTemplate

    To download the source, click on DOWNLOADS and choose one of the files.
    --- merged: Feb 5, 2011 3:06 PM ---
    I made a new video about the synth circuit:


    Sorry for the brightness (or darkness to be exact). I'm not sure what happened.
     
  30. Offline

    meggawatts

    afterupgading to 0.76 I get this error in my console, Latest build of craftbukkit on Windows XP 32-bit
    Code:
    2011-02-06 18:09:50 [INFO] Starting minecraft server version Beta 1.2_01
    2011-02-06 18:09:50 [WARNING] **** NOT ENOUGH RAM!
    2011-02-06 18:09:50 [WARNING] To start the server with more ram, launch it as "j
    ava -Xmx1024M -Xms1024M -jar minecraft_server.jar"
    2011-02-06 18:09:50 [INFO] Loading properties
    2011-02-06 18:09:50 [INFO] Starting Minecraft server on *:25565
    2011-02-06 18:09:50 [INFO] Preparing level "world"
    2011-02-06 18:09:50 [INFO] Preparing start region
    Preparing spawn area: 28%
    Preparing spawn area: 65%
    Feb 6, 2011 6:09:53 PM org.bukkit.plugin.SimplePluginManager loadPlugins
    SEVERE: Could not load plugins\RedstoneChips-0.76.jar in plugins: null
    org.bukkit.plugin.InvalidPluginException
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:86)
            at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
    java:117)
            at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
    .java:82)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:43)
            at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:153)
            at net.minecraft.server.MinecraftServer.c(MinecraftServer.java:140)
            at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:104)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:181)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:512)
    Caused by: java.lang.reflect.InvocationTargetException
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
    rce)
            at java.lang.reflect.Constructor.newInstance(Unknown Source)
            at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
    ava:84)
            ... 8 more
    Caused by: java.lang.NoClassDefFoundError: org/bukkit/command/CommandSender
            at org.tal.redstonechips.RedstoneChips.<init>(RedstoneChips.java:57)
            ... 13 more
    Caused by: java.lang.ClassNotFoundException: org.bukkit.command.CommandSender
            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:30)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            ... 14 more
    2011-02-06 18:09:53 [INFO] Debugger enabled, use: /debug_dynmap
    2011-02-06 18:09:53 [INFO] Set minimum priority for worker thread
    2011-02-06 18:09:53 [INFO] Map renderer has started.
    2011-02-06 18:09:53 [INFO] Loaded Essentials b120 by Zenexer, ementalo, Eris, an
    d EggRoll
    Take yourself wonder by wonder, using /magiccarpet or /mc. Magic Carpet version
    1.2 is enabled!
    PlantSpreader by Master-Guy enabled
    2011-02-06 18:09:53 [INFO] TelePlus 1.5 enabled
    2011-02-06 18:09:53 [WARNING] BasicCircuits 0.76: Required plugin RedstoneChips
    is missing.
    SimpleGod version 1.1 is enabled!
    2011-02-06 18:09:53 [INFO] Done! For help, type "help" or "?"
    
     
  31. Offline

    eisental

    It doesn't look like you're running the latest craftbukkit. Both from looking at the ClassNotFoundException error and since you don't have the craftbukkit version line in your console.
     

Share This Page