mojira.dev
MC-130858

Pistons are no longer transparent

The bug

Pistons are no longer transparent when not extended. When triggering just a few pistons in a simple redstone circuit the light updates cause extreme client and server lag.

How to reproduce

  1. Make a box / room from opaque, solid blocks so that no light can enter

  2. Replace one block from the ceiling with a piston, pointing up or down

  3. Toggle the piston state with a lever / button, for example

 

→ ❌  The client and the server will experience severe lag, beacuse of the excessive light updates

→ :info: When multiple pistons with slime blocks are working in a redstone circuit, the performance is decreased drastically

 

Related to MC-130722

Analysis by adam279: Affects 17w49b, not the version before that.

Linked issues

Attachments

Comments

Big Shatter

It basically makes using larger flying machines impossible, and gives the technical Minecraft community one more reason not to update to 1.13.

Mojang, really, you should fix the game breaking bugs/mechanics, not implement new game breaking mechanics. It's so annoying that you do so many unnecessary upsetting, things, like removing of dragon egg bedrock breaking, tnt duping, and now flying machines are broken too. Why dont you add Movable tile entities?? All Minecraft players would be happy with this. It would be a replacement for tnt duping, and it would bring endless new possibilities. And don't say it's hard to implement. There are plenty of more that do exactly this. And it's not even buggy. When one single person, that doesn't even get payed for his work can do this, why the duck cannot a whole specialized team of full time coders make this happen? Fix your game mojang

NeunEinser

It's not only an issue for flying machines (although it's probably the main one), but really for any contraption that uses pistons which are exposed to some kind of light. This is also due to the fact that extended pistons actually are still transparent, which just makes everything even worse. Simply extending pistons now will cause loads of light updates.
Probably tree farms will be quite laggy as well, unless you darken them completly. Even then, there might still be redstone torches that give off some light.

VideoklipBG

@unknown

The "game-breaking bugs" like the Dragon Egg block breaking, TNT duplication, etc. are not intended features, but abusable exploits to some extend. It's okay to fix the weird and strange exploits / mechanics.

But huge things like the pistons, slime blocks, redstone bugs are "game-breaking" from different perspective, I mean the technical player base, community and so on.

@unknown

Yeah, I absolutely agree.

