Download No Kebab — Minecraft Mods — MetaMods
No Kebab

No Kebab

Active

Downloads

0

Last update

6 months ago

Versions

1.19.4 — 1.21.5
Server
Fabric
Decor
Control

No Kebab

Problem Overview

In standard Minecraft, there's an annoying feature: if a painting loads with an identifier that doesn't match any existing variants, the game automatically replaces it with another one without any warnings. This is particularly problematic when working with data-driven paintings - any error in your datapacks can lead to the loss of already placed paintings when loading a world.

Solution

The No Kebab mod creates a protective mechanism against this problem. Although invalid paintings will still be replaced with other variants, they will retain in memory the original variant identifier from their NBT data and will store this ID when saving the game. When you next load this world with the correct set of variants, these paintings will restore their original appearance.

Interesting fact: Before version MC 1.21, invalid paintings always turned into the minecraft:kebab variant, which gave this mod its name.

Compatibility

The main functionality works entirely on the server side.

The client part is required only when the Missingno Display feature is enabled, and in this case it will be needed on all clients.

Missingno Display

This function changes the appearance of invalid paintings, making them noticeable and showing their identifier.

By default, the function is disabled on dedicated servers and enabled on local servers (singleplayer and LAN). The setting can be changed in the configuration file nokebab.properties using the customTracker option. A full restart is required to apply changes.

Painting Migration

The /nokebab migrate command allows you to mass change variants of existing paintings. Using it requires permission level 3 (Administrator).

Important: this command changes only variants of paintings in loaded chunks. Paintings in item form or in unloaded chunks will not be affected.

If migration results in a painting no longer being able to fit on its wall, that painting will be skipped with an error message.

Command Syntax

/nokebab migrate <mode> <source> <destination>

<source> - the variant of paintings to be migrated. <destination> - the variant they will be replaced with. Their specifics depend on the selected mode.

<mode> can be:

  • literal - seeks paintings that exactly match the source and changes them all to the same variant
  • regex - allows the use of regular expressions, so <source> can match multiple variants and <destination> can use substitution variables

For example, the command to change the namespace of multiple paintings would look like this:

/nokebab migrate regex "oldspace:(.*)" "newspace:$1"
Project members
Estecka

Estecka

Developer

Created: 30 Aug 2023

ID: 9312