Jump to content

  • Curse Sites
Become a Premium Member! Help
Latest News Article

Baezon's Redstone Simulator v2.2!


  • This topic is locked This topic is locked
427 replies to this topic

#1

Baezon
    Baezon

    Coal Miner

  • Members
  • 134 posts

Posted 13 July 2010 - 03:04 AM

If you don't like running around in Minecraft for days placing wire and torches just to find out that you missed a spot, or your design is flawed, or a creeper just took out your delicately designed adding machine, then this program is for you! It can simulate all the oddities of redstone behavior so you can double-check your designs before actually building them in Minecraft.

Get it here: Redstone Simulator v2.2

Earlier versions: v2.1v2.0v1.82v1.8v1.7v1.6
I don't still have versions earlier than this, but these are pretty stable if you find a bug in the latest version.

Note that this is super-duper-pre-release-alpha stuff (EDIT: not really anymore), so brace for bugs, and tell me any you find, so I can fix them. My first priority, of course, is making sure that every redstone behavior is mimicked, so if you find a problem there, I definitely want to hear it. I also know that the interface sucks, and I am open to suggestions.

Quote

Redstone Simulator v2.2

This program simulates the behavior of redstone in Minecraft.

----- Controls -----

Left click to erase tiles or activate switches.
Right click to place the active material on the map.
Middle click on torches or switches to change the wall they are attached to.
Use the scroll wheel to select a material from the palette.

----- Menus -----


-- File --

New: reset field to empty 30x20x7 map.

Save/Open: save and load .rdat files to keep designs between runs of the program. You can also open .schematic files (exported by MCEdit) and .dat chunk files from the game.

Export as GIF: creates a GIF file containing the entire design, animated to show the layers (bottom to top). Each frame stays for 2 seconds.

Exit: Take a wild guess.

-- Edit --

Clone: copy parts of a map. Click once to set one corner, again to set the diagonally opposite corner (use the layer buttons to make a tall selection box), and once more to set the bottom corner of the paste region. Press Escape to stop cloning before finished. WARNING: separate torches from their blocks, chop doors in half, etc. at your own risk.

Tick - step forward in time by one "tick" - that is, the time for a torch to turn on or off from its previous state.
Play - tick continually (at 10 ticks per second)
Pause - stop simulation

Options...: Opens the Options dialog. (See below.)

Look and Feel: Choose another interface style from the menu if you prefer.

-- View --

Level up/down: Press these buttons (or up and down arrow keys, or W and S) to go through horizontal slices. Level 1 is ground level.

-- Adjust Size --

Adjust Size: Click this button to open a separate panel.

These 12 buttons move each face of the cuboid region in or out, creating more or less space to work in. The circled dot is an arrow pointing at you, and the circled plus is an arrow pointing away from you. If you shrink the area where you have placed components, the program will warn you, unless you hold Shift while doing so.

The two menus do the same thing, but are accessible directly through the menu, or through the numpad key combinations.

----- Options -----
There are several options in this dialog for fine-tuning the interface. In order:

Cyclic (in X and Z only) - torches, wires, power, and everything else "bleeds" over the edges and wraps around. You can even connect a torch to a block on the other side of the field!

"Natural" wire connections - A modification of Minecraft's wire connection algorithm, intended to help visualize the connections without extraneous connections. Wires only point in a direction if they are receiving power from or are powering the tile. To avoid confusion, unconnected wires form "squares" instead of crosses and singly-connected wires don't extend all the way across the tile. That way, screenshots in this mode should be distinctive enough that the different pointing direction doesn't confuse anyone who may be expecting something else.

Ground switches power blocks below - In Minecraft, there are two kinds of ground switches -- E/W, and N/S. One of them powers the block below them, and the other doesn't. This option toggles the behavior of ground switches to behave in on mode or the other.

Show only one layer / Show three layers - deselect both checkboxes for 2 layer mode. In 1 layer mode, no 2-layer palette options are available, and only 1 layer is visible. In 2 layer mode, bridges and wire-block-blocks are not visible. In 3 layer mode, all available tiles are visible.

Show bridges - Enable this option to have a wire on a gray background mean "wire over block over wire" or disable it to show "wire over block over air" instead. They cannot both be viewed simultaneously, as that would cause ambiguity.

Block type - This will be used when exporting to .schematic files. Choose which block you would like the "generic block" to actually become. (Grass/Dirt grows grass everywhere it can, and uses dirt everywhere else.)

----- Main view -----

This is where you make your design. Use the controls described earlier to draw.

Note that you actually view 2 layers at once: the level stated in the toolbar, and the one above that. this is so that you can see most 2D designs. See Palette.


----- Palette -----

Click on the buttons to select the active material, or use the mouse wheel. From left to right, the materials are:

