Search in sources :

Example 1 with SpaceStationRecipe

use of micdoodle8.mods.galacticraft.api.recipe.SpaceStationRecipe in project Galacticraft by micdoodle8.

the class GuiCelestialSelection method mouseClicked.

@Override
protected void mouseClicked(int x, int y, int button) throws IOException {
    super.mouseClicked(x, y, button);
    boolean clickHandled = false;
    final int LHS = GuiCelestialSelection.BORDER_SIZE + GuiCelestialSelection.BORDER_EDGE_SIZE;
    final int RHS = width - LHS;
    final int TOP = LHS;
    if (this.selectedBody != null && x > LHS && x < LHS + 88 && y > TOP && y < TOP + 13) {
        this.unselectCelestialBody();
        return;
    }
    if (!this.mapMode) {
        if (x >= RHS - 95 && x < RHS && y > TOP + 181 + canCreateOffset && y < TOP + 182 + 12 + canCreateOffset) {
            if (this.selectedBody != null) {
                SpaceStationRecipe recipe = WorldUtil.getSpaceStationRecipe(this.selectedBody.getDimensionID());
                if (recipe != null && this.canCreateSpaceStation(this.selectedBody)) {
                    if (recipe.matches(this.mc.thePlayer, false) || this.mc.thePlayer.capabilities.isCreativeMode) {
                        GalacticraftCore.packetPipeline.sendToServer(new PacketSimple(EnumSimplePacket.S_BIND_SPACE_STATION_ID, GCCoreUtil.getDimensionID(this.mc.theWorld), new Object[] { this.selectedBody.getDimensionID() }));
                        // Zoom in on Overworld to show the new SpaceStation if not already zoomed
                        if (!this.isZoomed()) {
                            this.selectionState = EnumSelection.ZOOMED;
                            this.preSelectZoom = this.zoom;
                            this.preSelectPosition = this.position;
                            this.ticksSinceSelection = 0;
                            this.doneZooming = false;
                        }
                        return;
                    }
                    clickHandled = true;
                }
            }
        }
    }
    if (this.mapMode) {
        if (x > RHS - 88 && x < RHS && y > TOP && y < TOP + 13) {
            this.mc.displayGuiScreen(null);
            this.mc.setIngameFocus();
            clickHandled = true;
        }
    }
    if (this.selectedBody != null && !this.mapMode) {
        if (x > RHS - 88 && x < RHS && y > TOP && y < TOP + 13) {
            if (!(this.selectedBody instanceof Satellite) || !this.selectedStationOwner.equals("")) {
                this.teleportToSelectedBody();
            }
            clickHandled = true;
        }
    }
    // Need unscaled mouse coords
    int mouseX = Mouse.getX();
    int mouseY = Mouse.getY() * -1 + Minecraft.getMinecraft().displayHeight - 1;
    if (this.selectedBody instanceof Satellite) {
        if (this.renamingSpaceStation) {
            if (x >= width / 2 - 90 && x <= width / 2 + 90 && y >= this.height / 2 - 38 && y <= this.height / 2 + 38) {
                // Apply
                if (x >= width / 2 - 90 + 17 && x <= width / 2 - 90 + 17 + 72 && y >= this.height / 2 - 38 + 59 && y <= this.height / 2 - 38 + 59 + 12) {
                    String strName = PlayerUtil.getName(this.mc.thePlayer);
                    // Integer spacestationID = this.spaceStationIDs.get(strName);
                    // if (spacestationID == null) spacestationID = this.spaceStationIDs.get(strName.toLowerCase());
                    Satellite selectedSatellite = (Satellite) this.selectedBody;
                    Integer spacestationID = this.spaceStationMap.get(getSatelliteParentID(selectedSatellite)).get(strName).getStationDimensionID();
                    if (spacestationID == null) {
                        spacestationID = this.spaceStationMap.get(getSatelliteParentID(selectedSatellite)).get(strName.toLowerCase()).getStationDimensionID();
                    }
                    if (spacestationID != null) {
                        this.spaceStationMap.get(getSatelliteParentID(selectedSatellite)).get(strName).setStationName(this.renamingString);
                        // this.spaceStationNames.put(strName, this.renamingString);
                        GalacticraftCore.packetPipeline.sendToServer(new PacketSimple(EnumSimplePacket.S_RENAME_SPACE_STATION, GCCoreUtil.getDimensionID(this.mc.theWorld), new Object[] { this.renamingString, spacestationID }));
                    }
                    this.renamingSpaceStation = false;
                }
                // Cancel
                if (x >= width / 2 && x <= width / 2 + 72 && y >= this.height / 2 - 38 + 59 && y <= this.height / 2 - 38 + 59 + 12) {
                    this.renamingSpaceStation = false;
                }
                clickHandled = true;
            }
        } else {
            this.drawTexturedModalRect(width / 2 - 47, TOP, 94, 11, 0, 414, 188, 22, false, false);
            if (x >= width / 2 - 47 && x <= width / 2 - 47 + 94 && y >= TOP && y <= TOP + 11) {
                if (this.selectedStationOwner.length() != 0 && this.selectedStationOwner.equalsIgnoreCase(PlayerUtil.getName(this.mc.thePlayer))) {
                    this.renamingSpaceStation = true;
                    this.renamingString = null;
                    clickHandled = true;
                }
            }
            Satellite selectedSatellite = (Satellite) this.selectedBody;
            int stationListSize = this.spaceStationMap.get(getSatelliteParentID(selectedSatellite)).size();
            int max = Math.min((this.height / 2) / 14, stationListSize);
            int xPos;
            int yPos;
            // Up button
            xPos = RHS - 85;
            yPos = TOP + 45;
            if (x >= xPos && x <= xPos + 61 && y >= yPos && y <= yPos + 4) {
                if (this.spaceStationListOffset > 0) {
                    this.spaceStationListOffset--;
                }
                clickHandled = true;
            }
            // Down button
            xPos = RHS - 85;
            yPos = TOP + 49 + max * 14;
            if (x >= xPos && x <= xPos + 61 && y >= yPos && y <= yPos + 4) {
                if (max + spaceStationListOffset < stationListSize) {
                    this.spaceStationListOffset++;
                }
                clickHandled = true;
            }
            Iterator<Map.Entry<String, StationDataGUI>> it = this.spaceStationMap.get(getSatelliteParentID(selectedSatellite)).entrySet().iterator();
            int i = 0;
            int j = 0;
            while (it.hasNext() && i < max) {
                Map.Entry<String, StationDataGUI> e = it.next();
                if (j >= this.spaceStationListOffset) {
                    int xOffset = 0;
                    if (e.getKey().equalsIgnoreCase(this.selectedStationOwner)) {
                        xOffset -= 5;
                    }
                    xPos = RHS - 95 + xOffset;
                    yPos = TOP + 50 + i * 14;
                    if (x >= xPos && x <= xPos + 93 && y >= yPos && y <= yPos + 12) {
                        this.selectedStationOwner = e.getKey();
                        clickHandled = true;
                    }
                    i++;
                }
                j++;
            }
        }
    }
    int xPos = LHS + 2;
    int yPos = TOP + 10;
    boolean planetZoomedMoon = this.isZoomed() && this.selectedParent instanceof Planet;
    // Top yellow button e.g. Sol
    if (x >= xPos && x <= xPos + 93 && y >= yPos && y <= yPos + 12 && this.selectedParent instanceof CelestialBody) {
        if (this.selectedBody == null) {
            this.preSelectZoom = this.zoom;
            this.preSelectPosition = this.position;
        }
        EnumSelection selectionCountOld = this.selectionState;
        if (this.isSelected()) {
            this.unselectCelestialBody();
        }
        if (selectionCountOld == EnumSelection.ZOOMED) {
            this.selectionState = EnumSelection.SELECTED;
        }
        this.selectedBody = (CelestialBody) this.selectedParent;
        this.ticksSinceSelection = 0;
        this.selectionState = EnumSelection.values()[this.selectionState.ordinal() + 1];
        if (this.isZoomed() && !planetZoomedMoon) {
            this.ticksSinceMenuOpen = 0;
        }
        clickHandled = true;
    }
    yPos += 22;
    // First blue button - normally the Selected Body (but it's the parent planet if this is a moon)
    if (x >= xPos && x <= xPos + 93 && y >= yPos && y <= yPos + 12) {
        if (planetZoomedMoon) {
            if (this.selectedBody == null) {
                this.preSelectZoom = this.zoom;
                this.preSelectPosition = this.position;
            }
            EnumSelection selectionCountOld = this.selectionState;
            if (this.isSelected()) {
                this.unselectCelestialBody();
            }
            if (selectionCountOld == EnumSelection.ZOOMED) {
                this.selectionState = EnumSelection.SELECTED;
            }
            this.selectedBody = (CelestialBody) this.selectedParent;
            this.ticksSinceSelection = 0;
            this.selectionState = EnumSelection.values()[this.selectionState.ordinal() + 1];
        }
        clickHandled = true;
    }
    if (!clickHandled) {
        List<CelestialBody> children = this.getChildren(this.isZoomed() ? this.selectedBody : this.selectedParent);
        yPos = TOP + 50;
        for (CelestialBody child : children) {
            clickHandled = this.testClicked(child, child.equals(this.selectedBody) ? 5 : 0, yPos, x, y, false);
            yPos += 14;
            if (!clickHandled && !this.isZoomed() && child.equals(this.selectedBody)) {
                List<CelestialBody> grandchildren = this.getChildren(child);
                int gOffset = 0;
                for (CelestialBody grandchild : grandchildren) {
                    if (gOffset + 14 > this.animateGrandchildren) {
                        break;
                    }
                    clickHandled = this.testClicked(grandchild, 10, yPos, x, y, true);
                    yPos += 14;
                    gOffset += 14;
                    if (clickHandled)
                        break;
                }
                yPos += this.animateGrandchildren - gOffset;
            }
            if (clickHandled)
                break;
        }
    }
    if (!clickHandled) {
        for (Map.Entry<CelestialBody, Vector3f> e : this.planetPosMap.entrySet()) {
            CelestialBody bodyClicked = e.getKey();
            if (this.selectedBody == null && bodyClicked instanceof IChildBody) {
                continue;
            }
            // Z value holds size on-screen
            float iconSize = e.getValue().z;
            if (mouseX >= e.getValue().x - iconSize && mouseX <= e.getValue().x + iconSize && mouseY >= e.getValue().y - iconSize && mouseY <= e.getValue().y + iconSize) {
                if (this.selectedBody != bodyClicked || !this.isZoomed()) {
                    if (this.isSelected() && this.selectedBody != bodyClicked) {
                        if (!(this.selectedBody instanceof IChildBody && ((IChildBody) this.selectedBody).getParentPlanet() == bodyClicked)) {
                            this.unselectCelestialBody();
                        } else if (this.isZoomed()) {
                            this.selectionState = EnumSelection.SELECTED;
                        }
                    }
                    this.doneZooming = false;
                    this.planetZoom = 0.0F;
                    if (bodyClicked != this.selectedBody) {
                        this.lastSelectedBody = this.selectedBody;
                    }
                    this.selectedBody = bodyClicked;
                    this.ticksSinceSelection = 0;
                    this.selectionState = EnumSelection.values()[this.selectionState.ordinal() + 1];
                    if (this.isZoomed()) {
                        this.ticksSinceMenuOpen = 0;
                    }
                    // Auto select if it's a spacestation and there is only a single entry
                    if (this.selectedBody instanceof Satellite && this.spaceStationMap.get(this.getSatelliteParentID((Satellite) this.selectedBody)).size() == 1) {
                        Iterator<Map.Entry<String, StationDataGUI>> it = this.spaceStationMap.get(this.getSatelliteParentID((Satellite) this.selectedBody)).entrySet().iterator();
                        this.selectedStationOwner = it.next().getKey();
                    }
                    clickHandled = true;
                    break;
                }
            }
        }
    }
    if (!clickHandled) {
        if (this.selectedBody != null) {
            this.unselectCelestialBody();
            this.planetZoom = 0.0F;
        }
        mouseDragging = true;
    }
    Object selectedParent = this.selectedParent;
    if (this.selectedBody instanceof IChildBody) {
        selectedParent = ((IChildBody) this.selectedBody).getParentPlanet();
    } else if (this.selectedBody instanceof Planet) {
        selectedParent = ((Planet) this.selectedBody).getParentSolarSystem();
    } else if (this.selectedBody == null) {
        selectedParent = GalacticraftCore.solarSystemSol;
    }
    if (this.selectedParent != selectedParent) {
        this.selectedParent = selectedParent;
    }
}
Also used : PacketSimple(micdoodle8.mods.galacticraft.core.network.PacketSimple) SpaceStationRecipe(micdoodle8.mods.galacticraft.api.recipe.SpaceStationRecipe) Vector3f(org.lwjgl.util.vector.Vector3f)

