• 0

    posted a message on [Forge Multipart] ProjectRed - v4.7.0pre12.95 - 02/08/2016

    on a different topic...I found a very cool use for block breakers/placers:




    This is a binary counter with up/down/load/clear functions. The zigzag line running up the back is the clock signal. if an orange block is cutting that wire, that stage of the counter (and all others above it) doesn't toggle. when it does toggle it either removes or places that block. Why use placers/breakers? Because they place/break blocks instantly, making the outputs *perfectly synced*. There is no propagation delay between the bits. And its only 3 ticks. I could have used pistons, but we all know how everyone frowns on those, never mind bud/block dropping issues.


    I have a version of this that only counts up. Since that one doesn't have the direction/reset/load logic, its only 2 ticks. I think if it had the load/reset logic and still stay at 2 ticks, it should be perfect for a program counter.


    This is an 8 bit version...this can be extended to however many bits you want, it will always stay at 3 ticks. The chests are there to catch the block from the breakers, and there's a transport pipe with extractor/responder chips linked between the placer and chest to keep the placers stocked. That part of the counter has no effect on it's speed, the placers are stocked with a full stack of blocks ;) This could easily be built horizontally as well. I just prefer vertical 'bit slice' designs, this is for a big project I'm working on.


    I've done a vertical insta-carry adder using this same technique, and its pretty darned fast too.

    Posted in: Minecraft Mods
  • 0

    posted a message on [Forge Multipart] ProjectRed - v4.7.0pre12.95 - 02/08/2016
    Quote from Spector171»

    Right after my last post, It dawned on me that it would be even better to completely disable the individual layers of the decoder when not in use.

    This is the revised design: https://gyazo.com/def0fb5ec43ba01925a0c9fa3bf08fb6

    The smaller 1x4 array on the left represents the 4 most significant bits of the address. A layer of AND cells was added to the start of the decoder. A buffer gate was placed facing the first row of the decoder to account for the fact that it remains off if the decoder is not given any inputs. This essentially prevents the entire decoder from updating if it is not currently relevant to the address.



    Ive done similar builds like this...and i find this pattern useful:


    build 2x 4-16 decoders. first for lower 4 bits of address, 2nd for high 4 bits


    assuming 16 banks of 16 memory slots, use bus transceivers on the output lines of each bank.

    connect the high decoder outputs to those transceivers (bank 0 gets white output, bank 1 gets orange output, etc). mirror the lower decoder outputs to all the banks to select memory cells, but tie the read/clock lines on each memory cell to gates that AND the lower decoder signals with the hi bank selector.


    That's it. And you only need 2 decoders to handle that. Add another decoder to handle another 4 bits, and then you would need an and gate on all those transceivers to do a block (16 bank) selector. you get the idea. you dont need to do a decoder per bank of 16 memory cells, that's just asking for a slideshow ;)

    Posted in: Minecraft Mods
  • 0

    posted a message on scratching my head on this one....

    for mc version 1.12...

    execute @e[tag=b] ~ ~ ~ detect ~ ~-1 ~4 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~5 concrete 7 setblock ~ ~-1 ~16 concrete 4


    so the deal with the above command is this....when placed in a command block...it fails and does nothing.

    when ran in chat or in a mcfunction...it works.


    what gives?


    the setup: there are 30 armor stands tagged as b, and each stand also has a unique tag, b1 to b30. all stand over a patch of concrete blocks that are used to perform some math functions. in this case, the command performs one half of an xor operation. the other half is exactly the same as this, but with the concrete data values swapped in the detects. I could just as easily put this in a mcfunction and call it the day, but im curious why it fails when ran inside a command block.

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on Identify this mod.

    its called ShulkerBoxViewer. if you launch MC from twitch, it will come up in the mod list (for 1.12, havent tried older versions)

    Posted in: Mods Discussion
  • 0

    posted a message on [solved] binary adder with mc commands

    ignore the above post...the code is flawed. I did have to do it like a ripple carry.


    new code:


    # a + b
    # fill scratch area with 0's
    execute @e[tag=A1] ~ ~ ~ fill ~ ~-1 ~-80 ~16 ~-1 ~-70 concrete 7
    # ~ ~ ~-80 = a xor b
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~1 concrete 7 setblock ~ ~-1 ~-80 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~1 concrete 4 setblock ~ ~-1 ~-80 concrete 4
    # ~ ~ ~-79 = a and b
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~1 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    # now do a proper ripple carry adder
    function tta:adder
    # copy result
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-78 concrete 4 setblock ~ ~-1 ~11 concrete 4
    
    # a - b
    execute @e[tag=A1] ~ ~ ~ fill ~ ~-1 ~-80 ~16 ~-1 ~-70 concrete 7
    # a xor (not b )
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~3 concrete 7 setblock ~ ~-1 ~-80 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~3 concrete 4 setblock ~ ~-1 ~-80 concrete 4
    # a and (not b )
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~3 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    # carry in (+1 for 2s compliment on inverted b input)
    execute @e[tag=A1] ~ ~ ~ setblock ~ ~-1 ~-79 concrete 4 
    function tta:adder
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-78 concrete 4 setblock ~ ~-1 ~12 concrete 4



    and the adder code:

    execute @e[tag=A1] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A1] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A1] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A2] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A2] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A2] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A3] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A3] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A3] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A4] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A4] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A4] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A5] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A5] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A5] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A6] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A6] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A6] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A7] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A7] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A7] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A8] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A8] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A8] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A9] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A9] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A9] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A10] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A10] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A10] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A11] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A11] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A11] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A12] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A12] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A12] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A13] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A13] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A13] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A14] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A14] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A14] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A15] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A15] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A15] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    
    execute @e[tag=A16] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A16] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A16] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-79 concrete 4

    all that does is perfom an xor, then and, and carry the and result to next bit, repeat across all 16 bits. this is why i had the armor stands tagged as a whole group and individual bits ;)


    next up...multiplier...ugh

    Posted in: Commands, Command Blocks and Functions
  • 0

    posted a message on [solved] binary adder with mc commands

    (Edit: changed title as this is not a command *block* but a function containing many mc commands)


    I was toying around with making a command block cpu. Then I discovered that 1.12 had functions, so naturally I had to take advantage of that.


    while writing an alu script, i had to come up with a binary adder. I tried using player operations to do the math but converting a negative number to binary is not as trivial as it sounds (i was using the mod 2 / div 2 reduction to get the bits, mod does not like negatives...)


    so back to basics, doing it the same way a computer would do it..one bit at a time


    there are 16 armor stands that stand over the input 'bits' written out as blocks on the ground. all are tagged as 'A', and also tagged A1..A16..this way i can write commands that select all stands at once, or any particular stand


    the code i have so far, note that grey concrete (7) is a zero, yellow concrete (4) is a one:

    # fill in the result area with 0's
    execute @e[tag=A1] ~ ~ ~ fill ~ ~-1 ~2 ~15 ~-1 ~24 concrete 7
    
    # bits for input a are at ~ ~-1 ~, bits for input b at ~ ~-1 ~1 in relative coords to the armor stands
    
    # not a
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 7 setblock ~ ~-1 ~2 concrete 4
    
    # not b
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~1 concrete 7 setblock ~ ~-1 ~3 concrete 4
    
    # a and b
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~1 concrete 4 setblock ~ ~-1 ~4 concrete 4
    
    # a or b
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 setblock ~ ~-1 ~5 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~1 concrete 4 setblock ~ ~-1 ~5 concrete 4
    
    # a xor b
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~1 concrete 7 setblock ~ ~-1 ~6 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~1 concrete 4 setblock ~ ~-1 ~6 concrete 4
    
    # a shl 1
    execute @e[tag=A1] ~ ~ ~ clone ~ ~-1 ~ ~14 ~-1 ~ ~1 ~-1 ~7 replace force
    execute @e[tag=A1] ~ ~ ~ setblock ~ ~-1 ~7 concrete 7
    
    # a shr 1
    execute @e[tag=A1] ~ ~ ~ clone ~1 ~-1 ~ ~15 ~-1 ~ ~ ~-1 ~8 replace force
    execute @e[tag=A1] ~ ~ ~ setblock ~15 ~-1 ~8 concrete 7
    
    # a rol 1
    execute @e[tag=A1] ~ ~ ~ clone ~ ~-1 ~ ~14 ~-1 ~ ~1 ~-1 ~9 replace force
    execute @e[tag=A1] ~ ~ ~ clone ~15 ~-1 ~ ~15 ~-1 ~ ~ ~-1 ~9
    
    # a ror 1
    execute @e[tag=A1] ~ ~ ~ clone ~1 ~-1 ~ ~15 ~-1 ~ ~ ~-1 ~10 replace force
    execute @e[tag=A1] ~ ~ ~ clone ~ ~-1 ~ ~ ~-1 ~ ~15 ~-1 ~10
    
    # a + b
    # is this a new kind of adder? this is *not* a ripple carry adder...all 16 bits are calculated in parallel on every execute command
    # clear scratch work area
    execute @e[tag=A1] ~ ~ ~ fill ~ ~-1 ~-80 ~16 ~-1 ~-70 concrete 7
    # ~ ~ ~-80 = a xor b
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~1 concrete 7 setblock ~ ~-1 ~-80 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~1 concrete 4 setblock ~ ~-1 ~-80 concrete 4
    # ~ ~ ~-79 = a and b
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~1 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    # ~ ~ ~-78 = -80 xor -79
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    # ~ ~ ~-77 = (-80 and -79) shift left 1
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-77 concrete 4
    # result = -78 xor -77
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-78 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-77 concrete 7 setblock ~ ~-1 ~11 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-78 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-77 concrete 4 setblock ~ ~-1 ~11 concrete 4
    # result |= (-78 and -77) shift left 1
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-78 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-77 concrete 4 setblock ~1 ~-1 ~11 concrete 4
    
    # a - b
    execute @e[tag=A1] ~ ~ ~ fill ~ ~-1 ~-80 ~16 ~-1 ~-70 concrete 7
    # a xor (not b )
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~3 concrete 7 setblock ~ ~-1 ~-80 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~3 concrete 4 setblock ~ ~-1 ~-80 concrete 4
    # a and (not b )
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~ concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~3 concrete 4 setblock ~1 ~-1 ~-79 concrete 4
    # carry in (+1 for 2s compliment)
    execute @e[tag=A1] ~ ~ ~ setblock ~ ~-1 ~-79 concrete 4 
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 7 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-80 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~ ~-1 ~-78 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-80 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-79 concrete 4 setblock ~1 ~-1 ~-77 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-78 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-77 concrete 7 setblock ~ ~-1 ~12 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-78 concrete 7 execute @s ~ ~ ~ detect ~ ~-1 ~-77 concrete 4 setblock ~ ~-1 ~12 concrete 4
    execute @e[tag=A] ~ ~ ~ detect ~ ~-1 ~-78 concrete 4 execute @s ~ ~ ~ detect ~ ~-1 ~-77 concrete 4 setblock ~1 ~-1 ~12 concrete 4



    keep in mind this is a function..not a command block. all this gets done on a tick, and writing all the results into the 'output' registers, like below:


    im just curious...what type of adder is this? Ive worked with many types of adders (mostly redstone) like rca, ica, cca...i dont know what to call this one ;)


    for the curious, input a is set to 111, b to 454. last 2 rows closest to bottom of image show a+b = 565, a-b = -343

    Posted in: Commands, Command Blocks and Functions
  • 1

    posted a message on Pokemon Red Fully Recreated without Mods!

    pardon my semi-necro...


    has anyone found how the player movement is done? Id like to use the method in a map im working on but...600+k command blocks...not sure where to start looking ;)


    either way, extremely impressive work on this. it is truly mind boggling how much work was put into this, and the fact minecraft can even handle it so well is even more impressive.

    Posted in: Maps
  • 0

    posted a message on Brewing Automation Delays


    the trick is the comparator on the hopper dumping items into the brewing stand. once the last item (the nether wart for next potion) goes in, the comparator turns off and its done. no need for timers.

    Posted in: Redstone Creations
  • 0

    posted a message on [Forge Multipart] ProjectRed - v4.7.0pre12.95 - 02/08/2016
    cannot place torches on basalt walls...how can i complete my castle greyskull without torches on the wall blocks?!?!
    Posted in: Minecraft Mods
  • 0

    posted a message on Gany's Nether - Miscellaneous nether themed additions!
    Quote from JearBear05

    Well it may just be on me and my inability to find things but I've only found 2 or 3 reeds and 2 or 3 wheat, I haven't found any quartz berries or wither shrubs.


    see but thats all right...once you plant the reeds, let them grow, break off the excess and plant those...i made a farm of 12 stalks from just 2 reeds i found in the nether. same with the wheat...eventually they will drop multiple seeds, just like normal wheat.

    check it:

    Posted in: Minecraft Mods
  • 0

    posted a message on Gany's Nether - Miscellaneous nether themed additions!
    in the OP, you posted the recipe for the dense lava cell showing 5 lava buckets. but in game, i see the middle block is..fire. what happened?



    i can nei the fire in for now, but dang man...
    Posted in: Minecraft Mods
  • 0

    posted a message on CubeX2's Mods - All mods available for 1.8.9
    would it be too much to ask for version specific download links? I see you have a lot of files on your mediafire links, and the version numbering you use does not help in identifying which one goes with a specific forge or mc version...would really help clarifying it as not all people play latest versions of MC. FTB Ultimate players use mc 1.4.7, FTB Unleashed use version 1.5.2, etc

    perhaps make your filenames include mc versions...that would solve a lot of headaches.
    Posted in: Minecraft Mods
  • 0

    posted a message on [1.5.1/1.5.2] PowerCrystals' mods - The updates never stop
    so... how does one load up a 16 bit value into the decompose int->decimal circuit? something with values greater than 0-15,,,
    Posted in: Minecraft Mods
  • 2

    posted a message on 13w36a Snapshot Ready for Testing!


    most epic village spawn ever =)
    Posted in: Minecraft News
  • 0

    posted a message on 13w36a Snapshot Ready for Testing!
    seed = nuclear
    landscape = lots of extreme verticals (with lava falls =), lots of pandora mountains, pure epicness.

    its almost like the Aether....without the aether clouds or bottomless void =)
    Posted in: Minecraft News
  • To post a comment, please .