Advertisement
JoviverdeCP

Untitled

Mar 24th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.43 KB | None | 0 0
  1. package me.darkmagician6.morbid.util;
  2.  
  3. import net.minecraft.client.Minecraft;
  4. import net.minecraft.src.AxisAlignedBB;
  5. import net.minecraft.src.Gui;
  6. import org.lwjgl.opengl.GL11;
  7.  
  8. public class RenderUtils
  9. extends Gui
  10. {
  11. private Minecraft mc;
  12.  
  13. public RenderUtils(Minecraft mc)
  14. {
  15. this.mc = mc;
  16. }
  17.  
  18. public void drawHalRect(double x, double y, double x1, double y1, boolean b, boolean e)
  19. {
  20. if (e)
  21. {
  22. if (b) {
  23. drawBorderedRect(x, y, x1, y1, 1.0F, 0.3F, 0.6F, 0.9F, 0.75F);
  24. } else {
  25. drawBorderedRect(x, y, x1, y1, 1.0F, 0.2F, 0.5F, 0.8F, 0.75F);
  26. }
  27. }
  28. else if (b) {
  29. drawBorderedRect(x, y, x1, y1, 1.0F, 0.5F, 0.5F, 0.5F, 0.75F);
  30. } else {
  31. drawBorderedRect(x, y, x1, y1, 1.0F, 0.3F, 0.3F, 0.3F, 0.75F);
  32. }
  33. }
  34.  
  35. public void drawBorderedRect(double x, double y, double x1, double y1, float width, float r, float g, float b, float a)
  36. {
  37. drawRect(x + 0.5D, y + 0.5D, x1 - 0.5D, y1 - 0.5D, r, g, b, a);
  38.  
  39. drawRect(x, y, x1, y + width, r + 0.1F, g + 0.1F,
  40. b + 0.1F, 1.0F);
  41.  
  42. drawRect(x, y, x + width, y1, r + 0.1F, g + 0.1F,
  43. b + 0.1F, 1.0F);
  44.  
  45. drawRect(x1 - width, y, x1, y1, r + 0.1F, g + 0.1F,
  46. b + 0.1F, 1.0F);
  47.  
  48. drawRect(x, y1 - width, x1, y1, r + 0.1F, g + 0.1F,
  49. b + 0.1F, 1.0F);
  50. }
  51.  
  52. public void drawRect(double x, double y, double d, double e, int color)
  53. {
  54. float alpha = (color >> 24 & 0xFF) / 255.0F;
  55. float red = (color >> 16 & 0xFF) / 255.0F;
  56. float green = (color >> 8 & 0xFF) / 255.0F;
  57. float blue = (color & 0xFF) / 255.0F;
  58. drawRect(x, y, d, e, red, green, blue, alpha);
  59. }
  60.  
  61. public void drawBorderedRect(double x, double y, double x1, double y1, float width, int color)
  62. {
  63. float alpha = (color >> 24 & 0xFF) / 255.0F;
  64. float red = (color >> 16 & 0xFF) / 255.0F;
  65. float green = (color >> 8 & 0xFF) / 255.0F;
  66. float blue = (color & 0xFF) / 255.0F;
  67. drawBorderedRect(x, y, x1, y1, width, red, green, blue, alpha);
  68. }
  69.  
  70. public void drawRect(double x, double y, double x1, double y1, float r, float g, float b, float a)
  71. {
  72. start2dRendering();
  73. enableSmoothing();
  74. GL11.glColor4f(r, g, b, a);
  75. drawRect(x, y, x1, y1);
  76. end2dRendering();
  77. disableSmoothing();
  78. }
  79.  
  80. public void drawRect(double x, double y, double x1, double y1)
  81. {
  82. GL11.glBegin(7);
  83. GL11.glVertex2d(x, y1);
  84. GL11.glVertex2d(x1, y1);
  85. GL11.glVertex2d(x1, y);
  86. GL11.glVertex2d(x, y);
  87. GL11.glEnd();
  88. }
  89.  
  90. public static void drawLine(double x, double y, double x1, double y1, float width)
  91. {
  92. GL11.glLineWidth(width);
  93. GL11.glBegin(1);
  94. GL11.glVertex2d(x, y);
  95. GL11.glVertex2d(x1, y1);
  96. GL11.glEnd();
  97. }
  98.  
  99. public void enableSmoothing()
  100. {
  101. GL11.glEnable(2848);
  102. GL11.glHint(3154, 4354);
  103. }
  104.  
  105. public void disableSmoothing()
  106. {
  107. GL11.glDisable(2848);
  108. }
  109.  
  110. public void start2dRendering()
  111. {
  112. GL11.glDisable(2929);
  113. GL11.glEnable(3042);
  114. GL11.glDisable(3553);
  115. GL11.glBlendFunc(770, 771);
  116. }
  117.  
  118. public void end2dRendering()
  119. {
  120. GL11.glEnable(3553);
  121. GL11.glDisable(3042);
  122. GL11.glEnable(2929);
  123. }
  124.  
  125. public void drawOutlinedBox(AxisAlignedBB box)
  126. {
  127. GL11.glBegin(3);
  128. GL11.glVertex3d(box.minX, box.minY, box.minZ);
  129. GL11.glVertex3d(box.maxX, box.minY, box.minZ);
  130. GL11.glVertex3d(box.maxX, box.minY, box.maxZ);
  131. GL11.glVertex3d(box.minX, box.minY, box.maxZ);
  132. GL11.glVertex3d(box.minX, box.minY, box.minZ);
  133. GL11.glEnd();
  134. GL11.glBegin(3);
  135. GL11.glVertex3d(box.minX, box.maxY, box.minZ);
  136. GL11.glVertex3d(box.maxX, box.maxY, box.minZ);
  137. GL11.glVertex3d(box.maxX, box.maxY, box.maxZ);
  138. GL11.glVertex3d(box.minX, box.maxY, box.maxZ);
  139. GL11.glVertex3d(box.minX, box.maxY, box.minZ);
  140. GL11.glEnd();
  141. GL11.glBegin(1);
  142. GL11.glVertex3d(box.minX, box.minY, box.minZ);
  143. GL11.glVertex3d(box.minX, box.maxY, box.minZ);
  144. GL11.glVertex3d(box.maxX, box.minY, box.minZ);
  145. GL11.glVertex3d(box.maxX, box.maxY, box.minZ);
  146. GL11.glVertex3d(box.maxX, box.minY, box.maxZ);
  147. GL11.glVertex3d(box.maxX, box.maxY, box.maxZ);
  148. GL11.glVertex3d(box.minX, box.minY, box.maxZ);
  149. GL11.glVertex3d(box.minX, box.maxY, box.maxZ);
  150. GL11.glEnd();
  151. }
  152.  
  153. public void drawBox(AxisAlignedBB box)
  154. {
  155. GL11.glBegin(7);
  156. GL11.glVertex3d(box.minX, box.minY, box.maxZ);
  157. GL11.glVertex3d(box.maxX, box.minY, box.maxZ);
  158. GL11.glVertex3d(box.maxX, box.maxY, box.maxZ);
  159. GL11.glVertex3d(box.minX, box.maxY, box.maxZ);
  160. GL11.glEnd();
  161. GL11.glBegin(7);
  162. GL11.glVertex3d(box.maxX, box.minY, box.maxZ);
  163. GL11.glVertex3d(box.minX, box.minY, box.maxZ);
  164. GL11.glVertex3d(box.minX, box.maxY, box.maxZ);
  165. GL11.glVertex3d(box.maxX, box.maxY, box.maxZ);
  166. GL11.glEnd();
  167.  
  168. GL11.glBegin(7);
  169. GL11.glVertex3d(box.minX, box.minY, box.minZ);
  170. GL11.glVertex3d(box.minX, box.minY, box.maxZ);
  171. GL11.glVertex3d(box.minX, box.maxY, box.maxZ);
  172. GL11.glVertex3d(box.minX, box.maxY, box.minZ);
  173. GL11.glEnd();
  174. GL11.glBegin(7);
  175. GL11.glVertex3d(box.minX, box.minY, box.maxZ);
  176. GL11.glVertex3d(box.minX, box.minY, box.minZ);
  177. GL11.glVertex3d(box.minX, box.maxY, box.minZ);
  178. GL11.glVertex3d(box.minX, box.maxY, box.maxZ);
  179. GL11.glEnd();
  180.  
  181. GL11.glBegin(7);
  182. GL11.glVertex3d(box.maxX, box.minY, box.maxZ);
  183. GL11.glVertex3d(box.maxX, box.minY, box.minZ);
  184. GL11.glVertex3d(box.maxX, box.maxY, box.minZ);
  185. GL11.glVertex3d(box.maxX, box.maxY, box.maxZ);
  186. GL11.glEnd();
  187. GL11.glBegin(7);
  188. GL11.glVertex3d(box.maxX, box.minY, box.minZ);
  189. GL11.glVertex3d(box.maxX, box.minY, box.maxZ);
  190. GL11.glVertex3d(box.maxX, box.maxY, box.maxZ);
  191. GL11.glVertex3d(box.maxX, box.maxY, box.minZ);
  192. GL11.glEnd();
  193.  
  194. GL11.glBegin(7);
  195. GL11.glVertex3d(box.minX, box.minY, box.minZ);
  196. GL11.glVertex3d(box.maxX, box.minY, box.minZ);
  197. GL11.glVertex3d(box.maxX, box.maxY, box.minZ);
  198. GL11.glVertex3d(box.minX, box.maxY, box.minZ);
  199. GL11.glEnd();
  200. GL11.glBegin(7);
  201. GL11.glVertex3d(box.maxX, box.minY, box.minZ);
  202. GL11.glVertex3d(box.minX, box.minY, box.minZ);
  203. GL11.glVertex3d(box.minX, box.maxY, box.minZ);
  204. GL11.glVertex3d(box.maxX, box.maxY, box.minZ);
  205. GL11.glEnd();
  206.  
  207. GL11.glBegin(7);
  208. GL11.glVertex3d(box.minX, box.maxY, box.minZ);
  209. GL11.glVertex3d(box.maxX, box.maxY, box.minZ);
  210. GL11.glVertex3d(box.maxX, box.maxY, box.maxZ);
  211. GL11.glVertex3d(box.minX, box.maxY, box.maxZ);
  212. GL11.glEnd();
  213.  
  214. GL11.glBegin(7);
  215. GL11.glVertex3d(box.maxX, box.maxY, box.minZ);
  216. GL11.glVertex3d(box.minX, box.maxY, box.minZ);
  217. GL11.glVertex3d(box.minX, box.maxY, box.maxZ);
  218. GL11.glVertex3d(box.maxX, box.maxY, box.maxZ);
  219. GL11.glEnd();
  220.  
  221. GL11.glBegin(7);
  222. GL11.glVertex3d(box.minX, box.minY, box.minZ);
  223. GL11.glVertex3d(box.maxX, box.minY, box.minZ);
  224. GL11.glVertex3d(box.maxX, box.minY, box.maxZ);
  225. GL11.glVertex3d(box.minX, box.minY, box.maxZ);
  226. GL11.glEnd();
  227.  
  228. GL11.glBegin(7);
  229. GL11.glVertex3d(box.maxX, box.minY, box.minZ);
  230. GL11.glVertex3d(box.minX, box.minY, box.minZ);
  231. GL11.glVertex3d(box.minX, box.minY, box.maxZ);
  232. GL11.glVertex3d(box.maxX, box.minY, box.maxZ);
  233. GL11.glEnd();
  234. }
  235.  
  236. public void drawCrossedBox(AxisAlignedBB ax, float r, float g, float b, boolean c)
  237. {
  238. if (c)
  239. {
  240. GL11.glColor4f(r, g, b, 0.1F);
  241. drawBox(ax);
  242. }
  243. GL11.glColor4f(r, g, b, 0.75F);
  244. GL11.glLineWidth(1.0F);
  245. drawOutlinedBox(ax);
  246. GL11.glLineWidth(0.75F);
  247. GL11.glBegin(1);
  248. GL11.glVertex3d(ax.maxX, ax.maxY, ax.maxZ);
  249. GL11.glVertex3d(ax.maxX, ax.minY, ax.minZ);
  250. GL11.glVertex3d(ax.maxX, ax.maxY, ax.minZ);
  251.  
  252. GL11.glVertex3d(ax.minX, ax.maxY, ax.maxZ);
  253. GL11.glVertex3d(ax.minX, ax.maxY, ax.minZ);
  254. GL11.glVertex3d(ax.maxX, ax.minY, ax.minZ);
  255.  
  256. GL11.glVertex3d(ax.minX, ax.minY, ax.maxZ);
  257. GL11.glVertex3d(ax.maxX, ax.maxY, ax.maxZ);
  258. GL11.glVertex3d(ax.minX, ax.minY, ax.maxZ);
  259.  
  260. GL11.glVertex3d(ax.minX, ax.maxY, ax.minZ);
  261. GL11.glVertex3d(ax.minX, ax.minY, ax.minZ);
  262. GL11.glVertex3d(ax.maxX, ax.minY, ax.maxZ);
  263. GL11.glEnd();
  264. }
  265.  
  266. public void prepareScissorBox(float x, float y, float x2, float y2) {}
  267.  
  268. public static Long getSystemTime()
  269. {
  270. return Long.valueOf(System.nanoTime() / 1000000L);
  271. }
  272. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement