RedPower 2 Prerelease 5b1 (for Minecraft 1.2.5)

I’ve quickly patched a bunch of the most serious bugs in RP2pr5, especially the crash bugs. There are still bugs remaining, but they’re less serious/less likely to happen/less likely to crash your game or server. This is why this version is 5b1. There will be a 5b2 sometime in the next week or so that cleans up more of the bugs, but some of the ones I’ve already fixed are pretty critical.

Fixes

  • Cleaned up Control. Now uses the translation table, fixed the disk being treated as a block instead of an item, etc.
  • Drives drop disks when broken.
  • Fixed SMP rendering bugs in Control.
  • The Assembler no longer crashes when multiple bundle-mode Assemblers are adjacent.
  • Screwdrivering pumps no longer crashes.
  • Frames are much less likely to crash with other mods, and will drop far fewer block types when moving.
  • Fixed the << word in MineOS.
  • Frame Motors no longer lose power on chunk reload.

RP Control Internals.

Some of you want to write your own OS for the computer, and aren’t afraid of 6502 assembly. Here’s a quick rundown of what’s in RP Control, internally. First, the memory map:

Memory structure:


0x0000 Zero page
0x0100 P-stack
0x0200 R-stack
0x0300 bus output
0x0400 bus input (also Bootloader space)
0x0500 Ram (the bootloader loads the disk image here)

The MMU instruction, which is not documented in the instruction tables, takes a single byte parameter. The currently defined MMU commands:

MMU OpCode:


0x00 Map device in Reg A to redbus window.
0x80 Get mapped device to A.

0x01 Redbus Window offset to A
0x81 Get RB window offset to A.

0x02 Enable redbus
0x82 Disable redbus

0x03 Set external memory mapped window to A.
0x83 Get memory mapped window to A.

0x04 Enable external memory mapped window.
0x84 Disable external memory mapped window.

0x05 Set BRK address to A
0x85 Get BRK address to A

0x06 Set POR address to A
0x86 Get POR address to A

0xFF Output A register to MC logfile.

The Display registers:


0x00 Memory access row.

0x01 cursor x
0x02 cursor y
0x03 cursor mode (0: hidden, 1: solid, 2: blink)

0x04 key buffer start (16 byte buffer)
0x05 key buffer position
0x06 key value at buffer start

0x07 blit mode (1: fill, 2: invert; 3: shift)
0x08 blit x start / fill value
0x09 blit y start
0x0A blit x offset
0x0B blit y offset
0x0C blit width
0x0D blit height

0x10 -> 0x60 display memory window

IO Expander:


0x00-0x01: Read buffer (little endian)
0x02-0x03: Output latch

Disk Drive:


0x00-0x7F: Disk sector buffer
0x80-0x81: Sector number
0x82: Disk command:

0: Idle/success
1: Read Disk Name
2: Write Disk Name
3: Read Disk Serial
4: Read Disk Sector
5: Write Disk Sector
0xFF: Command failure

RedPower 2 Prerelease 5 (for Minecraft 1.2.5)

The day has finally arrived! RedPower 2 PR5 is now available, complete with Frames and a preview of RedPower Control!

Unofficial Recipe List

New Features

  • Added Frames and Frame Motors.
  • Logic rewrite with lots of new logic gates and new “mirror” modes.
  • Added RedPower Control computers.
  • Added Pumps, Fluid Pipes, and Grates.
  • Added the Ejector, Relay, and Assembler.
  • Basalt is now creeper-resistant and microblocks are explosion-resistant.
  • Added the Wool Card.
  • Removed the Array package.
  • Added the Athame.

Known Issues

  • Frames currently have some trouble moving things that need support. Levers are especially effected by this, as is anything with an active redstone state. This is caused by vanilla behavior, and while I have a planned solution, it isn’t ready yet. Expect this to improve in the future.
  • The OS for Control is currently very basic, and nearly undocumented. I hope to fix that in the future.
  • There may be certain small refresh glitches in SMP on chunk boundaries.
  • The Logic rewrite isn’t very compatible with the pr4 series. Logic tiles in inventories are going to get corrupted, and the current state, including rotation, will be lost on load, although they should convert tiles in world. This was unfortunately unavoidable.

RedPower 2 Prerelease 4e (for Minecraft 1.2.3)

While I’m still busy working away on pr5, I backported a bunch of the new content to 1.2.3 and present it here as RedPower 2 Prerelease 4e. Download button up top, like usual.