Example 2 with SpaceStationRecipe

use of micdoodle8.mods.galacticraft.api.recipe.SpaceStationRecipe in project Galacticraft by micdoodle8.

the class RecipeManagerGC method addUniversalRecipes.

private static void addUniversalRecipes() {
    RecipeSorter.register("galacticraftcore:shapedore", OreRecipeUpdatable.class, SHAPED, "after:minecraft:shaped before:minecraft:shapeless");
    Object meteoricIronIngot = new ItemStack(GCItems.itemBasicMoon, 1, 0);
    Object meteoricIronPlate = new ItemStack(GCItems.itemBasicMoon, 1, 1);
    Object deshIngot = GalacticraftCore.isPlanetsLoaded ? new ItemStack(MarsItems.marsItemBasic, 1, 2) : GCItems.heavyPlatingTier1;
    FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCBlocks.basicBlock, 1, 5), new ItemStack(GCItems.basicItem, 1, 3), 0.5F);
    FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCBlocks.basicBlock, 1, 6), new ItemStack(GCItems.basicItem, 1, 4), 0.5F);
    FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCBlocks.basicBlock, 1, 7), new ItemStack(GCItems.basicItem, 1, 5), 0.5F);
    FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCItems.meteorChunk, 1, 0), new ItemStack(GCItems.meteorChunk, 1, 1), 0.1F);
    FurnaceRecipes.instance().addSmelting(GCItems.meteoricIronRaw, new ItemStack(GCItems.itemBasicMoon), 1.0F);
    FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCBlocks.blockMoon, 1, 0), new ItemStack(GCItems.basicItem, 1, 3), 1.0F);
    FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCBlocks.blockMoon, 1, 1), new ItemStack(GCItems.basicItem, 1, 4), 1.0F);
    FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCBlocks.blockMoon, 1, 2), new ItemStack(GCItems.cheeseCurd), 1.0F);
    // Recycling: smelt tin/copper canisters back into ingots
    FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCItems.canister, 1, 0), new ItemStack(GCItems.basicItem, 3, 4), 1.0F);
    FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCItems.canister, 1, 1), new ItemStack(GCItems.basicItem, 3, 3), 1.0F);
    if (CompatibilityManager.useAluDust()) {
        FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCItems.ic2compat, 1, 0), new ItemStack(GCItems.basicItem, 1, 5), 1.0F);
    }
    FurnaceRecipes.instance().addSmeltingRecipe(new ItemStack(GCItems.foodItem, 1, 6), new ItemStack(GCItems.foodItem, 1, 7), 1.0F);
    RecipeUtil.addRecipeUpdatable(new ItemStack(GCItems.rocketEngine, 1, 1), new Object[] { "ZYZ", "ZWZ", "XVX", 'V', GCItems.oxygenVent, 'W', new ItemStack(GCItems.fuelCanister, 1, 1), 'X', GCItems.heavyPlatingTier1, 'Y', new ItemStack(Blocks.wool, 1, 4), 'Z', meteoricIronPlate });
    HashMap<Integer, ItemStack> input = new HashMap<Integer, ItemStack>();
    input.put(1, new ItemStack(GCItems.partNoseCone));
    input.put(2, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(3, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(4, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(5, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(6, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(7, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(8, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(9, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(10, new ItemStack(GCItems.partFins));
    input.put(11, new ItemStack(GCItems.partFins));
    input.put(12, new ItemStack(GCItems.rocketEngine));
    input.put(13, new ItemStack(GCItems.partFins));
    input.put(14, new ItemStack(GCItems.partFins));
    input.put(15, null);
    input.put(16, null);
    input.put(17, null);
    RecipeUtil.addRocketBenchRecipe(new ItemStack(GCItems.rocketTier1, 1, 0), input);
    HashMap<Integer, ItemStack> input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(15, new ItemStack(Blocks.chest));
    input2.put(16, null);
    input2.put(17, null);
    RecipeUtil.addRocketBenchRecipe(new ItemStack(GCItems.rocketTier1, 1, 1), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(15, null);
    input2.put(16, new ItemStack(Blocks.chest));
    input2.put(17, null);
    RecipeUtil.addRocketBenchRecipe(new ItemStack(GCItems.rocketTier1, 1, 1), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(15, null);
    input2.put(16, null);
    input2.put(17, new ItemStack(Blocks.chest));
    RecipeUtil.addRocketBenchRecipe(new ItemStack(GCItems.rocketTier1, 1, 1), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(15, new ItemStack(Blocks.chest));
    input2.put(16, new ItemStack(Blocks.chest));
    input2.put(17, null);
    RecipeUtil.addRocketBenchRecipe(new ItemStack(GCItems.rocketTier1, 1, 2), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(15, new ItemStack(Blocks.chest));
    input2.put(16, null);
    input2.put(17, new ItemStack(Blocks.chest));
    RecipeUtil.addRocketBenchRecipe(new ItemStack(GCItems.rocketTier1, 1, 2), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(15, null);
    input2.put(16, new ItemStack(Blocks.chest));
    input2.put(17, new ItemStack(Blocks.chest));
    RecipeUtil.addRocketBenchRecipe(new ItemStack(GCItems.rocketTier1, 1, 2), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(15, new ItemStack(Blocks.chest));
    input2.put(16, new ItemStack(Blocks.chest));
    input2.put(17, new ItemStack(Blocks.chest));
    RecipeUtil.addRocketBenchRecipe(new ItemStack(GCItems.rocketTier1, 1, 3), input2);
    // 
    input = new HashMap<Integer, ItemStack>();
    input.put(1, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(2, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(3, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(4, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(5, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(6, new ItemStack(GCItems.partBuggy, 1, 1));
    input.put(7, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(8, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(9, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(10, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(11, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(12, new ItemStack(GCItems.heavyPlatingTier1));
    input.put(13, new ItemStack(GCItems.partBuggy));
    input.put(14, new ItemStack(GCItems.partBuggy));
    input.put(15, new ItemStack(GCItems.partBuggy));
    input.put(16, new ItemStack(GCItems.partBuggy));
    input.put(17, null);
    input.put(18, null);
    input.put(19, null);
    RecipeUtil.addBuggyBenchRecipe(new ItemStack(GCItems.buggy, 1, 0), input);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(17, new ItemStack(GCItems.partBuggy, 1, 2));
    input2.put(18, null);
    input2.put(19, null);
    RecipeUtil.addBuggyBenchRecipe(new ItemStack(GCItems.buggy, 1, 1), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(17, null);
    input2.put(18, new ItemStack(GCItems.partBuggy, 1, 2));
    input2.put(19, null);
    RecipeUtil.addBuggyBenchRecipe(new ItemStack(GCItems.buggy, 1, 1), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(17, null);
    input2.put(18, null);
    input2.put(19, new ItemStack(GCItems.partBuggy, 1, 2));
    RecipeUtil.addBuggyBenchRecipe(new ItemStack(GCItems.buggy, 1, 1), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(17, new ItemStack(GCItems.partBuggy, 1, 2));
    input2.put(18, new ItemStack(GCItems.partBuggy, 1, 2));
    input2.put(19, null);
    RecipeUtil.addBuggyBenchRecipe(new ItemStack(GCItems.buggy, 1, 2), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(17, new ItemStack(GCItems.partBuggy, 1, 2));
    input2.put(18, null);
    input2.put(19, new ItemStack(GCItems.partBuggy, 1, 2));
    RecipeUtil.addBuggyBenchRecipe(new ItemStack(GCItems.buggy, 1, 2), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(17, null);
    input2.put(18, new ItemStack(GCItems.partBuggy, 1, 2));
    input2.put(19, new ItemStack(GCItems.partBuggy, 1, 2));
    RecipeUtil.addBuggyBenchRecipe(new ItemStack(GCItems.buggy, 1, 2), input2);
    input2 = new HashMap<Integer, ItemStack>(input);
    input2.put(17, new ItemStack(GCItems.partBuggy, 1, 2));
    input2.put(18, new ItemStack(GCItems.partBuggy, 1, 2));
    input2.put(19, new ItemStack(GCItems.partBuggy, 1, 2));
    RecipeUtil.addBuggyBenchRecipe(new ItemStack(GCItems.buggy, 1, 3), input2);
    aluminumIngots.addAll(OreDictionary.getOres("ingotAluminum"));
    ArrayList<ItemStack> addedList = new ArrayList<ItemStack>();
    for (ItemStack ingotNew : OreDictionary.getOres("ingotAluminium")) {
        boolean flag = false;
        for (ItemStack ingotDone : aluminumIngots) {
            if (ItemStack.areItemStacksEqual(ingotNew, ingotDone)) {
                flag = true;
                break;
            }
        }
        if (!flag) {
            addedList.add(ingotNew);
            OreDictionary.registerOre("ingotAluminum", ingotNew);
        }
    }
    if (addedList.size() > 0) {
        aluminumIngots.addAll(addedList);
        addedList.clear();
    }
    for (ItemStack ingotNew : OreDictionary.getOres("ingotNaturalAluminum")) {
        for (ItemStack ingotDone : aluminumIngots) {
            if (!ItemStack.areItemStacksEqual(ingotNew, ingotDone)) {
                addedList.add(ingotNew);
            }
        }
    }
    if (addedList.size() > 0) {
        aluminumIngots.addAll(addedList);
    }
    final HashMap<Object, Integer> spaceStationRequirements = new HashMap<Object, Integer>(4, 1.0F);
    spaceStationRequirements.put("ingotTin", 32);
    spaceStationRequirements.put(aluminumIngots, 16);
    spaceStationRequirements.put(new ItemStack(GCItems.basicItem, 1, ItemBasic.WAFER_ADVANCED), 1);
    spaceStationRequirements.put(Items.iron_ingot, 24);
    GalacticraftRegistry.registerSpaceStation(new SpaceStationType(ConfigManagerCore.idDimensionOverworldOrbit, ConfigManagerCore.idDimensionOverworld, new SpaceStationRecipe(spaceStationRequirements)));
    RecipeUtil.addRecipeUpdatable(new ItemStack(GCBlocks.aluminumWire, 6), new Object[] { "WWW", "CCC", "WWW", 'W', Blocks.wool, 'C', "ingotAluminum" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.aluminumWire, 1, 1), new Object[] { "X", "Y", "Z", 'X', Blocks.wool, 'Y', new ItemStack(GCBlocks.aluminumWire, 1), 'Z', "ingotAluminum" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.aluminumWire, 1, 1), new Object[] { "Z", "Y", "X", 'X', Blocks.wool, 'Y', new ItemStack(GCBlocks.aluminumWire, 1), 'Z', "ingotAluminum" });
    RecipeUtil.addShapelessRecipe(new ItemStack(GCBlocks.aluminumWire, 1, 2), new ItemStack(GCBlocks.aluminumWire, 1), Items.repeater);
    RecipeUtil.addShapelessRecipe(new ItemStack(GCBlocks.aluminumWire, 1, 3), new ItemStack(GCBlocks.aluminumWire, 1, 1), Items.repeater);
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineBase, 1, 0), new Object[] { "WWW", "XZX", "XYX", 'W', "ingotCopper", 'X', Items.iron_ingot, 'Y', new ItemStack(GCBlocks.aluminumWire, 1, 0), 'Z', Blocks.furnace });
    // Energy Storage Module:
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineTiered, 1, 0), new Object[] { "SSS", "BBB", "SSS", 'B', new ItemStack(GCItems.battery, 1, GCItems.battery.getMaxDamage()), 'S', "compressedSteel" });
    // Electric Furnace:
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineTiered, 1, 4), new Object[] { "XXX", "XZX", "WYW", 'W', "compressedAluminum", 'X', "compressedSteel", 'Y', "waferBasic", 'Z', Blocks.furnace });
    // Energy Storage Cluster:
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineTiered, 1, 8), new Object[] { "BSB", "SWS", "BSB", 'B', new ItemStack(GCBlocks.machineTiered, 1, 0), 'S', "compressedSteel", 'W', "waferAdvanced" });
    // Electric Arc Furnace:
    RecipeUtil.addRecipeUpdatable(new ItemStack(GCBlocks.machineTiered, 1, 12), new Object[] { "XXX", "XZX", "WYW", 'W', meteoricIronIngot, 'X', new ItemStack(GCItems.heavyPlatingTier1), 'Y', "waferAdvanced", 'Z', new ItemStack(GCBlocks.machineTiered, 1, 4) });
    // Ingot Compressor
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineBase, 1, 12), new Object[] { "WXW", "WYW", "WZW", 'W', "ingotAluminum", 'X', Blocks.anvil, 'Y', "ingotCopper", 'Z', "waferBasic" });
    // Electric Compressor - 2 recipes
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineBase2, 1, 0), new Object[] { "WXW", "WYW", "VZV", 'V', new ItemStack(GCBlocks.aluminumWire), 'W', "compressedSteel", 'X', Blocks.anvil, 'Y', "compressedBronze", 'Z', "waferAdvanced" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineBase2, 1, 0), new Object[] { "WXW", "WYW", "VZV", 'V', new ItemStack(GCBlocks.aluminumWire), 'W', "compressedSteel", 'X', "compressedTin", 'Y', new ItemStack(GCBlocks.machineBase, 1, 12), 'Z', "waferAdvanced" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineBase2, 1, 4), new Object[] { "WXW", "UYU", "VZV", 'U', Blocks.stone_button, 'V', new ItemStack(GCBlocks.aluminumWire), 'W', "ingotAluminum", 'X', Blocks.lever, 'Y', Blocks.furnace, 'Z', Blocks.redstone_torch });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineBase2, 1, 8), new Object[] { "SSS", "BBB", "SSS", 'B', new ItemStack(GCItems.oxTankHeavy, 1, GCItems.oxTankHeavy.getMaxDamage()), 'S', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineBase2, 1, 12), new Object[] { "WCW", "VAV", "WBW", 'V', new ItemStack(GCBlocks.aluminumWire), 'W', "compressedSteel", 'A', Blocks.anvil, 'B', Blocks.furnace, 'C', Items.shears });
    RecipeUtil.addRecipeUpdatable(new ItemStack(GCItems.battery, 2, 100), new Object[] { " T ", "TRT", "TCT", 'T', "compressedTin", 'R', "dustRedstone", 'C', Items.coal });
    RecipeUtil.addRecipe(new ItemStack(GCItems.rocketEngine, 1), new Object[] { " YV", "XWX", "XZX", 'V', Blocks.stone_button, 'W', new ItemStack(GCItems.canister, 1, OreDictionary.WILDCARD_VALUE), 'X', GCItems.heavyPlatingTier1, 'Y', Items.flint_and_steel, 'Z', GCItems.oxygenVent });
    RecipeUtil.addRecipe(new ItemStack(GCItems.rocketEngine, 1), new Object[] { "VY ", "XWX", "XZX", 'V', Blocks.stone_button, 'W', new ItemStack(GCItems.canister, 1, OreDictionary.WILDCARD_VALUE), 'X', GCItems.heavyPlatingTier1, 'Y', Items.flint_and_steel, 'Z', GCItems.oxygenVent });
    RecipeUtil.addRecipe(new ItemStack(GCItems.partNoseCone, 1), new Object[] { " Y ", " X ", "X X", 'X', GCItems.heavyPlatingTier1, 'Y', Blocks.redstone_torch });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.oxygenPipe, 6), new Object[] { "XXX", "   ", "XXX", 'X', Blocks.glass_pane });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.fluidTank, 1), new Object[] { " X ", "X X", "XXX", 'X', Blocks.glass_pane });
    RecipeUtil.addRecipe(new ItemStack(GCItems.oxTankLight, 1, GCItems.oxTankLight.getMaxDamage()), new Object[] { "Z", "X", "Y", 'X', new ItemStack(GCItems.canister, 1, 0), 'Y', "compressedCopper", 'Z', new ItemStack(Blocks.wool, 1, 5) });
    RecipeUtil.addRecipe(new ItemStack(GCItems.oxTankMedium, 1, GCItems.oxTankMedium.getMaxDamage()), new Object[] { "ZZ", "XX", "YY", 'X', new ItemStack(GCItems.canister, 1, 0), 'Y', "compressedTin", 'Z', new ItemStack(Blocks.wool, 1, 1) });
    RecipeUtil.addRecipeUpdatable(new ItemStack(GCItems.sensorGlasses, 1), new Object[] { "ZWZ", "Z Z", "XYX", 'W', "gemDiamond", 'X', GCItems.sensorLens, 'Y', meteoricIronIngot, 'Z', Items.string });
    RecipeUtil.addRecipeUpdatable(new ItemStack(GCItems.sensorLens, 1), new Object[] { "ZXZ", "XYX", "ZXZ", 'X', Blocks.glass_pane, 'Y', meteoricIronPlate, 'Z', "dustRedstone" });
    if (!ConfigManagerCore.alternateCanisterRecipe) {
        RecipeUtil.addRecipe(new ItemStack(GCItems.canister, 2, 0), new Object[] { "X X", "X X", "XXX", 'X', "ingotTin" });
        RecipeUtil.addRecipe(new ItemStack(GCItems.canister, 2, 1), new Object[] { "X X", "X X", "XXX", 'X', "ingotCopper" });
    } else {
        RecipeUtil.addRecipe(new ItemStack(GCItems.canister, 2, 0), new Object[] { "XXX", "X  ", "XXX", 'X', "ingotTin" });
        RecipeUtil.addRecipe(new ItemStack(GCItems.canister, 2, 1), new Object[] { "XXX", "X  ", "XXX", 'X', "ingotCopper" });
    }
    RecipeUtil.addRecipe(new ItemStack(GCItems.oxMask, 1), new Object[] { "XXX", "XYX", "XXX", 'X', Blocks.glass_pane, 'Y', Items.iron_helmet });
    RecipeUtil.addRecipe(new ItemStack(GCItems.canvas, 1), new Object[] { " XY", "XXX", "YX ", 'Y', "stickWood", 'X', Items.string });
    RecipeUtil.addRecipe(new ItemStack(GCItems.parachute, 1, 0), new Object[] { "XXX", "Y Y", " Y ", 'X', GCItems.canvas, 'Y', Items.string });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.sealableBlock, 1, 1), new Object[] { "XYX", 'Y', GCBlocks.oxygenPipe, 'X', new ItemStack(GCBlocks.basicBlock, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.sealableBlock, 1, 14), new Object[] { "XYX", 'Y', new ItemStack(GCBlocks.aluminumWire, 1, 0), 'X', new ItemStack(GCBlocks.basicBlock, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.sealableBlock, 1, 15), new Object[] { "XYX", 'Y', new ItemStack(GCBlocks.aluminumWire, 1, 1), 'X', new ItemStack(GCBlocks.basicBlock, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCItems.oxygenGear), new Object[] { " Y ", "YXY", "Y Y", 'X', GCItems.oxygenConcentrator, 'Y', GCBlocks.oxygenPipe });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.basicBlock, 4, 3), new Object[] { "XX ", "XXY", "   ", 'X', "stone", 'Y', "compressedTin" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.basicBlock, 4, 4), new Object[] { "XX ", "XX ", " Y ", 'X', "stone", 'Y', "compressedTin" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.flag), new Object[] { "XYY", "XYY", "X  ", 'X', GCItems.flagPole, 'Y', GCItems.canvas });
    for (int var2 = 0; var2 < 16; ++var2) {
        RecipeUtil.addShapelessRecipe(new ItemStack(GCItems.parachute, 1, ItemParaChute.getParachuteDamageValueFromDye(var2)), new Object[] { new ItemStack(Items.dye, 1, var2), new ItemStack(GCItems.parachute, 1, 0) });
    }
    RecipeUtil.addRecipe(new ItemStack(GCItems.partFins, 1), new Object[] { " Y ", "XYX", "X X", 'X', GCItems.heavyPlatingTier1, 'Y', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.landingPad, 9, 0), new Object[] { "YYY", "XXX", 'X', "blockIron", 'Y', "compressedIron" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.landingPad, 9, 1), new Object[] { "YYY", "XXX", 'X', "blockIron", 'Y', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.partBuggy, 1, 0), new Object[] { " W ", "WXW", " W ", 'W', Items.leather, 'X', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.partBuggy, 1, 1), new Object[] { "  Y", " ZY", "XXX", 'X', "compressedSteel", 'Y', "compressedSteel", 'Z', "compressedIron" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.partBuggy, 1, 2), new Object[] { "XXX", "YZY", "XXX", 'X', "compressedSteel", 'Y', "compressedIron", 'Z', Blocks.chest });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.oxygenDetector, 1), new Object[] { "WWW", "YVY", "ZUZ", 'U', "compressedAluminum", 'V', "waferBasic", 'W', "compressedSteel", 'X', GCItems.oxygenFan, 'Y', GCItems.oxygenVent, 'Z', "dustRedstone" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.oxygenDistributor, 1), new Object[] { "WXW", "YZY", "WXW", 'W', "compressedSteel", 'X', GCItems.oxygenFan, 'Y', GCItems.oxygenVent, 'Z', "compressedAluminum" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.oxygenSealer, 1), new Object[] { "UZU", "YXY", "UZU", 'U', "compressedAluminum", 'V', GCBlocks.aluminumWire, 'W', "compressedSteel", 'X', GCItems.oxygenFan, 'Y', GCItems.oxygenVent, 'Z', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.oxygenCollector, 1), new Object[] { "WWW", "YXZ", "UVU", 'U', "compressedAluminum", 'V', GCItems.oxygenConcentrator, 'W', "compressedSteel", 'X', new ItemStack(GCItems.canister, 1, 0), 'Y', GCItems.oxygenFan, 'Z', GCItems.oxygenVent });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.nasaWorkbench, 1), new Object[] { "XZX", "UWU", "YVY", 'U', Blocks.lever, 'V', Blocks.redstone_torch, 'W', "waferAdvanced", 'X', "compressedSteel", 'Y', "compressedSteel", 'Z', Blocks.crafting_table });
    RecipeUtil.addRecipe(new ItemStack(GCItems.oxTankHeavy, 1, GCItems.oxTankHeavy.getMaxDamage()), new Object[] { "ZZZ", "XXX", "YYY", 'X', new ItemStack(GCItems.canister, 1, 0), 'Y', "compressedSteel", 'Z', new ItemStack(Blocks.wool, 1, 14) });
    RecipeUtil.addRecipe(new ItemStack(GCItems.oxygenFan, 1), new Object[] { "Z Z", " Y ", "ZXZ", 'X', Items.redstone, 'Y', "waferBasic", 'Z', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.oxygenConcentrator, 1), new Object[] { "ZWZ", "WYW", "ZXZ", 'W', "compressedTin", 'X', GCItems.oxygenVent, 'Y', new ItemStack(GCItems.canister, 1, 0), 'Z', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelPickaxe, 1), new Object[] { "YYY", " X ", " X ", 'Y', "compressedSteel", 'X', "stickWood" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelAxe, 1), new Object[] { "YY ", "YX ", " X ", 'Y', "compressedSteel", 'X', "stickWood" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelAxe, 1), new Object[] { " YY", " XY", " X ", 'Y', "compressedSteel", 'X', "stickWood" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelHoe, 1), new Object[] { " YY", " X ", " X ", 'Y', "compressedSteel", 'X', "stickWood" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelHoe, 1), new Object[] { "YY ", " X ", " X ", 'Y', "compressedSteel", 'X', "stickWood" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelSpade, 1), new Object[] { " Y ", " X ", " X ", 'Y', "compressedSteel", 'X', "stickWood" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelSword, 1), new Object[] { " Y ", " Y ", " X ", 'Y', "compressedSteel", 'X', "stickWood" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelBoots, 1), new Object[] { "X X", "X X", 'X', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelChestplate, 1), new Object[] { "X X", "XXX", "XXX", 'X', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelLeggings, 1), new Object[] { "XXX", "X X", "X X", 'X', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.steelHelmet, 1), new Object[] { "XXX", "X X", 'X', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.flagPole, 2, 0), new Object[] { "X", "X", "X", 'X', "compressedSteel" });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.oxygenVent, 1), new Object[] { "compressedTin", "compressedTin", "compressedTin", "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.airLockFrame, 4, 0), new Object[] { "XXX", "YZY", "XXX", 'X', "compressedAluminum", 'Y', "compressedSteel", 'Z', GCItems.oxygenConcentrator });
    RecipeUtil.addRecipeUpdatable(new ItemStack(GCBlocks.airLockFrame, 1, 1), new Object[] { "YYY", "WZW", "YYY", 'W', meteoricIronPlate, 'Y', "compressedSteel", 'Z', new ItemStack(GCItems.basicItem, 1, 13) });
    // Disable oil extractor:
    // RecipeUtil.addRecipe(new ItemStack(GCItems.oilExtractor), new Object[] { "X  ", " XY", "ZYY", 'X', "compressedSteel", 'Y', "compressedBronze", 'Z', Items.redstone });
    RecipeUtil.addRecipe(new ItemStack(GCItems.basicItem, 1, 20), new Object[] { "WVW", "YXY", "YZY", 'X', "compressedSteel", 'Y', "compressedBronze", 'Z', "waferBasic", 'W', "dustRedstone", 'V', GCItems.oxygenVent });
    RecipeUtil.addRecipe(new ItemStack(GCItems.oilCanister, 1, GCItems.oilCanister.getMaxDamage()), new Object[] { "WXW", "WYW", "WZW", 'X', "compressedSteel", 'Y', Blocks.glass, 'Z', new ItemStack(GCItems.canister, 1, 0), 'W', "compressedTin" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.refinery), new Object[] { " Z ", "WZW", "XYX", 'X', "compressedSteel", 'Y', Blocks.furnace, 'Z', new ItemStack(GCItems.canister, 1, 1), 'W', "stone" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.oxygenCompressor, 1, 0), new Object[] { "XWX", "WZW", "XYX", 'W', "compressedAluminum", 'X', "compressedSteel", 'Y', "compressedBronze", 'Z', GCItems.oxygenConcentrator });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.oxygenCompressor, 1, 4), new Object[] { "XVX", "WZW", "XYX", 'V', GCItems.oxygenFan, 'W', "compressedAluminum", 'X', "compressedSteel", 'Y', Blocks.redstone_torch, 'Z', GCItems.oxygenConcentrator });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.fuelLoader), new Object[] { "XXX", "XZX", "WYW", 'W', "compressedTin", 'X', "compressedCopper", 'Y', "waferBasic", 'Z', new ItemStack(GCItems.canister, 1, 0) });
    RecipeUtil.addRecipe(new ItemStack(GCItems.basicItem, 2, 0), new Object[] { "XXX", "YYY", "ZZZ", 'X', Blocks.glass, 'Y', "waferSolar", 'Z', new ItemStack(GCBlocks.aluminumWire, 1, 0) });
    RecipeUtil.addRecipe(new ItemStack(GCItems.basicItem, 1, 1), new Object[] { "XXX", "YYY", "XXX", 'X', new ItemStack(GCItems.basicItem, 1, 0), 'Y', new ItemStack(GCBlocks.aluminumWire, 1, 0) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.solarPanel, 1, 0), new Object[] { "XYX", "XZX", "VWV", 'V', new ItemStack(GCBlocks.aluminumWire, 1, 0), 'W', "waferBasic", 'X', "compressedSteel", 'Y', new ItemStack(GCItems.basicItem, 1, 1), 'Z', GCItems.flagPole });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.solarPanel, 1, 4), new Object[] { "XYX", "XZX", "VWV", 'V', new ItemStack(GCBlocks.aluminumWire, 1, 1), 'W', "waferAdvanced", 'X', "compressedSteel", 'Y', new ItemStack(GCItems.basicItem, 1, 1), 'Z', GCItems.flagPole });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.cargoLoader, 1, 0), new Object[] { "XWX", "YZY", "XXX", 'W', Blocks.hopper, 'X', "compressedSteel", 'Y', "compressedAluminum", 'Z', Blocks.chest });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.cargoLoader, 1, 4), new Object[] { "XXX", "YZY", "XWX", 'W', Blocks.hopper, 'X', "compressedSteel", 'Y', "compressedAluminum", 'Z', Blocks.chest });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.glowstoneTorch, 4), new Object[] { "Y", "X", 'X', "stickWood", 'Y', "dustGlowstone" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.basicItem, 1, 19), new Object[] { " X ", "YUY", "ZWZ", 'U', Items.repeater, 'W', "waferBasic", 'X', "compressedAluminum", 'Y', "compressedIron", 'Z', "dustRedstone" });
    RecipeUtil.addRecipe(new ItemStack(GCItems.wrench), new Object[] { "  Y", " X ", "X  ", 'X', "compressedBronze", 'Y', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(Blocks.lit_pumpkin), new Object[] { "P  ", "T  ", "   ", 'P', new ItemStack(Blocks.pumpkin), 'T', new ItemStack(GCBlocks.unlitTorch) });
    RecipeUtil.addRecipeUpdatable(new ItemStack(GCBlocks.brightLamp), new Object[] { "XYX", "YZY", "XYX", 'X', deshIngot, 'Y', Items.glowstone_dust, 'Z', new ItemStack(GCItems.battery, 1, 0) });
    RecipeUtil.addRecipeUpdatable(new ItemStack(GCBlocks.spinThruster), new Object[] { "   ", "YWZ", "PXP", 'W', "waferAdvanced", 'X', meteoricIronIngot, 'Y', new ItemStack(GCItems.fuelCanister, 1, 1), 'Z', new ItemStack(GCItems.rocketEngine, 1, 0), 'P', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.screen), new Object[] { "XYX", "YGY", "XYX", 'X', "compressedSteel", 'Y', "waferBasic", 'G', Blocks.glass });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.telemetry), new Object[] { "XFX", "XWX", "YYY", 'W', "waferBasic", 'X', "compressedTin", 'Y', "compressedCopper", 'F', new ItemStack(GCItems.basicItem, 1, 19) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.radioTelescope), new Object[] { "XFX", " X ", "WYW", 'X', "compressedAluminum", 'Y', "blockIron", 'W', "waferAdvanced", 'F', new ItemStack(GCItems.basicItem, 1, 19) });
    RecipeUtil.addBlockRecipe(new ItemStack(GCBlocks.basicBlock, 1, 9), "ingotCopper", new ItemStack(GCItems.basicItem, 1, 3));
    RecipeUtil.addBlockRecipe(new ItemStack(GCBlocks.basicBlock, 1, 10), "ingotTin", new ItemStack(GCItems.basicItem, 1, 4));
    RecipeUtil.addBlockRecipe(new ItemStack(GCBlocks.basicBlock, 1, 11), "ingotAluminum", new ItemStack(GCItems.basicItem, 1, 5));
    RecipeUtil.addBlockRecipe(new ItemStack(GCBlocks.basicBlock, 1, 13), ConfigManagerCore.otherModsSilicon, new ItemStack(GCItems.basicItem, 1, 2));
    RecipeUtil.addRecipeUpdatable(new ItemStack(GCBlocks.basicBlock, 1, 12), new Object[] { "YYY", "YYY", "YYY", 'Y', meteoricIronIngot });
    RecipeUtil.addRecipe(new ItemStack(GCItems.basicItem, 9, 3), new Object[] { "X", 'X', new ItemStack(GCBlocks.basicBlock, 1, 9) });
    RecipeUtil.addRecipe(new ItemStack(GCItems.basicItem, 9, 4), new Object[] { "X", 'X', new ItemStack(GCBlocks.basicBlock, 1, 10) });
    RecipeUtil.addRecipe(new ItemStack(GCItems.basicItem, 9, 5), new Object[] { "X", 'X', new ItemStack(GCBlocks.basicBlock, 1, 11) });
    RecipeUtil.addRecipe(new ItemStack(GCItems.basicItem, 9, 2), new Object[] { "X", 'X', new ItemStack(GCBlocks.basicBlock, 1, 13) });
    RecipeUtil.addRecipe(new ItemStack(GCItems.itemBasicMoon, 9, 0), new Object[] { "X", 'X', new ItemStack(GCBlocks.basicBlock, 1, 12) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.cheeseBlock, 1), new Object[] { "YYY", "YXY", "YYY", 'X', Items.milk_bucket, 'Y', GCItems.cheeseCurd });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.spaceGlassClear, 5), new Object[] { "YXY", "XXX", "YXY", 'X', Blocks.glass, 'Y', "ingotAluminum" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.spaceGlassVanilla, 5), new Object[] { "YXY", "XXX", "YXY", 'X', Blocks.glass, 'Y', "ingotTin" });
    // https://en.wikipedia.org/wiki/List_of_Star_Trek_materials#Transparent_aluminum
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.spaceGlassStrong, 5), new Object[] { "YXY", "XXX", "YXY", 'X', Blocks.glass, 'Y', "compressedAluminum" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.spaceGlassClear, 5, 1), new Object[] { "YXY", "XXX", "YXY", 'X', GCBlocks.spaceGlassClear, 'Y', new ItemStack(GCBlocks.basicBlock, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.spaceGlassVanilla, 5, 1), new Object[] { "YXY", "XXX", "YXY", 'X', GCBlocks.spaceGlassVanilla, 'Y', new ItemStack(GCBlocks.basicBlock, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.spaceGlassStrong, 5, 1), new Object[] { "YXY", "XXX", "YXY", 'X', GCBlocks.spaceGlassStrong, 'Y', new ItemStack(GCBlocks.basicBlock, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.panelLighting, 1, 0), new Object[] { "XXX", "XYX", "XZX", 'X', Blocks.glass_pane, 'Y', GCBlocks.glowstoneTorch, 'Z', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.panelLighting, 1, 1), new Object[] { "X X", " Y ", "XZX", 'X', Blocks.glass_pane, 'Y', GCBlocks.glowstoneTorch, 'Z', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.panelLighting, 1, 2), new Object[] { "X X", "XYX", "XZX", 'X', Blocks.glass_pane, 'Y', GCBlocks.glowstoneTorch, 'Z', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.panelLighting, 1, 3), new Object[] { "   ", "XYX", " Z ", 'X', Blocks.glass_pane, 'Y', GCBlocks.glowstoneTorch, 'Z', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.panelLighting, 1, 4), new Object[] { " X ", "XY ", " Z ", 'X', Blocks.glass_pane, 'Y', GCBlocks.glowstoneTorch, 'Z', "compressedSteel" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.platform, 4, 0), new Object[] { "PAP", "BXB", "PAP", 'X', "waferBasic", 'A', "dustGlowstone", 'B', "compressedSteel", 'P', Blocks.piston });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.machineBase3, 1, BlockMachine3.PAINTER_METADATA), new Object[] { "ABC", "DEF", "GHI", 'A', "dyeRed", 'B', "dyeMagenta", 'C', "dyeBlue", 'D', "dyeOrange", 'E', "compressedSteel", 'F', "dyeCyan", 'G', "dyeYellow", 'H', "dyeLime", 'I', "dyeGreen" });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCBlocks.crafting, 1), new Object[] { Blocks.crafting_table, "compressedIron" });
    // Furnace on moon
    RecipeUtil.addRecipe(new ItemStack(Blocks.furnace), new Object[] { "XXX", "X X", "XXX", 'X', new ItemStack(GCBlocks.blockMoon, 1, 4) });
    // // Tin Stairs 1
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.tinStairs1, 4), new Object[] { "  X", " XX", "XXX", 'X', new ItemStack(GCBlocks.basicBlock, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.tinStairs1, 4), new Object[] { "X  ", "XX ", "XXX", 'X', new ItemStack(GCBlocks.basicBlock, 1, 4) });
    // 
    // // Tin Stairs 2
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.tinStairs2, 4), new Object[] { "  X", " XX", "XXX", 'X', new ItemStack(GCBlocks.basicBlock, 1, 3) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.tinStairs2, 4), new Object[] { "X  ", "XX ", "XXX", 'X', new ItemStack(GCBlocks.basicBlock, 1, 3) });
    // 
    // // Moon Stone Stairs
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.moonStoneStairs, 4), new Object[] { "  X", " XX", "XXX", 'X', new ItemStack(GCBlocks.blockMoon, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.moonStoneStairs, 4), new Object[] { "X  ", "XX ", "XXX", 'X', new ItemStack(GCBlocks.blockMoon, 1, 4) });
    // 
    // // Moon Dungeon Brick Stairs
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.moonBricksStairs, 4), new Object[] { "  X", " XX", "XXX", 'X', new ItemStack(GCBlocks.blockMoon, 1, 14) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.moonBricksStairs, 4), new Object[] { "X  ", "XX ", "XXX", 'X', new ItemStack(GCBlocks.blockMoon, 1, 14) });
    // 
    // // Slab Block
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.slabGCHalf, 6, 0), new Object[] { "XXX", 'X', new ItemStack(GCBlocks.basicBlock, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.slabGCHalf, 6, 1), new Object[] { "XXX", 'X', new ItemStack(GCBlocks.basicBlock, 1, 3) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.slabGCHalf, 6, 2), new Object[] { "XXX", 'X', new ItemStack(GCBlocks.blockMoon, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.slabGCHalf, 6, 3), new Object[] { "XXX", 'X', new ItemStack(GCBlocks.blockMoon, 1, 14) });
    // 
    // // Wall Block
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.wallGC, 6, 0), new Object[] { "XXX", "XXX", 'X', new ItemStack(GCBlocks.basicBlock, 1, 4) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.wallGC, 6, 1), new Object[] { "XXX", "XXX", 'X', new ItemStack(GCBlocks.basicBlock, 1, 3) });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.wallGC, 6, 2), new Object[] { "XXX", "XXX", 'X', new ItemStack(GCBlocks.blockMoon, 1, 4) });
    // 
    // // Dungeon Brick Wall
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.wallGC, 6, 3), new Object[] { "XXX", "XXX", 'X', new ItemStack(GCBlocks.blockMoon, 1, 14) });
    // Concealed redstone
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.concealedRedstone, 4, 0), new Object[] { " X ", "XYX", " X ", 'X', new ItemStack(GCBlocks.basicBlock, 1, 4), 'Y', "dustRedstone" });
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.concealedRepeater_Unpowered, 1, 0), new Object[] { "   ", "XYX", "   ", 'X', new ItemStack(GCBlocks.basicBlock, 1, 4), 'Y', Items.repeater });
    // Food
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.foodItem, 1, 0), new Object[] { new ItemStack(GCItems.canister, 1, 0), Items.apple, Items.apple });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.foodItem, 1, 1), new Object[] { new ItemStack(GCItems.canister, 1, 0), Items.carrot, Items.carrot });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.foodItem, 1, 2), new Object[] { new ItemStack(GCItems.canister, 1, 0), Items.melon, Items.melon });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.foodItem, 1, 3), new Object[] { new ItemStack(GCItems.canister, 1, 0), Items.potato, Items.potato });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.foodItem, 6, 4), new Object[] { new ItemStack(GCBlocks.cheeseBlock) });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.foodItem, 2, 5), new Object[] { Items.wheat, Items.wheat, Items.egg, Items.milk_bucket });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.foodItem, 2, 6), new Object[] { Items.beef });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.foodItem, 1, 8), new Object[] { new ItemStack(GCItems.foodItem, 1, 4), new ItemStack(GCItems.foodItem, 1, 7), new ItemStack(GCItems.foodItem, 1, 5) });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.foodItem, 1, 9), new Object[] { new ItemStack(GCItems.canister, 1, 0), new ItemStack(GCItems.foodItem, 1, 6), new ItemStack(GCItems.foodItem, 1, 6) });
    // EmergencyKit
    RecipeUtil.addRecipe(new ItemStack(GCItems.emergencyKit), ItemEmergencyKit.getRecipe());
    RecipeUtil.addRecipe(new ItemStack(GCBlocks.emergencyBox), new Object[] { "XYX", "Y Y", "XYX", 'X', GCBlocks.glowstoneTorch, 'Y', new ItemStack(GCItems.basicItem, 1, 7) });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCBlocks.emergencyBox, 1, 1), new ItemStack(GCBlocks.emergencyBox, 1, 0), new ItemStack(GCItems.emergencyKit));
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCBlocks.grating, 4, 0), new Object[] { Blocks.iron_bars, Blocks.iron_bars, Blocks.iron_bars, Blocks.iron_bars });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.meteorChunk, 3), new Object[] { GCItems.meteoricIronRaw });
    CompressorRecipes.addShapelessRecipe(new ItemStack(GCItems.basicItem, 1, 6), "ingotCopper", "ingotCopper");
    CompressorRecipes.addShapelessRecipe(new ItemStack(GCItems.basicItem, 1, 7), "ingotTin", "ingotTin");
    CompressorRecipes.addShapelessRecipe(new ItemStack(GCItems.basicItem, 1, 8), "ingotAluminum", "ingotAluminum");
    /*        // Support for all the spellings of Aluminum
        for (ItemStack stack : aluminumIngots)
        {
          	CompressorRecipes.addShapelessRecipe(new ItemStack(GCItems.basicItem, 1, 8), stack, stack);
        }
*/
    if (OreDictionary.getOres("ingotBronze").size() > 0) {
        CompressorRecipes.addShapelessRecipe(new ItemStack(GCItems.basicItem, 1, 10), "ingotBronze", "ingotBronze");
    }
    if (OreDictionary.getOres("ingotSteel").size() > 0) {
        CompressorRecipes.addShapelessRecipe(new ItemStack(GCItems.basicItem, 1, 9), "ingotSteel", "ingotSteel");
        CompressorRecipes.steelIngotsPresent = true;
    }
    CompressorRecipes.steelRecipeGC = Arrays.asList(new ItemStack(Items.coal), new ItemStack(GCItems.basicItem, 1, 11), new ItemStack(Items.coal));
    CompressorRecipes.addShapelessRecipe(new ItemStack(GCItems.basicItem, 1, 9), Items.coal, new ItemStack(GCItems.basicItem, 1, 11), Items.coal);
    CompressorRecipes.addShapelessRecipe(new ItemStack(GCItems.basicItem, 1, 10), new ItemStack(GCItems.basicItem, 1, 6), new ItemStack(GCItems.basicItem, 1, 7));
    CompressorRecipes.addShapelessRecipe(new ItemStack(GCItems.basicItem, 1, 11), Items.iron_ingot, Items.iron_ingot);
    CompressorRecipes.addShapelessRecipe(new ItemStack(GCItems.itemBasicMoon, 1, 1), meteoricIronIngot);
    CompressorRecipes.addRecipe(new ItemStack(GCItems.heavyPlatingTier1, 2, 0), "XYZ", "XYZ", 'X', new ItemStack(GCItems.basicItem, 1, 9), 'Y', new ItemStack(GCItems.basicItem, 1, 8), 'Z', new ItemStack(GCItems.basicItem, 1, 10));
    ItemStack solarPanels = new ItemStack(GCItems.basicItem, 9, 12);
    ItemStack basicWafers = new ItemStack(GCItems.basicItem, 3, 13);
    ItemStack advancedWafers = new ItemStack(GCItems.basicItem, 1, 14);
    ItemStack silicon = new ItemStack(GCItems.basicItem, 1, 2);
    CircuitFabricatorRecipes.addRecipe(solarPanels, new ItemStack[] { new ItemStack(Items.diamond), silicon, silicon, new ItemStack(Items.redstone), new ItemStack(Items.dye, 1, 4) });
    CircuitFabricatorRecipes.addRecipe(basicWafers, new ItemStack[] { new ItemStack(Items.diamond), silicon, silicon, new ItemStack(Items.redstone), new ItemStack(Blocks.redstone_torch) });
    CircuitFabricatorRecipes.addRecipe(advancedWafers, new ItemStack[] { new ItemStack(Items.diamond), silicon, silicon, new ItemStack(Items.redstone), new ItemStack(Items.repeater) });
    RecipeUtil.addShapelessOreRecipe(new ItemStack(GCItems.prelaunchChecklist), new Object[] { new ItemStack(Items.dye, 1, 1), GCItems.canvas });
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) ItemStack(net.minecraft.item.ItemStack) SpaceStationType(micdoodle8.mods.galacticraft.api.world.SpaceStationType) SpaceStationRecipe(micdoodle8.mods.galacticraft.api.recipe.SpaceStationRecipe)

