Add missing attributes data generators (#28)

* 1.13

* 1.14

* 1.15

* 1.16

* 1.17

* 1.18

* 1.19

* 1.19.2

* 1.20

* 1.20.4

* 1.20.5

* Updated 1.16+ to match attributes schema

* 1.21

* 1.21.3
This commit is contained in:
SuperGamerTron
2024-10-27 10:53:12 +01:00
committed by GitHub
parent f8368f95a4
commit 1c4802d97e
21 changed files with 465 additions and 0 deletions
@@ -0,0 +1,32 @@
package dev.u9g.minecraftdatagenerator.generators;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import dev.u9g.minecraftdatagenerator.mixin.LanguageAccessor;
import net.minecraft.util.Language;
import java.util.Map;
public class AttributesDataGenerator implements IDataGenerator {
@Override
public String getDataName() {
return "attributes";
}
@Override
public JsonElement generateDataJson() {
Map<String, String> translations = ((LanguageAccessor) new Language()).translations();
JsonArray arr = new JsonArray();
for (Map.Entry<String, String> translation : translations.entrySet()) {
String key = translation.getKey();
if (!key.startsWith("attribute.name.")) continue;
JsonObject obj = new JsonObject();
key = key.replace("attribute.name.", "");
obj.addProperty("name", key.split("\\.")[1]);
obj.addProperty("resource", key);
arr.add(obj);
}
return arr;
}
}
@@ -0,0 +1,13 @@
package dev.u9g.minecraftdatagenerator.mixin;
import net.minecraft.util.Language;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
import java.util.Map;
@Mixin(Language.class)
public interface LanguageAccessor {
@Accessor("translations")
Map<String, String> translations();
}
@@ -4,6 +4,7 @@
"package": "dev.u9g.minecraftdatagenerator.mixin",
"compatibilityLevel": "JAVA_17",
"mixins": [
"LanguageAccessor",
"MiningToolItemAccessor",
"ReadyMixin",
"StatusEffectAccessor"