/src/main/java/net/minecraft/client/renderer/block/model/ItemTransformVec3f.java

https://gitlab.com/HuliPvP/XIV · Java · 68 lines · 55 code · 13 blank · 0 comment · 6 complexity · 08cd7612cfedaba23a5671819ee7328b MD5 · raw file

  1. package net.minecraft.client.renderer.block.model;
  2. import com.google.gson.*;
  3. import net.minecraft.util.JsonUtils;
  4. import net.minecraft.util.MathHelper;
  5. import javax.vecmath.Vector3f;
  6. import java.lang.reflect.Type;
  7. public class ItemTransformVec3f {
  8. public static final ItemTransformVec3f field_178366_a = new ItemTransformVec3f(new Vector3f(), new Vector3f(), new Vector3f(1.0F, 1.0F, 1.0F));
  9. public final Vector3f field_178364_b;
  10. public final Vector3f field_178365_c;
  11. public final Vector3f field_178363_d;
  12. public ItemTransformVec3f(Vector3f p_i46214_1_, Vector3f p_i46214_2_, Vector3f p_i46214_3_) {
  13. this.field_178364_b = new Vector3f(p_i46214_1_);
  14. this.field_178365_c = new Vector3f(p_i46214_2_);
  15. this.field_178363_d = new Vector3f(p_i46214_3_);
  16. }
  17. static class Deserializer implements JsonDeserializer {
  18. private static final Vector3f field_178362_a = new Vector3f(0.0F, 0.0F, 0.0F);
  19. private static final Vector3f field_178360_b = new Vector3f(0.0F, 0.0F, 0.0F);
  20. private static final Vector3f field_178361_c = new Vector3f(1.0F, 1.0F, 1.0F);
  21. public ItemTransformVec3f func_178359_a(JsonElement p_178359_1_, Type p_178359_2_, JsonDeserializationContext p_178359_3_) {
  22. JsonObject var4 = p_178359_1_.getAsJsonObject();
  23. Vector3f var5 = this.func_178358_a(var4, "rotation", field_178362_a);
  24. Vector3f var6 = this.func_178358_a(var4, "translation", field_178360_b);
  25. var6.scale(0.0625F);
  26. MathHelper.clamp_double((double) var6.x, -1.5D, 1.5D);
  27. MathHelper.clamp_double((double) var6.y, -1.5D, 1.5D);
  28. MathHelper.clamp_double((double) var6.z, -1.5D, 1.5D);
  29. Vector3f var7 = this.func_178358_a(var4, "scale", field_178361_c);
  30. MathHelper.clamp_double((double) var7.x, -1.5D, 1.5D);
  31. MathHelper.clamp_double((double) var7.y, -1.5D, 1.5D);
  32. MathHelper.clamp_double((double) var7.z, -1.5D, 1.5D);
  33. return new ItemTransformVec3f(var5, var6, var7);
  34. }
  35. private Vector3f func_178358_a(JsonObject p_178358_1_, String p_178358_2_, Vector3f p_178358_3_) {
  36. if (!p_178358_1_.has(p_178358_2_)) {
  37. return p_178358_3_;
  38. } else {
  39. JsonArray var4 = JsonUtils.getJsonObjectJsonArrayField(p_178358_1_, p_178358_2_);
  40. if (var4.size() != 3) {
  41. throw new JsonParseException("Expected 3 " + p_178358_2_ + " values, found: " + var4.size());
  42. } else {
  43. float[] var5 = new float[3];
  44. for (int var6 = 0; var6 < var5.length; ++var6) {
  45. var5[var6] = JsonUtils.getJsonElementFloatValue(var4.get(var6), p_178358_2_ + "[" + var6 + "]");
  46. }
  47. return new Vector3f(var5);
  48. }
  49. }
  50. }
  51. public Object deserialize(JsonElement p_deserialize_1_, Type p_deserialize_2_, JsonDeserializationContext p_deserialize_3_) {
  52. return this.func_178359_a(p_deserialize_1_, p_deserialize_2_, p_deserialize_3_);
  53. }
  54. }
  55. }