Search in sources :

Example 1 with ContainerInscriptionTable

use of am2.containers.ContainerInscriptionTable in project ArsMagica2 by Mithion.

the class GuiInscriptionTable method initGui.

@Override
public void initGui() {
    super.initGui();
    searchFieldPosition = new AMVector2(39, 59);
    searchFieldDimensions = new AMVector2(141, 12);
    searchBar = new GuiTextField(Minecraft.getMinecraft().fontRenderer, searchFieldPosition.iX, searchFieldPosition.iY, searchFieldDimensions.iX, searchFieldDimensions.iY);
    nameFieldPosition = new AMVector2(39, 93);
    nameFieldDimensions = new AMVector2(141, 12);
    nameBar = new GuiTextField(Minecraft.getMinecraft().fontRenderer, nameFieldPosition.iX, nameFieldPosition.iY, nameFieldDimensions.iX, nameFieldDimensions.iY);
    int l = (width - xSize) / 2;
    int i1 = (height - ySize) / 2;
    createSpellButton = new GuiButtonVariableDims(0, l - 65, i1, StatCollector.translateToLocal("am2.gui.makeSpell"));
    createSpellButton.setDimensions(60, 20);
    resetSpellButton = new GuiButtonVariableDims(1, l + 120, i1 + 72, StatCollector.translateToLocal("am2.gui.resetSpell"));
    resetSpellButton.setDimensions(60, 20);
    resetSpellButton.visible = false;
    if (usingPlayer.capabilities.isCreativeMode) {
        this.buttonList.add(createSpellButton);
    }
    this.buttonList.add(resetSpellButton);
    nameBar.setText(((ContainerInscriptionTable) this.inventorySlots).getSpellName());
    if (nameBar.getText().equals("")) {
        nameBar.setText(defaultNameLabel);
    }
    searchBar.setText(defaultSearchLabel);
    result = ((ContainerInscriptionTable) this.inventorySlots).validateCurrentDefinition();
}
Also used : AMVector2(am2.api.math.AMVector2) GuiTextField(net.minecraft.client.gui.GuiTextField) GuiButtonVariableDims(am2.guis.controls.GuiButtonVariableDims)

Example 2 with ContainerInscriptionTable

use of am2.containers.ContainerInscriptionTable in project ArsMagica2 by Mithion.

the class TileEntityInscriptionTable method HandleUpdatePacket.

public void HandleUpdatePacket(byte[] data) {
    if (this.worldObj == null)
        return;
    AMDataReader rdr = new AMDataReader(data);
    switch(rdr.ID) {
        case FULL_UPDATE:
            if (!rdr.getBoolean()) {
                Entity e = this.worldObj.getEntityByID(rdr.getInt());
                if (e instanceof EntityPlayer) {
                    EntityPlayer player = (EntityPlayer) e;
                    this.setInUse(player);
                } else {
                    this.setInUse(null);
                }
            } else {
                this.setInUse(null);
            }
            currentRecipe.clear();
            int partLength = rdr.getInt();
            for (int i = 0; i < partLength; ++i) {
                ISkillTreeEntry part = SkillManager.instance.getSkill(rdr.getInt());
                if (part instanceof ISpellPart)
                    this.currentRecipe.add((ISpellPart) part);
            }
            this.shapeGroups.clear();
            int numGroups = rdr.getInt();
            for (int i = 0; i < numGroups; ++i) {
                ArrayList<ISpellPart> group = new ArrayList<ISpellPart>();
                int[] partData = rdr.getIntArray();
                for (int n : partData) {
                    ISkillTreeEntry part = SkillManager.instance.getSkill(n);
                    if (part instanceof ISpellPart)
                        group.add((ISpellPart) part);
                }
                this.shapeGroups.add(group);
            }
            countModifiers();
            this.currentSpellName = rdr.getString();
            this.currentSpellIsReadOnly = rdr.getBoolean();
            break;
        case MAKE_SPELL:
            int entityID = rdr.getInt();
            EntityPlayer player = (EntityPlayer) worldObj.getEntityByID(entityID);
            if (player != null) {
                createSpellForPlayer(player);
            }
            break;
        case RESET_NAME:
            entityID = rdr.getInt();
            player = (EntityPlayer) worldObj.getEntityByID(entityID);
            if (player != null) {
                ((ContainerInscriptionTable) player.openContainer).resetSpellNameAndIcon();
            }
            break;
    }
}
Also used : S35PacketUpdateTileEntity(net.minecraft.network.play.server.S35PacketUpdateTileEntity) Entity(net.minecraft.entity.Entity) TileEntity(net.minecraft.tileentity.TileEntity) ContainerInscriptionTable(am2.containers.ContainerInscriptionTable) EntityPlayer(net.minecraft.entity.player.EntityPlayer) AMDataReader(am2.network.AMDataReader)

