private void setup() {
        this.imageData = new byte[this.tileWidth * this.tileWidth * 4];
        this.watchIconImageData = new int[this.tileWidth * this.tileWidth];
        this.dialImageData = new int[this.tileWidth * this.tileWidth];
        this.tileImage = 1;

        try {
            BufferedImage ioexception = ImageIO.read(Minecraft.class.getResource(Minecraft.ITEMS_TEXTURE));

            if (this.texturePackBase != null) {
                ioexception = ImageIO.read(this.texturePackBase.getResourceAsStream(Minecraft.ITEMS_TEXTURE));
            }

            int x = this.iconIndex % 16 * this.tileWidth;
            int y = this.iconIndex / 16 * this.tileWidth;

            ioexception.getRGB(x, y, this.tileWidth, this.tileWidth, this.watchIconImageData, 0, this.tileWidth);
            ioexception = ImageIO.read(Minecraft.class.getResource("/assets/misc/dial.png"));
            if (this.texturePackBase != null) {
                ioexception = ImageIO.read(this.texturePackBase.getResourceAsStream("/assets/misc/dial.png"));
            }

            if (ioexception.getWidth() != this.tileWidth) {
                ioexception = RenderEngine.scaleBufferedImage(ioexception, this.tileWidth, this.tileWidth);
            }

            ioexception.getRGB(0, 0, this.tileWidth, this.tileWidth, this.dialImageData, 0, this.tileWidth);
            this.watchBaseData = new byte[this.watchIconImageData.length * 4];
            this.dialBaseData = new byte[this.dialImageData.length * 4];
            int tileWidth2 = this.tileWidth * this.tileWidth;

            int i;
            int a;
            int r;
            int g;
            int b;

            for (i = 0; i < tileWidth2; ++i) {
                a = this.watchIconImageData[i] >> 24 & 255;
                r = this.watchIconImageData[i] >> 16 & 255;
                g = this.watchIconImageData[i] >> 8 & 255;
                b = this.watchIconImageData[i] >> 0 & 255;
                if (r == b && g == 0 && b > 0) {
                    boolean t = false;
                }

                this.watchBaseData[i * 4 + 0] = (byte) r;
                this.watchBaseData[i * 4 + 1] = (byte) g;
                this.watchBaseData[i * 4 + 2] = (byte) b;
                this.watchBaseData[i * 4 + 3] = (byte) a;
            }

            for (i = 0; i < tileWidth2; ++i) {
                a = this.dialImageData[i] >> 24 & 255;
                r = this.dialImageData[i] >> 16 & 255;
                g = this.dialImageData[i] >> 8 & 255;
                b = this.dialImageData[i] >> 0 & 255;
                this.dialBaseData[i * 4 + 0] = (byte) r;
                this.dialBaseData[i * 4 + 1] = (byte) g;
                this.dialBaseData[i * 4 + 2] = (byte) b;
                this.dialBaseData[i * 4 + 3] = (byte) a;
            }
        } catch (IOException ioexception) {
            ioexception.printStackTrace();
        }

    }