diff --git a/build.properties b/build.properties index 9e413f13e..da8766d6b 100644 --- a/build.properties +++ b/build.properties @@ -2,4 +2,4 @@ mc_version=1.7.10 forge_version=10.13.4.1614-1.7.10 ccl_version=1.1.3.138 ccc_version=1.0.7.+ -mod_version=2.1.0-GTNH-beta +mod_version=2.1.0-GTNH-beta2 diff --git a/src/codechicken/nei/ButtonCycled.java b/src/codechicken/nei/ButtonCycled.java index 9d976de7e..eae279645 100644 --- a/src/codechicken/nei/ButtonCycled.java +++ b/src/codechicken/nei/ButtonCycled.java @@ -6,6 +6,7 @@ public ButtonCycled() {} public ButtonCycled(int num) { icons = new Image[num]; + init(); } @Override public Image getRenderIcon() @@ -13,6 +14,7 @@ public Image getRenderIcon() return icons[index]; } + public void init() {} public int index; public Image[] icons; } diff --git a/src/codechicken/nei/LayoutManager.java b/src/codechicken/nei/LayoutManager.java index 6c41a2b04..93361a9ec 100644 --- a/src/codechicken/nei/LayoutManager.java +++ b/src/codechicken/nei/LayoutManager.java @@ -8,6 +8,8 @@ import codechicken.nei.api.IRecipeOverlayRenderer; import codechicken.nei.api.ItemInfo; import codechicken.nei.api.LayoutStyle; +import codechicken.nei.drawable.DrawableBuilder; +import codechicken.nei.drawable.DrawableResource; import codechicken.nei.guihook.GuiContainerManager; import codechicken.nei.guihook.IContainerDrawHandler; import codechicken.nei.guihook.IContainerInputHandler; @@ -335,6 +337,13 @@ private static void init() { options = new ButtonCycled(3) { + @Override + public void init() { + this.icons[0] = new DrawableBuilder("nei:textures/nei_tabbed_sprites.png", 32, 0, 16, 16).build(); + this.icons[1] = new DrawableBuilder("nei:textures/nei_tabbed_sprites.png", 48, 0, 16, 16).build(); + this.icons[2] = new DrawableBuilder("nei:textures/nei_tabbed_sprites.png", 64, 0, 16, 16).build(); + } + @Override public boolean onButtonPress(boolean rightclick) { if (!rightclick) { @@ -371,6 +380,12 @@ public String getRenderLabel() { bookmarksButton = new ButtonCycled(2) { + @Override + public void init() { + this.icons[0] = new DrawableBuilder("nei:textures/nei_tabbed_sprites.png", 0, 0, 16, 16).build(); + this.icons[1] = new DrawableBuilder("nei:textures/nei_tabbed_sprites.png", 16, 0, 16, 16).build(); + } + @Override public boolean onButtonPress(boolean rightclick) { NEIClientConfig.toggleBooleanSetting("inventory.bookmarksEnabled"); @@ -768,11 +783,18 @@ public void renderSlotOverlay(GuiContainer window, Slot slot) { } public static void drawIcon(int x, int y, Image image) { - changeTexture("nei:textures/nei_sprites.png"); + final boolean isDrawableResource = image instanceof DrawableResource; + + if (!isDrawableResource) + changeTexture("nei:textures/nei_sprites.png"); + GL11.glColor4f(1, 1, 1, 1); GL11.glEnable(GL11.GL_BLEND); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - drawTexturedModalRect(x, y, image.x, image.y, image.width, image.height); + if(!isDrawableResource) + drawTexturedModalRect(x, y, image.x, image.y, image.width, image.height); + else + ((DrawableResource)image).draw(x, y); GL11.glDisable(GL11.GL_BLEND); } diff --git a/src/codechicken/nei/LayoutStyleMinecraft.java b/src/codechicken/nei/LayoutStyleMinecraft.java index 15b833e02..9d9c0a18c 100644 --- a/src/codechicken/nei/LayoutStyleMinecraft.java +++ b/src/codechicken/nei/LayoutStyleMinecraft.java @@ -49,11 +49,6 @@ public void init() { timeButtons[2].icon = new Image(144, 24, 12, 12); timeButtons[3].icon = new Image(156, 24, 12, 12); heal.icon = new Image(168, 24, 12, 12); - bookmarksButton.icons[0] = new Image(0, 36, 16, 16); - bookmarksButton.icons[1] = new Image(16, 36, 16, 16); - options.icons[0] = new Image(32, 36, 16, 16); - options.icons[1] = new Image(48, 36, 16, 16); - options.icons[2] = new Image(64, 36, 16, 16); } @Override @@ -189,6 +184,7 @@ else if ((b.state & 0x4) == 0 && b.contains(mousex, mousey) ||//not a state butt final int iconX = b.x + (b.w - icon.width) / 2; final int iconY = b.y + (b.h - icon.height) / 2; + LayoutManager.drawIcon(iconX, iconY, icon); } } diff --git a/src/codechicken/nei/config/OptionToggleButtonBoubs.java b/src/codechicken/nei/config/OptionToggleButtonBoubs.java index 61739cdad..1fcbbaf4b 100644 --- a/src/codechicken/nei/config/OptionToggleButtonBoubs.java +++ b/src/codechicken/nei/config/OptionToggleButtonBoubs.java @@ -1,5 +1,6 @@ package codechicken.nei.config; +import codechicken.nei.Image; import codechicken.nei.LayoutManager; import codechicken.nei.drawable.DrawableBuilder; import codechicken.nei.drawable.DrawableResource; @@ -30,17 +31,8 @@ public boolean state() { public void drawButton(int mx, int my) { Rectangle b = buttonSize(); LayoutManager.drawButtonBackground(b.x, b.y, b.width, b.height, true, getButtonTex(mx, my)); - GL11.glColor4f(1, 1, 1, 1); - GL11.glEnable(GL11.GL_BLEND); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - - if(state()) { - coolBoubs.draw(b.x + (b.width/2) - (coolBoubs.getWidth()/2), b.y); - }else { - angryBoubs.draw(b.x + (b.width/2) - (angryBoubs.getWidth()/2), b.y); - } - GL11.glDisable(GL11.GL_BLEND); - + final Image image = state() ? coolBoubs : angryBoubs; + LayoutManager.drawIcon(b.x + (b.width/2) - (coolBoubs.getWidth()/2), b.y, image); } public String getButtonText() { diff --git a/src/codechicken/nei/drawable/DrawableResource.java b/src/codechicken/nei/drawable/DrawableResource.java index bca9db717..5ede219a1 100644 --- a/src/codechicken/nei/drawable/DrawableResource.java +++ b/src/codechicken/nei/drawable/DrawableResource.java @@ -1,34 +1,27 @@ package codechicken.nei.drawable; +import codechicken.nei.Image; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Gui; import net.minecraft.util.ResourceLocation; -public class DrawableResource { +public class DrawableResource extends Image { private final ResourceLocation resourceLocation; private final int textureWidth; private final int textureHeight; - private final int u; - private final int v; - private final int width; - private final int height; private final int paddingTop; private final int paddingBottom; private final int paddingLeft; private final int paddingRight; public DrawableResource(ResourceLocation resourceLocation, int u, int v, int width, int height, int paddingTop, int paddingBottom, int paddingLeft, int paddingRight, int textureWidth, int textureHeight) { + super(u, v, width, height); this.resourceLocation = resourceLocation; this.textureWidth = textureWidth; this.textureHeight = textureHeight; - - this.u = u; - this.v = v; - this.width = width; - this.height = height; - + this.paddingTop = paddingTop; this.paddingBottom = paddingBottom; this.paddingLeft = paddingLeft; @@ -52,8 +45,8 @@ public void draw(int xOffset, int yOffset, int maskTop, int maskBottom, int mask int x = xOffset + this.paddingLeft + maskLeft; int y = yOffset + this.paddingTop + maskTop; - int u = this.u + maskLeft; - int v = this.v + maskTop; + int u = this.x + maskLeft; + int v = this.y + maskTop; int width = this.width - maskRight - maskLeft; int height = this.height - maskBottom - maskTop; // drawModalRectWithCustomSizedTexture diff --git a/src/codechicken/nei/recipe/DefaultOverlayHandler.java b/src/codechicken/nei/recipe/DefaultOverlayHandler.java index f2e8a0f41..c11c3841b 100644 --- a/src/codechicken/nei/recipe/DefaultOverlayHandler.java +++ b/src/codechicken/nei/recipe/DefaultOverlayHandler.java @@ -102,6 +102,8 @@ private void moveIngredients(GuiContainer gui, List assi { for(IngredientDistribution distrib : assignedIngredients) { + if(distrib.slots.length == 0) continue; + ItemStack pstack = distrib.permutation; int transferCap = quantity*pstack.stackSize; int transferred = 0; diff --git a/src/codechicken/nei/recipe/GuiRecipeTab.java b/src/codechicken/nei/recipe/GuiRecipeTab.java index c93f0c102..e2dae73ca 100644 --- a/src/codechicken/nei/recipe/GuiRecipeTab.java +++ b/src/codechicken/nei/recipe/GuiRecipeTab.java @@ -193,6 +193,10 @@ public static void initStackMap() { addToStackMap("ic2.neiIntegration.core.recipehandler.ScrapboxRecipeHandler", "IC2", "IC2:itemScrapbox"); addToStackMap("ic2.neiIntegration.core.recipehandler.SolidCannerRecipeHandler", "IC2", "IC2:blockMachine2:9"); } + + if (Loader.isModLoaded("Ic2Nei")) { + addToStackMap("speiger.src.crops.prediction.NEIPlugin", "IC2CropsNEI", "IC2:blockCrop"); + } // Gregtech 5u if (!Loader.isModLoaded("gregapi_post") && Loader.isModLoaded("gregtech")) { @@ -268,32 +272,46 @@ public static void initStackMap() { addToStackMap("gt.recipe.vacuumfreezer", "gregtech", "gregtech:gt.blockmachines:1002"); // gt.blockmachines.multimachine.vacuumfreezer addToStackMap("gt.recipe.wiremill", "gregtech", "gregtech:gt.blockmachines:351"); // gt.blockmachines.basicmachine.wiremill.tier.01 addToStackMap("ic.recipe.recycler", "gregtech", "gregtech:gt.blockmachines:331"); // gt.blockmachines.basicmachine.recycler.tier.01 - -// // Maybe acid generator -// //tabItemIcon.put("null", stackDB("gt.blockmachines.acidgeneratormv")); -// -// // Maybe not release -// tabItemIcon.put("gt.recipe.largenaquadahreactor", stackDB("gt.blockmachines.1nr.controller.single")); -// tabItemIcon.put("gt.recipe.fluidnaquadahreactor", stackDB("gt.blockmachines.1nr.controller.single")); -// tabItemIcon.put("gt.recipe.hugenaquadahreactor", stackDB("gt.blockmachines.1nr.controller.single")); -// tabItemIcon.put("gt.recipe.extrahugenaquadahreactor", stackDB("gt.blockmachines.1nr.controller.single")); + addToStackMap("gt.recipe.byproductlist", "gregtech", ""); + addToStackMap("gt.recipe.cncmachine", "gregtech", ""); + addToStackMap("gt.recipe.uuamplifier", "gregtech", ""); + addToStackMap("gt.recipe.extremedieselgeneratorfuel", "gregtech", "gregtech:gt.blockmachines:1171"); + addToStackMap("gt.recipe.largenaquadahreactor", "gregtech", "gregtech:gt.blockmachines:97"); + addToStackMap("gt.recipe.fluidnaquadahreactor", "gregtech", "gregtech:gt.blockmachines:97"); + addToStackMap("gt.recipe.hugenaquadahreactor", "gregtech", "gregtech:gt.blockmachines:97"); + addToStackMap("gt.recipe.extrahugenaquadahreactor", "gregtech", "gregtech:gt.blockmachines:97"); + addToStackMap("gt.recipe.rocketenginefuel", "gregtech", "GalaxySpace:item.Tier8Rocket"); + addToStackMap("gt.recipe.RTGgenerators", "gregtech", "IC2:itemRTGPellet"); + addToStackMap("gt.recipe.componentassembler", "gregtech", "gregtech:gt.blockmachines:211"); + addToStackMap("bw.fuels.acidgens", "gregtech", "gregtech:gt.blockmachines:12726"); + addToStackMap("bw.recipe.cal", "gregtech", "gregtech:gt.blockmachines:12735"); + } if (Loader.isModLoaded("appliedenergistics2")) { - addToStackMap("appeng.integration.modules.NEIHelpers.NEIAEShapedRecipeHandler", "AppliedEnergistics2","appliedenergistics2:item.ItemMultiPart:380"); addToStackMap("appeng.integration.modules.NEIHelpers.NEIAEShapelessRecipeHandler","AppliedEnergistics2", "appliedenergistics2:item.ItemMultiPart:380"); addToStackMap("appeng.integration.modules.NEIHelpers.NEIFacadeRecipeHandler", "AppliedEnergistics2", "appliedenergistics2:item.ItemFacade:192"); + addToStackMap("appeng.integration.modules.NEIHelpers.NEIGrinderRecipeHandler", "AppliedEnergistics2","appliedenergistics2:item.ItemMultiMaterial:8"); addToStackMap("appeng.integration.modules.NEIHelpers.NEIInscriberRecipeHandler", "AppliedEnergistics2", "appliedenergistics2:tile.BlockInscriber"); addToStackMap("appeng.integration.modules.NEIHelpers.NEIWorldCraftingHandler", "AppliedEnergistics2", "appliedenergistics2:item.ItemMultiMaterial:9"); - + } + + if (Loader.isModLoaded("OpenComputers")) { + addToStackMap("li.cil.oc.integration.nei.ManualUsageHandler", "OpenComputers", "OpenComputers:item:98"); + addToStackMap("li.cil.oc.integration.nei.CallbackDocHandler", "OpenComputers", ""); } if (Loader.isModLoaded("AdvancedSolarPanel")) { addToStackMap("advsolar.client.nei.MTRecipeHandler", "AdvancedSolarPanel", "AdvancedSolarPanel:BlockMolecularTransformer"); } + if (Loader.isModLoaded("AromaBackup")) { + addToStackMap("aroma1997.core.recipes.nei.ShapedAromicRecipeHandler", "AromaBackup", "minecraft:crafting_table"); + addToStackMap("aroma1997.core.recipes.nei.ShapelessAromicRecipeHandler", "AromaBackup", "minecraft:crafting_table"); + } + if (Loader.isModLoaded("WitcheryExtras")) { addToStackMap("alkalus.main.nei.NEI_Handler_Cauldron", "witchery", "witchery:cauldron"); addToStackMap("alkalus.main.nei.NEI_Handler_Distillery", "witchery", "witchery:distilleryidle"); @@ -311,6 +329,7 @@ public static void initStackMap() { } if (Loader.isModLoaded("Thaumcraft")) { + addToStackMap("com.djgiannuzz.thaumcraftneiplugin.nei.recipehandler.ArcaneShapedRecipeHandler", "Thaumcraft", "Thaumcraft:blockTable:15"); addToStackMap("com.djgiannuzz.thaumcraftneiplugin.nei.recipehandler.ArcaneShapelessRecipeHandler", "Thaumcraft", "Thaumcraft:blockTable:15"); addToStackMap("com.djgiannuzz.thaumcraftneiplugin.nei.recipehandler.CrucibleRecipeHandler", "Thaumcraft", "Thaumcraft:blockMetalDevice"); addToStackMap("com.djgiannuzz.thaumcraftneiplugin.nei.recipehandler.InfusionRecipeHandler", "Thaumcraft", "Thaumcraft:blockStoneDevice:2"); @@ -476,7 +495,7 @@ public static void initStackMap() { addToStackMap("tconstruct.plugins.nei.RecipeHandlerCastingTable", "Tinker's Construct", "TConstruct:SearedBlock"); addToStackMap("tconstruct.plugins.nei.RecipeHandlerDryingRack", "Tinker's Construct", "TConstruct:Armor.DryingRack"); addToStackMap("tconstruct.plugins.nei.RecipeHandlerMelting", "Tinker's Construct", "TConstruct:LavaTank:2"); - addToStackMap("tconstruct.plugins.nei.RecipeHandlerToolMaterials", "Tinker's Construct", "TConstruct:pickaxe"); + addToStackMap("tconstruct.plugins.nei.RecipeHandlerToolMaterials", "Tinker's Construct", "TConstruct:ToolStationBlock"); } if (Loader.isModLoaded("chisel")) { addToStackMap("team.chisel.compat.nei.RecipeHandlerChisel", "Chisel", "chisel:chisel"); @@ -494,7 +513,7 @@ public static void initStackMap() { addToStackMap("tonius.neiintegration.mods.mcforge.RecipeHandlerOreDictionary", "Minecraft", "minecraft:iron_ore"); } - if (Loader.isModLoaded("GalacticraftCoRailcraftre")) { + if (Loader.isModLoaded("Railcraft")) { addToStackMap("tonius.neiintegration.mods.railcraft.RecipeHandlerBlastFurnace", "Railcraft", "Railcraft:machine.alpha:12"); addToStackMap("tonius.neiintegration.mods.railcraft.RecipeHandlerCokeOven", "Railcraft", "Railcraft:machine.alpha:7"); addToStackMap("tonius.neiintegration.mods.railcraft.RecipeHandlerRockCrusher", "Railcraft", "Railcraft:machine.alpha:15");