Unofficial Recipe List

In addition to 1.2.3, there are a bunch of new blocks, and more bugfixes than I can count.

New Features

  • Added Magtubes, Accelerators.
  • Added Restriction Tubes.
  • Added Igniter.
  • Added Regulator.
  • Added Blulectric Alloy Furnace.

Changes

  • Tubes no longer eject items, use a Transposer for deliberate ejection now.
  • Battery boxes can be powered with redstone to prevent discharge.
  • Retrievers now have sliding window.

Fixes

  • Fixed the scheduler bugs.
  • Fixed the recipe for the Thermopile.
  • Fixed Deployer glitches.
  • Lots of other bugfixes backported from the pr5 branch.

RedPower 2 Prerelease 4d (for Minecraft 1.1.0).

For those who want RedPower on 1.1.0, I present RedPower 2 Prerelease 4d. Download button up top, like usual.

Unofficial Recipe List

The biggest change in this version is simply that it runs on Minecraft 1.1.0, but there are a few new features too.

New Features

  • Added the Project Table, an improved manual crafting table. This is not an automatic crafting table, please don’t ask me to make it into one.
  • Added the Thermopile, which generates power from a temperature differential across it. Now you can run your sorting setup in inconvenient locations.
  • Filters now have color tagging support.

Fixes

  • Fixed the Deployer interacting with animals.
  • New recipe handling, which removes microblocks from the default recipe list and eliminates crafting lag.
  • No more glass jacketed wires.

RedPower 2 Prerelease 4c.

So, I updated again, RedPower 2 Prerelease 4c, for Minecraft 1.0.0. Download button up top, like usual.

Unofficial Recipe List

This is an incremental bugfix release, with only a few changes. One bug has been causing a fair amount of trouble, and there was previously no way of getting Blutricity in the Nether. Moving batteries around is less than ideal, but since Sorting Machines and Retrievers use so little power, at least now you will be able to sort things in a nether base.

Fixes

  • Improved damaged item comparisons.
  • Fixed counting bug in Filters, etc.
  • Fixed default coloring in empty Sorting Machines.
  • Back-ported the new Battery Box.

More news on Frames!

So I’ve been working more on Frames, and while there’s still a number of bugs remaining (especially graphical bugs), I’m able to start making things out of them.

So first, I made a vault door:

Then I set out to do something a lot more ambitious:

This machine functions much like a Buildcraft Quarry, but it’s done entirely without “magic blocks”. I designed and built it in-world out of existing RedPower blocks and Frames. While this particular function is familiar-looking, it’s only one of millions of possibilities.

This is what I mean when I talk about making the parts work together. Other mods have some of the parts of this, but no combination of them can be used to build these sorts of machines.

RedPower 2.0 Prerelease 4b.

So I just posted RedPower 2 Prerelease 4b, for Minecraft 1.0.0. Download link is up top, as always.

This version requires Forge 1.2.3 or later, so I packaged up an SVN experimental version, available on the download page. The official one will be out soon, I’m sure.

Unofficial Recipe List

Fixes

  • Fixed distribution distance rules.
  • Fixed colored stub tubes.
  • Fixed retriever pulling from bottom slots.
  • Fixed retriever bounces dropping.
  • Fixed BT Battery and Indigo Paint recipes (ore dictionary support).
  • Fixed stuffing minecarts.
  • Fixed flax and nikolite drops.
  • Added support for Fortune enchants for mining nikolite.
  • Smelting iron bars and doors into ingots in the alloy furnace.
  • Nether brick and gemstone block microblocks.
  • Creative mode inventory population.

On “Copying”.

I really didn’t want to have to post this. I’ve been keeping quiet because I don’t like drama, and I don’t see anything to fight about here. But try as I might, I’m getting singled out, so I’m going to have to respond.

First, I’m going to start by linking to a post by Stratagerm: Statement on minecraft mods copying features from one another. It’s worth a read. I agree with the point he raises.

Beyond that, though, lets talk specifics. I’ve talked about my inspirations for my timer mod, and for the wiring that followed after it. So instead, let’s talk code.

Early in my development, I ended up with a feature that was quite coveted by other mod authors: I used 1 block ID for all of Integrated Redstone (which became RedPower Logic). I’ve continued this legacy of using very few block IDs through to the present day.

