All right, folks, I'm in need of some assistance in testing this thing, so I'm calling out to all of you. Before I start, though, this very very important note:
Keep backups (of your world)!
While writing the mod, I've had several chunks reset because the teleport mechanic wasn't working properly yet, and I make no guarantees it won't happen again, or even leave your world impossible to get into. If it happens to you, I'll want the error report, but there won't likely be anything I can do to help, and MCEdit doesn't speak 4096 block IDs. With that said, we've had several people trying to make it crash for about a week now, and haven't had any problems, so it might be safe.
What is this thing?
Star Trek-like teleporters: give them target coordinates, and they can theoretically retrieve or transmit to that destination. There are more details, and so if you feel like a bunch of reading (and learning what's supposed to be in the mod at the time of the proper release), head over to the feedback request thread I made for it earlier.
What's new in this build, Narc?
- Still no recipes, you still need to be in creative mode (Decorations tab) and/or have NEI to get the blocks (they are called Transporter, Interdictor and Beacon).
- Still no GUIs, so you must use ComputerCraft to do anything. Still.
- Interdictors affect a transporter's signal, as do beacons (though beacons are permanently locked on frequency 1337)! Interdictors also consume the appropriate energy, though beacons don't.
- Transporters do not consume energy yet, though they have storage for up to 10,000,000 EUs.
- A config default has changed: signal { lock.variance } now defaults to 0.05 instead of 0.2 -- the higher value was far too noisy in early testing. Delete your config to have it regenerate with the new defaults.
- Transporters require you to have a lock before they will transmit or retrieve! Once the process has started, though, the lock can drop without ill effects.
- Speaking of ill effects, there are none for having a low-quality lock (not yet, anyway). Be aware that this will likely be the next thing on the menu, along with the other missing bit: transporter interference.
The ComputerCraft API for the transporter now looks like this:
- getEnergyLevel() -- returns the number of EUs stored in the block (you can also right-click the block to get the same information).
- getTargetCoordinates() and setTargetCoordinates(x, y, z) -- guess what these do?
- getFrequency() and setFrequency(freq) -- again, guess what? The frequency a transporter operates on determines what interdictors it can bypass, and what beacons it can use. Remember beacons are currently locked on frequency 1337!
- hasLock() and getLockStrength() -- pretty self-explanatory
- acquireLock() and releaseLock() -- note that there is a cooldown after releasing a lock before a new lock can be acquired. Also note that if you lose a lock to having it under the "terrible" threshold for too long, the cooldown is greatly increased! Release your locks when you don't need them!
- retrieve() -- teleports blocks from the target coordinates to itself. Probably crashes if you forgot to setTargetCoordinates first.
- transmit() -- teleports blocks from itself to the target coordinates. Same note on crashing as above.
You will also want to know the interdictor CC API:
- getEnergyLevel() -- same as on the transporter, gives you an energy reading.
- getFrequency() and setFrequency(freq) -- just like on the transporter, only more so: the frequency set here will be exempt from being affected by the interdictor. Make sure your transporters and interdictors match frequencies!
- enable(), disable() and isEnabled() -- 'dictors don't respond to redstone yet, so you'll have to use this method if you want to disable them.
- rangesOn(x, y, z) -- purely a debugging helper, this allows you to ask the attached 'dictor if it can dampen at the given coordinates.
What needs testing
Signals! And interdicting signals! And boosting signals with beacons! Most importantly, tell me if you're happy with the range you're getting out of your teleporters now -- and remember, just because your < 50% strength teleports don't randomly shift the target coordinates now, it doesn't mean they won't do so in the future.
Does the teleport range need a boost? Remember that we plan for two transporters on the same frequency to boost each other and allow you to teleport to and from one another over something like double the range of your furthest current teleport.
Feedback?
I put up a feedback request thread a couple of days ago -- so far, the only real "complaint" has been the teleporter distance calculation (using Manhattan distance), and that's not one I'm going to budge on. If you have thoughts or inspiration while playing around with this, please let me know here or there.
Speaking of feedback, feel free to look at config/BeamMeUp.cfg and tell me if there's a tweak in there that isn't explained well enough or if there isn't a tweak in there that should be. I considered putting machine EU storage and max current allowed in there, but I'm not sure it's necessary -- you guys let me know if you think it should be.
Downloads
- BeamMeUp 0.2.1 (universal) for Minecraft 1.4.6, IC2 1.112.170, and ComputerCraft 1.48.
- BeamMeUp 0.1.3836e29 (universal) for Minecraft 1.4.5, IC2 1.110, and ComputerCraft 1.47.
Version History (reverse chronological order)
- v0.2.1 -- makes BeamMeUp not crash if it tries to start up on a server.
- v0.2 -- straight update to Minecraft 1.4.6.
- v0.1.3836e29 -- makes interdictors capable of interdicting, beacons capable of beaconing, and transporters care about signal strength.
- v0.1.a7f0de98 -- makes transporters that can move blocks. Any blocks, including chests, energy storage blocks, whatever. And they keep their inventory.
License notes
The mod itself is under the Minecraft Mod Public License, source is available at its Github project page or in the zip file.
The sounds are released under Creative Commons-Attribution by Keith W. Blackwell.
The textures are also under Creative Commons-Attribution, and are made by The_Paragon.