GM4_Datapacks icon indicating copy to clipboard operation
GM4_Datapacks copied to clipboard

Add Environment Checks to `base`

Open Bloo-dev opened this issue 2 years ago • 0 comments

The Issue ⚠️

Some modded environments interfere with the way data packs function without communicating this to the user. As a result, we get plenty of false positives of our data packs being brocken whilst what is really broken is those modded environments not supporting basic vanilla features.

The number one contender for this is paper/spigot which prevents non-player entities from being added to teams but never communicates this change of a basic vanilla mechanic to the player. What makes this even worse is that the config option is confusingly named scoreboards.allow-non-player-entities-on-scoreboards=false but only affects teams, not scoreboards.

We have reached out to the paper/spigot development teams multiple times but they do not seem to understand how much of an impact this default value of theirs has and have shown no signs of wanting to fix this issue.

What We Can Do 🔨

We can't fix spigot/paper, nor could we convince the respective development teams to fix this issue. However, this issue is negatively impacting our users, primerly ones without in-depth technical knowledge, which then blame our data packs. We need to do something.

By adding some environment checks in base we could detect if certain mechanics work as expected and print errors in chat if not. Below is a list of mechanics to check (WIP):

### Environment Checks
- [ ] Test if a non-player entity can be added to a team
- [ ] Check that worldgen resources were not filtered out
- [ ] Test if #load did not run due to external data packs
- [ ] Test if Command Blocks are enabled

Bloo-dev avatar Sep 25 '23 10:09 Bloo-dev