Air: air over air
Block: air over block
Wire: air over wire (note that this will also place a block below, if necessary)
Torch: air over torch (middle click to change orientation)
Switch: air over switch
Button: air over button (button lasts 10 ticks)
Wire over Block
Torch over Block
Switch over Block
Bridge: wire over block over wire (this is the only palette option that will change anything 2 levels above, but is provided for convenience in viewing and editing)
Block over Wire
Block over Torch
Block over Switch
Door: 2-high (unlike Minecraft, this door actually makes the right sounds for open and close, rather than random)
Shadow: special block (see below)

Note that not all combinations of two materials stacked are represented here. In these cases (like torch  over torch, switch over plate) only the bottom object will be visible (although you can always use the level up button to get a complete picture).

The shadow block appears the same color as the grid, but is functionally equivalent to air. It is good for drawing the bounds of an irregularly shaped circuit. When exported as GIF, it appears transparent.

----- Status Bar -----

Layer number: This shows what layer you are on. The numbering starts at 1 at the lowest level and goes up from there. If it is blue, you are above or at ground level. If you are underground (by using the "Back (ground) face down" menu item or button), it will be brown.

Size: Number of blocks long, wide, and high. Order is X,Z,Y (for backwards compatibility).

Location: Only visible if the cursor is over the field. Shows the X.Y.Z position of the mouse (with 0-based indices).

Redstone counts (right):
Keep track of your materials budget. The red cross is the number of redstone wires placed, the torch is the number of torches, and the ore is torches + wires = the total amount necessary to mine.

-----

This is still very much a work in progress; please PM or post to Baezon on the Minecraft Forum:

http://www.minecraftforum.net/

to report any behavior which does not match Minecraft redstone, or any bugs, feature requests, or interface ideas that might help me improve this work.

Quote

Changelog:
v2.2
Added shadow block.
Fixed "Save As..." bug.

v2.1
Added icon. Added missing-image and -sound support (which you should never have to experience). Made the save/open dialogs return to the folder of the last save, instead of My Documents. Added GIF export of full design (2 sec frames)

v2.0
Fixed pressure plate behavior so that it now acts like a switch while paused. Fixed minor pressure plate bugs. Added "ground level" information, now shown by the color of the layer number; expansion buttons use this to keep the ground level, regardless of the order of button pressing. Added "Zoom In" and "Zoom Out" buttons. Overhauled UI to include a status bar, toolbar, and menu (in place of the bank of buttons). Icons were created or borrowed from the Java LAF Graphics Repository. Added Look & Feel adjustment settings. Adjusted tooltip movement and partially fixed tooltip disappearing bug. Added XYZ tracking to status bar. Added opened file and modification tracking.

v1.82
Added an option to modify the "generic block" export type for .schematic files. Fixed bug introduced in v1.8 which caused "1/3-layer mode" buttons to fail.

v1.8
Added pressure plate and tooltip info tool.

v1.7
Added export of .schematic files, added Escape from clone mode, automatic return to bottom of selection when placing clone. Fixed minor import bugs.

v1.6
Added import of .schematic and .dat, added "Options" button with "Cyclic", "Natural wire connection", "ground switch", "1/2/3 layer" mode, and "show bridges".

v1.5
Added "torch over air", "torch over wire", "wire on block on block" tiles. Fixed palette compression bug.

v1.41
Fixed bug where torch blocks wire power flow, fixed double door behavior.

v1.4
Added scrollbars, "New" and "Clone" buttons, double doors, and a "hinge" indicator for doors to unambiguously indicate how they move and whether they are powered or not. Palette now resizes with the window.

v1.31
Fixed door bugs, added block-on-block palette material, made block, wire, torch, switch, and button palettes 1-high (instead of replacing above with air)

v1.3
Added button (timed switch, lasts 10 ticks), door (with open and close sounds)

v1.2
Initial public release


Register or log in to remove.

#2

Warlord255

Posted 13 July 2010 - 03:18 AM

Is it Windows only?

#3

Rezdude
    Rezdude

    Zombie Killer

  • Members
  • 227 posts

Posted 13 July 2010 - 03:32 AM

Hi! screenshots please?
Help support music in minecraft!
http://www.minecraft...php?f=1&t=51308

#4

Lil_Parker

Posted 13 July 2010 - 03:33 AM

How do I run it?
Edit: Stupid thing, opening in WinRAR.

#5

Blizarn
    Blizarn

    Iron Miner

  • Members
  • 252 posts
  • Location: Florida

Posted 13 July 2010 - 03:35 AM

I used it and it doesn't turn Redstone torches off when they are powered :Notch:
EDIT:FAIL i forgot i saw a "Tick" and "Play" button...

#6

Blackwind
    Blackwind

    Nether Resident

  • Members
  • 2114 posts
  • Minecraft: Blackwind

