Jump to content

[1.6.x/1.5.x] Redstone In Motion (Redpower Frames) 2.3.0.0 (October 8)


jakj

Recommended Posts

A reimplementation of Redpower frames, with more flexibility and functionality, and including many new types of frames.

The information in this main post is woefully out-of-date, so read the changelog in the .zip file to understand the new features since the 1.1-ish releases. Documentation of this mod will switch to an easier-to-manage wiki at some point in the near-ish future.

Wiki-in-progress (just a bit over half done, right now) is here: https://github.com/jakj/Redstone-In-Motion/wiki/_pages

POST BUG REPORTS IN THIS THREAD, NOT ELSEWHERE ON THE SITE.

Include FULL logs when reporting bugs. DO NOT TRUNCATE THEM in an attempt to help: YOU ARE DELETING IMPORTANT INFORMATION. Use pastebin or a similar service if necessary, or send them to me in a private message. Screenshots and videos are also encouraged when appropriate. The most important log is "ForgeModLoader-client-0.log" IMMEDIATELY AFTER a crash. If you reload the game after crashing, it renames the log file, so if you crash, SAVE that file before doing anything else.

2.3.0.0 - MC 1.6.x

2.3.0.0 - MC 1.5.x

Older Versions

SPOTLIGHT VIDEOS

IceDrug20 (August 14, 2013)

MrTheWhiteShadow (August 5, 2013)

Neo39 Gaming (July 29, 2013) (French)

SilverContrail (July 7, 2013)

VIDEO DEMONSTRATIONS

Playlist:

AVAILABLE TEXTURE SETS (all included in main download)

(The active texture set can be chosen by editing the configuration file before opening Minecraft.)

Default 256x textures:

kR2kEkZl.jpg

16x textures by

cubemelon:

45VyFhCl.png

16x textures (with support for colourblindness) by

JustHev:

HDLpOCDl.png

16x wood-style textures by

uberifix:

7H0CIODl.png

16x metal-style textures (with support for colourblindness) by

uberifix:

pW6RlWHl.png

16x Dynasty-based textures by

Lethosos:

RHbvvQol.png

LICENSE

All artwork pulled from other sources is licenced under various open-community licenses and is attributed and redistributed inside the texture directories.