Now, IndustrialCraft used to use a lot of block IDs. This was long before I had any features even remotely inspired by IC. At the time, the IC team looked inside RedPower to find out how I’d done it. The first “copying” (although I’m very hesitant to use this word – since while they used the technology I developed, their code is their own) was actually IC using part of the technology of RedPower. Since then, IC and RP have traded ideas back and forth. IC got wires that connect like RP’s jacketed wires, and RP got Blutricity. IC also gained the ability to separate wires by color, by using paint. I borrowed that idea back again by using paint to separate and mark tubes, but it’s worth noting that the back-and-forth there has made both mods better.

Now let’s talk Buildcraft. Buildcraft’s pipe ideas weren’t new at the time it was first released – the Allocator and Minefactory could be used together quite effectively to shuffle items around on conveyor belts. What Buildcraft was, though, was clean. It worked together. I started modding by adding a few blocks to assist BC users: the redstone pipe, and the timer. For a long time, BC and RP were inseparable, and I rather liked it that way. Then BC2 came out, and it largely made the timer redundant, while also adding a complete power system of its own. SpaceToad did a really good job of making the power system look new and original, but fundamentally, it’s still a power network.

Yes, I added a method of transporting items to RedPower. It’s a rather obvious necessity for large-scale automation mods, and Buildcraft isn’t unique in this requirement. It’s not even the first. I’ve done what I could to make my implementation unique, and with the inherently networked tube pressure system, I believe I’ve managed that. The Sorting Machine and Retriever have no direct siblings in Buildcraft. And again, it goes in both directions. Buildcraft 3 adds wires and logic gates, and both mods are better in the end.

And then there’s Frames. A lot of accusations of them being ripped off from something, but I’m still not sure what. The demos clearly show them moving not just more frames, and not just frames with covers on them, but functional machine blocks also. I’m not aware of another mod which existed before that video that allowed you to assemble a tunnel boring machine from multiple blocks and move it as one unit. There is a new mod that came after, but I’ll get to that in a minute.

I’ve been doing a lot of work behind the scenes to make the large tech mods interoperate well. The functionality in Forge that allows unlimited terrain sprites without performance loss? I wrote it (and it required a major overhaul of the rendering engine, at that). The interfaces to let machines with unusual interface shapes (like IC’s Induction Furnace or RP’s Alloy Furnace) interface with item movement systems like BC’s pipes, RP’s tubes, MFR’s conveyers, etc? I wrote those also. The Ore Dictionary to make mods with similar ores play nicely? That too.

Finally, it doesn’t end with RedPower. The Frame-based tunnel boring machine? Since I released that video, a new mod came around devoted to building tunneling machines along the same lines. And then there’s FutureCraft. And the original Minefactory has been continued under new management. So many of the ideas in those mods have been passed around so many times, who is to say who got inspired by who? Noos assures me that the tunnel boring machine was parallel development, FutureCraft appears on the surface to be a little more directly inspired by RedPower, and MFR just continued along the natural path for Minefactory. Do I have a problem with either? Nope.

Everyone has inspirations. The biggest difference is that I openly admit mine.

Now can we please put this silly drama to rest, so I can go back to writing my mod?

RedPower 2.0 Prerelease 4.

So I just posted RedPower 2 Prerelease 4, for Minecraft 1.0.0. Download link is up top, as always.

Unofficial Recipe List

Major New Features

  • New Blutricity energy net.
  • Added Battery Boxes.
  • Added Voltmeter.
  • Added Sorting Machine.
  • Added Retriever.
  • Added Buffer.
  • Added Paint Cans/Brushes.
  • Added Redstone Tubes.
  • Added partial support for Creative mode.

Known Issues

  • Blutricity power is a little “springy”. When you connect it, you’ll see line transients if you repeatedly measure with a voltmeter. This is normal.
  • There are probably issues with TMI. Don’t bother reporting them. I plan to fix TMI interaction in pr4b.
  • I have no idea what happens if you to enchant RP items.
  • Forge 1.2.0 has a bug with repair recipes. Just don’t use them with RP items. The next Forge version will fix this.

Bugs Fixed

  • Rubber trees now have a fast mode.
  • Fixed infinite backstuffing.
  • Fixed machine freezing.
  • Fixed covers on logic turning into cobble.
  • Fixed ore generation patterns.
  • Fixed a major loss of framerate in SMP with tubes.