Posted 13 July 2010 - 03:39 AM

One thing, the speed for the clocks is too fast. I made an 11clock and it doesn't go through each gate at a speed of 1 second of which the one in Minecraft did. We need the speeds to be exact so we can make it to our best intentions. Also add doors please with sound as well from the sound files.
http://imgur.com/LXMzn.png
Posted Image

MichaeljMM79 said:

Talent didn't go anywhere, it just gets lost in all the noise. You have to find it.

http://www.minerwars.com/?aid=640

#7

Peewee223
  • Location: Location: Location:

Posted 13 July 2010 - 03:40 AM

Blizarn said:

I used it and it doesn't turn Redstone torches off when they are powered :Notch:
That's because it's paused.
Press "play" or at least "step" to make it run as if it were in-game.

fr0stbyte124 said:

I hate to derail a perfectly good dick thread
This is not a spammy link, but rather a handy guide
DISCLAIMER: any diagrams I post should be taken with a grain of salt.

#8

Blackwind
    Blackwind

    Nether Resident

  • Members
  • 2114 posts
  • Minecraft: Blackwind

Posted 13 July 2010 - 03:48 AM

Don't forget you need to add buttons.

MichaeljMM79 said:

Talent didn't go anywhere, it just gets lost in all the noise. You have to find it.

http://www.minerwars.com/?aid=640

#9

Uncreative.
    Uncreative.

    Lapis Lazuli Collector

  • Members
  • 1116 posts
  • Location: Look behind you.

Posted 13 July 2010 - 04:11 AM

Not to be that guy, but this belongs in the Modding and Mapping section, I think.

I'm glad to see that you finally finished the program though :(

#10

Baezon
    Baezon

    Coal Miner

  • Members
  • 134 posts

Posted 13 July 2010 - 04:27 AM

Warlord255 said:

Is it Windows only?
Although I only have Windows, it is Java, so it should run anywhere with a VM.

Blizarn said:

I used it and it doesn't turn Redstone torches off when they are powered :Notch:
EDIT:FAIL i forgot i saw a "Tick" and "Play" button...
The program starts up paused, so you need to press "Play" in order for it to behave like Minecraft.

IMPORTANT NOTE: I learned the reason for torch burnouts while making this program. It turns out that "everything on *tick* everything off *tick* repeat" is a stable state, no matter how complicated your circuit, for certain loops, so if you build the whole circuit while paused, there is a high probability that this will happen when you play. In Minecraft, this "deadlock" is solved by turning everything off, then fading the torches back at random. I don't have torch burnouts, so you have to break and remake connections until it settles down.

Blackwind said:

One thing, the speed for the clocks is too fast. I made an 11clock and it doesn't go through each gate at a speed of 1 second of which the one in Minecraft did. We need the speeds to be exact so we can make it to our best intentions.

It's interesting that you say that your 11-clock runs too fast in my program, as the delay I have set is 100ms, so it should flip every 1.1 sec, which is slower than Minecraft (at least, based on your observation). Unfortunately, I think that chunk updates and other non-redstone things interfere too much with tick speeds too much to get an accurate reading on the "speed of a tick". I wasn't actually trying to match speeds with Minecraft; that I got so close is good news, I guess. For the more discriminating type, though, I might add in a speed control for that.

Blackwind said:

Also add doors please with sound as well from the sound files.

Blackwind said:

Don't forget you need to add buttons.

I was trying to keep it simple to keep the palette size down, but I can understand the need for auditory feedback in the form of a door. And I hadn't thought of buttons; TBH I've never used them, but if they operate differently enough from switches I suppose they are necessary.

Uncreative. said:

Not to be that guy, but this belongs in the Modding and Mapping section, I think.

You may be right, although in that case I would question the forum title, is this neither Maps nor Mods the program. I'd prefer to call it an "external reference". (Although a feature I have been contemplating is the ability to port circuits directly into an Alpha map, which would make it a "mod" if I ever get around to it. :P )

#11

Kairuni
    Kairuni

    Tree Puncher

  • Members
  • 29 posts
  • Minecraft: Kairuni

Posted 13 July 2010 - 05:18 AM

Buttons operate like switches, but only stay on for a moment. t's very easy to delete a switch when you try to simulate a button's delay.

Also, for some reason, things like this aren't working:
:Red: = redstone on ground
:P = a block with a torch on top of it
:grass:
:--+:
:Red:  :Orange:

But
:grass:
:--+:
:Red:
:Orange:
works fine.

#12

Duke 2.0
    Duke 2.0

    Retired Staff

  • Retired Staff
  • 1612 posts
  • Location: Trollslum

Posted 13 July 2010 - 05:25 AM