All original work by me in this project is licensed under the WTFPL (http://www.wtfpl.net/). The full license text is located in the file "License_WTFPL.txt".

The following are ENCOURAGED (that means just do it and tell me afterward; don't bother asking first):

  • Usage of this mod both publicly and privately.
  • Distribution of this mod in both public and private modpacks.
  • Usage of this mod on servers both public and private.
  • Alteration and modification of this mod.
  • Linking to and discussing this mod elsewhere on the Internet.
  • The production of videos (such as Let's Plays and Spotlights) including this mod.
  • Everything else.

The following are DISCOURAGED:

  • [This space intentionally left blank.]

The following are PROHIBITED:

  • Claiming this work as your own without first changing its name to make it clear your changes are your own and not mine.

RECENT CHANGES (full list in "Changes.txt"):

YiACMn6.png5UsMzJw.pngJNUKNwl.png Carriage frameworks are the base item for crafting carriage blocks. MruMQzD.png The screwdriver is the tool used to manipulate carriages and carriage drives. It does not take damage when it is used, so it will last forever. It is used for opening and closing the sides of carriages, and for turning on and off the continuous mode of carriage drives. You can open/close the carriage side opposite the one you are actually using the screwdriver on, if you are sneaking while you use the screwdriver. This is useful when you place a carriage against another block, and can't get to that side to use the screwdriver on it. ZTYke9V.png Frame carriages act just like the Redpower frames used to: They will connect to any block that is directly touching one of their sides, and nothing else. This allows for precise control of exactly what is picked up and moved. To prevent a frame carriage from trying to pick up blocks on a particular side, use the screwdriver to close that side. qDkUtS0.png Platform carriages act like frame carriages, except they pick up not only what is directly touching them, but also anything that is touching those blocks, and anything touching those blocks, et cetera, until it reaches empty air (or it finds more than 5000 blocks to move, which is its maximum, to prevent trying accidentally to move an entire continent). To prevent a platform carriage from trying to pick up blocks directly or indirectly connected to a particular side, use the screwdriver to close that side. lMA1vFX.png Structure carriages are rather special: If you place them in a cuboid wireframe (eight corners and twelve edges) around anything, they will pick up the entire structure inside that cuboid region and move it. Effectively, this lets you move your entire house elsewhere. For the structure carriage to function properly, all sides of all carriage blocks must be closed except for the sides touching other structure carriages. To make this easier, using the screwdriver on the side of a structure carriage will properly configure the sides of the structure carriages in a straight line out from the one you used the screwdriver on. That means you need to use the screwdriver only twelve times to configure a structure carriage. Image gallery of how to configure a structure carriage: http://imgur.com/a/jFySc WrgROth.png Support carriages are also a bit special: They can be only one layer thick, and they can all have only one side open at a time which for the entire support carriage must all be the same side. In the direction of the open sides, the support carriage will support the entire structure it finds, all the way out to air (just like a platform carriage), except it is limited to the spaces in a straight line from any support carriage. This means if it's against a wall, it won't try to pick up that wall, even if blocks on the support carriage are touching that wall. Using the screwdriver will change which side is the open side, but they must be done one-at-a-time. Image gallery of examples of support carriages: http://imgur.com/a/xHEeh RzrYfBu.png Template carriages are another special type of carriage: These let you lay out a block-by-block pattern with surgical precision, and thereafter will move those block positions (relative to itself), and only those block positions, never connecting to anything you don't intend to move. Place down template carriages in the shape you want to have blocks move, and place down a template carriage to serve as the anchor for future movement. (The entire assemblage must be contiguous to be recognized.) Use the screwdriver on the anchor block, and it will absorb all the other contiguous template carriages into itself, and its sides will close (showing its decoration if you have applied any). Now, just move the patterned template carriage block with any carriage drive, and watch the magic happen. If you break a patterned template carriage, it will lose its pattern, so all patterns must be assembled in-place; The only safe way to move a patterened template carriage is via a carriage drive. Image galleries of how to configure and use a template carriage: http://imgur.com/a/nV970 http://imgur.com/a/ygZH1 syuvTiM.png Carriages of any type can be decorated/disguised to look like other blocks without otherwise affecting their function, in order to make carriages look prettier. Only closed sides of carriages will display with their decoration; Open sides will continue to use the normal texture for that carriage type. xcLO6Ag.png Any block of any kind (including blocks from any mod) can be used in this recipe, as long as the block doesn't rely on special rendering or embedded information for its appearance. Note that this recipe will work even for blocks that don't make any sense, such as torches, so be sure to experiment with your desired decoration before throwing away an entire stack of it. If you wish to change the decoration, just put it back in the crafting grid with the new decoration: You do not need to remove the decoration first. 1Tydka1.png Decorations are removed simply by putting the decorated carriage block on its own in any crafting grid. 38SY2az.png Carriage motors are like the old Redpower frame engines, except they don't require any sort of fuel. Apply a direct redstone signal to the motor in any direction, and it will grab the entire carriage structure (determined by which type of carriage block was used) and move it one block in the direction opposite the direction of the redstone signal. So, if you want to move a carriage up, apply a signal from below, and if you want to move a carriage north, apply a signal from the south. Carriage motors cannot handle more than one signal at a time, nor more than one frame at a time: Only one signal and one carriage may be touching any of the six sides of the motor in order for it to activate. Movement takes one full second at normal speed: If you are experiencing lag of any kind (local or remote), it will take longer. During motion, all nearby entities (such as players, animals, monsters, ender crystals, minecarts, and loose items dropped on the ground) will be locked to the carriage and move along with it. If the chunk unloads and is reloaded, if the world is closed and reopened, or if the server shuts down and reboots, the entities will no longer be carried by the carriage, so you should not have something like a mobile chicken farm with an engine in continuous mode and no supervision. You can change which types of entities are grabbed by editing the config file. In normal mode, the motor will move the carriage one block, then wait for the redstone signal to be removed and reapplied. In continuous mode, the motor will keep moving the carriage block-by-block for as long as it is able, without any pause between, as long as the redstone signal is being steadily applied. Carriage motors cannot push carriages away from them or pull them towards themselves: Motors can move carriages only parallel to the side of the motor to which they are attached. G3nxnI5.png Carriage engines are exactly like carriage motors, except they can move in all six directions, and they move with the carriage instead of staying put. Be careful! If you are standing on a carriage with a carriage engine in continuous mode, and you activate that engine, you will not be able to escape the carriage's grasp and you will not be able to stop the carriage's motion until it reaches the top of the sky or hits an obstruction. If you close the world and reopen it, or you log off the server and log back on, you will be free of the carriage's motion. You can also try to disable the continuous mode of the carriage's drive in-between motions; By default, you have 1/4 of one second of delay between motions in which to act. Carriage engines make it super-easy to create airborne contraptions, like the famous UFO of Direwolf20. You can have more than one engine to make it easier (so you aren't trying to signal all six sides of an engine alternately): Try having one engine for N/S/E/W movement, and one for U/D, or whatever configuration suits you best. Remember: Continuous mode is dangerous while standing on engine-driven carriages! QHMX4XA.png Carriage controllers are a modified form of carriage engine/motor that interface with the ComputerCraft mod via its peripheral API instead of responding to redstone signalling. (If you do not have the ComputerCraft mod installed, these will simply not be available.) Controllers expose one command to ComputerCraft: "move". It has three parameters: Which direction to move the carriage, whether to actually perform the motion or to just simulate it, and whether or not to move the controller along with the carriage (meaning whether or not the controller is anchored). (Simulating the movement lets you check whether a movement is possible without changing anything.) Examples:

2.2.0.0 -> 2.3.0.0

 -- fixed typo in config file ("BlockIds" -> "Block IDs")

    ** YOU NEED TO CHANGE THIS MANUALLY BEFORE RUNNING THIS UPDATE

       ## if you do not, the block IDs will reset to the default ones

       ## in your config file, look for the line that says this -->      BlockIds {

       ## change it to this -->      "Block IDs" {

    ** (sorry for the inconvenience, but I am way too anal-retentive to leave that wrong now that I noticed it)

 -- fixed bug with multipart blocks disappearing due to a change in Forge

    ** all version combinations of multipart/forge should work now

       ## subpart tick scheduling still isn't handled correctly though

 -- fixed bug with rendering template ghosts that span more than one chunk

 -- eliminated the caching of world objects for loaded translocators

 -- improved in-transit rendering of translucent things like liquids

 -- removed legacy conversion of item forms of decorated carriage blocks and labelled translocators

 -- redid the packet code to use tag compounds

 -- added slightly more redundancy to rendering code


 


KNOWN ISSUES



*-*-* THINGS THAT ARE BUGS THAT WILL DEFINITELY BE FIXED *-*-*



Multipart blocks that need scheduled world ticks (such as buttons that need a tick to pop back out) aren't receiving their ticks properly.



*-*-* THINGS THAT ARE FLAWS THAT WILL HOPEFULLY BE FIXED AT SOME POINT *-*-*



Anything that already uses a display list to render will not properly render in-transit.



When translocated, some entities (especially chest-carts) behave strangely, but nothing major (so far).



*-*-* THINGS THAT ARE NOT BUGS BUT HOPEFULLY WILL EVENTUALLY BE FIXED *-*-*



Portal spawners from iChun's "Portal Gun" mod do not yet work on carriages. Try finding some way (possibly using additional mods) to activate a portal gun directly instead.



"Billund" blocks have been reported to be wonky when moved by carriages.



Anything else that caches 'x/y/z' values for any reason (possibly some chunkloaders, likely anything that does teleportation) has a strong chance of misbehaving. These should be reported to me as bugs.



*-*-* THINGS THAT ARE NOT BUGS THAT PROBABLY WILL NEVER BE FIXED *-*-*



If you are using Optifine and get an error with the word "ConnectedTextures" in it, either disable connected textures in Optifine or disable/remove Optifine.



ComputerCraft programs that are carried by carriages and interact with the carriage's drive, need to have a delay added to their "startup" program to give time for things to settle before trying to interact again. Try "os.sleep(0.1)", and increase that number if it still doesn't work. (The more overloaded your machine or Minecraft is at the time, or the more computers or turtles you have on the same carriage, the higher this number will need to be. Making the number higher than it needs to be is fine: Too much won't hurt, but too little will.)



Computers on carriages that are running at the time of motion will reboot after motion, and run their 'startup' program. (Computers that are off at the time of motion will remain off.)



If a carriage is moving continuously, and the continuous-mode delay is set to 0, tile entities (like chests) will not render properly after the first motion until the carriage stops. This is purely cosmetic, and does no harm. To prevent this, make sure the continuous-mode delay is greater than zero. (The more Minecraft, your system, or the server is overloaded, or the longer delay there is between you and the server, the higher this number will need to be.)


 


PLANNED FEATURES



*-*-* THINGS HIGH ON THE PRIORITY LIST *-*-*



Redoing translocator labels and other things to use a GUI instead of trying to draw on the block.



An optional "hardcore" mode involving tiered crafting and power consumption, for people who want this mod to be expensive to use.



*_*_* THINGS TO BE WORKED ON LATER *-*-*



The ability to prevent individual blocks/items from being registered.



A config option to let a carriage treat blacklisted blocks as simple obstructions instead of completely aborting the motion.



The ability to selectively whitelist/blacklist blocks in-game for each drive, in addition to the overall config-file blacklist. These blocks will always be treated as simple obstructions instead of completely aborting the motion, regardless of the setting in the config file.



A form of "sticky carpeting" to allow finer control over where on a carriage entities are grabbed.



Different styles of controlling player position during carriage movement, to try to allow more freedom.


 


CRAFTING RECIPES


 

peripheral.call("left","move",2,true,false)



drive=peripheral.wrap("left")

drive.move(3,false,true)

For directions, 0 is down, 1 is up, 2 is north (-Z), 3 is south (+Z), 4 is west (-X), and 5 is east (+X). For the simulation flag, true is simulate (don't actually move anything) and false is don't simulate (actually move the carriage). For the anchoring flag, true is the controller will stay where it is, and false is move the controller with the carriage. If the command is not issued with correct syntax, or if the carriage is somehow obstructed or malformed, an error will be printed; If the carriage is not configured properly, the return code will be "false" and a plain-English error message; If the carriage is obstructed, the return code will be "false", a plain-English error message, and the X/Y/Z coordinates of the obstruction; Otherwise, the return code will be "true".

If you want wireless control of the carriage, you will need to connect a computer with wireless support to the carriage controller and interface with the network in that way: The carriage controller does not natively interact with the network, acting only as a peripheral. In addition, if the controller is instructed to move with the carriage, the computer will not be able to command it again without also being moved, so in that case, the computer would need to be connected to the carriage (and have an appropriate "startup" program that will re-connect with the controller).

ADDITIONAL NOTES

You can blacklist blocks in the config file, to prevent them from being moved, in the standard ID:Metadata format: "88,546:13,1010:8". By default, bedrock is permanently blacklisted.

The config file also specifies the maximum number of blocks that be carried at a time by platform and support carriages (default 5000). This is for safety, so if you screw up and it tries to move an entire continent, it will abort instead of blowing away every bit of your computer's memory. Servers can also set the maximum size of any carriage of any type, to prevent users from lagging the server by moving an entire mountain at once.

The version number has four elements: "A.B.C.D". Put simply, A is the most important number, D is the least important number, and bigger numbers are newer. (If you don't care about the details, just skip the rest of this paragraph.) D is the "patch" index, as in a simple bugfix release that really doesn't change anything will increase this number. "C" is the "minor release" index, as in small changes that don't really break anything but are nonetheless more-significant than simple bugfixes will increase this number. "B" is the "major release" index, as in big changes like adding a new block type or reworking a major algorithm will increase this number. "A" is the "version" index, the most-important number, which in most software products would mean massive overhauls (for example, if you consider the original World Of Warcraft to be version 1.0, the release of Burning Crusade would be 2.0, Wrath Of The Lich King would be 3.0, and so forth), but for this mod just means "Minecraft bumped up a major release" (as in the change from Minecraft 1.5.x to 1.6.x).

All feedback is welcome: Modders exist to make mods for the community, not fluff up their own egoes. I won't guarantee I'll implement every suggestion, but I will consider every suggestion, and whenever possible and practical I will include options for configuration to suit player taste. And if nothing else, it is an open-source mod, so if I won't do something you want me to do, try asking around and see if anyone else is interested in doing it.

And do note that not all mod blocks are guaranteed to work safely with this mod. I will make every effort to make them work well, and you should report all non-working mod blocks as bugs with my mod for me to handle, but ALWAYS be prepared to either lose what you are moving or to cheat it back in if it gets lost, and always test a mod block (preferably in a testing world with cheats on) before trying to move something valuable in your main play world.

I hope you enjoy playing with this mod, and don't be afraid to tell your friends about it too!

Link to comment
Share on other sites

When the frame carriage move 2 sand blocks , the block from the top fall through the frame.

That's a cool mod and improvement of the rp2 frames, congrats bro

EDIT: oh, and also, if i power an engine with a lever on a frame that the engine moves, the structure Infinitely moves; and if i break the lever while moving, it makes all the structure disappear

(sorry if my english is bad :P)

Link to comment
Share on other sites

When the frame carriage move 2 sand blocks , the block from the top fall through the frame.

You'll have to provide a screenshot of what you're trying to do, because I can't reproduce this.

Remember that Frame Carriage blocks attach only to blocks directly touching them, though, so if you have one sand block on top of another sand block but the top sand block isn't touching a Frame Carriage, it will be left behind (and therefore fall down). In that situation, you'd want to use either a Platform Carriage (which will keep looking for blocks to move until it finds air) or a Support Carriage facing up (which will move everything in a direct line out from it, so in that case, it'd move everything in one vertical column).

Link to comment
Share on other sites

if i power an engine with a lever on a frame that the engine moves, the structure Infinitely moves

Did you use the screwdriver to put the engine in continuous mode? If so, that's supposed to happen. If not, I'll need a screenshot of your setup.

if i break the lever while moving, it makes all the structure disappear

You're not breaking the lever: You're in creative mode, and you're breaking the invisible block that holds the block data as the carriage is moving.

screens

before http://hpics.li/b36aff1

after moving http://hpics.li/9d462f3

the weird thing is that the sand block isnt left behind, it falls through the frame carriage.

That's exactly what's supposed to happen: When the carriage begins moving, empty air is left behind, so the sand falls through the empty air, since the top sand block is not connected directly to the side of a frame carriage.

To fix that, I could replace everything with fake invisible blocks during transit, but then I'd have to remove them again when transit is finished. Changing blocks in the world is the #1 slowest part of the entire operation, so I don't think making the whole process slower is worth making sand/gravel/liquids behave a little better. For now, I'll just have to say "don't do that".

oh and also a crash report http://pastebin.com/Geuz04qh

Damn, I was hoping I would be able to leave that null-check out for consistency. I'll have to check deeper into the code to make sure that doesn't happen again.

Link to comment
Share on other sites

I dont know why you should ever do it but when you break the motor when frames are moving you will get this crash :P. I was in creative so it was just a hit :P, tested in SSP.

Crashlog

Yeah, that's just crashing because the block disappeared mid-transit. If you're not in creative mode, it's unbreakable, so that's another "don't do that". :P It won't corrupt anything.

Link to comment
Share on other sites

I'm testing out this mod, and so far I really like it. Just a few things- When I use a button to move an engine, it stays depressed after it moves. I know block rendering and hitboxes (solidity) for moving blocks will come, so I'm not worried about that. Finally, the super- HD textures kind of bother me. They look good, and if you want to keep them that's fine, but I find it annoying when mods ship with higher resolution textures.

Edit: in creative mode, blocks drop as items when broken. Definitely bedrock bottom on the to-do list, but it's a little annoying and I assume it's a quick fix.

Edit 2: ComputerCraft computers and turtles don't keep running their programs after moved.... didn't they with Redpower frames?

Anyway, this mod has huge potential, and I'm looking forward to seeing it in Tekkit when it is closer to being done.

Also, immibis just started a reimplementation of redpower wire and logic circuitry if you don't like the mfr style .

Very cool. The MFR stuff looks really neat (Haven't tried it yet) but I could still use a red alloy wire replacement. Thanks immibis! =D

Link to comment
Share on other sites

Being able to stand on moving frames will come eventually but is of medium priority.

Explain or screenshot the button bug in more detail.

Rendering is coming along, and will be partially implemented in less than a day. Hit box soon after, thank you for reminding me.

I can include a native-res texture option at some point.

Blocks dropping in creative will be fixed as soon as I think of a cleaner way to do what I'm doing.

I'll check the computers. That kind of thing is what needs testing most, finding the mod blocks that don't behave well after motion.

Explain or screenshot the flowing water bug so I can track it down.

Link to comment
Share on other sites

Never mind, I know what the button bug is. The block is scheduling an update but it's firing on the old position during transit. I can extract pending updates when pulling the blocks and re-issue them on completion.

Link to comment
Share on other sites

The button thing.... I placed a button on an engine. (and put frames around so the button would stay on) Then, I pressed the button and the whole thing moved like it should. When it stopped after moving one block, everything was like it should have been except the button was stuck depressed. It wasn't just a visual bug because the hitbox rendered correctly according to the button's appearance and it couldn't be pressed.

Edit: Never mind. That's called a 'Ninja' when someone beats you to a post, right?

I'll check the computers. That kind of thing is what needs testing most, finding the mod blocks that don't behave well after motion.

Excellent! I'd love to be able to do this or something.

Computer_Aircraft.png

I can include a native-res texture option at some point.

Blocks dropping in creative will be fixed as soon as I think of a cleaner way to do what I'm doing.

Thanks. =)

Link to comment
Share on other sites

I have been having fun (Well, more dreaming. XD) with this mod!

Outside.png

Engine_Room.pngCockpit.png

Everything moves! All I need is for the stuff to be solid while it moves and for computers to work and it'll be 100% functional.

(Of course once I program all 7 computers XD)

Link to comment
Share on other sites

I will experiment with the collision box to see if it will work for living-entity collision. Meaning, I should be able to make the player not able to walk through the blocks in-transit, but sand and gravel will fall regardless. (If you notice, even now, falling sand and gravel will bury a player, not just stop on top of their head.)

The way it's done right now, there is no risk of falling blocks displacing the motive spectre and making your carriage disappear, because the placeholder block counts as solid and unbreakable. Nothing will stop the sand or gravel from being overwritten, though, if it lands somewhere the carriage is about to occupy. I just think that's too much of an edge case, and that people just need to take the consequences if they have sand or gravel on their stuff that isn't attached. (It's not like sand and gravel are rare, anyway.)

Make the recipes a bit more difficult? or have a difficulty config. Maybe have mod compat recipes including other mod items? Just a few ideas :)

I can add a "hardcore" mode at some point if there's demand for it, that you could select in the config. Other features first, though.

Link to comment
Share on other sites

The thing about sand and gravel (more gravel in this case) is mining machines. If your digging at lvl 16 or what ever you like there is a chance of mining under some gravel and having it fall into the ship.

This is a special case I know but it will be one that people would want to be able to use and I think should be looked at more.

Link to comment
Share on other sites

The thing about sand and gravel (more gravel in this case) is mining machines. If your digging at lvl 16 or what ever you like there is a chance of mining under some gravel and having it fall into the ship.

This is a special case I know but it will be one that people would want to be able to use and I think should be looked at more.

Hmm, that is a good point, but examining the code of BlockSand shows that it simply checks for air/fire/liquid below itself in order to fall, and doesn't check for collision with an entity. The only way to prevent the sand/gravel from falling in that situation is to put down invisible placeholder blocks in every single spot.

Maybe I should start considering that option. I keep rejecting it because it would slow down the entire process since changing blocks in the world is the most expensive part. (Using extra invisible blocks would add one additional block access for each coordinate that either has a block before but not after movement or has a block after but not before movement.) I'm told that Redpower used the placeholder blocks, though, so...hmm.

As I say, I'll think about it. Maybe I should just do it, and see if it's too slow, instead of just assuming it will be.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...