Search in sources :

Example 1 with ISkinType

use of riskyken.armourersWorkshop.api.common.skin.type.ISkinType in project Armourers-Workshop by RiskyKen.

the class GuiTabArmourerMain method initGui.

@Override
public void initGui(int xPos, int yPos, int width, int height) {
    super.initGui(xPos, yPos, width, height);
    String guiName = tileEntity.getInventoryName();
    buttonList.clear();
    SkinTypeRegistry str = SkinTypeRegistry.INSTANCE;
    GuiDropDownList dropDownList = new GuiDropDownList(0, 10, 20, 50, "", this);
    ArrayList<ISkinType> skinList = str.getRegisteredSkinTypes();
    int skinCount = 0;
    for (int i = 0; i < skinList.size(); i++) {
        ISkinType skinType = skinList.get(i);
        if (!skinType.isHidden()) {
            String skinLocalizedName = str.getLocalizedSkinTypeName(skinType);
            String skinRegistryName = skinType.getRegistryName();
            dropDownList.addListItem(skinLocalizedName, skinRegistryName, skinType.enabled());
            if (skinType == tileEntity.getSkinType()) {
                dropDownList.setListSelectedIndex(skinCount);
            }
            skinCount++;
        }
    }
    buttonList.add(dropDownList);
    buttonList.add(new GuiButtonExt(13, 86, 16, 50, 12, GuiHelper.getLocalizedControlName(guiName, "save")));
    buttonList.add(new GuiButtonExt(14, 86, 16 + 13, 50, 12, GuiHelper.getLocalizedControlName(guiName, "load")));
    textItemName = new GuiTextField(fontRenderer, x + 64, y + 58, 103, 16);
    textItemName.setMaxStringLength(40);
    textItemName.setText(tileEntity.getSkinProps().getPropertyString(Skin.KEY_CUSTOM_NAME, ""));
}
Also used : GuiDropDownList(riskyken.armourersWorkshop.client.gui.controls.GuiDropDownList) ISkinType(riskyken.armourersWorkshop.api.common.skin.type.ISkinType) GuiButtonExt(cpw.mods.fml.client.config.GuiButtonExt) SkinTypeRegistry(riskyken.armourersWorkshop.common.skin.type.SkinTypeRegistry) GuiTextField(net.minecraft.client.gui.GuiTextField)

Example 2 with ISkinType

use of riskyken.armourersWorkshop.api.common.skin.type.ISkinType in project Armourers-Workshop by RiskyKen.

the class GuiTabArmourerMain method onDropDownListChanged.

@Override
public void onDropDownListChanged(GuiDropDownList dropDownList) {
    DropDownListItem listItem = dropDownList.getListSelectedItem();
    ISkinType skinType = SkinTypeRegistry.INSTANCE.getSkinTypeFromRegistryName(listItem.tag);
    ((GuiArmourer) parent).skinTypeUpdate(skinType);
    PacketHandler.networkWrapper.sendToServer(new MessageClientGuiSetArmourerSkinType(skinType));
}
Also used : MessageClientGuiSetArmourerSkinType(riskyken.armourersWorkshop.common.network.messages.client.MessageClientGuiSetArmourerSkinType) DropDownListItem(riskyken.armourersWorkshop.client.gui.controls.GuiDropDownList.DropDownListItem) ISkinType(riskyken.armourersWorkshop.api.common.skin.type.ISkinType) GuiArmourer(riskyken.armourersWorkshop.client.gui.armourer.GuiArmourer)

Example 3 with ISkinType

use of riskyken.armourersWorkshop.api.common.skin.type.ISkinType in project Armourers-Workshop by RiskyKen.

the class GuiMiniArmourerBuilding method onDropDownListChanged.

