PlaceSideEnum.java 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.zjinja.mcmod.decor.utils.model_dir_util;
  2. public enum PlaceSideEnum {
  3. FaceToSky(0),
  4. FaceToGround(1),
  5. FaceToSouth(2),
  6. FaceToNorth(3),
  7. FaceToEast(4),
  8. FaceToWest(5);
  9. private int value;
  10. private PlaceSideEnum(int value) { //必须是private的,否则编译错误
  11. this.value = value;
  12. }
  13. public static PlaceSideEnum valueOf(int value) {
  14. switch (value) {
  15. case 0:
  16. return FaceToSky;
  17. case 1:
  18. return FaceToGround;
  19. case 2:
  20. return FaceToSouth;
  21. case 3:
  22. return FaceToNorth;
  23. case 4:
  24. return FaceToEast;
  25. case 5:
  26. return FaceToWest;
  27. default:
  28. return FaceToSky;
  29. }
  30. }
  31. public static PlaceSideEnum fromYaw(int yaw){
  32. switch (yaw % 4){
  33. case 0:
  34. return FaceToSouth;
  35. case 1:
  36. return FaceToWest;
  37. case 2:
  38. return FaceToNorth;
  39. case 3:
  40. return FaceToEast;
  41. default:
  42. return FaceToSky;
  43. }
  44. }
  45. public static int TransToRotation(PlaceSideEnum pse){
  46. switch (pse){
  47. case FaceToNorth:
  48. return 0;
  49. case FaceToEast:
  50. return 1;
  51. case FaceToSouth:
  52. return 2;
  53. case FaceToWest:
  54. return 3;
  55. default:
  56. return -1;
  57. }
  58. }
  59. }