Not enough that the servers (Singleplayer, Multiplayer - doesn't matter. The Vanilla platform overall) are poorly optimized, buggy, there are synchronization issuess between clients and servers and many other things...
Currently the redstone causes tremendous client-side framerate and performance drops / hits, even when there are very simple redstone circuits.

Moving pistons, slime blocks, solid blocks, hopper-checking, item transfering, entity transportation, light updates, redstone torches, comparators, everything will be bad and sluggish, in terms of gameplay experience, even if every block is lit with torches / glowstone / sea lanters and every piece of a redstone circuit is optmized to the maximum efficiency.

I don't think that the technical players should spend hours and even days, looking at every piece of a redstone circuit / machine / farm and trying to optimize every single thing, otherwise it causes server and client lag, bad performance, bugs, glitches, etc.

Jesper Norlander

if this bug is not fixed then i can see many big servers that are concerned with lag straight up BANNING pistons from the server. Mojang, just revert this change please

 

Xavom

Pistons are transparent when extended and opaque when not. How is this beneficial to any part of the game, play style, performance? It's not, a block that changes opacity is not good thing. Pistons must be a transparent block.

VideoklipBG

@unknown Yeah, it's inconsistent too.

Let's say for example - If the redstone lamps were changing from opaque to transparent, depending on that in what state they currently are (powered / unpowered)... Or if the same thing applied to observers, daylight sensors, droppers, dispensers, etc.. etc..

Along with that it looks weird and funky, it serves no purpose, nor gives any benefits at all.

Tokes

Note: someone on reddit checked previous 1.13 snapshots and apparently the change was made 6 months ago. The lack of any mention in the changelog points to it being unintended. Considering how badly it breaks the game I would hope that it's unintended!

Xavom

Slime blocks have also been changed to have similar transparency properties to leaves block, decreasing light level over distance. Can't help but put these two together since it targets flying machines. But that's another ticket.

adam279

Confirmed on 17w49b, previous snapshot seems unaffected.

LuxiKeks

This bug is affecting 18w44a again..

Meri Diana
[media]

Can confirm for 18w44a.

[media]

Wasn't present yet in 18w43c.

LuxiKeks

Can this be re-opened please?

 

Andy (Romaq) Smith

My understanding is that the lighting engine is being worked on to "solve" the lag issues introduced by having, for instance, pistons being opaque. I do understand what I'm seeing in Meri Diana's images, but could we have a specific use case such as https://youtu.be/7eWWl-tIWvE "1.13 News: Pistons And Slimeblocks No Longer Transparent" by ilmango?

Per https://minecraft.net/en-us/article/minecraft-snapshot-18w43a "New Light engine!" To my way of thinking, I don't care so much if an armor stand is "lit" or "unlit" within a piston. I care that a relatively simple flying machine used for cane and bamboo farms shuts my server down for lag from rendering. So ilmango's video (at least of a simple flying machine) compared with MC 1.13.2 would be more useful to evaluate, "Is this really a problem now?" If my pistons are transparent when extended, I don't know why I'd really care. Hammering my server TPS over lighting, I'd care about a great deal.

Meri Diana

@unknown For clarification: I personally also don't care if a Marker-true-armor stand which can only be created by Creative means anyway is "lit" or "unlit" inside a piston. It's just a very simple and quick setup I have in one of my bugtest worlds for an older and different piston-/armor stand-bug, thanks to which I also noticed that pistons are not transparent anymore when not extended back when this happened for the first time.

My concern is directed solely towards a possible lag issue for Minecraft Survival, and I haven't seen any mapmaker complaining about an "unlit armor stand inside piston" yet.

Andy (Romaq) Smith

Thank you. Hopefully we'll have someone able to verify if the new lighting engine can deal with opaque pistons without the pain 1.13 Snapshots had. 🙂 I can't build one, so proper testing is out of my skill set.

LuxiKeks

Alright, I tested it and looks like the engine can handle it without a problem: https://gfycat.com/BlueUnimportantAtlanticbluetang

So, I guess it was intentional in the end.

Andy (Romaq) Smith

Thank you VERY Much for testing it out. The "Gold Standard" test would be to compare a good size flying machine. I sure wish I could pull that off, I may have to build one and see how laggy it goes on a farm in the current Snapshot. That will take me some time.

RedCMD

Light updates are way way less laggy in 1.14 snapshots
Like way less laggy than you think
I tested in a void world
In 1.12.2 I ran the command /fill 50 255 50 -50 255 -50 stone
The server froze for 4minutes
In 1.14 (snapshot) I ran the command /fill 90 255 90 -90 255 -90 stone
Which is 3times more stone and it took less than a second to finish, tho the client froze for half a second (Like in 1.12.2)

Silicon42

You could just use a world download of an existing large scale flying machine like one of the more recent quarry designs that the technical community makes and remove the roof that they have, rather than building something yourself.

Andy (Romaq) Smith

D'oh! I didn't think of that.

VideoklipBG

I just did some testing and it seems that even big flying machines are running fine on 18w44a.

The server performance is roughly the same, compared to 18w43c and 1.13.2. The client performance has not changed much (when it comes to light updates), there are still huge framerate drops and stuttering, but at least for now I think it's safe to say that the pistons and slime blocks transparency changes probably wouldn't affect farms, flying machines, technical builds, etc.

One thing I am curious about though is why the pistons become transparent when extended, but stay opaque when retracted? I think this might be considered inconsistency, because no other blocks change their transparency, depending on the current state / position / facing. Slime blocks are now translucent and diffuse light that passes through them, which is understandable and makes sense.

Also, nowhere in the changelog is stated, nor has anyone mentioned something about these changes. I (and most likely other people too) would like to know at least if this was intentional change / some sort of a feature.

Hopefully there will be no issues with redstone circuits and technical builds in the future and a good use will be found if that's an intended feature.

RedCMD

Redstone lamps become daylight transparent when on (Defuse light)

Brianna Schuman

The functionality of pistons becoming transparent when open and opaque on retraction is CRITICAL to many machines that have been built and have worked in MC for many years now.  To break that functionality would be a major problem.  One of the major users of this feature has been large scale iron farms (Iron Phoenix, Iron CASSter, etc).  Since the default state of pistons is closed/opaque, it's a lot simpler to design large redstone circuits that extend pistons into an open/transparent state than it is to design default on redstone that retracts pistons one at a time, especially when we're talking about potentially 96+ pistons.  There are many other machines that rely on this same functionality of letting light in vs not, and the same mechanics apply. 

RedCMD

Brianna You do realise that pistons were always transparent when extended AND retracted?
The bug is that they are now opaque on retraction - which will help with iron farms now 😃

Matt Sturgeon

> which will help with iron farms now 😃

 

Well in that case this bug will likely be fixed within the next few hours 😂

VideoklipBG

michael

Confirmed

Minecraft 1.13-pre1

Minecraft 1.13-pre2

Retrieved