@Override
public void onDropDownListChanged(GuiDropDownList dropDownList) {
    if (dropDownList == dropDownSkins) {
        DropDownListItem listItem = dropDownList.getListSelectedItem();
        ISkinType skinType = SkinTypeRegistry.INSTANCE.getSkinTypeFromRegistryName(listItem.tag);
        updatePartsDropDown(skinType);
        PacketHandler.networkWrapper.sendToServer(new MessageClientGuiSetArmourerSkinType(skinType));
    }
    if (dropDownList == dropDownParts) {
        String partName = dropDownParts.getListSelectedItem().tag;
        ISkinPartType skinPartType = SkinTypeRegistry.INSTANCE.getSkinPartFromRegistryName(partName);
        model.currentSkinPartType = skinPartType;
    }
}
Also used : MessageClientGuiSetArmourerSkinType(riskyken.armourersWorkshop.common.network.messages.client.MessageClientGuiSetArmourerSkinType) DropDownListItem(riskyken.armourersWorkshop.client.gui.controls.GuiDropDownList.DropDownListItem) ISkinType(riskyken.armourersWorkshop.api.common.skin.type.ISkinType) ISkinPartType(riskyken.armourersWorkshop.api.common.skin.type.ISkinPartType)

Example 4 with ISkinType

use of riskyken.armourersWorkshop.api.common.skin.type.ISkinType in project Armourers-Workshop by RiskyKen.

the class GuiMiniArmourerBuilding method initGui.

@Override
public void initGui() {
    super.initGui();
    buttonList.clear();
    buttonList.add(new GuiButtonExt(0, this.width - 60, this.height - 18, 60, 18, "Exit"));
    buttonList.add(new GuiButtonExt(1, 0, this.height - 18, 60, 18, "Cookies"));
    dropDownParts = new GuiDropDownList(3, 84, 2, 80, "", this);
    dropDownSkins = new GuiDropDownList(2, 2, 2, 80, "", this);
    ArrayList<ISkinType> skinTypes = SkinTypeRegistry.INSTANCE.getRegisteredSkinTypes();
    int skinCount = 0;
    for (int i = 0; i < skinTypes.size(); i++) {
        ISkinType skinType = skinTypes.get(i);
        if (skinType != SkinTypeRegistry.skinSkirt) {
            String skinLocalizedName = SkinTypeRegistry.INSTANCE.getLocalizedSkinTypeName(skinType);
            String skinRegistryName = skinType.getRegistryName();
            dropDownSkins.addListItem(skinLocalizedName, skinRegistryName, skinType.enabled());
            if (skinType == tileEntity.getSkinType()) {
                dropDownSkins.setListSelectedIndex(skinCount);
                updatePartsDropDown(skinType);
            }
            skinCount++;
        }
    }
    buttonList.add(dropDownSkins);
    buttonList.add(dropDownParts);
}
Also used : GuiDropDownList(riskyken.armourersWorkshop.client.gui.controls.GuiDropDownList) ISkinType(riskyken.armourersWorkshop.api.common.skin.type.ISkinType) GuiButtonExt(cpw.mods.fml.client.config.GuiButtonExt)

Example 5 with ISkinType

use of riskyken.armourersWorkshop.api.common.skin.type.ISkinType in project Armourers-Workshop by RiskyKen.

the class GuiSkinLibrary method initGui.

