Search in sources :

Example 1 with GuiStorageScanner

use of mcjty.rftools.blocks.storagemonitor.GuiStorageScanner in project RFTools by McJty.

the class StorageTerminalBlock method createClientGui.

@SideOnly(Side.CLIENT)
@Override
public GuiContainer createClientGui(EntityPlayer entityPlayer, TileEntity tileEntity) {
    if (!entityPlayer.isSneaking()) {
        ItemStack module = getModule(tileEntity);
        if (!module.isEmpty()) {
            int monitordim = RFToolsTools.getDimensionFromModule(module);
            BlockPos pos = RFToolsTools.getPositionFromModule(module);
            StorageScannerTileEntity te = new StorageScannerTileEntity(entityPlayer, monitordim) {

                @Override
                public BlockPos getCraftingGridContainerPos() {
                    // for this terminal itself.
                    return tileEntity.getPos();
                }

                @Override
                public CraftingGridProvider getCraftingGridProvider() {
                    return (CraftingGridProvider) tileEntity;
                }

                @Override
                public boolean isOpenWideView() {
                    TileEntity realTe = RFTools.proxy.getClientWorld().getTileEntity(pos);
                    if (realTe instanceof StorageScannerTileEntity) {
                        return ((StorageScannerTileEntity) realTe).isOpenWideView();
                    }
                    return true;
                }

                @Override
                public BlockPos getStorageScannerPos() {
                    return pos;
                }
            };
            // The position of the actual storage scanner is set on the dummy te
            te.setPos(pos);
            return new GuiStorageScanner(te, new StorageScannerContainer(entityPlayer, te, (CraftingGridProvider) tileEntity));
        }
    }
    return super.createClientGui(entityPlayer, tileEntity);
}
Also used : StorageScannerTileEntity(mcjty.rftools.blocks.storagemonitor.StorageScannerTileEntity) TileEntity(net.minecraft.tileentity.TileEntity) GuiStorageScanner(mcjty.rftools.blocks.storagemonitor.GuiStorageScanner) StorageScannerContainer(mcjty.rftools.blocks.storagemonitor.StorageScannerContainer) CraftingGridProvider(mcjty.rftools.craftinggrid.CraftingGridProvider) BlockPos(net.minecraft.util.math.BlockPos) ItemStack(net.minecraft.item.ItemStack) StorageScannerTileEntity(mcjty.rftools.blocks.storagemonitor.StorageScannerTileEntity) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 2 with GuiStorageScanner

use of mcjty.rftools.blocks.storagemonitor.GuiStorageScanner in project RFTools by McJty.

the class GuiProxy method getClientGuiElement.