Example 3 with SpaceStationRecipe

use of micdoodle8.mods.galacticraft.api.recipe.SpaceStationRecipe in project Galacticraft by micdoodle8.

the class GuiCelestialSelection method drawButtons.

public void drawButtons(int mousePosX, int mousePosY) {
    this.zLevel = 0.0F;
    boolean handledSliderPos = false;
    final int LHS = GuiCelestialSelection.BORDER_SIZE + GuiCelestialSelection.BORDER_EDGE_SIZE;
    final int RHS = width - LHS;
    final int TOP = LHS;
    final int BOT = height - LHS;
    if (this.viewState == EnumView.PROFILE) {
        this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
        GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
        this.drawTexturedModalRect(width / 2 - 43, TOP, 86, 15, 266, 0, 172, 29, false, false);
        String str = GCCoreUtil.translate("gui.message.catalog.name").toUpperCase();
        this.fontRendererObj.drawString(str, width / 2 - this.fontRendererObj.getStringWidth(str) / 2, TOP + this.fontRendererObj.FONT_HEIGHT / 2, WHITE);
        if (this.selectedBody != null) {
            this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
            if (mousePosX > LHS && mousePosX < LHS + 88 && mousePosY > TOP && mousePosY < TOP + 13) {
                GL11.glColor3f(3.0F, 0.0F, 0.0F);
            } else {
                GL11.glColor3f(0.9F, 0.2F, 0.2F);
            }
            this.drawTexturedModalRect(LHS, TOP, 88, 13, 0, 392, 148, 22, false, false);
            str = GCCoreUtil.translate("gui.message.back.name").toUpperCase();
            this.fontRendererObj.drawString(str, LHS + 45 - this.fontRendererObj.getStringWidth(str) / 2, TOP + this.fontRendererObj.FONT_HEIGHT / 2 - 2, WHITE);
            this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
            if (mousePosX > RHS - 88 && mousePosX < RHS && mousePosY > TOP && mousePosY < TOP + 13) {
                GL11.glColor3f(0.0F, 3.0F, 0.0F);
            } else {
                GL11.glColor3f(0.2F, 0.9F, 0.2F);
            }
            this.drawTexturedModalRect(RHS - 88, TOP, 88, 13, 0, 392, 148, 22, true, false);
            GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
            this.drawTexturedModalRect(LHS, BOT - 13, 88, 13, 0, 392, 148, 22, false, true);
            this.drawTexturedModalRect(RHS - 88, BOT - 13, 88, 13, 0, 392, 148, 22, true, true);
            int menuTopLeft = TOP - 115 + height / 2 - 4;
            int posX = LHS + Math.min(this.ticksSinceSelection * 10, 133) - 134;
            int posX2 = (int) (LHS + Math.min(this.ticksSinceSelection * 1.25F, 15) - 15);
            int fontPosY = menuTopLeft + GuiCelestialSelection.BORDER_EDGE_SIZE + this.fontRendererObj.FONT_HEIGHT / 2 - 2;
            this.drawTexturedModalRect(posX, menuTopLeft + 12, 133, 196, 0, 0, 266, 392, false, false);
            // str = this.selectedBody.getLocalizedName();
            // this.fontRendererObj.drawString(str, posX + 20, fontPosY, GCCoreUtil.to32BitColor(255, 255, 255, 255));
            str = GCCoreUtil.translate("gui.message.daynightcycle.name") + ":";
            this.fontRendererObj.drawString(str, posX + 5, fontPosY + 14, CYAN);
            str = GCCoreUtil.translate("gui.message." + this.selectedBody.getName() + ".daynightcycle.0.name");
            this.fontRendererObj.drawString(str, posX + 10, fontPosY + 25, WHITE);
            str = GCCoreUtil.translate("gui.message." + this.selectedBody.getName() + ".daynightcycle.1.name");
            if (!str.isEmpty()) {
                this.fontRendererObj.drawString(str, posX + 10, fontPosY + 36, WHITE);
            }
            str = GCCoreUtil.translate("gui.message.surfacegravity.name") + ":";
            this.fontRendererObj.drawString(str, posX + 5, fontPosY + 50, CYAN);
            str = GCCoreUtil.translate("gui.message." + this.selectedBody.getName() + ".surfacegravity.0.name");
            this.fontRendererObj.drawString(str, posX + 10, fontPosY + 61, WHITE);
            str = GCCoreUtil.translate("gui.message." + this.selectedBody.getName() + ".surfacegravity.1.name");
            if (!str.isEmpty()) {
                this.fontRendererObj.drawString(str, posX + 10, fontPosY + 72, WHITE);
            }
            str = GCCoreUtil.translate("gui.message.surfacecomposition.name") + ":";
            this.fontRendererObj.drawString(str, posX + 5, fontPosY + 88, CYAN);
            str = GCCoreUtil.translate("gui.message." + this.selectedBody.getName() + ".surfacecomposition.0.name");
            this.fontRendererObj.drawString(str, posX + 10, fontPosY + 99, WHITE);
            str = GCCoreUtil.translate("gui.message." + this.selectedBody.getName() + ".surfacecomposition.1.name");
            if (!str.isEmpty()) {
                this.fontRendererObj.drawString(str, posX + 10, fontPosY + 110, WHITE);
            }
            str = GCCoreUtil.translate("gui.message.atmosphere.name") + ":";
            this.fontRendererObj.drawString(str, posX + 5, fontPosY + 126, CYAN);
            str = GCCoreUtil.translate("gui.message." + this.selectedBody.getName() + ".atmosphere.0.name");
            this.fontRendererObj.drawString(str, posX + 10, fontPosY + 137, WHITE);
            str = GCCoreUtil.translate("gui.message." + this.selectedBody.getName() + ".atmosphere.1.name");
            if (!str.isEmpty()) {
                this.fontRendererObj.drawString(str, posX + 10, fontPosY + 148, WHITE);
            }
            str = GCCoreUtil.translate("gui.message.meansurfacetemp.name") + ":";
            this.fontRendererObj.drawString(str, posX + 5, fontPosY + 165, CYAN);
            str = GCCoreUtil.translate("gui.message." + this.selectedBody.getName() + ".meansurfacetemp.0.name");
            this.fontRendererObj.drawString(str, posX + 10, fontPosY + 176, WHITE);
            str = GCCoreUtil.translate("gui.message." + this.selectedBody.getName() + ".meansurfacetemp.1.name");
            if (!str.isEmpty()) {
                this.fontRendererObj.drawString(str, posX + 10, fontPosY + 187, WHITE);
            }
            this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
            GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
            this.drawTexturedModalRect(posX2, menuTopLeft + 12, 17, 199, 439, 0, 32, 399, false, false);
        // this.drawRectD(posX2 + 16.5, menuTopLeft + 13, posX + 131, menuTopLeft + 14, GCCoreUtil.to32BitColor(120, 0, (int) (0.6F * 255), 255));
        }
    } else {
        String str;
        // Catalog:
        this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
        GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
        this.drawTexturedModalRect(LHS, TOP, 74, 11, 0, 392, 148, 22, false, false);
        str = GCCoreUtil.translate("gui.message.catalog.name").toUpperCase();
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.fontRendererObj.drawString(str, LHS + 40 - fontRendererObj.getStringWidth(str) / 2, TOP + 1, WHITE);
        int scale = (int) Math.min(95, this.ticksSinceMenuOpen * 12.0F);
        boolean planetZoomedNotMoon = this.isZoomed() && !(this.selectedParent instanceof Planet);
        // Parent frame:
        GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
        this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
        this.drawTexturedModalRect(LHS - 95 + scale, TOP + 12, 95, 41, 0, 436, 95, 41, false, false);
        str = planetZoomedNotMoon ? this.selectedBody.getLocalizedName() : this.getParentName();
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.fontRendererObj.drawString(str, LHS + 9 - 95 + scale, TOP + 34, WHITE);
        GL11.glColor4f(1, 1, 0, 1);
        this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
        // Grandparent frame:
        this.drawTexturedModalRect(LHS + 2 - 95 + scale, TOP + 14, 93, 17, 95, 436, 93, 17, false, false);
        str = planetZoomedNotMoon ? this.getParentName() : this.getGrandparentName();
        GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
        this.fontRendererObj.drawString(str, LHS + 7 - 95 + scale, TOP + 16, GREY3);
        GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
        List<CelestialBody> children = this.getChildren(planetZoomedNotMoon ? this.selectedBody : this.selectedParent);
        drawChildren(children, 0, 0, true);
        if (this.mapMode) {
            this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
            GL11.glColor4f(1.0F, 0.0F, 0.0F, 1);
            this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
            this.drawTexturedModalRect(RHS - 74, TOP, 74, 11, 0, 392, 148, 22, true, false);
            str = GCCoreUtil.translate("gui.message.exit.name").toUpperCase();
            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
            this.fontRendererObj.drawString(str, RHS - 40 - fontRendererObj.getStringWidth(str) / 2, TOP + 1, WHITE);
        }
        if (this.selectedBody != null) {
            // Right-hand bar (basic selectionState info)
            this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain1);
            GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
            if (this.selectedBody instanceof Satellite) {
                Satellite selectedSatellite = (Satellite) this.selectedBody;
                int stationListSize = this.spaceStationMap.get(getSatelliteParentID(selectedSatellite)).size();
                this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain1);
                int max = Math.min((this.height / 2) / 14, stationListSize);
                this.drawTexturedModalRect(RHS - 95, TOP, 95, 53, this.selectedStationOwner.length() == 0 ? 95 : 0, 186, 95, 53, false, false);
                if (this.spaceStationListOffset <= 0) {
                    GL11.glColor4f(0.65F, 0.65F, 0.65F, 1);
                } else {
                    GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
                }
                this.drawTexturedModalRect(RHS - 85, TOP + 45, 61, 4, 0, 239, 61, 4, false, false);
                if (max + spaceStationListOffset >= stationListSize) {
                    GL11.glColor4f(0.65F, 0.65F, 0.65F, 1);
                } else {
                    GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
                }
                this.drawTexturedModalRect(RHS - 85, TOP + 49 + max * 14, 61, 4, 0, 239, 61, 4, false, true);
                GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
                if (this.spaceStationMap.get(getSatelliteParentID(selectedSatellite)).get(this.selectedStationOwner) == null) {
                    str = GCCoreUtil.translate("gui.message.select_ss.name");
                    this.drawSplitString(str, RHS - 47, TOP + 20, 91, WHITE, false, false);
                } else {
                    str = GCCoreUtil.translate("gui.message.ss_owner.name");
                    this.fontRendererObj.drawString(str, RHS - 85, TOP + 18, WHITE);
                    str = this.selectedStationOwner;
                    this.fontRendererObj.drawString(str, RHS - 47 - this.fontRendererObj.getStringWidth(str) / 2, TOP + 30, WHITE);
                }
                Iterator<Map.Entry<String, StationDataGUI>> it = this.spaceStationMap.get(getSatelliteParentID(selectedSatellite)).entrySet().iterator();
                int i = 0;
                int j = 0;
                while (it.hasNext() && i < max) {
                    Map.Entry<String, StationDataGUI> e = it.next();
                    if (j >= this.spaceStationListOffset) {
                        this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
                        GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
                        int xOffset = 0;
                        if (e.getKey().equalsIgnoreCase(this.selectedStationOwner)) {
                            xOffset -= 5;
                        }
                        this.drawTexturedModalRect(RHS - 95 + xOffset, TOP + 50 + i * 14, 93, 12, 95, 464, 93, 12, true, false);
                        str = "";
                        String str0 = e.getValue().getStationName();
                        int point = 0;
                        while (this.fontRendererObj.getStringWidth(str) < 80 && point < str0.length()) {
                            str = str + str0.substring(point, point + 1);
                            point++;
                        }
                        if (this.fontRendererObj.getStringWidth(str) >= 80) {
                            str = str.substring(0, str.length() - 3);
                            str = str + "...";
                        }
                        this.fontRendererObj.drawString(str, RHS - 88 + xOffset, TOP + 52 + i * 14, WHITE);
                        i++;
                    }
                    j++;
                }
            } else {
                this.drawTexturedModalRect(RHS - 96, TOP, 96, 139, 63, 0, 96, 139, false, false);
            }
            if (this.canCreateSpaceStation(this.selectedBody) && (!(this.selectedBody instanceof Satellite))) {
                GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
                this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain1);
                int canCreateLength = Math.max(0, this.drawSplitString(GCCoreUtil.translate("gui.message.can_create_space_station.name"), 0, 0, 91, 0, true, true) - 2);
                canCreateOffset = canCreateLength * this.fontRendererObj.FONT_HEIGHT;
                this.drawTexturedModalRect(RHS - 95, TOP + 134, 93, 4, 159, 102, 93, 4, false, false);
                for (int barY = 0; barY < canCreateLength; ++barY) {
                    this.drawTexturedModalRect(RHS - 95, TOP + 138 + barY * this.fontRendererObj.FONT_HEIGHT, 93, this.fontRendererObj.FONT_HEIGHT, 159, 106, 93, this.fontRendererObj.FONT_HEIGHT, false, false);
                }
                this.drawTexturedModalRect(RHS - 95, TOP + 138 + canCreateOffset, 93, 43, 159, 106, 93, 43, false, false);
                this.drawTexturedModalRect(RHS - 79, TOP + 129, 61, 4, 0, 170, 61, 4, false, false);
                SpaceStationRecipe recipe = WorldUtil.getSpaceStationRecipe(this.selectedBody.getDimensionID());
                if (recipe != null) {
                    GL11.glColor4f(0.0F, 1.0F, 0.1F, 1);
                    boolean validInputMaterials = true;
                    int i = 0;
                    for (Map.Entry<Object, Integer> e : recipe.getInput().entrySet()) {
                        Object next = e.getKey();
                        int xPos = (int) (RHS - 95 + i * 93 / (double) recipe.getInput().size() + 5);
                        int yPos = TOP + 154 + canCreateOffset;
                        if (next instanceof ItemStack) {
                            int amount = getAmountInInventory((ItemStack) next);
                            RenderHelper.enableGUIStandardItemLighting();
                            ItemStack toRender = ((ItemStack) next).copy();
                            this.itemRender.renderItemAndEffectIntoGUI(toRender, xPos, yPos);
                            this.itemRender.renderItemOverlayIntoGUI(mc.fontRendererObj, toRender, xPos, yPos, null);
                            RenderHelper.disableStandardItemLighting();
                            GL11.glEnable(GL11.GL_BLEND);
                            if (mousePosX >= xPos && mousePosX <= xPos + 16 && mousePosY >= yPos && mousePosY <= yPos + 16) {
                                GL11.glDepthMask(true);
                                GL11.glEnable(GL11.GL_DEPTH_TEST);
                                GL11.glPushMatrix();
                                GL11.glTranslatef(0, 0, 300);
                                int k = this.fontRendererObj.getStringWidth(((ItemStack) next).getDisplayName());
                                int j2 = mousePosX - k / 2;
                                int k2 = mousePosY - 12;
                                int i1 = 8;
                                if (j2 + k > this.width) {
                                    j2 -= (j2 - this.width + k);
                                }
                                if (k2 + i1 + 6 > this.height) {
                                    k2 = this.height - i1 - 6;
                                }
                                int j1 = ColorUtil.to32BitColor(190, 0, 153, 255);
                                this.drawGradientRect(j2 - 3, k2 - 4, j2 + k + 3, k2 - 3, j1, j1);
                                this.drawGradientRect(j2 - 3, k2 + i1 + 3, j2 + k + 3, k2 + i1 + 4, j1, j1);
                                this.drawGradientRect(j2 - 3, k2 - 3, j2 + k + 3, k2 + i1 + 3, j1, j1);
                                this.drawGradientRect(j2 - 4, k2 - 3, j2 - 3, k2 + i1 + 3, j1, j1);
                                this.drawGradientRect(j2 + k + 3, k2 - 3, j2 + k + 4, k2 + i1 + 3, j1, j1);
                                int k1 = ColorUtil.to32BitColor(170, 0, 153, 255);
                                int l1 = (k1 & 16711422) >> 1 | k1 & -16777216;
                                this.drawGradientRect(j2 - 3, k2 - 3 + 1, j2 - 3 + 1, k2 + i1 + 3 - 1, k1, l1);
                                this.drawGradientRect(j2 + k + 2, k2 - 3 + 1, j2 + k + 3, k2 + i1 + 3 - 1, k1, l1);
                                this.drawGradientRect(j2 - 3, k2 - 3, j2 + k + 3, k2 - 3 + 1, k1, k1);
                                this.drawGradientRect(j2 - 3, k2 + i1 + 2, j2 + k + 3, k2 + i1 + 3, l1, l1);
                                this.fontRendererObj.drawString(((ItemStack) next).getDisplayName(), j2, k2, WHITE);
                                GL11.glPopMatrix();
                            }
                            str = "" + e.getValue();
                            boolean valid = amount >= e.getValue();
                            if (!valid && validInputMaterials) {
                                validInputMaterials = false;
                            }
                            int color = valid | this.mc.thePlayer.capabilities.isCreativeMode ? GREEN : RED;
                            this.fontRendererObj.drawString(str, xPos + 8 - this.fontRendererObj.getStringWidth(str) / 2, TOP + 170 + canCreateOffset, color);
                        } else if (next instanceof Collection) {
                            Collection<ItemStack> items = (Collection<ItemStack>) next;
                            int amount = 0;
                            for (ItemStack stack : items) {
                                amount += getAmountInInventory(stack);
                            }
                            RenderHelper.enableGUIStandardItemLighting();
                            Iterator<ItemStack> it = items.iterator();
                            int count = 0;
                            int toRenderIndex = (this.ticksSinceMenuOpen / 20) % items.size();
                            ItemStack toRender = null;
                            while (it.hasNext()) {
                                ItemStack stack = it.next();
                                if (count == toRenderIndex) {
                                    toRender = stack;
                                    break;
                                }
                                count++;
                            }
                            if (toRender == null) {
                                continue;
                            }
                            this.itemRender.renderItemAndEffectIntoGUI(toRender, xPos, yPos);
                            this.itemRender.renderItemOverlayIntoGUI(mc.fontRendererObj, toRender, xPos, yPos, null);
                            RenderHelper.disableStandardItemLighting();
                            GL11.glEnable(GL11.GL_BLEND);
                            if (mousePosX >= xPos && mousePosX <= xPos + 16 && mousePosY >= yPos && mousePosY <= yPos + 16) {
                                GL11.glDepthMask(true);
                                GL11.glEnable(GL11.GL_DEPTH_TEST);
                                GL11.glPushMatrix();
                                GL11.glTranslatef(0, 0, 300);
                                int k = this.fontRendererObj.getStringWidth(toRender.getDisplayName());
                                int j2 = mousePosX - k / 2;
                                int k2 = mousePosY - 12;
                                int i1 = 8;
                                if (j2 + k > this.width) {
                                    j2 -= (j2 - this.width + k);
                                }
                                if (k2 + i1 + 6 > this.height) {
                                    k2 = this.height - i1 - 6;
                                }
                                int j1 = ColorUtil.to32BitColor(190, 0, 153, 255);
                                this.drawGradientRect(j2 - 3, k2 - 4, j2 + k + 3, k2 - 3, j1, j1);
                                this.drawGradientRect(j2 - 3, k2 + i1 + 3, j2 + k + 3, k2 + i1 + 4, j1, j1);
                                this.drawGradientRect(j2 - 3, k2 - 3, j2 + k + 3, k2 + i1 + 3, j1, j1);
                                this.drawGradientRect(j2 - 4, k2 - 3, j2 - 3, k2 + i1 + 3, j1, j1);
                                this.drawGradientRect(j2 + k + 3, k2 - 3, j2 + k + 4, k2 + i1 + 3, j1, j1);
                                int k1 = ColorUtil.to32BitColor(170, 0, 153, 255);
                                int l1 = (k1 & 16711422) >> 1 | k1 & -16777216;
                                this.drawGradientRect(j2 - 3, k2 - 3 + 1, j2 - 3 + 1, k2 + i1 + 3 - 1, k1, l1);
                                this.drawGradientRect(j2 + k + 2, k2 - 3 + 1, j2 + k + 3, k2 + i1 + 3 - 1, k1, l1);
                                this.drawGradientRect(j2 - 3, k2 - 3, j2 + k + 3, k2 - 3 + 1, k1, k1);
                                this.drawGradientRect(j2 - 3, k2 + i1 + 2, j2 + k + 3, k2 + i1 + 3, l1, l1);
                                this.fontRendererObj.drawString(toRender.getDisplayName(), j2, k2, WHITE);
                                GL11.glPopMatrix();
                            }
                            str = "" + e.getValue();
                            boolean valid = amount >= e.getValue();
                            if (!valid && validInputMaterials) {
                                validInputMaterials = false;
                            }
                            int color = valid | this.mc.thePlayer.capabilities.isCreativeMode ? GREEN : RED;
                            this.fontRendererObj.drawString(str, xPos + 8 - this.fontRendererObj.getStringWidth(str) / 2, TOP + 170 + canCreateOffset, color);
                        }
                        i++;
                    }
                    if (validInputMaterials || this.mc.thePlayer.capabilities.isCreativeMode) {
                        GL11.glColor4f(0.0F, 1.0F, 0.1F, 1);
                    } else {
                        GL11.glColor4f(1.0F, 0.0F, 0.0F, 1);
                    }
                    this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain1);
                    if (!this.mapMode) {
                        if (mousePosX >= RHS - 95 && mousePosX <= RHS && mousePosY >= TOP + 182 + canCreateOffset && mousePosY <= TOP + 182 + 12 + canCreateOffset) {
                            this.drawTexturedModalRect(RHS - 95, TOP + 182 + canCreateOffset, 93, 12, 0, 174, 93, 12, false, false);
                        }
                    }
                    this.drawTexturedModalRect(RHS - 95, TOP + 182 + canCreateOffset, 93, 12, 0, 174, 93, 12, false, false);
                    int color = (int) ((Math.sin(this.ticksSinceMenuOpen / 5.0) * 0.5 + 0.5) * 255);
                    this.drawSplitString(GCCoreUtil.translate("gui.message.can_create_space_station.name"), RHS - 48, TOP + 137, 91, ColorUtil.to32BitColor(255, color, 255, color), true, false);
                    if (!mapMode) {
                        this.drawSplitString(GCCoreUtil.translate("gui.message.create_ss.name").toUpperCase(), RHS - 48, TOP + 185 + canCreateOffset, 91, WHITE, false, false);
                    }
                } else {
                    this.drawSplitString(GCCoreUtil.translate("gui.message.cannot_create_space_station.name"), RHS - 48, TOP + 138, 91, WHITE, true, false);
                }
            }
            // Catalog overlay
            this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
            GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.3F - Math.min(0.3F, this.ticksSinceSelection / 50.0F));
            this.drawTexturedModalRect(LHS, TOP, 74, 11, 0, 392, 148, 22, false, false);
            str = GCCoreUtil.translate("gui.message.catalog.name").toUpperCase();
            this.fontRendererObj.drawString(str, LHS + 40 - fontRendererObj.getStringWidth(str) / 2, TOP + 1, WHITE);
            // Top bar title:
            this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
            GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
            if (this.selectedBody instanceof Satellite) {
                if (this.selectedStationOwner.length() == 0 || !this.selectedStationOwner.equalsIgnoreCase(PlayerUtil.getName(this.mc.thePlayer))) {
                    GL11.glColor4f(1.0F, 0.0F, 0.0F, 1);
                } else {
                    GL11.glColor4f(0.0F, 1.0F, 0.0F, 1);
                }
                this.drawTexturedModalRect(width / 2 - 47, TOP, 94, 11, 0, 414, 188, 22, false, false);
            } else {
                this.drawTexturedModalRect(width / 2 - 47, TOP, 94, 11, 0, 414, 188, 22, false, false);
            }
            if (this.selectedBody.getTierRequirement() >= 0 && (!(this.selectedBody instanceof Satellite))) {
                boolean canReach;
                if (!this.selectedBody.getReachable() || (this.possibleBodies != null && !this.possibleBodies.contains(this.selectedBody))) {
                    canReach = false;
                    GL11.glColor4f(1.0F, 0.0F, 0.0F, 1);
                } else {
                    canReach = true;
                    GL11.glColor4f(0.0F, 1.0F, 0.0F, 1);
                }
                this.drawTexturedModalRect(width / 2 - 30, TOP + 11, 30, 11, 0, 414, 60, 22, false, false);
                this.drawTexturedModalRect(width / 2, TOP + 11, 30, 11, 128, 414, 60, 22, false, false);
                str = GCCoreUtil.translateWithFormat("gui.message.tier.name", this.selectedBody.getTierRequirement() == 0 ? "?" : this.selectedBody.getTierRequirement());
                this.fontRendererObj.drawString(str, width / 2 - this.fontRendererObj.getStringWidth(str) / 2, TOP + 13, canReach ? GREY4 : RED3);
            }
            str = this.selectedBody.getLocalizedName();
            if (this.selectedBody instanceof Satellite) {
                str = GCCoreUtil.translate("gui.message.rename.name").toUpperCase();
            }
            this.fontRendererObj.drawString(str, width / 2 - this.fontRendererObj.getStringWidth(str) / 2, TOP + 2, WHITE);
            // Catalog wedge:
            this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
            GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
            this.drawTexturedModalRect(LHS + 4, TOP, 83, 12, 0, 477, 83, 12, false, false);
            if (!this.mapMode) {
                if (!this.selectedBody.getReachable() || (this.possibleBodies != null && !this.possibleBodies.contains(this.selectedBody)) || (this.selectedBody instanceof Satellite && this.selectedStationOwner.equals(""))) {
                    GL11.glColor4f(1.0F, 0.0F, 0.0F, 1);
                } else {
                    GL11.glColor4f(0.0F, 1.0F, 0.0F, 1);
                }
                this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
                this.drawTexturedModalRect(RHS - 74, TOP, 74, 11, 0, 392, 148, 22, true, false);
                str = GCCoreUtil.translate("gui.message.launch.name").toUpperCase();
                GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                this.fontRendererObj.drawString(str, RHS - 40 - fontRendererObj.getStringWidth(str) / 2, TOP + 2, WHITE);
            }
            if (this.selectionState == EnumSelection.SELECTED && !(this.selectedBody instanceof Satellite)) {
                handledSliderPos = true;
                int sliderPos = this.zoomTooltipPos;
                if (zoomTooltipPos != 38) {
                    sliderPos = Math.min(this.ticksSinceSelection * 2, 38);
                    this.zoomTooltipPos = sliderPos;
                }
                GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
                this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
                this.drawTexturedModalRect(RHS - 182, height - GuiCelestialSelection.BORDER_SIZE - GuiCelestialSelection.BORDER_EDGE_SIZE - sliderPos, 83, 38, 512 - 166, 512 - 76, 166, 76, true, false);
                boolean flag0 = GalaxyRegistry.getSatellitesForCelestialBody(this.selectedBody).size() > 0;
                boolean flag1 = this.selectedBody instanceof Planet && GalaxyRegistry.getMoonsForPlanet((Planet) this.selectedBody).size() > 0;
                if (flag0 && flag1) {
                    this.drawSplitString(GCCoreUtil.translate("gui.message.click_again.0.name"), RHS - 182 + 41, height - GuiCelestialSelection.BORDER_SIZE - GuiCelestialSelection.BORDER_EDGE_SIZE + 2 - sliderPos, 79, GREY5, false, false);
                } else if (!flag0 && flag1) {
                    this.drawSplitString(GCCoreUtil.translate("gui.message.click_again.1.name"), RHS - 182 + 41, height - GuiCelestialSelection.BORDER_SIZE - GuiCelestialSelection.BORDER_EDGE_SIZE + 6 - sliderPos, 79, GREY5, false, false);
                } else if (flag0) {
                    this.drawSplitString(GCCoreUtil.translate("gui.message.click_again.2.name"), RHS - 182 + 41, height - GuiCelestialSelection.BORDER_SIZE - GuiCelestialSelection.BORDER_EDGE_SIZE + 6 - sliderPos, 79, GREY5, false, false);
                } else {
                    this.drawSplitString(GCCoreUtil.translate("gui.message.click_again.3.name"), RHS - 182 + 41, height - GuiCelestialSelection.BORDER_SIZE - GuiCelestialSelection.BORDER_EDGE_SIZE + 11 - sliderPos, 79, GREY5, false, false);
                }
            }
            if (this.selectedBody instanceof Satellite && renamingSpaceStation) {
                this.drawDefaultBackground();
                GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
                this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain1);
                this.drawTexturedModalRect(width / 2 - 90, this.height / 2 - 38, 179, 67, 159, 0, 179, 67, false, false);
                this.drawTexturedModalRect(width / 2 - 90 + 4, this.height / 2 - 38 + 2, 171, 10, 159, 92, 171, 10, false, false);
                this.drawTexturedModalRect(width / 2 - 90 + 8, this.height / 2 - 38 + 18, 161, 13, 159, 67, 161, 13, false, false);
                this.drawTexturedModalRect(width / 2 - 90 + 17, this.height / 2 - 38 + 59, 72, 12, 159, 80, 72, 12, true, false);
                this.drawTexturedModalRect(width / 2, this.height / 2 - 38 + 59, 72, 12, 159, 80, 72, 12, false, false);
                str = GCCoreUtil.translate("gui.message.assign_name.name");
                this.fontRendererObj.drawString(str, width / 2 - this.fontRendererObj.getStringWidth(str) / 2, this.height / 2 - 35, WHITE);
                str = GCCoreUtil.translate("gui.message.apply.name");
                this.fontRendererObj.drawString(str, width / 2 - this.fontRendererObj.getStringWidth(str) / 2 - 36, this.height / 2 + 23, WHITE);
                str = GCCoreUtil.translate("gui.message.cancel.name");
                this.fontRendererObj.drawString(str, width / 2 + 36 - this.fontRendererObj.getStringWidth(str) / 2, this.height / 2 + 23, WHITE);
                if (this.renamingString == null) {
                    Satellite selectedSatellite = (Satellite) this.selectedBody;
                    String playerName = PlayerUtil.getName(this.mc.thePlayer);
                    this.renamingString = this.spaceStationMap.get(getSatelliteParentID(selectedSatellite)).get(playerName).getStationName();
                    if (this.renamingString == null) {
                        this.renamingString = this.spaceStationMap.get(getSatelliteParentID(selectedSatellite)).get(playerName.toLowerCase()).getStationName();
                    }
                    if (this.renamingString == null) {
                        this.renamingString = "";
                    }
                }
                str = this.renamingString;
                String str0 = this.renamingString;
                if ((this.ticksSinceMenuOpen / 10) % 2 == 0) {
                    str0 += "_";
                }
                this.fontRendererObj.drawString(str0, width / 2 - this.fontRendererObj.getStringWidth(str) / 2, this.height / 2 - 17, WHITE);
            }
        // this.mc.renderEngine.bindTexture(GuiCelestialSelection.guiMain0);
        // GL11.glColor4f(0.0F, 0.6F, 1.0F, 1);
        }
    }
    if (!handledSliderPos) {
        this.zoomTooltipPos = 0;
    }
}
Also used : SpaceStationRecipe(micdoodle8.mods.galacticraft.api.recipe.SpaceStationRecipe) ItemStack(net.minecraft.item.ItemStack)

Aggregations

SpaceStationRecipe (micdoodle8.mods.galacticraft.api.recipe.SpaceStationRecipe)3 ItemStack (net.minecraft.item.ItemStack)2 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 SpaceStationType (micdoodle8.mods.galacticraft.api.world.SpaceStationType)1 PacketSimple (micdoodle8.mods.galacticraft.core.network.PacketSimple)1 Vector3f (org.lwjgl.util.vector.Vector3f)1