@Override
public void initGui() {
    ScaledResolution reso = new ScaledResolution(mc, mc.displayWidth, mc.displayHeight);
    this.xSize = reso.getScaledWidth();
    this.ySize = reso.getScaledHeight();
    super.initGui();
    String guiName = armourLibrary.getInventoryName();
    int slotSize = 18;
    if (ModAddonManager.addonNEI.isVisible()) {
        neiBump = 18;
    } else {
        neiBump = 0;
    }
    // Move player inventory slots.
    for (int x = 0; x < 9; x++) {
        Slot slot = (Slot) inventorySlots.inventorySlots.get(x);
        slot.yDisplayPosition = this.height + 1 - PADDING - slotSize - neiBump;
    }
    for (int y = 0; y < 3; y++) {
        for (int x = 0; x < 9; x++) {
            Slot slot = (Slot) inventorySlots.inventorySlots.get(x + y * 9 + 9);
            slot.yDisplayPosition = this.height + 1 - INVENTORY_HEIGHT - PADDING + y * slotSize - neiBump;
        }
    }
    // Move library inventory slots.
    Slot slot = (Slot) inventorySlots.inventorySlots.get(36);
    slot.yDisplayPosition = this.height + 2 - INVENTORY_HEIGHT - PADDING * 3 - slotSize - neiBump;
    slot.xDisplayPosition = PADDING + 1;
    slot = (Slot) inventorySlots.inventorySlots.get(37);
    slot.yDisplayPosition = this.height + 2 - INVENTORY_HEIGHT - PADDING * 3 - slotSize - neiBump;
    slot.xDisplayPosition = PADDING + INVENTORY_WIDTH - slotSize - 3;
    buttonList.clear();
    fileSwitchlocal = new GuiIconButton(this, -1, PADDING, TITLE_HEIGHT + PADDING, 50, 30, GuiHelper.getLocalizedControlName(guiName, "rollover.localFiles"), texture);
    fileSwitchRemotePublic = new GuiIconButton(this, -1, PADDING + 51 + PADDING, TITLE_HEIGHT + PADDING, 50, 30, GuiHelper.getLocalizedControlName(guiName, "rollover.remotePublicFiles"), texture);
    fileSwitchRemotePrivate = new GuiIconButton(this, -1, PADDING + 102 + PADDING * 2, TITLE_HEIGHT + PADDING, 50, 30, GuiHelper.getLocalizedControlName(guiName, "rollover.remotePrivateFiles"), texture);
    fileSwitchlocal.setIconLocation(0, 0, 50, 30);
    fileSwitchRemotePublic.setIconLocation(0, 31, 50, 30);
    fileSwitchRemotePrivate.setIconLocation(0, 62, 50, 30);
    openFolderButton = new GuiIconButton(this, 4, PADDING, guiTop + 80, 24, 24, GuiHelper.getLocalizedControlName(guiName, "rollover.openLibraryFolder"), texture);
    openFolderButton.setIconLocation(0, 93, 24, 24);
    buttonList.add(openFolderButton);
    reloadButton = new GuiIconButton(this, -1, PADDING * 2 + 20, guiTop + 80, 24, 24, GuiHelper.getLocalizedControlName(guiName, "rollover.refresh"), texture);
    reloadButton.setIconLocation(75, 93, 24, 24);
    buttonList.add(reloadButton);
    deleteButton = new GuiIconButton(this, -1, PADDING * 3 + 40, guiTop + 80, 24, 24, GuiHelper.getLocalizedControlName(guiName, "rollover.deleteSkin"), texture);
    deleteButton.setIconLocation(0, 118, 24, 24);
    buttonList.add(deleteButton);
    newFolderButton = new GuiIconButton(this, -1, PADDING * 4 + 60, guiTop + 80, 24, 24, GuiHelper.getLocalizedControlName(guiName, "rollover.newFolder"), texture);
    newFolderButton.setIconLocation(75, 118, 24, 24);
    buttonList.add(newFolderButton);
    int listWidth = this.width - INVENTORY_WIDTH - PADDING * 5;
    int listHeight = this.height - TITLE_HEIGHT - 14 - PADDING * 3;
    int typeSwitchWidth = 80;
    listWidth = MathHelper.clamp_int(listWidth, 0, 200);
    fileList = new GuiList(INVENTORY_WIDTH + PADDING * 2, TITLE_HEIGHT + 14 + PADDING * 2, listWidth, listHeight, 14);
    if (mc.isSingleplayer()) {
        fileSwitchRemotePublic.enabled = false;
        fileSwitchRemotePrivate.enabled = false;
        fileSwitchRemotePublic.setDisableText(GuiHelper.getLocalizedControlName(guiName, "rollover.notOnServer"));
        fileSwitchRemotePrivate.setDisableText(GuiHelper.getLocalizedControlName(guiName, "rollover.notOnServer"));
        setFileSwitchType(LibraryFileType.LOCAL);
    } else {
        setFileSwitchType(LibraryFileType.SERVER_PUBLIC);
    }
    buttonList.add(fileSwitchlocal);
    buttonList.add(fileSwitchRemotePublic);
    buttonList.add(fileSwitchRemotePrivate);
    loadSaveButton = new GuiButtonExt(BUTTON_ID_LOAD_SAVE, PADDING * 2 + 18, this.height - INVENTORY_HEIGHT - PADDING * 2 - 2 - 20 - neiBump, 108, 20, "----LS--->");
    buttonList.add(loadSaveButton);
    filenameTextbox = new GuiLabeledTextField(fontRendererObj, PADDING, TITLE_HEIGHT + 30 + PADDING * 2, INVENTORY_WIDTH, 12);
    filenameTextbox.setMaxStringLength(100);
    filenameTextbox.setEmptyLabel(GuiHelper.getLocalizedControlName(guiName, "label.enterFileName"));
    searchTextbox = new GuiLabeledTextField(fontRendererObj, INVENTORY_WIDTH + PADDING * 2, TITLE_HEIGHT + 1 + PADDING, listWidth - typeSwitchWidth - PADDING + 10, 12);
    searchTextbox.setMaxStringLength(100);
    searchTextbox.setEmptyLabel(GuiHelper.getLocalizedControlName(guiName, "label.typeToSearch"));
    searchTextbox.setText(lastSearchText);
    scrollbar = new GuiScrollbar(2, INVENTORY_WIDTH + 10 + listWidth, TITLE_HEIGHT + 14 + PADDING * 2, 10, listHeight, "", false);
    scrollbar.setValue(scrollAmount);
    buttonList.add(scrollbar);
    dropDownList = new GuiDropDownList(5, INVENTORY_WIDTH + PADDING * 5 + listWidth - typeSwitchWidth - PADDING, TITLE_HEIGHT + PADDING, typeSwitchWidth, "", null);
    ArrayList<ISkinType> skinTypes = SkinTypeRegistry.INSTANCE.getRegisteredSkinTypes();
    dropDownList.addListItem("*");
    dropDownList.setListSelectedIndex(0);
    int addCount = 0;
    for (int i = 0; i < skinTypes.size(); i++) {
        ISkinType skinType = skinTypes.get(i);
        if (!skinType.isHidden()) {
            dropDownList.addListItem(SkinTypeRegistry.INSTANCE.getLocalizedSkinTypeName(skinType), skinType.getRegistryName(), true);
            addCount++;
            if (skinType == lastSkinType) {
                dropDownList.setListSelectedIndex(addCount);
            }
        }
    }
    buttonList.add(dropDownList);
    checkBoxTrack = new GuiCheckBox(-1, PADDING, this.height - INVENTORY_HEIGHT - PADDING * 5 - 2 - 20 - neiBump, GuiHelper.getLocalizedControlName(guiName, "trackFile"), trackFile);
    checkBoxTrack.setTextColour(0xCCCCCC);
    buttonList.add(checkBoxTrack);
}
Also used : GuiLabeledTextField(riskyken.armourersWorkshop.client.gui.controls.GuiLabeledTextField) GuiDropDownList(riskyken.armourersWorkshop.client.gui.controls.GuiDropDownList) ISkinType(riskyken.armourersWorkshop.api.common.skin.type.ISkinType) GuiScrollbar(riskyken.armourersWorkshop.client.gui.controls.GuiScrollbar) ScaledResolution(net.minecraft.client.gui.ScaledResolution) GuiList(riskyken.armourersWorkshop.client.gui.controls.GuiList) GuiIconButton(riskyken.armourersWorkshop.client.gui.controls.GuiIconButton) GuiButtonExt(cpw.mods.fml.client.config.GuiButtonExt) Slot(net.minecraft.inventory.Slot) GuiCheckBox(riskyken.armourersWorkshop.client.gui.controls.GuiCheckBox)