Example 3 with ContainerInscriptionTable

use of am2.containers.ContainerInscriptionTable in project ArsMagica2 by Mithion.

the class ServerGuiManager method getServerGuiElement.

@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
    TileEntity te = world.getTileEntity(x, y, z);
    if (te == null && ID != ArsMagicaGuiIdList.GUI_SPELL_BOOK && ID != ArsMagicaGuiIdList.GUI_KEYSTONE && ID != ArsMagicaGuiIdList.GUI_ESSENCE_BAG && ID != ArsMagicaGuiIdList.GUI_RUNE_BAG && ID != ArsMagicaGuiIdList.GUI_RIFT && ID != ArsMagicaGuiIdList.GUI_SPELL_CUSTOMIZATION) {
        return null;
    }
    switch(ID) {
        case ArsMagicaGuiIdList.GUI_ESSENCE_REFINER:
            if (!(te instanceof TileEntityEssenceRefiner)) {
                return null;
            }
            return new ContainerEssenceRefiner(player.inventory, (TileEntityEssenceRefiner) te);
        case ArsMagicaGuiIdList.GUI_SPELL_BOOK:
            ItemStack bookStack = player.getCurrentEquippedItem();
            if (bookStack.getItem() == null || !(bookStack.getItem() instanceof ItemSpellBook)) {
                return null;
            }
            ItemSpellBook item = (ItemSpellBook) bookStack.getItem();
            return new ContainerSpellBook(player.inventory, player.getCurrentEquippedItem(), item.ConvertToInventory(bookStack));
        case ArsMagicaGuiIdList.GUI_CALEFACTOR:
            if (!(te instanceof TileEntityCalefactor)) {
                return null;
            }
            return new ContainerCalefactor(player, (TileEntityCalefactor) te);
        case ArsMagicaGuiIdList.GUI_KEYSTONE_LOCKABLE:
            if (!(te instanceof IKeystoneLockable)) {
                return null;
            }
            return new ContainerKeystoneLockable(player.inventory, (IKeystoneLockable) te);
        case ArsMagicaGuiIdList.GUI_ASTRAL_BARRIER:
            if (!(te instanceof TileEntityAstralBarrier)) {
                return null;
            }
            return new ContainerAstralBarrier(player.inventory, (TileEntityAstralBarrier) te);
        case ArsMagicaGuiIdList.GUI_SEER_STONE:
            if (!(te instanceof TileEntitySeerStone)) {
                return null;
            }
            return new ContainerSeerStone(player.inventory, (TileEntitySeerStone) te);
        case ArsMagicaGuiIdList.GUI_KEYSTONE_CHEST:
            if (!(te instanceof TileEntityKeystoneChest)) {
                return null;
            }
            return new ContainerKeystoneChest(player.inventory, (TileEntityKeystoneChest) te);
        case ArsMagicaGuiIdList.GUI_KEYSTONE:
            ItemStack keystoneStack = player.getCurrentEquippedItem();
            if (keystoneStack.getItem() == null || !(keystoneStack.getItem() instanceof ItemKeystone)) {
                return null;
            }
            ItemKeystone keystone = (ItemKeystone) keystoneStack.getItem();
            int runeBagSlot = InventoryUtilities.getInventorySlotIndexFor(player.inventory, ItemsCommonProxy.runeBag);
            ItemStack runeBag = null;
            if (runeBagSlot > -1)
                runeBag = player.inventory.getStackInSlot(runeBagSlot);
            return new ContainerKeystone(player.inventory, player.getCurrentEquippedItem(), runeBag, keystone.ConvertToInventory(keystoneStack), runeBag == null ? null : ItemsCommonProxy.runeBag.ConvertToInventory(runeBag), runeBagSlot);
        case ArsMagicaGuiIdList.GUI_ESSENCE_BAG:
            ItemStack bagStack = player.getCurrentEquippedItem();
            if (bagStack.getItem() == null || !(bagStack.getItem() instanceof ItemEssenceBag)) {
                return null;
            }
            ItemEssenceBag bag = (ItemEssenceBag) bagStack.getItem();
            return new ContainerEssenceBag(player.inventory, player.getCurrentEquippedItem(), bag.ConvertToInventory(bagStack));
        case ArsMagicaGuiIdList.GUI_RUNE_BAG:
            bagStack = player.getCurrentEquippedItem();
            if (bagStack.getItem() == null || !(bagStack.getItem() instanceof ItemRuneBag)) {
                return null;
            }
            ItemRuneBag runebag = (ItemRuneBag) bagStack.getItem();
            return new ContainerRuneBag(player.inventory, player.getCurrentEquippedItem(), runebag.ConvertToInventory(bagStack));
        case ArsMagicaGuiIdList.GUI_ARCANE_RECONSTRUCTOR:
            if (!(te instanceof TileEntityArcaneReconstructor)) {
                return null;
            }
            return new ContainerArcaneReconstructor(player.inventory, (TileEntityArcaneReconstructor) te);
        case ArsMagicaGuiIdList.GUI_INSCRIPTION_TABLE:
            if (!(te instanceof TileEntityInscriptionTable)) {
                return null;
            }
            return new ContainerInscriptionTable((TileEntityInscriptionTable) te, player.inventory);
        case ArsMagicaGuiIdList.GUI_SUMMONER:
            if (!(te instanceof TileEntitySummoner)) {
                return null;
            }
            return new ContainerSummoner(player.inventory, (TileEntitySummoner) te);
        case ArsMagicaGuiIdList.GUI_MAGICIANS_WORKBENCH:
            if (!(te instanceof TileEntityMagiciansWorkbench)) {
                return null;
            }
            return new ContainerMagiciansWorkbench(player.inventory, (TileEntityMagiciansWorkbench) te);
        case ArsMagicaGuiIdList.GUI_RIFT:
            return new ContainerRiftStorage(player.inventory, RiftStorage.For(player));
        case ArsMagicaGuiIdList.GUI_SPELL_CUSTOMIZATION:
            return new ContainerSpellCustomization(player);
        case ArsMagicaGuiIdList.GUI_CRYSTAL_MARKER:
            if (!(te instanceof TileEntityCrystalMarker)) {
                return null;
            }
            return new ContainerCrystalMarker(player, (TileEntityCrystalMarker) te);
        case ArsMagicaGuiIdList.GUI_OBELISK:
            if (!(te instanceof TileEntityObelisk)) {
                return null;
            }
            return new ContainerObelisk((TileEntityObelisk) te, player);
        case ArsMagicaGuiIdList.GUI_FLICKER_HABITAT:
            if (!(te instanceof TileEntityFlickerHabitat)) {
                return null;
            }
            return new ContainerFlickerHabitat(player, (TileEntityFlickerHabitat) te);
        case ArsMagicaGuiIdList.GUI_ARMOR_INFUSION:
            if (!(te instanceof TileEntityArmorImbuer)) {
                return null;
            }
            return new ContainerArmorInfuser(player, (TileEntityArmorImbuer) te);
        case ArsMagicaGuiIdList.GUI_ARCANE_DECONSTRUCTOR:
            if (!(te instanceof TileEntityArcaneDeconstructor)) {
                return null;
            }
            return new ContainerArcaneDeconstructor(player.inventory, (TileEntityArcaneDeconstructor) te);
        case ArsMagicaGuiIdList.GUI_INERT_SPAWNER:
            if (!(te instanceof TileEntityInertSpawner)) {
                return null;
            }
            return new ContainerInertSpawner(player, (TileEntityInertSpawner) te);
        case ArsMagicaGuiIdList.GUI_SPELL_SEALED_DOOR:
            if (!(te instanceof TileEntitySpellSealedDoor)) {
                return null;
            }
            return new ContainerSpellSealedDoor(player.inventory, (TileEntitySpellSealedDoor) te);
    }
    return null;
}
Also used : TileEntity(net.minecraft.tileentity.TileEntity) IKeystoneLockable(am2.api.blocks.IKeystoneLockable) ItemStack(net.minecraft.item.ItemStack)

Aggregations

TileEntity (net.minecraft.tileentity.TileEntity)2 IKeystoneLockable (am2.api.blocks.IKeystoneLockable)1 AMVector2 (am2.api.math.AMVector2)1 ContainerInscriptionTable (am2.containers.ContainerInscriptionTable)1 GuiButtonVariableDims (am2.guis.controls.GuiButtonVariableDims)1 AMDataReader (am2.network.AMDataReader)1 GuiTextField (net.minecraft.client.gui.GuiTextField)1 Entity (net.minecraft.entity.Entity)1 EntityPlayer (net.minecraft.entity.player.EntityPlayer)1 ItemStack (net.minecraft.item.ItemStack)1 S35PacketUpdateTileEntity (net.minecraft.network.play.server.S35PacketUpdateTileEntity)1