mojira.dev
MC-172659

Improper fix for x-ray resource packs break player's custom resource packs

the bug

In brief, the current way of fixing x-ray resource packs does not work as expected, it did not eliminate cheating packs, but instead, hurt the player's ability to create custom resource packs. 

I spent two days to investigate the bug, and searching for other bug reports and patch notes, I am sure to present something new, so please don't set the report as a duplicate before you finish reading, thanks for your patience!

History of the bug

Dear Mojang developer, in Minecraft Java Edition 14w04a, Rendering & performance changes:

  • Only transparent blocks will now render as transparent (eliminates the use of x-ray texture packs).

 That change was aimed to eliminate the use of x-ray resource packs, and it worked for the snapshot itself.

But, only 3 snapshots later, which is in snapshot 14w06a

Resource packs

  • Block models in resource packs can now be customized.

  • Replaces the files in /assets/minecraft/models/.

  • After loading the resource pack, the game may have to be reloaded.

The introduction of custom models allows the player to directly bypass the texture ban, directly create x-ray packs without using any transparent or semi-transparent textures.

I'll leave an x-ray resource pack that I made in the attachments. That's why I set the issue to private.

What does the texture ban cost

It is obvious that MC-164001 is caused by the texture ban.
MC-165182 is also caused by the ban.
MC-142906 and also that one.
MC-45199 
MC-17802

[media]

As you can see, that was considered as "intended", but now the ban had failed, and became unnecessary and useless. It only causes problems rather than preventing cheating.

All x-ray packs above version 1.8 rely on custom block models to achieve cheating, not alpha channel or texture transparency.

[media][media]

I made the custom X-ray pack for demonstrating in under an hour, and I didn't even include any custom textures in my pack.

Why the texture ban is "not intended"

as I've shown above, the ban is aimed to eliminate the use of X-ray cheating packs. And the intention here is to anti-cheat, not to eliminate possibilities. Now with the ban, x-ray packs can still be made with ease, while custom resources with no intention of cheating are influenced seriously. I am sure that is not your original intention.

Therefore, it is a bug that needs to be fixed

Demo X-ray pack [for1.16 snapshots] in attachments

Conclusion: The ban for alpha channel support of textures did not perform as the way it is intended, the ban causes more lag for custom texture packs [due to the compromises required to make up for the loss of the alpha channel], causes bugs [the related bugs already got 89 votes] and eliminates possibilities [for cool custom block textures, like transparent TV screens.ect].

so it's time to fix the bug and implement a better way of banning x-ray texture packs.

Possible alternative fixes

The easiest fix I can come up with is to ban the alpha channel as well as custom models that are smaller than a full cube for the following blocks only:

  • Grass and dirt block

  • stone and netherrack

  • sand and snow

Since the majority of the world is made up of these blocks, that should be enough to ban easy-to-make x-ray packs, without influencing normal custom packs at the same time.

As for PVP servers, they usually have more advanced anty-cheating plugins, so no need to worry about that. I think that would be a good fix to the current bug.

Thanks for reading through!

Appreciate your time.

Attachments

Comments 4

When you report cheating being broken in a blocky game as a bug

@@unknown I didn't say cheating being broken is a bug, but the fix did not work properly, it didn't stop cheating but hurts normal gameplay instead.

@@unknown that's the joke.

This is not a proper bug report. Please review the bug tracker guidelines before creating further bug reports.

For feedback please go to https://feedback.minecraft.net.

闫懋杰

(Unassigned)

Unconfirmed

Rendering

resource-pack-support, transparency

1.15.2, 20w06a, 20w07a

Retrieved