@Override
public Object getClientGuiElement(int guiid, EntityPlayer entityPlayer, World world, int x, int y, int z) {
    if (guiid == RFTools.GUI_MANUAL_MAIN) {
        return new GuiRFToolsManual(GuiRFToolsManual.MANUAL_MAIN);
    } else if (guiid == RFTools.GUI_MANUAL_SHAPE) {
        return new GuiRFToolsManual(GuiRFToolsManual.MANUAL_SHAPE);
    } else if (guiid == RFTools.GUI_TELEPORTPROBE) {
        return new GuiTeleportProbe();
    } else if (guiid == RFTools.GUI_ADVANCEDPORTER) {
        return new GuiAdvancedPorter();
    } else if (guiid == RFTools.GUI_LIST_BLOCKS) {
        return new GuiNetworkMonitor();
    } else if (guiid == RFTools.GUI_DEVELOPERS_DELIGHT) {
        return new GuiDevelopersDelight();
    } else if (guiid == RFTools.GUI_REMOTE_STORAGE_ITEM) {
        return new GuiModularStorage(new RemoteStorageItemContainer(entityPlayer));
    } else if (guiid == RFTools.GUI_REMOTE_STORAGESCANNER_ITEM) {
        ItemStack tablet = entityPlayer.getHeldItemMainhand();
        int monitordim = RFToolsTools.getDimensionFromModule(tablet);
        BlockPos pos = RFToolsTools.getPositionFromModule(tablet);
        StorageScannerTileEntity te = new StorageScannerTileEntity(entityPlayer, monitordim) {

            @Override
            public BlockPos getCraftingGridContainerPos() {
                // We are a handheld so we return a null pos for the craftinggrid
                return null;
            }

            @Override
            public boolean isOpenWideView() {
                TileEntity realTe = RFTools.proxy.getClientWorld().getTileEntity(pos);
                if (realTe instanceof StorageScannerTileEntity) {
                    return ((StorageScannerTileEntity) realTe).isOpenWideView();
                }
                return true;
            }

            @Override
            public BlockPos getStorageScannerPos() {
                return pos;
            }
        };
        // The position of the actual storage scanner is set on the dummy te
        te.setPos(pos);
        return new GuiStorageScanner(te, new StorageScannerContainer(entityPlayer, te));
    } else if (guiid == RFTools.GUI_MODULAR_STORAGE_ITEM) {
        return new GuiModularStorage(new ModularStorageItemContainer(entityPlayer));
    } else if (guiid == RFTools.GUI_STORAGE_FILTER) {
        return new GuiStorageFilter(new StorageFilterContainer(entityPlayer));
    } else if (guiid == RFTools.GUI_MODIFIER_MODULE) {
        return new GuiModifier(new ModifierContainer(entityPlayer));
    } else if (guiid == RFTools.GUI_SHAPECARD) {
        return new GuiShapeCard(false);
    } else if (guiid == RFTools.GUI_SHAPECARD_COMPOSER) {
        return new GuiShapeCard(true);
    } else if (guiid == RFTools.GUI_CHAMBER_DETAILS) {
        return new GuiChamberDetails();
    }
    // if (guiid == RFTools.GUI_LIST_BLOCKS) {
    // return new GuiNetworkMonitor();
    // } else if (guiid == RFTools.GUI_DEVELOPERS_DELIGHT) {
    // return new GuiDevelopersDelight();
    // } else if (guiid == RFTools.GUI_MANUAL_DIMENSION) {
    // return new GuiRFToolsManual(GuiRFToolsManual.MANUAL_DIMENSION);
    // }
    BlockPos pos = new BlockPos(x, y, z);
    Block block = world.getBlockState(pos).getBlock();
    if (block instanceof GenericBlock) {
        GenericBlock<?, ?> genericBlock = (GenericBlock<?, ?>) block;
        TileEntity te = world.getTileEntity(pos);
        return genericBlock.createClientGui(entityPlayer, te);
    }
    return null;
}
Also used : GuiModularStorage(mcjty.rftools.blocks.storage.GuiModularStorage) GuiStorageScanner(mcjty.rftools.blocks.storagemonitor.GuiStorageScanner) GuiAdvancedPorter(mcjty.rftools.items.teleportprobe.GuiAdvancedPorter) GuiModifier(mcjty.rftools.items.modifier.GuiModifier) GuiShapeCard(mcjty.rftools.items.builder.GuiShapeCard) ModularStorageItemContainer(mcjty.rftools.blocks.storage.ModularStorageItemContainer) GuiStorageFilter(mcjty.rftools.items.storage.GuiStorageFilter) StorageFilterContainer(mcjty.rftools.items.storage.StorageFilterContainer) GuiTeleportProbe(mcjty.rftools.items.teleportprobe.GuiTeleportProbe) RemoteStorageItemContainer(mcjty.rftools.blocks.storage.RemoteStorageItemContainer) GuiChamberDetails(mcjty.rftools.items.builder.GuiChamberDetails) StorageScannerTileEntity(mcjty.rftools.blocks.storagemonitor.StorageScannerTileEntity) TileEntity(net.minecraft.tileentity.TileEntity) GenericBlock(mcjty.lib.container.GenericBlock) GuiDevelopersDelight(mcjty.rftools.items.creativeonly.GuiDevelopersDelight) GuiNetworkMonitor(mcjty.rftools.items.netmonitor.GuiNetworkMonitor) StorageScannerContainer(mcjty.rftools.blocks.storagemonitor.StorageScannerContainer) GenericBlock(mcjty.lib.container.GenericBlock) Block(net.minecraft.block.Block) BlockPos(net.minecraft.util.math.BlockPos) GuiRFToolsManual(mcjty.rftools.items.manual.GuiRFToolsManual) ItemStack(net.minecraft.item.ItemStack) StorageScannerTileEntity(mcjty.rftools.blocks.storagemonitor.StorageScannerTileEntity) ModifierContainer(mcjty.rftools.items.modifier.ModifierContainer)

Aggregations

GuiStorageScanner (mcjty.rftools.blocks.storagemonitor.GuiStorageScanner)2 StorageScannerContainer (mcjty.rftools.blocks.storagemonitor.StorageScannerContainer)2 StorageScannerTileEntity (mcjty.rftools.blocks.storagemonitor.StorageScannerTileEntity)2 ItemStack (net.minecraft.item.ItemStack)2 TileEntity (net.minecraft.tileentity.TileEntity)2 BlockPos (net.minecraft.util.math.BlockPos)2 GenericBlock (mcjty.lib.container.GenericBlock)1 GuiModularStorage (mcjty.rftools.blocks.storage.GuiModularStorage)1 ModularStorageItemContainer (mcjty.rftools.blocks.storage.ModularStorageItemContainer)1 RemoteStorageItemContainer (mcjty.rftools.blocks.storage.RemoteStorageItemContainer)1 CraftingGridProvider (mcjty.rftools.craftinggrid.CraftingGridProvider)1 GuiChamberDetails (mcjty.rftools.items.builder.GuiChamberDetails)1 GuiShapeCard (mcjty.rftools.items.builder.GuiShapeCard)1 GuiDevelopersDelight (mcjty.rftools.items.creativeonly.GuiDevelopersDelight)1 GuiRFToolsManual (mcjty.rftools.items.manual.GuiRFToolsManual)1 GuiModifier (mcjty.rftools.items.modifier.GuiModifier)1 ModifierContainer (mcjty.rftools.items.modifier.ModifierContainer)1 GuiNetworkMonitor (mcjty.rftools.items.netmonitor.GuiNetworkMonitor)1 GuiStorageFilter (mcjty.rftools.items.storage.GuiStorageFilter)1 StorageFilterContainer (mcjty.rftools.items.storage.StorageFilterContainer)1