The way pistons work right now means that if you have redstone wiring, torches, fire, redstone torches, etc. on a block and it is pushed by a piston then those things are technically erased;the block is deleted and replaced with a new, unaltered block at the tip of the piston's reach.
If pistons allowed us to move blocks while saving their states, meaning anything on the block that was altered (torch, redstone, etc.) it would allow for many more useful contraptions.
For example moving blocks with:
-Torches:Allows for things like light switches without glowstone.
-Redstone torches/wiring:Allows for circuits with pistons as activation which in turn could make other circuits more compact.
-Switches/levers/buttons:Same as above.
-Fire:Netherrack traps, torches.
-And more.
This would make pistons a lot more versatile and give them many more uses.
That would take a lot of coding, and be very hard to implement, otherwise they would've had it as you suggested.
Rollback Post to RevisionRollBack
I'm always happy just 'cause there isn't a reason to be sad.
Don't take this as there is nothing that could cause sadness. I just mean it's pointless to dwell on it. I mean, depression is so boring.
Hard to code? It's just to check the block over the blcok being moved for any IDs which are "connected" to the blocks in some ways, move it and check the conditions as if it were placed again. Simple IMO, and I got coding experience...
Don't forget about doors, it would be ultra sexy to make a door raise up and reveal a hidden passage, as is same with most objects when the block moves anything on it gets recycled into a floating item.
The problem will be needing some way of still being able to detach items on top of any piston moved block, because there are alot of machines that can make use of that.
Such as Autofarmers that use piston movement to collect Wheat, cactus, Mushrooms and sugar cane that are very useful and would be inoperable after that change.
I guess how it could work is by making a copy of the block's exact state and simplly moving it, if that's how it works. After all, pistons just copy/paste blocks.
Items "attached to" a block, like torches, redstone, and rails, are not part of that block. They are separate blocks with their own location and state. Thus, moving "attachments" along with the blocks they connect to would require a search of the surrounding blocks for torches and the like. The logic would be relatively complex, because whether a block adjacent to the pushed block ought to be moved as well depends not only on the type of the adjacent block, but also that block's properties and position relative to the pushed block. For example, an adjacent torch would be moved only if the torch were north of the pushed block and set to attach southward, or so on. In addition, collisions would have to be detected for any adjacent blocks that were moved, and the consequences resolved.
In short, this change would require a significant modification of the piston pushing code, adding considerable complexity and many special cases which in turn attract bugs.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
If pistons allowed us to move blocks while saving their states, meaning anything on the block that was altered (torch, redstone, etc.) it would allow for many more useful contraptions.
For example moving blocks with:
-Torches:Allows for things like light switches without glowstone.
-Redstone torches/wiring:Allows for circuits with pistons as activation which in turn could make other circuits more compact.
-Switches/levers/buttons:Same as above.
-Fire:Netherrack traps, torches.
-And more.
This would make pistons a lot more versatile and give them many more uses.
Don't take this as there is nothing that could cause sadness. I just mean it's pointless to dwell on it. I mean, depression is so boring.
I didn't ask if that would be to hard to code, that's for Notch. I want to know if it's a balanced idea that fits into Minecraft.
The problem will be needing some way of still being able to detach items on top of any piston moved block, because there are alot of machines that can make use of that.
Such as Autofarmers that use piston movement to collect Wheat, cactus, Mushrooms and sugar cane that are very useful and would be inoperable after that change.
I guess how it could work is by making a copy of the block's exact state and simplly moving it, if that's how it works. After all, pistons just copy/paste blocks.
I find it hillarious when people who obviously have no idea about anything on coding say that "This idea would be too hard to code"
In short, this change would require a significant modification of the piston pushing code, adding considerable complexity and many special cases which in turn attract bugs.