Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.image.BufferedImage;
- import java.io.IOException;
- import javax.imageio.ImageIO;
- import net.minecraft.client.Minecraft;
- import java.awt.Graphics2D;
- import java.awt.image.BufferedImage;
- public class TextAnimFramesFX extends as {
- protected int fileBuf[];
- private int tick;
- private int srcSize;
- private int numFrames;
- private int width;
- private int height;
- public TextAnimFramesFX(int baseIndex, String fileName, int type) {
- super(baseIndex);
- width = (int) Math.sqrt(this.a.length / 4);
- height = (int) Math.sqrt(this.a.length / 4);
- tick = 0;
- this.e = 1;
- this.b = baseIndex;
- numFrames = 0;
- srcSize = 0;
- this.f = type;
- try {
- BufferedImage bufferedimage = ImageIO.read((net.minecraft.client.Minecraft.class).getResource(fileName));
- srcSize = bufferedimage.getHeight();
- fileBuf = new int[bufferedimage.getWidth() * bufferedimage.getHeight()];
- numFrames = bufferedimage.getWidth() / bufferedimage.getHeight();
- if (bufferedimage.getHeight() != height) {
- int new_w = bufferedimage.getWidth() * (width / srcSize);
- int new_h = bufferedimage.getHeight() * (height / srcSize);
- BufferedImage img = new BufferedImage(new_w, new_h, bufferedimage.getType());
- Graphics2D gfx = img.createGraphics();
- gfx.drawImage(bufferedimage, 0, 0, new_w, new_h, 0, 0, bufferedimage.getWidth(), bufferedimage.getHeight(), null);
- fileBuf = new int[img.getWidth() * img.getHeight()];
- srcSize = img.getHeight();
- img.getRGB(0, 0, new_w, new_h, fileBuf, 0, new_w);
- } else {
- bufferedimage.getRGB(0, 0, bufferedimage.getWidth(), bufferedimage.getHeight(), fileBuf, 0, bufferedimage.getWidth());
- }
- } catch (IOException ioexception) {
- ioexception.printStackTrace();
- }
- }
- @Override
- public void a() {
- tick++;
- tick %= numFrames;
- for (int v = 0; v < height ; v++) {
- int srcBase = v * srcSize * numFrames;
- for (int u = 0; u < width ; u++) {
- int srcU = srcSize * tick + u;
- int color = fileBuf[srcBase + srcU];
- int index = v * width + u;
- int blue = color & 0xff;
- int green = color >> 8 & 0xff;
- int red = color >> 16 & 0xff;
- int alpha = color >> 24 & 0xff;
- if (c) {
- int new_red = (red * 30 + green * 59 + blue * 11) / 100;
- int new_green = (red * 30 + green * 70) / 100;
- int new_blue = (red * 30 + blue * 70) / 100;
- red = new_red;
- green = new_green;
- blue = new_blue;
- }
- this.a[index * 4 + 0] = (byte) red;
- this.a[index * 4 + 1] = (byte) green;
- this.a[index * 4 + 2] = (byte) blue;
- this.a[index * 4 + 3] = (byte) alpha;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement