Skip to content

Instantly share code, notes, and snippets.

View SuperLlama88888's full-sized avatar

SuperLlama88888

  • Australia
  • 11:17 (UTC +11:00)
View GitHub Profile

Sourced from @veka. from the Bedrock Add-Ons discord.

Ok so here are the facts:

  1. Material format was changed multiple times in previous previews - they added new properties which aren't being used anywhere in vanilla. Why would they add them and never use? And one of the added unused properties allows to overwrite texture properties through materials that are usually supplied by the game directly, why would they add that overwrite property to materials if they can (and always do) just set it from the game directly?
  2. Some time ago, a new function appeared in shader source code
struct StandardSurfaceOutput {
    vec3 Albedo;
    float Alpha;
 float Metallic;
@JustTalDevelops
JustTalDevelops / client_blob_cache_exploit.md
Last active October 26, 2024 00:00
Exploiting the Blob Cache in Bedrock Edition

Exploiting the Blob Cache in Minecraft: Bedrock Edition

...and why it matters.

Preface

You might have seen my HiveCorruptor plugin on Poggit. To be clear, I don't have a vendetta against The Hive or anything like that, the plugin was more so a comedic demonstration of how the blob cache can be exploited to crash clients. The next thing you're probably thinking is "how the hell does this work?" - and this is what this article will go over.

Introduction

@tryashtar
tryashtar / mcstructure.md
Last active September 21, 2024 00:54
Bedrock mcstructure file format

Bedrock .mcstructure files

Saving and Loading

mcstructure files are created by the Export button in a structure block. To load them in game with a load structure block, the files must be placed in a behavior pack. The path determines the structure identifier, which is typed into the structure block to load the structure.

Examples:

@Tomcc
Tomcc / client_blob_cache.md
Last active October 26, 2024 00:00
A description of the new Client Cache for server developers

Client Blob Cache

What's the Client Blob Cache

The Client Blob Cache is a new Bedrock optimization - it allows blocks and biomes to be cached on Clients to avoid resending identical chunks over and over. Chunks and biomes make up the vast majority of network traffic in a lot of common cases (eg. login, teleport or dimension switches) but at the same time, they rarely change. Allowing the Client to reuse chunks it has seen in the past can save a ton of traffic and latency!

The Client Cache is a Content Addressed Storage (a bit like git) that stores Blobs and retrieves them based on their full hashes (BlobIds). This means that the cache doesn't actually know about Chunks - in the future, we might start using it for more types of data, like skins or data driven entities.

A nice thing we get from the CAS approach is that the cache is persistent: returning players will be able to reuse content that was sent them in previous sessions or even previous sessions in different servers as long as tha