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:
+32
@@ -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",
|
"package": "dev.u9g.minecraftdatagenerator.mixin",
|
||||||
"compatibilityLevel": "JAVA_17",
|
"compatibilityLevel": "JAVA_17",
|
||||||
"mixins": [
|
"mixins": [
|
||||||
|
"LanguageAccessor",
|
||||||
"MiningToolItemAccessor",
|
"MiningToolItemAccessor",
|
||||||
"ReadyMixin",
|
"ReadyMixin",
|
||||||
"StatusEffectAccessor"
|
"StatusEffectAccessor"
|
||||||
|
|||||||
+32
@@ -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",
|
"package": "dev.u9g.minecraftdatagenerator.mixin",
|
||||||
"compatibilityLevel": "JAVA_17",
|
"compatibilityLevel": "JAVA_17",
|
||||||
"mixins": [
|
"mixins": [
|
||||||
|
"LanguageAccessor",
|
||||||
"MiningToolItemAccessor",
|
"MiningToolItemAccessor",
|
||||||
"ReadyMixin",
|
"ReadyMixin",
|
||||||
"StatusEffectAccessor"
|
"StatusEffectAccessor"
|
||||||
|
|||||||
+32
@@ -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",
|
"package": "dev.u9g.minecraftdatagenerator.mixin",
|
||||||
"compatibilityLevel": "JAVA_17",
|
"compatibilityLevel": "JAVA_17",
|
||||||
"mixins": [
|
"mixins": [
|
||||||
|
"LanguageAccessor",
|
||||||
"MiningToolItemAccessor",
|
"MiningToolItemAccessor",
|
||||||
"ReadyMixin",
|
"ReadyMixin",
|
||||||
"StatusEffectAccessor"
|
"StatusEffectAccessor"
|
||||||
|
|||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
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.ClampedEntityAttributeAccessor;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttribute;
|
||||||
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
|
public class AttributesDataGenerator implements IDataGenerator {
|
||||||
|
@Override
|
||||||
|
public String getDataName() {
|
||||||
|
return "attributes";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement generateDataJson() {
|
||||||
|
JsonArray arr = new JsonArray();
|
||||||
|
for (EntityAttribute attribute : Registry.ATTRIBUTE) {
|
||||||
|
JsonObject obj = new JsonObject();
|
||||||
|
obj.addProperty("name", Registry.ATTRIBUTE.getId(attribute).getPath().split("\\.")[1]);
|
||||||
|
obj.addProperty("resource", Registry.ATTRIBUTE.getId(attribute).getPath());
|
||||||
|
obj.addProperty("min", ((ClampedEntityAttributeAccessor) attribute).getMinValue());
|
||||||
|
obj.addProperty("max", ((ClampedEntityAttributeAccessor) attribute).getMaxValue());
|
||||||
|
obj.addProperty("default", attribute.getDefaultValue());
|
||||||
|
arr.add(obj);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
package dev.u9g.minecraftdatagenerator.mixin;
|
||||||
|
|
||||||
|
import net.minecraft.entity.attribute.ClampedEntityAttribute;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.gen.Accessor;
|
||||||
|
|
||||||
|
@Mixin(ClampedEntityAttribute.class)
|
||||||
|
public interface ClampedEntityAttributeAccessor {
|
||||||
|
@Accessor("minValue")
|
||||||
|
double getMinValue();
|
||||||
|
|
||||||
|
@Accessor("maxValue")
|
||||||
|
double getMaxValue();
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@
|
|||||||
"compatibilityLevel": "JAVA_17",
|
"compatibilityLevel": "JAVA_17",
|
||||||
"mixins": [
|
"mixins": [
|
||||||
"BiomeEffectsAccessor",
|
"BiomeEffectsAccessor",
|
||||||
|
"ClampedEntityAttributeAccessor",
|
||||||
"EULAMixin",
|
"EULAMixin",
|
||||||
"MiningToolItemAccessor",
|
"MiningToolItemAccessor",
|
||||||
"ReadyMixin",
|
"ReadyMixin",
|
||||||
|
|||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
package dev.u9g.minecraftdatagenerator.generators;
|
||||||
|
|
||||||
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import net.minecraft.entity.attribute.ClampedEntityAttribute;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttribute;
|
||||||
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
|
public class AttributesDataGenerator implements IDataGenerator {
|
||||||
|
@Override
|
||||||
|
public String getDataName() {
|
||||||
|
return "attributes";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement generateDataJson() {
|
||||||
|
JsonArray arr = new JsonArray();
|
||||||
|
for (EntityAttribute attribute : Registry.ATTRIBUTE) {
|
||||||
|
JsonObject obj = new JsonObject();
|
||||||
|
obj.addProperty("name", Registry.ATTRIBUTE.getId(attribute).getPath().split("\\.")[1]);
|
||||||
|
obj.addProperty("resource", Registry.ATTRIBUTE.getId(attribute).getPath());
|
||||||
|
obj.addProperty("min", ((ClampedEntityAttribute) attribute).getMinValue());
|
||||||
|
obj.addProperty("max", ((ClampedEntityAttribute) attribute).getMaxValue());
|
||||||
|
obj.addProperty("default", attribute.getDefaultValue());
|
||||||
|
arr.add(obj);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
package dev.u9g.minecraftdatagenerator.generators;
|
||||||
|
|
||||||
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import net.minecraft.entity.attribute.ClampedEntityAttribute;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttribute;
|
||||||
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
|
public class AttributesDataGenerator implements IDataGenerator {
|
||||||
|
@Override
|
||||||
|
public String getDataName() {
|
||||||
|
return "attributes";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement generateDataJson() {
|
||||||
|
JsonArray arr = new JsonArray();
|
||||||
|
for (EntityAttribute attribute : Registry.ATTRIBUTE) {
|
||||||
|
JsonObject obj = new JsonObject();
|
||||||
|
obj.addProperty("name", Registry.ATTRIBUTE.getId(attribute).getPath().split("\\.")[1]);
|
||||||
|
obj.addProperty("resource", Registry.ATTRIBUTE.getId(attribute).getPath());
|
||||||
|
obj.addProperty("min", ((ClampedEntityAttribute) attribute).getMinValue());
|
||||||
|
obj.addProperty("max", ((ClampedEntityAttribute) attribute).getMaxValue());
|
||||||
|
obj.addProperty("default", attribute.getDefaultValue());
|
||||||
|
arr.add(obj);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
package dev.u9g.minecraftdatagenerator.generators;
|
||||||
|
|
||||||
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import net.minecraft.entity.attribute.ClampedEntityAttribute;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttribute;
|
||||||
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
|
public class AttributesDataGenerator implements IDataGenerator {
|
||||||
|
@Override
|
||||||
|
public String getDataName() {
|
||||||
|
return "attributes";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement generateDataJson() {
|
||||||
|
JsonArray arr = new JsonArray();
|
||||||
|
for (EntityAttribute attribute : Registry.ATTRIBUTE) {
|
||||||
|
JsonObject obj = new JsonObject();
|
||||||
|
obj.addProperty("name", Registry.ATTRIBUTE.getId(attribute).getPath().split("\\.")[1]);
|
||||||
|
obj.addProperty("resource", Registry.ATTRIBUTE.getId(attribute).getPath());
|
||||||
|
obj.addProperty("min", ((ClampedEntityAttribute) attribute).getMinValue());
|
||||||
|
obj.addProperty("max", ((ClampedEntityAttribute) attribute).getMaxValue());
|
||||||
|
obj.addProperty("default", attribute.getDefaultValue());
|
||||||
|
arr.add(obj);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
package dev.u9g.minecraftdatagenerator.generators;
|
||||||
|
|
||||||
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import net.minecraft.entity.attribute.ClampedEntityAttribute;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttribute;
|
||||||
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
|
public class AttributesDataGenerator implements IDataGenerator {
|
||||||
|
@Override
|
||||||
|
public String getDataName() {
|
||||||
|
return "attributes";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement generateDataJson() {
|
||||||
|
JsonArray arr = new JsonArray();
|
||||||
|
for (EntityAttribute attribute : Registry.ATTRIBUTE) {
|
||||||
|
JsonObject obj = new JsonObject();
|
||||||
|
obj.addProperty("name", Registry.ATTRIBUTE.getId(attribute).getPath().split("\\.")[1]);
|
||||||
|
obj.addProperty("resource", Registry.ATTRIBUTE.getId(attribute).getPath());
|
||||||
|
obj.addProperty("min", ((ClampedEntityAttribute) attribute).getMinValue());
|
||||||
|
obj.addProperty("max", ((ClampedEntityAttribute) attribute).getMaxValue());
|
||||||
|
obj.addProperty("default", attribute.getDefaultValue());
|
||||||
|
arr.add(obj);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -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.util.DGU;
|
||||||
|
import net.minecraft.entity.attribute.ClampedEntityAttribute;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttribute;
|
||||||
|
import net.minecraft.registry.RegistryKeys;
|
||||||
|
|
||||||
|
public class AttributesDataGenerator implements IDataGenerator {
|
||||||
|
@Override
|
||||||
|
public String getDataName() {
|
||||||
|
return "attributes";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement generateDataJson() {
|
||||||
|
JsonArray arr = new JsonArray();
|
||||||
|
var registry = DGU.getWorld().getRegistryManager().get(RegistryKeys.ATTRIBUTE);
|
||||||
|
for (EntityAttribute attribute : registry) {
|
||||||
|
JsonObject obj = new JsonObject();
|
||||||
|
obj.addProperty("name", registry.getId(attribute).getPath().split("\\.")[1]);
|
||||||
|
obj.addProperty("resource", registry.getId(attribute).getPath());
|
||||||
|
obj.addProperty("min", ((ClampedEntityAttribute) attribute).getMinValue());
|
||||||
|
obj.addProperty("max", ((ClampedEntityAttribute) attribute).getMaxValue());
|
||||||
|
obj.addProperty("default", attribute.getDefaultValue());
|
||||||
|
arr.add(obj);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -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.util.DGU;
|
||||||
|
import net.minecraft.entity.attribute.ClampedEntityAttribute;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttribute;
|
||||||
|
import net.minecraft.registry.RegistryKeys;
|
||||||
|
|
||||||
|
public class AttributesDataGenerator implements IDataGenerator {
|
||||||
|
@Override
|
||||||
|
public String getDataName() {
|
||||||
|
return "attributes";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement generateDataJson() {
|
||||||
|
JsonArray arr = new JsonArray();
|
||||||
|
var registry = DGU.getWorld().getRegistryManager().get(RegistryKeys.ATTRIBUTE);
|
||||||
|
for (EntityAttribute attribute : registry) {
|
||||||
|
JsonObject obj = new JsonObject();
|
||||||
|
obj.addProperty("name", registry.getId(attribute).getPath().split("\\.")[1]);
|
||||||
|
obj.addProperty("resource", registry.getId(attribute).getPath());
|
||||||
|
obj.addProperty("min", ((ClampedEntityAttribute) attribute).getMinValue());
|
||||||
|
obj.addProperty("max", ((ClampedEntityAttribute) attribute).getMaxValue());
|
||||||
|
obj.addProperty("default", attribute.getDefaultValue());
|
||||||
|
arr.add(obj);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -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.util.DGU;
|
||||||
|
import net.minecraft.entity.attribute.ClampedEntityAttribute;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttribute;
|
||||||
|
import net.minecraft.registry.RegistryKeys;
|
||||||
|
|
||||||
|
public class AttributesDataGenerator implements IDataGenerator {
|
||||||
|
@Override
|
||||||
|
public String getDataName() {
|
||||||
|
return "attributes";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement generateDataJson() {
|
||||||
|
JsonArray arr = new JsonArray();
|
||||||
|
var registry = DGU.getWorld().getRegistryManager().get(RegistryKeys.ATTRIBUTE);
|
||||||
|
for (EntityAttribute attribute : registry) {
|
||||||
|
JsonObject obj = new JsonObject();
|
||||||
|
obj.addProperty("name", registry.getId(attribute).getPath().split("\\.")[1]);
|
||||||
|
obj.addProperty("resource", registry.getId(attribute).getPath());
|
||||||
|
obj.addProperty("min", ((ClampedEntityAttribute) attribute).getMinValue());
|
||||||
|
obj.addProperty("max", ((ClampedEntityAttribute) attribute).getMaxValue());
|
||||||
|
obj.addProperty("default", attribute.getDefaultValue());
|
||||||
|
arr.add(obj);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
+34
@@ -0,0 +1,34 @@
|
|||||||
|
package dev.u9g.minecraftdatagenerator.generators;
|
||||||
|
|
||||||
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import dev.u9g.minecraftdatagenerator.util.DGU;
|
||||||
|
import net.minecraft.entity.attribute.ClampedEntityAttribute;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttribute;
|
||||||
|
import net.minecraft.registry.RegistryKeys;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class AttributesDataGenerator implements IDataGenerator {
|
||||||
|
@Override
|
||||||
|
public String getDataName() {
|
||||||
|
return "attributes";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement generateDataJson() {
|
||||||
|
JsonArray arr = new JsonArray();
|
||||||
|
var registry = DGU.getWorld().getRegistryManager().getOrThrow(RegistryKeys.ATTRIBUTE);
|
||||||
|
for (EntityAttribute attribute : registry) {
|
||||||
|
JsonObject obj = new JsonObject();
|
||||||
|
obj.addProperty("name", Objects.requireNonNull(registry.getId(attribute)).toShortTranslationKey());
|
||||||
|
obj.addProperty("resource", Objects.requireNonNull(registry.getId(attribute)).toTranslationKey());
|
||||||
|
obj.addProperty("min", ((ClampedEntityAttribute) attribute).getMinValue());
|
||||||
|
obj.addProperty("max", ((ClampedEntityAttribute) attribute).getMaxValue());
|
||||||
|
obj.addProperty("default", attribute.getDefaultValue());
|
||||||
|
arr.add(obj);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
+32
@@ -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.util.DGU;
|
||||||
|
import net.minecraft.entity.attribute.ClampedEntityAttribute;
|
||||||
|
import net.minecraft.entity.attribute.EntityAttribute;
|
||||||
|
import net.minecraft.registry.RegistryKeys;
|
||||||
|
|
||||||
|
public class AttributesDataGenerator implements IDataGenerator {
|
||||||
|
@Override
|
||||||
|
public String getDataName() {
|
||||||
|
return "attributes";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JsonElement generateDataJson() {
|
||||||
|
JsonArray arr = new JsonArray();
|
||||||
|
var registry = DGU.getWorld().getRegistryManager().get(RegistryKeys.ATTRIBUTE);
|
||||||
|
for (EntityAttribute attribute : registry) {
|
||||||
|
JsonObject obj = new JsonObject();
|
||||||
|
obj.addProperty("name", registry.getId(attribute).getPath().split("\\.")[1]);
|
||||||
|
obj.addProperty("resource", registry.getId(attribute).getPath());
|
||||||
|
obj.addProperty("min", ((ClampedEntityAttribute) attribute).getMinValue());
|
||||||
|
obj.addProperty("max", ((ClampedEntityAttribute) attribute).getMaxValue());
|
||||||
|
obj.addProperty("default", attribute.getDefaultValue());
|
||||||
|
arr.add(obj);
|
||||||
|
}
|
||||||
|
return arr;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user