aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java')
-rw-r--r--src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java548
1 files changed, 5 insertions, 543 deletions
diff --git a/src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java b/src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java
index 90b0532bbc..bb14a02618 100644
--- a/src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java
+++ b/src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java
@@ -1,559 +1,21 @@
package gregtech.nei;
-import static gregtech.api.util.GT_Utility.trans;
-
-import codechicken.lib.gui.GuiDraw;
-import codechicken.nei.NEIClientUtils;
-import codechicken.nei.PositionedStack;
-import codechicken.nei.guihook.GuiContainerManager;
-import codechicken.nei.guihook.IContainerInputHandler;
-import codechicken.nei.guihook.IContainerTooltipHandler;
-import codechicken.nei.recipe.GuiCraftingRecipe;
-import codechicken.nei.recipe.GuiRecipe;
-import codechicken.nei.recipe.GuiUsageRecipe;
-import codechicken.nei.recipe.TemplateRecipeHandler;
-import gregtech.GT_Mod;
-import gregtech.api.enums.GT_Values;
-import gregtech.api.enums.OrePrefixes;
-import gregtech.api.gui.GT_GUIContainer_BasicMachine;
-import gregtech.api.objects.ItemData;
-import gregtech.api.util.GT_LanguageManager;
-import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_WithAlt;
-import gregtech.api.util.GT_Utility;
-import java.awt.*;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import net.minecraft.client.gui.inventory.GuiContainer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.util.EnumChatFormatting;
-import net.minecraftforge.fluids.FluidContainerRegistry;
-import net.minecraftforge.fluids.FluidStack;
-import org.lwjgl.opengl.GL11;
+@Deprecated
public class GT_NEI_AssLineHandler extends RecipeMapHandler {
- public static final int sOffsetX = 5;
- public static final int sOffsetY = 11;
-
- /**
- * Static version of {@link TemplateRecipeHandler#cycleticks}.
- * Can be referenced from cached recipes.
- */
- public static int cycleTicksStatic = Math.abs((int) System.currentTimeMillis());
-
- private String mRecipeName;
-
- static {
- GuiContainerManager.addInputHandler(new GT_RectHandler());
- GuiContainerManager.addTooltipHandler(new GT_RectHandler());
- }
- public GT_NEI_AssLineHandler(GT_Recipe.GT_Recipe_Map aRecipeMap) { // this is called when recipes should be shown
+ public GT_NEI_AssLineHandler(GT_Recipe.GT_Recipe_Map aRecipeMap) {
super(aRecipeMap);
- this.transferRects.add(new RecipeTransferRect(new Rectangle(138, 18, 18, 18), getOverlayIdentifier()));
- }
-
- public List<GT_Recipe> getSortedRecipes() {
- List<GT_Recipe> result = new ArrayList<>(this.mRecipeMap.mRecipeList);
- Collections.sort(result);
- return result;
- }
-
- @Override
- public TemplateRecipeHandler newInstance() {
- NEI_GT_Config.ALH = new GT_NEI_AssLineHandler(this.mRecipeMap);
- return NEI_GT_Config.ALH;
- }
-
- @Override
- public void loadCraftingRecipes(String outputId, Object... results) {
- if (outputId.equals(getOverlayIdentifier())) {
- for (GT_Recipe tRecipe : getSortedRecipes()) {
- if (!tRecipe.mHidden) {
- this.arecipes.add(new CachedDefaultRecipe(tRecipe));
- } else {
- this.arecipes.remove(new CachedDefaultRecipe(tRecipe));
- }
- }
- } else {
- super.loadCraftingRecipes(outputId, results);
- }
- }
-
- @Override
- public void loadCraftingRecipes(ItemStack aResult) {
- ItemData tPrefixMaterial = GT_OreDictUnificator.getAssociation(aResult);
-
- ArrayList<ItemStack> tResults = new ArrayList();
- tResults.add(aResult);
- tResults.add(GT_OreDictUnificator.get(true, aResult));
- if ((tPrefixMaterial != null)
- && (!tPrefixMaterial.mBlackListed)
- && (!tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty())) {
- for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) {
- tResults.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L));
- }
- }
- FluidStack tFluid = GT_Utility.getFluidForFilledItem(aResult, true);
- if (tFluid != null) {
- tResults.add(GT_Utility.getFluidDisplayStack(tFluid, false));
- for (FluidContainerRegistry.FluidContainerData tData :
- FluidContainerRegistry.getRegisteredFluidContainerData()) {
- if (tData.fluid.isFluidEqual(tFluid)) {
- tResults.add(GT_Utility.copyOrNull(tData.filledContainer));
- }
- }
- }
- for (GT_Recipe tRecipe : getSortedRecipes()) {
- if (!tRecipe.mHidden) {
- CachedDefaultRecipe tNEIRecipe = new CachedDefaultRecipe(tRecipe);
- for (ItemStack tStack : tResults) {
- if (tNEIRecipe.contains(tNEIRecipe.mOutputs, tStack)) {
- this.arecipes.add(tNEIRecipe);
- break;
- }
- }
- } else {
- CachedDefaultRecipe tNEIRecipe = new CachedDefaultRecipe(tRecipe);
- for (ItemStack tStack : tResults) {
- if (tNEIRecipe.contains(tNEIRecipe.mOutputs, tStack)) {
- this.arecipes.remove(tNEIRecipe);
- break;
- }
- }
- }
- }
- }
-
- @Override
- public void loadUsageRecipes(ItemStack aInput) {
- ItemData tPrefixMaterial = GT_OreDictUnificator.getAssociation(aInput);
-
- ArrayList<ItemStack> tInputs = new ArrayList();
- tInputs.add(aInput);
- tInputs.add(GT_OreDictUnificator.get(false, aInput));
- if ((tPrefixMaterial != null) && (!tPrefixMaterial.mPrefix.mFamiliarPrefixes.isEmpty())) {
- for (OrePrefixes tPrefix : tPrefixMaterial.mPrefix.mFamiliarPrefixes) {
- tInputs.add(GT_OreDictUnificator.get(tPrefix, tPrefixMaterial.mMaterial.mMaterial, 1L));
- }
- }
- FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true);
- if (tFluid != null) {
- tInputs.add(GT_Utility.getFluidDisplayStack(tFluid, false));
- for (FluidContainerRegistry.FluidContainerData tData :
- FluidContainerRegistry.getRegisteredFluidContainerData()) {
- if (tData.fluid.isFluidEqual(tFluid)) {
- tInputs.add(GT_Utility.copyOrNull(tData.filledContainer));
- }
- }
- }
- for (GT_Recipe tRecipe : this.mRecipeMap.mRecipeList) {
- if (!tRecipe.mHidden) {
- CachedDefaultRecipe tNEIRecipe = new CachedDefaultRecipe(tRecipe);
- for (ItemStack tStack : tInputs) {
- if (tNEIRecipe.contains(tNEIRecipe.mInputs, tStack)) {
- this.arecipes.add(tNEIRecipe);
- break;
- }
- }
- } else {
- CachedDefaultRecipe tNEIRecipe = new CachedDefaultRecipe(tRecipe);
- for (ItemStack tStack : tInputs) {
- if (tNEIRecipe.contains(tNEIRecipe.mInputs, tStack)) {
- this.arecipes.remove(tNEIRecipe);
- break;
- }
- }
- }
- }
- CachedDefaultRecipe tNEIRecipe;
- }
-
- @Override
- public String getOverlayIdentifier() {
- return this.mRecipeMap.mNEIName;
- }
-
- @Override
- public void drawBackground(int recipe) {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GuiDraw.changeTexture(getGuiTexture());
- GuiDraw.drawTexturedModalRect(-4, -8, 1, 3, 174, 79);
- }
-
- @Override
- public void onUpdate() {
- super.onUpdate();
- if (!NEIClientUtils.shiftKey()) cycleTicksStatic++;
- }
-
- @Override
- public int recipiesPerPage() {
- return 1;
- }
-
- @Override
- public String getRecipeName() {
- if (mRecipeName == null) {
- mRecipeName = GT_LanguageManager.getTranslation(this.mRecipeMap.mUnlocalizedName);
- updateOverrideTextColor();
- }
- return mRecipeName;
}
@Override
public String getGuiTexture() {
- return this.mRecipeMap.mNEIGUIPath;
- }
-
- @Override
- public List<String> handleItemTooltip(
- GuiRecipe<?> gui, ItemStack aStack, List<String> currenttip, int aRecipeIndex) {
- CachedRecipe tObject = (CachedRecipe) this.arecipes.get(aRecipeIndex);
- if ((tObject instanceof CachedDefaultRecipe)) {
- CachedDefaultRecipe tRecipe = (CachedDefaultRecipe) tObject;
- for (PositionedStack tStack : tRecipe.mOutputs) {
- if (aStack == tStack.item) {
- if ((!(tStack instanceof FixedPositionedStack))
- || (((FixedPositionedStack) tStack).mChance <= 0)
- || (((FixedPositionedStack) tStack).mChance == 10000)) {
- break;
- }
- currenttip.add("Chance: " + ((FixedPositionedStack) tStack).mChance / 100 + "."
- + (((FixedPositionedStack) tStack).mChance % 100 < 10
- ? "0" + ((FixedPositionedStack) tStack).mChance % 100
- : Integer.valueOf(((FixedPositionedStack) tStack).mChance % 100))
- + "%");
- break;
- }
- }
- for (PositionedStack tStack : tRecipe.mInputs) {
- if (aStack == tStack.item) {
- if ((gregtech.api.enums.ItemList.Display_Fluid.isStackEqual(tStack.item, true, true))
- || (tStack.item.stackSize != 0)) {
- break;
- }
- currenttip.add("Does not get consumed in the process");
- break;
- }
- }
- }
- return currenttip;
+ return null;
}
@Override
- public void drawExtras(int aRecipeIndex) {
- GT_Recipe recipe = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe;
- int tEUt = recipe.mEUt;
- int tDuration = recipe.mDuration;
- String[] recipeDesc = recipe.getNeiDesc();
- if (recipeDesc == null) {
- if (tEUt != 0) {
- drawText(
- 10,
- 73,
- trans("152", "Total: ") + GT_Utility.formatNumbers((long) tDuration * tEUt) + " EU",
- 0xFF000000);
- drawText(10, 83, trans("153", "Usage: ") + GT_Utility.formatNumbers(tEUt) + " EU/t", 0xFF000000);
- if (this.mRecipeMap.mShowVoltageAmperageInNEI) {
- int voltage = tEUt / this.mRecipeMap.mAmperage;
- byte tier = GT_Utility.getTier(voltage);
- if (tier < 0 || tier >= 16) {
- drawText(
- 10,
- 93,
- trans("154", "Voltage: ") + GT_Utility.formatNumbers(voltage) + " EU",
- 0xFF000000);
- } else {
- drawText(
- 10,
- 93,
- trans("154", "Voltage: ") + GT_Utility.formatNumbers(voltage) + " EU ("
- + GT_Values.VN[tier] + ")",
- 0xFF000000);
- }
- drawText(
- 10,
- 103,
- trans("155", "Amperage: ") + GT_Utility.formatNumbers(this.mRecipeMap.mAmperage),
- 0xFF000000);
- } else {
- drawText(10, 93, trans("156", "Voltage: unspecified"), 0xFF000000);
- drawText(10, 103, trans("157", "Amperage: unspecified"), 0xFF000000);
- }
- }
- if (tDuration > 0) {
- drawText(
- 10,
- 113,
- trans("158", "Time: ") + GT_Utility.formatNumbers(0.05d * tDuration) + trans("161", " secs"),
- 0xFF000000);
- }
- int tSpecial = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex)).mRecipe.mSpecialValue;
- boolean specialDrew = false;
- if (tSpecial == -100 && GT_Mod.gregtechproxy.mLowGravProcessing) {
- drawText(10, 123, trans("159", "Needs Low Gravity"), 0xFF000000);
- specialDrew = true;
- } else if (tSpecial == -200 && GT_Mod.gregtechproxy.mEnableCleanroom) {
- drawText(10, 123, trans("160", "Needs Cleanroom"), 0xFF000000);
- specialDrew = true;
- } else if (tSpecial == -201) {
- drawText(10, 123, trans("206", "Scan for Assembly Line"), 0xFF000000);
- specialDrew = true;
- } else if ((GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePre))
- || (GT_Utility.isStringValid(this.mRecipeMap.mNEISpecialValuePost))) {
- drawText(
- 10,
- 123,
- this.mRecipeMap.mNEISpecialValuePre
- + GT_Utility.formatNumbers(tSpecial * this.mRecipeMap.mNEISpecialValueMultiplier)
- + this.mRecipeMap.mNEISpecialValuePost,
- 0xFF000000);
- specialDrew = true;
- }
- int y = 123 + (specialDrew ? 10 : 0);
- if (GT_Mod.gregtechproxy.mNEIRecipeOwner) {
- if (recipe.owners.size() > 1) {
- drawText(
- 10,
- y,
- EnumChatFormatting.ITALIC
- + GT_Utility.trans("273", "Original Recipe by: ")
- + recipe.owners.get(0).getName(),
- 0xFF000000);
- y += 10;
- for (int i = 1; i < recipe.owners.size(); i++) {
- drawText(
- 10,
- y,
- EnumChatFormatting.ITALIC
- + GT_Utility.trans("274", "Modified by: ")
- + recipe.owners.get(i).getName(),
- 0xFF000000);
- y += 10;
- }
- } else if (recipe.owners.size() > 0) {
- drawText(
- 10,
- y,
- EnumChatFormatting.ITALIC
- + GT_Utility.trans("272", "Recipe by: ")
- + recipe.owners.get(0).getName(),
- 0xFF000000);
- y += 10;
- }
- }
- if (GT_Mod.gregtechproxy.mNEIRecipeOwnerStackTrace
- && recipe.stackTraces != null
- && !recipe.stackTraces.isEmpty()) {
- drawText(10, y, "stackTrace:", 0xFF000000);
- y += 10;
- for (StackTraceElement stackTrace : recipe.stackTraces.get(0)) {
- drawText(10, y, stackTrace.toString(), 0xFF000000);
- y += 10;
- }
- }
- } else {
- int i = 0;
- for (String descLine : recipeDesc) {
- drawText(10, 73 + 10 * i, descLine, 0xFF000000);
- i++;
- }
- }
- }
-
- public static class GT_RectHandler implements IContainerInputHandler, IContainerTooltipHandler {
- @Override
- public boolean mouseClicked(GuiContainer gui, int mousex, int mousey, int button) {
-
- return false;
- }
-
- @Override
- public boolean lastKeyTyped(GuiContainer gui, char keyChar, int keyCode) {
- return false;
- }
-
- public boolean canHandle(GuiContainer gui) {
- return false;
- // return (((gui instanceof GT_GUIContainer_BasicMachine)) &&
- // (GT_Utility.isStringValid(((GT_GUIContainer_BasicMachine) gui).mNEI)));
- }
-
- @Override
- public List<String> handleTooltip(GuiContainer gui, int mousex, int mousey, List<String> currenttip) {
- return currenttip;
- }
-
- private boolean transferRect(GuiContainer gui, boolean usage) {
- return (canHandle(gui))
- && (new Rectangle(138, 18, 18, 18)
- .contains(new Point(
- GuiDraw.getMousePosition().x
- - ((GT_GUIContainer_BasicMachine) gui).getLeft()
- - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[0],
- GuiDraw.getMousePosition().y
- - ((GT_GUIContainer_BasicMachine) gui).getTop()
- - codechicken.nei.recipe.RecipeInfo.getGuiOffset(gui)[1])))
- && (usage
- ? GuiUsageRecipe.openRecipeGui(((GT_GUIContainer_BasicMachine) gui).mNEI, new Object[0])
- : GuiCraftingRecipe.openRecipeGui(
- ((GT_GUIContainer_BasicMachine) gui).mNEI, new Object[0]));
- }
-
- @Override
- public List<String> handleItemDisplayName(GuiContainer gui, ItemStack itemstack, List<String> currenttip) {
- return currenttip;
- }
-
- @Override
- public List<String> handleItemTooltip(
- GuiContainer gui, ItemStack itemstack, int mousex, int mousey, List<String> currenttip) {
- return currenttip;
- }
-
- @Override
- public boolean keyTyped(GuiContainer gui, char keyChar, int keyCode) {
- return false;
- }
-
- @Override
- public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) {}
-
- @Override
- public void onMouseClicked(GuiContainer gui, int mousex, int mousey, int button) {}
-
- @Override
- public void onMouseUp(GuiContainer gui, int mousex, int mousey, int button) {}
-
- @Override
- public boolean mouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) {
- return false;
- }
-
- @Override
- public void onMouseScrolled(GuiContainer gui, int mousex, int mousey, int scrolled) {}
-
- @Override
- public void onMouseDragged(GuiContainer gui, int mousex, int mousey, int button, long heldTime) {}
- }
-
- public class FixedPositionedStack extends PositionedStack {
- public final int mChance;
- public boolean permutated = false;
-
- public FixedPositionedStack(Object object, int x, int y) {
- this(object, x, y, 0);
- }
-
- public FixedPositionedStack(Object object, int x, int y, int aChance) {
- super(object, x, y, true);
- this.mChance = aChance;
- }
-
- @Override
- public void generatePermutations() {
- if (this.permutated) {
- return;
- }
- ArrayList<ItemStack> tDisplayStacks = new ArrayList();
- for (ItemStack tStack : this.items) {
- if (GT_Utility.isStackValid(tStack)) {
- if (tStack.getItemDamage() == 32767) {
- List<ItemStack> permutations = codechicken.nei.ItemList.itemMap.get(tStack.getItem());
- if (!permutations.isEmpty()) {
- ItemStack stack;
- for (Iterator i$ = permutations.iterator();
- i$.hasNext();
- tDisplayStacks.add(GT_Utility.copyAmount(tStack.stackSize, new Object[] {stack}))) {
- stack = (ItemStack) i$.next();
- }
- } else {
- ItemStack base = new ItemStack(tStack.getItem(), tStack.stackSize);
- base.stackTagCompound = tStack.stackTagCompound;
- tDisplayStacks.add(base);
- }
- } else {
- tDisplayStacks.add(GT_Utility.copyOrNull(tStack));
- }
- }
- }
- this.items = ((ItemStack[]) tDisplayStacks.toArray(new ItemStack[0]));
- if (this.items.length == 0) {
- this.items = new ItemStack[] {new ItemStack(Blocks.fire)};
- }
- this.permutated = true;
- setPermutationToRender(0);
- }
- }
-
- public class CachedDefaultRecipe extends CachedRecipe {
- public final GT_Recipe mRecipe;
- public final List<PositionedStack> mOutputs = new ArrayList();
- public final List<PositionedStack> mInputs = new ArrayList();
-
- public CachedDefaultRecipe(GT_Recipe aRecipe) {
- super();
- this.mRecipe = aRecipe;
-
- for (int i = 0; i < 16; i++) {
- Object obj = aRecipe instanceof GT_Recipe_WithAlt
- ? ((GT_Recipe_WithAlt) aRecipe).getAltRepresentativeInput(i)
- : aRecipe.getRepresentativeInput(i);
- if (obj != null) {
- this.mInputs.add(new FixedPositionedStack(obj, 18 * (i % 4) + 12, 18 * (i / 4)));
- }
- }
-
- if (aRecipe.mSpecialItems != null) {
- this.mInputs.add(new FixedPositionedStack(aRecipe.mSpecialItems, 138, 36));
- }
- if (aRecipe.getOutput(0) != null) {
- this.mOutputs.add(new FixedPositionedStack(aRecipe.getOutput(0), 138, 0, aRecipe.getOutputChance(0)));
- }
- if ((aRecipe.mFluidInputs.length > 0)
- && (aRecipe.mFluidInputs[0] != null)
- && (aRecipe.mFluidInputs[0].getFluid() != null)) {
- this.mInputs.add(new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidInputs[0], true), 102, 0));
- if ((aRecipe.mFluidInputs.length > 1)
- && (aRecipe.mFluidInputs[1] != null)
- && (aRecipe.mFluidInputs[1].getFluid() != null)) {
- this.mInputs.add(new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidInputs[1], true), 102, 18));
- if ((aRecipe.mFluidInputs.length > 2)
- && (aRecipe.mFluidInputs[2] != null)
- && (aRecipe.mFluidInputs[2].getFluid() != null)) {
- this.mInputs.add(new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidInputs[2], true), 102, 36));
- if ((aRecipe.mFluidInputs.length > 3)
- && (aRecipe.mFluidInputs[3] != null)
- && (aRecipe.mFluidInputs[3].getFluid() != null)) {
- this.mInputs.add(new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidInputs[3], true), 102, 54));
- }
- }
- }
- }
- }
-
- @Override
- public List<PositionedStack> getIngredients() {
- return getCycledIngredients(cycleTicksStatic / 10, this.mInputs);
- }
-
- @Override
- public PositionedStack getResult() {
- return null;
- }
-
- @Override
- public List<PositionedStack> getOtherStacks() {
- return this.mOutputs;
- }
+ public String getRecipeName() {
+ return null;
}
}