[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. You may be interested in this font I created where every character fits in a 5x5 space. http://mricekirby.deviantart.com/art/Tiny-Font-72842811

    It is very condensed.
     
  3. Offline

    eisental

    @Mordenkainen Thanks for all the suggestions about permissions. I thought permissions per circuit class will be useful for not allowing normal players to build some kinds of circuits. For example if there was a circuit for changing the world time you'd want a way to limit people from building it. I never really configured permissions for anything yet so maybe I'm making some wrong assumption about how it works.

    Great idea about hooking up with WorldEdit. I'm sure it's possible if WorldGuard is doing it. I would just need to dig into the WorldGuard source code to find it. This way when you use //load you can just do /rcsel activate and it will already have the region selected.

    I think that for the pixel to work like you describe, it would have to find all the wool blocks on activation which means that you won't be able to add/remove wool blocks while it's working. On second though I guess it doesn't really matter except for wool dye machines.

    @Malkierian I didn't understand the problem :eek:

    Richard Robertson Nice font! Could be perfect.
    If you turn it into an sram memory file that can be loaded by Morden's display maybe it's possible to use the terminal circuit to type ascii to the screen.
     
  4. Offline

    Malkierian

    @eisental I'm just saying that a little explanation as to what exactly is supposed to be fed into it and where would be helpful. When I hooked up the minutes [daytime] to it, it didn't update like I would expect daytime to, it updated like I would expect segdriver to. A lot of people would probably not understand how to modify a daytime output to allow for the segdriver in your schematic to update properly.

    Now, if I manually create the outputs to pass to the transmitter according to how the schematic is setup, then it works without a hitch.
     
  5. Offline

    eisental

    @Malkierian Oh, ok. Yes, it doesn't do anything fancy except show the 4bit binary number you send it. the transmitter should send 5 bits to the receivers channel. 1st is the blanking pin and the other 4 are the data. I'll make some instructions and screenshots when I have the time. I think it should work well with your dclock circuit.
     
  6. Offline

    Malkierian

    @eisental OK, and it should, I'll probably just have to specify to people to leave the blankPin without input on the transmitter, since only the hours-tens section even has a blankPin output :D
     
  7. Offline

    treve

    Mass activation problem. (when more then 350)
    issued server command: /activate
    2011-04-08 23:59:19 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'rcsel' in plugin RedstoneChips v0.88
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:233)
    at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:594)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:557)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:551)
    at net.minecraft.server.Packet3Chat.a(SourceFile:24)
    at net.minecraft.server.NetworkManager.a(NetworkManager.java:198)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:72)
    at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:368)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    at java.lang.String.charAt(Unknown Source)
    at org.tal.redstonechips.CircuitManager.getClassFromSign(CircuitManager.java:370)
    at org.tal.redstonechips.CircuitManager.checkForCircuit(CircuitManager.java:70)
    at org.tal.redstonechips.CommandHandler.cuboidCommand(CommandHandler.java:782)
    at org.tal.redstonechips.RedstoneChips.onCommand(RedstoneChips.java:276)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    ... 12 more
     
  8. Offline

    eisental

    WorldEdit integration was real easy (thanks, needspeed, for the link) but apparently I only imagined that WorldEdit's //load command sets the selection to the loaded region :(
    It's now on github.

    Wow, very stupid of me. It happens apparently because you have an empty sign somewhere in that area. Doesn't have anything to do with amount of circuits (thank god).

    Edit: actually a sign with an empty 1st line. Fix is on the way.

    Edit2: Fixed (on github) but not released yet.

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

    treve

    ow, yes i have some empty (leftovers) that are not connect to display, but they are somewhere there yes :)
    about a new chip, can it have something like: on count 1(counter input) send data input to: p1,p2,p6,p800,... on count 2, send data input to p4,p50,p578,xxx ?
    to be able to adres and output, it could be easy with sign: "newchip" "p" (so channel p1 is ...001). then i only need 16 of them (1 for each color). so it would have counter-input (like sram actually) and 'output-adres' input-pins, and some data inputs (i.e sign: newchip;p;datawireless;counterwireless)
     
  10. Offline

    Bertware

    Hi,
    since i updatet to RC0.88 and BC0.88, i got regualry messages "a lever is missing from one or more outputs", while I even don't have outputs (wired pixel circuits and so on)
    CB617
     
  11. Offline

    eisental

    That's weird. Can you try it with CB670 or give an exact way to reproduce the error?
     
  12. Offline

    Bertware

    hmm, after a few server restarts it suddenly worked. I used a clock generator to drive a 3*3 wool pixel, it didn't care how i placed the pixel chip, it always gave that error.
    also segdriver chips aren't updating correct (sometimes they do, sometimes they don't)
    (my problem converting time to segdriver is solved by another sensorlibrary a found a few pages back in this thread)
    when the problemm occur's again, i'll take some screenshots
     
  13. Offline

    eisental

    You're not giving me enough details. What did you write on the pixel sign? What do you mean when you say "segdriver chips aren't updating correct"
     
  14. Offline

    Bertware

    the pixel sign was "pixel" "white red" with one interface block connected to the wool and an input block connected to a clock (1Hz). this worked fine till i updated the plugin.
    The segdriver doesn't set the correct outputs, they update the outputs only if i use the command Rcdebug and change the input, or if i reset them a few times.
    so i connect binary 3 to the inputs, i activate the segdriver chip, and it sets the segment to 3. if i change the value of the input, the segment keeps showing 3. when i use /rcdebug, and change the input agian, it shows the correct number.
    i'll try another CB version to see if this solves the problem

    Edit:
    tried CB 670, still the same problem with the segdriver

    BTW
    on CB617 and on CB 670 i get this error:
    Code:
    14:51:16 [INFO] RedstoneChips: An error occurred while loading circuits state. T
    o make sure you won't lose any circuit data, a backup copy of redstonechips.circ
    uits is being created. The backup can be found at plugins\RedstoneChips\redstone
    chips.circuits.BACKUP5
    14:51:16 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:16 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:16 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:16 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:16 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:17 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:17 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:17 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:17 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:17 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:17 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:17 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:17 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    14:51:17 [INFO] RedstoneChips: 66 active circuits
    it seems that it doesn't affect the good working of the plugin, i can create and activate circuits.

    segdriver input 2 high, all others are low.
    i turned on debug and i toggled input 0 some times
    (bukkitsegdriver.png)

    Now i toggled input 2 twice (off and back on)
    (bukkitsegdriver2.png)

    remark that on the first action (toggling input 0) the segdriver only rode input 0 as high, it didn't remark input 2 was high
     

    Attached Files:

    Last edited by a moderator: May 6, 2016
  15. Offline

    eisental

    Ok, thanks for the details :) Do you get these errors on every server restart or did it happen just once? I don't know if it's all connected but the error message you pasted doesn't help me much. The plugin expected the circuit sign to be at a certain location but the block on that location is no longer a sign. Either you changed it with worldedit or something like that or something very weird happened. I can send you a new RC version that gives more details when this occurs so I can find the cause.

    About the segdriver, when did you set the 2nd pin to high? Was it before restarting the server? It seems that the circuit didn't remember that it was set for some reason.
     
  16. Offline

    Bertware

    i get that error every restart. I used worldedit once to delete some older Chips, would it help if i deactivate al the chips where after i activate them all again.

    that second pin was changed by a clock circuit (daytime, earthtime, hour1) so after the server restarted
    maybe you could add a feature which detect's removed circuits at server stop (to prevent errors on startup) and a feature which let all chips chach their inputs/outputs.
    sometime circuits deactivate by themselves, but i guess that has someting to do with the autosave feature, but i don't care that this happens (it's only once, so it's not that much work to reactivate them)
     
  17. Offline

    eisental

    A circuit will only deactivate by itself if something happens to it or if the plugin can't activate it on startup for some reason (like the errors you describe). Checking the integrity of all circuits on load is actually on the todo list but I haven't managed to get it done yet. Removing circuits using WorldEdit will cause you all kinds of problems. You can try to mass deactivate the area where your deleted circuits are, using /rcsel break.
    The only difference with the new version is that your missing signs causes an error. The thing is that once you get this error the bad circuits should disappear in the next save so I'm not sure what's going on.
    If you don't have too many circuits I would delete the redstonechips.circuits file and start fresh. Otherwise, if you want, you can send me your craftbukkit folder and I'll try it out myself.
     
  18. Offline

    petteyg359

    Got an NPE using CB 670:
    Show Spoiler
    Code:
    16:29:08 [SEVERE] null loading RedstoneChips v0.88 (Is it up to date?)
    java.lang.NullPointerException
            at org.tal.redstonechips.PrefsManager.applyPrefs(PrefsManager.java:311)
            at org.tal.redstonechips.PrefsManager.loadPrefs(PrefsManager.java:94)
            at org.tal.redstonechips.RedstoneChips.onEnable(RedstoneChips.java:212)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:127)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:578)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:216)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:115)
            at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:93)
            at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:285)
            at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:196)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:246)
            at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:391)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:377)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:375)
    

    I think it is the jar-name-to-default-data-folder thing, because it works fine if I just rename all the jars and remove "-beta".
     
  19. Offline

    eisental

    What's the name of your RedstoneChips data folder? I'm using RedstoneChips-beta.jar and the folder is named RedstoneChips without getting this :\

    Edit: Actually it has nothing to do with that. It didn't find the default value for one of the new preference key. Not sure why...
     
  20. Offline

    Bertware

    i'll try removing the folder.
    another strange action:
    segdriver3.png

    the segdriver knows that it should display 8. but is displays 4?
    actualy, it don't update the outputs at all (i've another segdriver circuit, which displays the first hour digit, and that works fine)

    Edit:
    I removed the RedstoneChips folder, and the error in the console is gone
    but the segdriver for the second hour digit keeps giving 4 as output, whatever the input is.
    I'm going to try to remove the whole chip and rebuild it - Edit: that didn't help
     
  21. Offline

    eisental

    I can see the confusion, but actually the segdriver should display 4. The 1st input of the chip is for the clock output so if you want to display a 4 bit number you need 5 inputs. 1 clock and 4 data inputs. In your case your using just 3 data inputs that are set in the image to 100 which is 4. The segdriver will change its outputs only when the 1st pin turns on. Sorry I didn't get it with your last message :p
    Take a look at the segdriver docs page.

    EDIT: On second thought, I guess the segdriver page should be more clear about the clock input...
     
  22. Offline

    Bertware

    thats it!
    I didn't find it clearly on the website, maybe you could ad "1clock input, 4 data inputs (optional) 1 blankpin input.
    thanks for the efforts and the help, this is a great plugin
     
  23. Offline

    eisental

    Thanks, I'll make some changes to the doc page.

    I just uploaded the 1st tutorial to the wiki :D :
    How to build a Digital Clock in Minecraft using RedstoneChips

    It's written by Mordenkainen

    Feel free to make any corrections or make it look better. converting .doc to wikimedia is a lot of work...

    @Mordenkainen The images became a bit small when I took them out of the word document. If you have bigger versions I can replace them.

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

    Badzilla

    I just updated to the newest posted versions and am getting an error.
    Here is the startup log.

    C:\CopyBin\MineCraft\BukkitServer>"C:\Program Files\Java\jre6\bin\java" -Xms1024
    M -Xmx1024M -jar craftbukkit-0.0.1-SNAPSHOT.jar
    16:39:36 [INFO] Starting minecraft server version Beta 1.4
    16:39:36 [INFO] Loading properties
    16:39:36 [INFO] Starting Minecraft server on *:25566
    16:39:36 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-646-
    gb61ef8c-b670jnks (MC: 1.4)
    16:39:36 [INFO] Preparing level "World"
    16:39:36 [INFO] Preparing start region
    16:39:37 [INFO] 144 recipes
    16:39:37 [INFO] Preparing spawn area: 73%
    16:39:38 [INFO] AntiBreak version 1.4 is enabled!
    16:39:38 [INFO] CraftBookCommon 3.0-alpha2 enabled.
    16:39:38 [INFO] CraftBookCommon: No known permissions plugin detected. Using con
    figuration file for permissions.
    16:39:38 [INFO] CraftBookCircuits 3.0-alpha2 enabled.
    16:39:38 [INFO] CraftBookCircuits: No known permissions plugin detected. Using c
    onfiguration file for permissions.
    16:39:38 [INFO] CraftBookCircuits: No known permissions plugin detected. Using c
    onfiguration file for permissions.
    16:39:38 [INFO] CraftBookMechanisms 3.0-alpha2 enabled.
    16:39:38 [INFO] CraftBookMechanisms: No known permissions plugin detected. Using
    configuration file for permissions.
    16:39:38 [INFO] 1 cauldron recipe(s) loaded
    16:39:38 [INFO] [Minecart Mania] Debug mode switched to NORMAL
    16:39:38 [INFO] [Minecart Mania] MinecartManiaCore version 1.09c_beta is enabled
    !
    16:39:38 [INFO] [Minecart Mania] MinecartManiaSignCommands version 1.09b is enab
    led!
    16:39:38 [INFO] [Minecart Mania] MinecartManiaStation version 1.09 is enabled!
    16:39:38 [INFO] [MinecartManiaTeleport] Successfully loaded 6 teleporter signs
    16:39:38 [INFO] [MinecartManiaTeleport] version 1.1.1 enabled!
    16:39:38 [INFO] QuickStash version 1.2 is enabled!
    16:39:38 [INFO] RedstoneChips: Loading SensorLibrary 0.24 > photocell, pirsensor
    , rangefinder, daytime.
    16:39:39 [INFO] RedstoneChips: Loading BasicCircuits 0.88 > adder, and, clock, c
    ounter, demultiplexer, divider, flipflop, multiplexer, multiplier, or, pisoregis
    ter, 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.
    16:39:39 [INFO] RedstoneChips 0.88 enabled.
    16:39:39 [INFO] Whitelist: Trying to load whitelist and settings...
    16:39:39 [INFO] done.
    16:39:39 [INFO] Whitelist version 2.4 is enabled!
    16:39:39 [INFO] WorldEdit 4.3 enabled.
    16:39:39 [INFO] WorldEdit: No known permissions plugin detected. Using configura
    tion file for permissions.
    16:39:39 [INFO] WorldGuard: No known permissions plugin detected. Using configur
    ation file for permissions.
    16:39:39 [INFO] WorldGuard: (World) Single session is enforced.
    16:39:39 [INFO] WorldGuard: (World) TNT ignition is PERMITTED.
    16:39:39 [INFO] WorldGuard: (World) Lighters are PERMITTED.
    16:39:39 [INFO] WorldGuard: (World) Lava fire is blocked.
    16:39:39 [INFO] WorldGuard: (World) Fire spread is UNRESTRICTED.
    16:39:39 [INFO] WorldGuard: Loaded configuration for world 'World"
    16:39:39 [INFO] WorldGuard 5.0-alpha8 enabled.
    16:39:39 [INFO] [xWarp]: 54 warps loaded
    16:39:39 [WARNING] [xWarp]: Permission system not found. Use defaults.
    16:39:39 [INFO] [xWarp]: xWarp 2.7.8 enabled
    16:39:39 [INFO] Backpack version 2.0.7 is enabled!
    16:39:39 [INFO] [Minecart Mania] MinecartManiaAdminControls version 1.09 is enab
    led!
    16:39:39 [INFO] [Minecart Mania] MinecartManiaAutomations version 1.09 is enable
    d!
    16:39:39 [INFO] [Minecart Mania] MinecartManiaChestControl version 1.09d is enab
    led!
    16:39:39 [INFO] Done (0.287s)! For help, type "help" or "?"
    16:39:39 [SEVERE] RedstoneChips: java.lang.ClassCastException: org.bukkit.craftb
    ukkit.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    16:39:39 [INFO] RedstoneChips: An error occurred while loading circuits state. T
    o make sure you won't lose any circuit data, a backup copy of redstonechips.circ
    uits is being created. The backup can be found at plugins\RedstoneChips\redstone
    chips.circuits.BACKUP1
    16:39:39 [INFO] RedstoneChips: 8 active circuits
    16:39:44 [INFO] [Minecart Mania] Loading Sensor Data.
    >
     
  25. Offline

    eisental

    It seems that you also have some ghost chips lying around. The problem is that the new version tries to update the activation sign when the plugin is loading. Because the block is no longer a sign you get an error. Either that or I'm missing something. Did it cause you to lose all your other circuits as well? I see it loaded only 8.
     
  26. Offline

    Badzilla

    It seems that it lost several. I have not run your plugins for several weeks. I was working on Minecart Mania issues and the slew of updates surounding the update to 1.4

    What should I do to correct the problem?
     
  27. Offline

    Malkierian

    HOLY CRAP! That's really involved. I'm glad I made ClockDisplay :D LOL.
     
  28. Offline

    eisental

    @Badzilla I don't know what might cause it if you're losing existing circuits that have their activation sign in place. I'm trying to test if this is chunk related. I sent you a pm.
     
  29. Offline

    Mordenkainen

    Thanks for doing the dirty work for me! I never had any luck editing wiki's!

    I'll see what I can do. I already cleaned up my screenshots folder, but perhaps the originals are still sitting in the recycle bin!

    If you think that is complicated, just wait until you see what is going into the scrolling message board. It's starting to make this look really simple!

    BTW, that is coming along nicely. I now have a circuit that will read a set of glyphs (bitmapped characters) from an SRAM and scroll them across the screen, using colors selected by the user. The next step is a circuit that will take the ascii from a terminal and convert it into the appropriate glyphs, and write them to this "buffer" SRAM.

    One issue I have run into, that perhaps a small change to the way RC works would help with is:
    When using a terminal circuit, there is no "end of message" character that lets you know it is done sending the message and that you can do any additional processing needed. An easy way to do this, would be to send a NULL (00) at the end of the string to indicate it is done. As of right now, I am trying to cobble together a missing pulse detector to send a pulse when the terminal chip stops sending characters, but it has proven somewhat difficult and unreliable. I may skip detection of this event entirely and require the user to hit a button to indicate the message has been entered, but I really did want it to be automatic.

    That said, perhaps I am overthinking this and the terminal already provides this notification, I have been too lazy to check! LOL.

    Morden.
     
  30. Offline

    eisental

    @Mordenkainen There's indeed no way to know the message has ended in ascii mode. It would be easy to just send another 0 at the end (and then it will look as if nothing was transmitted). The output clock should also pulse again, right? What do you mean by pulse detector? You can build the terminal with an input clear pin that sets all the outputs to 0 but I'm not sure that helps. You still need to trigger that.

    @Diamondo25 You can't use lapis to build the chip when it's defined as the interface block. Use any other block you can attach the sign to, except gravel or sand or any block that's already used for input output or interface. Interface blocks are only used with some kinds of chips (such as the pixel chip). You also need to attach a lever to the output block. You can't directly connect redstone wires to the outputs.

    I'm not sure if you know that or not, but you don't have to use /rcactivate to activate you can just left-click the sign. I see you set the rightClickToActivate preference to true in the code you posted above (but not in the screenshot). This would make the plugin activate on right-click instead.

    You might want to read the howto page for a detailed explanation.

    Edit: apparently the howto page is already outdated :/

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

    Mordenkainen

    Yeah, the clear pin doesn't do what I need.

    What I'm looking for is exactly what you were describing, sending a 0 (NULL) and a clock pulse at the end of the message, so something could detect that there were no more characters coming.

    As far as the missing pulse detector, it's a circuit that monitors an incoming pulse train, and sends out a pulse if an incoming pulse doesn't come in. The issue with it is that they are timing specific, you need to know the period of the pulse train, and if you don't get a pulse within 1.5 periods it sends a signal to indicate the pulse train was lost. Since the terminal circuit seems to have an irregular period (due to cpu load and other factors) the missing pulse detector has not been working out well.

    I think the best solution would be some sort of END character. Perhaps I'll look at adding that tonight to see if it resolves the problem. Also, would you like me to send you the little change I made to allow 1 block pixels? I'm not a Java programmer and I'm sure you can do better, but it may be useful to see what I did since it seems to work well and doesn't overly complicate the arg parsing code.


    What is the material behind the wood and stone blocks? Since your chip is "L" shaped, there is a pair of blocks we can't see in the picture. If those blocks are Sand Stone, what you have should work. If not, then it won't.

    Morden.
     

Share This Page