Aggregations

ISkinType (riskyken.armourersWorkshop.api.common.skin.type.ISkinType)38 SkinPointer (riskyken.armourersWorkshop.common.skin.data.SkinPointer)6 ItemStack (net.minecraft.item.ItemStack)5 SkinIdentifier (riskyken.armourersWorkshop.common.skin.data.SkinIdentifier)5 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)4 GuiButtonExt (cpw.mods.fml.client.config.GuiButtonExt)3 IOException (java.io.IOException)3 ArrayList (java.util.ArrayList)3 Set (java.util.Set)3 Slot (net.minecraft.inventory.Slot)3 Item (net.minecraft.item.Item)3 ILibraryFile (riskyken.armourersWorkshop.api.common.library.ILibraryFile)3 GuiDropDownList (riskyken.armourersWorkshop.client.gui.controls.GuiDropDownList)3 NewerFileVersionException (riskyken.armourersWorkshop.common.exception.NewerFileVersionException)3 Point (java.awt.Point)2 Minecraft (net.minecraft.client.Minecraft)2 ScaledResolution (net.minecraft.client.gui.ScaledResolution)2 TileEntity (net.minecraft.tileentity.TileEntity)2 ForgeDirection (net.minecraftforge.common.util.ForgeDirection)2 ISkinIdentifier (riskyken.armourersWorkshop.api.common.skin.data.ISkinIdentifier)2