diff options
Diffstat (limited to 'src/main/java/gtPlusPlus/nei/handlers/NeiTextureHandler.java')
-rw-r--r-- | src/main/java/gtPlusPlus/nei/handlers/NeiTextureHandler.java | 243 |
1 files changed, 122 insertions, 121 deletions
diff --git a/src/main/java/gtPlusPlus/nei/handlers/NeiTextureHandler.java b/src/main/java/gtPlusPlus/nei/handlers/NeiTextureHandler.java index 30c159ca93..1da2c7145c 100644 --- a/src/main/java/gtPlusPlus/nei/handlers/NeiTextureHandler.java +++ b/src/main/java/gtPlusPlus/nei/handlers/NeiTextureHandler.java @@ -10,20 +10,19 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; - /** * Based on crazypants.enderio.gui.IconEIO - * + * * @author Original EIO Author * * This is free and unencumbered software released into the public * domain. - * + * * Anyone is free to copy, modify, publish, use, compile, sell, or * distribute this software, either in source code form or as a compiled * binary, for any purpose, commercial or non-commercial, and by any * means. - * + * * In jurisdictions that recognize copyright laws, the author or authors * of this software dedicate any and all copyright interest in the * software to the public domain. We make this dedication for the @@ -31,7 +30,7 @@ import org.lwjgl.opengl.GL11; * successors. We intend this dedication to be an overt act of * relinquishment in perpetuity of all present and future rights to this * software under copyright law. - * + * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -39,7 +38,7 @@ import org.lwjgl.opengl.GL11; * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * + * * For more information, please refer to <http://unlicense.org/> * * https://github.com/SleepyTrousers/EnderIO/blob/release/1.7.10/2.2/src/main/java/crazypants/render/RenderUtil.java @@ -47,118 +46,120 @@ import org.lwjgl.opengl.GL11; */ public final class NeiTextureHandler { - public static final NeiTextureHandler RECIPE = new NeiTextureHandler(16, 132, 16, 16); - public static final NeiTextureHandler RECIPE_BUTTON = new NeiTextureHandler(128, 116, 24, 24); - - public final double minU; - public final double maxU; - public final double minV; - public final double maxV; - public final double width; - public final double height; - - public static final ResourceLocation TEXTURE = new ResourceLocation(CORE.MODID + ":textures/gui/nei/widgets.png"); - - public NeiTextureHandler(int x, int y) { - this(x, y, 16, 16); - } - - public NeiTextureHandler(int x, int y, int width, int height) { - this((double) width, (double) height, (double) ((float) (0.00390625D * (double) x)), - (double) ((float) (0.00390625D * (double) (x + width))), (double) ((float) (0.00390625D * (double) y)), - (double) ((float) (0.00390625D * (double) (y + height)))); - } - - public NeiTextureHandler(double width, double height, double minU, double maxU, double minV, double maxV) { - this.width = width; - this.height = height; - this.minU = minU; - this.maxU = maxU; - this.minV = minV; - this.maxV = maxV; - } - - public void renderIcon(double x, double y) { - this.renderIcon(x, y, this.width, this.height, 0.0D, false); - } - - public void renderIcon(double x, double y, boolean doDraw) { - this.renderIcon(x, y, this.width, this.height, 0.0D, doDraw); - } - - public void renderIcon(double x, double y, double width, double height, double zLevel, boolean doDraw) { - this.renderIcon(x, y, width, height, zLevel, doDraw, false); - } - - public void renderIcon(double x, double y, double width, double height, double zLevel, boolean doDraw, - boolean flipY) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - Tessellator tessellator = Tessellator.instance; - if (doDraw) { - bindTexture(TEXTURE); - tessellator.startDrawingQuads(); - } - - if (flipY) { - tessellator.addVertexWithUV(x, y + height, zLevel, this.minU, this.minV); - tessellator.addVertexWithUV(x + width, y + height, zLevel, this.maxU, this.minV); - tessellator.addVertexWithUV(x + width, y + 0.0D, zLevel, this.maxU, this.maxV); - tessellator.addVertexWithUV(x, y + 0.0D, zLevel, this.minU, this.maxV); - } else { - tessellator.addVertexWithUV(x, y + height, zLevel, this.minU, this.maxV); - tessellator.addVertexWithUV(x + width, y + height, zLevel, this.maxU, this.maxV); - tessellator.addVertexWithUV(x + width, y + 0.0D, zLevel, this.maxU, this.minV); - tessellator.addVertexWithUV(x, y + 0.0D, zLevel, this.minU, this.minV); - } - - if (doDraw) { - tessellator.draw(); - } - - } - - public static final ResourceLocation BLOCK_TEX; - public static final ResourceLocation ITEM_TEX; - public static final ResourceLocation GLINT_TEX; - public static int BRIGHTNESS_MAX; - - static { - BLOCK_TEX = TextureMap.locationBlocksTexture; - ITEM_TEX = TextureMap.locationItemsTexture; - GLINT_TEX = new ResourceLocation("textures/misc/enchanted_item_glint.png"); - BRIGHTNESS_MAX = 15728880; - } - - public static TextureManager engine() { - return Minecraft.getMinecraft().renderEngine; - } - - public static void bindItemTexture(ItemStack stack) { - engine().bindTexture(stack.getItemSpriteNumber() == 0 ? BLOCK_TEX : ITEM_TEX); - } - - public static void bindItemTexture() { - engine().bindTexture(ITEM_TEX); - } - - public static void bindBlockTexture() { - engine().bindTexture(BLOCK_TEX); - } - - public static void bindGlintTexture() { - engine().bindTexture(BLOCK_TEX); - } - - public static void bindTexture(String string) { - engine().bindTexture(new ResourceLocation(string)); - } - - public static void bindTexture(ResourceLocation tex) { - engine().bindTexture(tex); - } - - public static FontRenderer fontRenderer() { - return Minecraft.getMinecraft().fontRenderer; - } - -}
\ No newline at end of file + public static final NeiTextureHandler RECIPE = new NeiTextureHandler(16, 132, 16, 16); + public static final NeiTextureHandler RECIPE_BUTTON = new NeiTextureHandler(128, 116, 24, 24); + + public final double minU; + public final double maxU; + public final double minV; + public final double maxV; + public final double width; + public final double height; + + public static final ResourceLocation TEXTURE = new ResourceLocation(CORE.MODID + ":textures/gui/nei/widgets.png"); + + public NeiTextureHandler(int x, int y) { + this(x, y, 16, 16); + } + + public NeiTextureHandler(int x, int y, int width, int height) { + this( + (double) width, + (double) height, + (double) ((float) (0.00390625D * (double) x)), + (double) ((float) (0.00390625D * (double) (x + width))), + (double) ((float) (0.00390625D * (double) y)), + (double) ((float) (0.00390625D * (double) (y + height)))); + } + + public NeiTextureHandler(double width, double height, double minU, double maxU, double minV, double maxV) { + this.width = width; + this.height = height; + this.minU = minU; + this.maxU = maxU; + this.minV = minV; + this.maxV = maxV; + } + + public void renderIcon(double x, double y) { + this.renderIcon(x, y, this.width, this.height, 0.0D, false); + } + + public void renderIcon(double x, double y, boolean doDraw) { + this.renderIcon(x, y, this.width, this.height, 0.0D, doDraw); + } + + public void renderIcon(double x, double y, double width, double height, double zLevel, boolean doDraw) { + this.renderIcon(x, y, width, height, zLevel, doDraw, false); + } + + public void renderIcon( + double x, double y, double width, double height, double zLevel, boolean doDraw, boolean flipY) { + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Tessellator tessellator = Tessellator.instance; + if (doDraw) { + bindTexture(TEXTURE); + tessellator.startDrawingQuads(); + } + + if (flipY) { + tessellator.addVertexWithUV(x, y + height, zLevel, this.minU, this.minV); + tessellator.addVertexWithUV(x + width, y + height, zLevel, this.maxU, this.minV); + tessellator.addVertexWithUV(x + width, y + 0.0D, zLevel, this.maxU, this.maxV); + tessellator.addVertexWithUV(x, y + 0.0D, zLevel, this.minU, this.maxV); + } else { + tessellator.addVertexWithUV(x, y + height, zLevel, this.minU, this.maxV); + tessellator.addVertexWithUV(x + width, y + height, zLevel, this.maxU, this.maxV); + tessellator.addVertexWithUV(x + width, y + 0.0D, zLevel, this.maxU, this.minV); + tessellator.addVertexWithUV(x, y + 0.0D, zLevel, this.minU, this.minV); + } + + if (doDraw) { + tessellator.draw(); + } + } + + public static final ResourceLocation BLOCK_TEX; + public static final ResourceLocation ITEM_TEX; + public static final ResourceLocation GLINT_TEX; + public static int BRIGHTNESS_MAX; + + static { + BLOCK_TEX = TextureMap.locationBlocksTexture; + ITEM_TEX = TextureMap.locationItemsTexture; + GLINT_TEX = new ResourceLocation("textures/misc/enchanted_item_glint.png"); + BRIGHTNESS_MAX = 15728880; + } + + public static TextureManager engine() { + return Minecraft.getMinecraft().renderEngine; + } + + public static void bindItemTexture(ItemStack stack) { + engine().bindTexture(stack.getItemSpriteNumber() == 0 ? BLOCK_TEX : ITEM_TEX); + } + + public static void bindItemTexture() { + engine().bindTexture(ITEM_TEX); + } + + public static void bindBlockTexture() { + engine().bindTexture(BLOCK_TEX); + } + + public static void bindGlintTexture() { + engine().bindTexture(BLOCK_TEX); + } + + public static void bindTexture(String string) { + engine().bindTexture(new ResourceLocation(string)); + } + + public static void bindTexture(ResourceLocation tex) { + engine().bindTexture(tex); + } + + public static FontRenderer fontRenderer() { + return Minecraft.getMinecraft().fontRenderer; + } +} |