I would have moved this, but as he said this doesn't really have much of a mapping or modding feel. It's more of an external program that involved Minecraft in some way. And while it may fit better in the other forum it would probably be best to keep it here for now.

#13

Baezon
    Baezon

    Coal Miner

  • Members
  • 134 posts

Posted 13 July 2010 - 06:44 AM

Kairuni said:

Buttons operate like switches, but only stay on for a moment. t's very easy to delete a switch when you try to simulate a button's delay.

Also, for some reason, things like this aren't working:
:Red: = redstone on ground
:D = a block with a torch on top of it
:D
:--+:
:Red:  :D

But
:D
:--+:
:Red:
:D
works fine.

Try it yourself in Minecraft to see that that is intended behavior, although I agree it is very counter-intuitive. The way I have the logic is this: a block which is figuring out if it is wire-powered first looks around for adjacent powered wires. (Both examples have this.) Then is ascertains that the powered wire has nothing to its left or right which it wants to connect to (i.e. other wires, switches, or torches). If there are things there, the block won't power, and the torch will stay on. (Even if the wires seem to imply that they are connecting.) Try adding a bit of wire off to the side of your second example and watch the light turn back on. Go figure. [EDIT]

Posted Image

You shouldn't have any problems accidentally deleting switches in my program, since left-clicking will not delete them (you have to right-click with the "air" palette material). Just click once, then again after a second or so. (I'm working on adding a bona fide button anyway, though.)

Also, I'm having trouble characterizing door powering. Does anyone want to take a stab at explaining exactly which blocks need to be powered in which way which will activate a door?

EDIT: Also also, it's probably a question of taste, but should switches be tied to main time control (i.e. pausing quickly after pressing them would keep them on indefinitely), or should they run separately? I'm trying to count how many ticks a button stays down for, but I'm getting inconsistent results, which probably means that Minecraft tracks their timing separately, and lag affects the comparison. Opinions?

EDIT 2: I've added the requested features, pushing the version to 1.3. Now includes switch and door. In response to my own questions just above, I've decided to make the switch run on the global clock, at 10 ticks. I figure it's not as useful if it were an absolute 1 second. The door is activated whenever its blocks, or any blocks it is touching, are wire- or torch-powered. (Note that "torch-powered" is equivalent to switch- or button-powered.)

#14

Atomizer

Posted 13 July 2010 - 01:07 PM

Really nice :Skeleton:
Spent a couple of minutes and look! Airlock! (not that it hasn't been done already...)
Posted Image

And if anyone wants just just quickly load it up to play around with it: rdat file

Edit: And shortly after...compacted it, and for a proper airlock youll prolly always approach it from the same side anyway, which means the door will always be open and so I removed the 2 outside switches:
rdat download
Posted Image

#15

Peewee223
  • Location: Location: Location:

Posted 13 July 2010 - 01:28 PM

It needs scroll bars on the sides so I can get to work on a CPU.

Also, copy+paste.

(oh, and it runs fine on this mac)
Never mind, it's pretty buggy on the mac... 1 sec and I'll try on a windows VM to see if it's the OS or the program :Skeleton:
Ok, it's mostly the mac, but double-doors aren't implemented.

EDIT #N+1:
-It's VERY frustrating to edit 3 tiles at once when it isn't necessary, especially when working underground.
--Why does placing a block (yellow) remove the block from the space above it?

-Placing torches near other torches is challenging. A user should be able to choose which edge to place it on (or to place it in the center), instead of having to get rid of the others.

-IMO, you should change the graphics to show what's under the current level, so one can avoid placing a wire and erasing a wire directly below.

fr0stbyte124 said:

I hate to derail a perfectly good dick thread
This is not a spammy link, but rather a handy guide
DISCLAIMER: any diagrams I post should be taken with a grain of salt.

#16

ToxicPotato

Posted 13 July 2010 - 03:17 PM

Pretty cool. Maybe I can actually learn how to use the stuff a bit easier, now.

#17

madk
    madk

    Nether Resident

  • Members
  • 2163 posts
  • Minecraft: madk

Posted 13 July 2010 - 03:32 PM

MegaUpload is horrible. Use this link instead, if you please.

#18

Snake
    Snake

    Void Walker

  • Members
  • 1764 posts
  • Location: United States of America

Posted 13 July 2010 - 08:47 PM

Looks nice. The only problem is that I've never been the one to actually do anything with Redstone. I can never think up a practical way to use it.

#19

matthew102000

Posted 14 July 2010 - 04:20 AM

Warlord255 said:

Is it Windows only?

i hope so...

anyway, this is great! i love it.
Give me an internet, or Chuck Norris will kill you!!!
Posted Image

#20

JamesK89
  • Location: USA

Posted 14 July 2010 - 04:51 PM

I thought I might mention there is no sound on Linux. No biggie but something you may want to look into if the door sounds are that important to people.