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:
+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",
|
||||
"mixins": [
|
||||
"BiomeEffectsAccessor",
|
||||
"ClampedEntityAttributeAccessor",
|
||||
"EULAMixin",
|
||||
"MiningToolItemAccessor",
|
||||
"ReadyMixin",
|
||||
|
||||
Reference in New Issue
Block a user