EntityCatSplitFix does not properly retain the newly set Trusting tag when datafixing minecraft:ocelot - the Dynamic is not re-assigned after setting Trusted, and Dynamic instances are not mutable:
protected Pair<String, Dynamic<?>> getNewNameAndTag(String name, Dynamic<?> tag) {
if (Objects.equals("minecraft:ocelot", name)) {
int type = tag.get("CatType").asInt(0);
if (type == 0) {
String ownerName = tag.get("Owner").asString("");
String ownerUUID = tag.get("OwnerUUID").asString("");
if (!ownerName.isEmpty() || !ownerUUID.isEmpty()) {
tag.set("Trusting", tag.createBoolean(true));
}
} else if (type > 0 && type < 4) {
tag = tag.set("CatType", tag.createInt(type));
tag = tag.set("OwnerUUID", tag.createString(tag.get("OwnerUUID").asString("")));
return Pair.of((Object)"minecraft:cat", (Object)tag);
}
}
return Pair.of((Object)name, tag);
}
Can confirm in 1.19.3 and 23w04a