mojira.dev
MCPE-18570

Schrodinger's Steve

Create a new flat world.
Build 2 Nether portals close to each other, Portal A and Portal B.
Make sure A is activated and B is deactivated.
Create a mechanism to toggle the portals, such that when a button is pressed, after sufficient delay to allow a person to use the previously activated portal before it is turned off, the portal that is currently on will turn off, and the portal which had been off will turn on.

If you hit the button and run through the portal in single player, when you attempt to return from the nether, you will come out at the location of the portal you originally used, even though it is no longer active. In my original test case, this placed me inside of a wall which I had to destroy to be able to move.

If however, you have multiple players, as long as one player remains in the overworld in proximity to the nether portals, when you come back to the overworld you will instead come out the portal which is currently active, which is the desired behavior which is not seen when playing single player.

This must be because in single player, when the only player is in the nether, overworld processes cease to execute, and thus the mechanism for swapping the portals does not actually happen until you go back to the overworld.

Solution would be to let certain types of processes continue instead of suspending them when the world changes.

If needed I can supply test world, video, images, etc.

Linked issues

Attachments

Comments 22

Jason Welbourne

Tested moving observer to nether, which causes the same faulty behavior as in single player mode. So if a tree falls in the forest, but no one is there to hear it, it doesn't make a sound until they come back.

Jason Welbourne

Affects 0.17.0.2

Jason Welbourne

Affects 1.0.0.0

Jason Welbourne

Here's a test world

Jason Welbourne

Interesting notes on test world...
Failure behavior almost always results in something having a bugged state. So far I've managed to bug pressure plates, water bucket dropper state, and Redstone flip flop / portal selection parity. What gets bugged depends on the exact timing between activating the pressure plate and entering the nether portal. Bugged states are persistent. When the pressure plates bug, they get stuck in an activated state and can no longer detect pressure afterwards. Exiting the game and reentering does not fix them. They must be destroyed and replaced to work again. When the water bugs, activating the circuit again or using the empty bucket to pick the water up manually both result in the water going away but the bucket remaining empty.

12 more comments
[Mojang] Tomas Alaeus

The blocks that should get fixed by my fix are: Pressure plate, tripwire, redstone lamp, detector rail and buttons.

Jason Welbourne

It's also possible to bug the dispenser state causing water to become stuck that later will cease to exist if you try to pick it up with a bucket manually, but can never be picked up by the dispenser + empty bucket until it is cleared.

Regarding the works as intended, there is still the matter of this device operating completely different with two players than it does with 1. I don't dispute that unloaded chunks shouldn't tick. I dispute the necessity of unloading a chunk that has active Redstone circuitry ticking. Just keep the chunk in memory a few more ticks until it goes idle, and then release it. That would make the behavior consistent between single player and multi player and allow me to finish building a safe room.

[Mojang] Tomas Alaeus

It's also possible to bug the dispenser state causing water to become stuck that later will cease to exist if you try to pick it up with a bucket manually, but can never be picked up by the dispenser + empty bucket until it is cleared.

Yes, I noticed that. My fix could also fix that issue with dispensers and droppers. I didn't do extensive testing on those to see that this was the actual problem in your machine, but they did have the same problems as pressure plates.

Regarding the works as intended, there is still the matter of this device operating completely different with two players than it does with 1. I don't dispute that unloaded chunks shouldn't tick. I dispute the necessity of unloading a chunk that has active Redstone circuitry ticking. Just keep the chunk in memory a few more ticks until it goes idle, and then release it. That would make the behavior consistent between single player and multi player and allow me to finish building a safe room.

That is indeed a problem depending on what you want to do, but it's not a bug. We have for a very long time discussed how we want redstone to work in regards of unloaded chunks, but so far we haven't come to a conclusion. Having all redstone machines keep chunks loaded could result in performance degradation. In your scenario there are many things one needs to choose: How many chunks should be kept loaded? For how long? Should only redstone tick or should everything else as well (fire spreading, water flowing, mobs running around attacking, etc)? Some might use a portal as a "safe room" from when shit hits the fan, if we keep ticking their chunks it might ruin their worlds... Maybe that's a bit far fetched, but it could happen.

Jason Welbourne

The Redstone tick issue impacts a variety of machines that people may want to build. There's people building circuits so complex they can't even fit in the 8 closest chunks they are standing in. If detecting idle adds too much overhead to a main loop then create a special block that can force a chuck to stay open if it is powered or some sort of mechanism that can transfer control of this process to the user. I'm my case I only need a few ticks, but other people might like to build circuits that they can power on and off sections of as needed, for arbitrary lengths of time. Right now, that requires walking around.

All I want is a room that can't be broken into. I've stretched the limits of my creativity getting this far. Now all that stands between me and my goal is a dozen ticks or so.

[Mojang] Tomas Alaeus

The Redstone tick issue impacts a variety of machines that people may want to build.

Yes, we know this.

All I want is a room that can't be broken into. I've stretched the limits of my creativity getting this far. Now all that stands between me and my goal is a dozen ticks or so.

You could make the off-switch in the nether instead of in the overworld.

Jason Welbourne

(Unassigned)

Unconfirmed

Phone - Android - LG Nexus 5

Android

world-loading

0.17.0.2, 0.16.2, 1.0.0.0, 1.0.0.1, 1.0.0.2, 1.0.0.7, 1.0.0

Retrieved