Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.23 KB | None | 0 0
  1.  
  2. import java.awt.image.BufferedImage;
  3. import java.io.IOException;
  4. import javax.imageio.ImageIO;
  5. import net.minecraft.client.Minecraft;
  6. import java.awt.Graphics2D;
  7. import java.awt.image.BufferedImage;
  8.  
  9. public class TextAnimFramesFX extends as {
  10.  
  11. protected int fileBuf[];
  12. private int tick;
  13. private int srcSize;
  14. private int numFrames;
  15. private int width;
  16. private int height;
  17.  
  18. public TextAnimFramesFX(int baseIndex, String fileName, int type) {
  19. super(baseIndex);
  20. width = (int) Math.sqrt(this.a.length / 4);
  21. height = (int) Math.sqrt(this.a.length / 4);
  22. tick = 0;
  23. this.e = 1;
  24. this.b = baseIndex;
  25. numFrames = 0;
  26. srcSize = 0;
  27. this.f = type;
  28. try {
  29. BufferedImage bufferedimage = ImageIO.read((net.minecraft.client.Minecraft.class).getResource(fileName));
  30. srcSize = bufferedimage.getHeight();
  31. fileBuf = new int[bufferedimage.getWidth() * bufferedimage.getHeight()];
  32. numFrames = bufferedimage.getWidth() / bufferedimage.getHeight();
  33. if (bufferedimage.getHeight() != height) {
  34.  
  35. int new_w = bufferedimage.getWidth() * (width / srcSize);
  36. int new_h = bufferedimage.getHeight() * (height / srcSize);
  37. BufferedImage img = new BufferedImage(new_w, new_h, bufferedimage.getType());
  38. Graphics2D gfx = img.createGraphics();
  39. gfx.drawImage(bufferedimage, 0, 0, new_w, new_h, 0, 0, bufferedimage.getWidth(), bufferedimage.getHeight(), null);
  40. fileBuf = new int[img.getWidth() * img.getHeight()];
  41. srcSize = img.getHeight();
  42. img.getRGB(0, 0, new_w, new_h, fileBuf, 0, new_w);
  43. } else {
  44.  
  45. bufferedimage.getRGB(0, 0, bufferedimage.getWidth(), bufferedimage.getHeight(), fileBuf, 0, bufferedimage.getWidth());
  46. }
  47.  
  48. } catch (IOException ioexception) {
  49. ioexception.printStackTrace();
  50. }
  51. }
  52. @Override
  53. public void a() {
  54.  
  55.  
  56. tick++;
  57. tick %= numFrames;
  58.  
  59. for (int v = 0; v < height ; v++) {
  60. int srcBase = v * srcSize * numFrames;
  61.  
  62. for (int u = 0; u < width ; u++) {
  63. int srcU = srcSize * tick + u;
  64. int color = fileBuf[srcBase + srcU];
  65. int index = v * width + u;
  66. int blue = color & 0xff;
  67. int green = color >> 8 & 0xff;
  68. int red = color >> 16 & 0xff;
  69. int alpha = color >> 24 & 0xff;
  70.  
  71. if (c) {
  72. int new_red = (red * 30 + green * 59 + blue * 11) / 100;
  73. int new_green = (red * 30 + green * 70) / 100;
  74. int new_blue = (red * 30 + blue * 70) / 100;
  75. red = new_red;
  76. green = new_green;
  77. blue = new_blue;
  78. }
  79.  
  80. this.a[index * 4 + 0] = (byte) red;
  81. this.a[index * 4 + 1] = (byte) green;
  82. this.a[index * 4 + 2] = (byte) blue;
  83. this.a[index * 4 + 3] = (byte) alpha;
  84. }
  85. }
  86. }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement