Search in sources :

Example 1 with Gui

use of network.rs485.logisticspipes.module.Gui in project LogisticsPipes by RS485.

the class ItemModule method openConfigGui.

private void openConfigGui(@Nonnull ItemStack stack, EntityPlayer player, World world) {
    LogisticsModule module = getModuleForItem(stack, null, new DummyWorldProvider(world), null);
    if (module instanceof Gui && !stack.isEmpty()) {
        module.registerPosition(ModulePositionType.IN_HAND, player.inventory.currentItem);
        ItemModuleInformationManager.readInformation(stack, module);
        Gui.getInHandGuiProvider((Gui) module).open(player);
    }
}
Also used : DummyWorldProvider(logisticspipes.utils.DummyWorldProvider) LogisticsModule(logisticspipes.modules.LogisticsModule) Gui(network.rs485.logisticspipes.module.Gui)

Example 2 with Gui

use of network.rs485.logisticspipes.module.Gui in project LogisticsPipes by RS485.

the class GuiChassisPipe method updateModuleConfigButtonVisibility.

private void updateModuleConfigButtonVisibility(int slot) {
    ItemStack module = _moduleInventory.getStackInSlot(slot);
    LogisticsModule subModule = _chassiPipe.getSubModule(slot);
    if (module.isEmpty() || subModule == null) {
        moduleConfigButtons.get(slot).visible = false;
    } else {
        moduleConfigButtons.get(slot).visible = subModule instanceof Gui;
    }
}
Also used : LogisticsModule(logisticspipes.modules.LogisticsModule) Gui(network.rs485.logisticspipes.module.Gui) ItemStack(net.minecraft.item.ItemStack)

Example 3 with Gui

use of network.rs485.logisticspipes.module.Gui in project LogisticsPipes by RS485.

the class SneakyModuleInSlotGuiProvider method getClientGui.

@Override
public Object getClientGui(EntityPlayer player) {
    LogisticsModule module = this.getLogisticsModule(player.getEntityWorld(), LogisticsModule.class);
    if (!(module instanceof SneakyDirection && module instanceof Gui)) {
        return null;
    }
    ((SneakyDirection) module).setSneakyDirection(sneakyOrientation);
    return new GuiSneakyConfigurator(player.inventory, module);
}
Also used : LogisticsModule(logisticspipes.modules.LogisticsModule) GuiSneakyConfigurator(logisticspipes.gui.modules.GuiSneakyConfigurator) SneakyDirection(network.rs485.logisticspipes.module.SneakyDirection) Gui(network.rs485.logisticspipes.module.Gui)

Example 4 with Gui

use of network.rs485.logisticspipes.module.Gui in project LogisticsPipes by RS485.

the class ProxyManager method load.

public static void load() {
    // @formatter:off
    // CHECKSTYLE:OFF
    SimpleServiceLocator.setBuildCraftProxy(ProxyManager.getWrappedProxy(LPConstants.bcTransportModID + "+" + LPConstants.bcSiliconModID, IBCProxy.class, BuildCraftProxy.class, new IBCProxy() {

        @Override
        public void registerPipeInformationProvider() {
        }

        @Override
        public void initProxy() {
        }

        @Override
        public boolean isActive() {
            return false;
        }

        @Override
        public boolean isInstalled() {
            return false;
        }

        @Override
        public CraftingParts getRecipeParts() {
            return null;
        }

        @Override
        public void addCraftingRecipes(CraftingParts parts) {
        }

        @Override
        public Class<? extends ICraftingRecipeProvider> getAssemblyTableProviderClass() {
            return null;
        }

        @Override
        public void registerInventoryHandler() {
        }

        @Override
        public IBCPipeCapabilityProvider getIBCPipeCapabilityProvider(LogisticsTileGenericPipe pipe) {
            return new IBCPipeCapabilityProvider() {

                @Override
                public boolean hasCapability(@Nonnull Capability<?> capability, @Nullable EnumFacing facing) {
                    return false;
                }

                @Nullable
                @Override
                public <T> T getCapability(@Nonnull Capability<T> capability, @Nullable EnumFacing facing) {
                    return null;
                }
            };
        }

        @Override
        public Object createMjReceiver(@Nonnull LogisticsPowerJunctionTileEntity te) {
            return null;
        }

        @Override
        public boolean isBuildCraftPipe(TileEntity tile) {
            return false;
        }
    }, IBCPipeCapabilityProvider.class));
    SimpleServiceLocator.setElectricItemProxy(ProxyManager.getWrappedProxy(LPConstants.ic2ModID, IIC2Proxy.class, IC2Proxy.class, new IIC2Proxy() {

        @Override
        public void addCraftingRecipes(CraftingParts parts) {
        }

        @Override
        public boolean hasIC2() {
            return false;
        }

        @Override
        public void registerToEneryNet(TileEntity tile) {
        }

        @Override
        public void unregisterToEneryNet(TileEntity tile) {
        }

        @Override
        public boolean acceptsEnergyFrom(TileEntity tile1, TileEntity tile2, EnumFacing opposite) {
            return false;
        }

        @Override
        public boolean isEnergySink(TileEntity tile) {
            return false;
        }

        @Override
        public double demandedEnergyUnits(TileEntity tile) {
            return 0;
        }

        @Override
        public double injectEnergyUnits(TileEntity tile, EnumFacing opposite, double d) {
            return d;
        }
    }));
    SimpleServiceLocator.setCCProxy(ProxyManager.getWrappedProxy(LPConstants.computerCraftModID, ICCProxy.class, CCProxy.class, new ICCProxy() {

        @Override
        public boolean isTurtle(TileEntity tile) {
            return false;
        }

        @Override
        public boolean isComputer(TileEntity tile) {
            return false;
        }

        @Override
        public boolean isCC() {
            return false;
        }

        @Override
        public boolean isLuaThread(Thread thread) {
            return false;
        }

        @Override
        public void queueEvent(String event, Object[] arguments, LogisticsTileGenericPipe logisticsTileGenericPipe) {
        }

        @Override
        public void setTurtleConnect(boolean flag, LogisticsTileGenericPipe logisticsTileGenericPipe) {
        }

        @Override
        public boolean getTurtleConnect(LogisticsTileGenericPipe logisticsTileGenericPipe) {
            return false;
        }

        @Override
        public int getLastCCID(LogisticsTileGenericPipe logisticsTileGenericPipe) {
            return 0;
        }

        @Override
        public void handleMesssage(int computerId, Object message, LogisticsTileGenericPipe tile, int sourceId) {
        }

        @Override
        public void addCraftingRecipes(CraftingParts parts) {
        }

        @Override
        public Object getAnswer(Object object) {
            return object;
        }
    }));
    SimpleServiceLocator.setThermalExpansionProxy(ProxyManager.getWrappedProxy(LPConstants.thermalExpansionModID, IThermalExpansionProxy.class, ThermalExpansionProxy.class, new IThermalExpansionProxy() {

        @Override
        public boolean isTE() {
            return false;
        }

        @Override
        public CraftingParts getRecipeParts() {
            return null;
        }

        @Override
        public boolean isToolHammer(Item stack) {
            return false;
        }

        @Override
        public boolean canHammer(@Nonnull ItemStack stack, EntityPlayer entityplayer, BlockPos pos) {
            return false;
        }

        @Override
        public void toolUsed(@Nonnull ItemStack stack, EntityPlayer entityplayer, BlockPos pos) {
        }
    }));
    SimpleServiceLocator.setBetterStorageProxy(ProxyManager.getWrappedProxy(LPConstants.betterStorageModID, IBetterStorageProxy.class, BetterStorageProxy.class, new IBetterStorageProxy() {

        @Override
        public boolean isBetterStorageCrate(TileEntity tile) {
            return false;
        }

        @Override
        public ICrateStorageProxy getCrateStorageProxy(TileEntity tile) {
            return new ICrateStorageProxy() {

                @Override
                public Iterable<ItemStack> getContents() {
                    return null;
                }

                @Override
                public int getUniqueItems() {
                    return 0;
                }

                @Override
                public int getItemCount(@Nonnull ItemStack stack) {
                    return 0;
                }

                @Override
                @Nonnull
                public ItemStack extractItems(@Nonnull ItemStack stack, int count) {
                    return null;
                }

                @Override
                public int getSpaceForItem(@Nonnull ItemStack stack) {
                    return 0;
                }

                @Override
                @Nonnull
                public ItemStack insertItems(@Nonnull ItemStack stack) {
                    return stack;
                }
            };
        }
    }, ICrateStorageProxy.class));
    SimpleServiceLocator.setNEIProxy(ProxyManager.getWrappedProxy(LPConstants.neiModID, INEIProxy.class, null, /*NEIProxy.class*/
    new INEIProxy() {

        @Override
        public List<String> getInfoForPosition(World world, EntityPlayer player, RayTraceResult objectMouseOver) {
            return new ArrayList<>(0);
        }

        @Override
        @SideOnly(Side.CLIENT)
        public boolean renderItemToolTip(int posX, int posY, List<String> msg, TextFormatting rarityColor, @Nonnull ItemStack stack) {
            return false;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public List<String> getItemToolTip(@Nonnull ItemStack stack, EntityPlayer thePlayer, ITooltipFlag advancedItemTooltips, GuiContainer screen) {
            return stack.getTooltip(thePlayer, advancedItemTooltips);
        }

        @Override
        @Nonnull
        public ItemStack getItemForPosition(World world, EntityPlayer player, RayTraceResult objectMouseOver) {
            return null;
        }
    }));
    SimpleServiceLocator.setFactorizationProxy(ProxyManager.getWrappedProxy(LPConstants.factorizationModID, IFactorizationProxy.class, FactorizationProxy.class, tile -> false));
    SimpleServiceLocator.setEnderIOProxy(ProxyManager.getWrappedProxy(LPConstants.enderioModID, IEnderIOProxy.class, null, /*EnderIOProxy.class*/
    new IEnderIOProxy() {

        @Override
        public boolean isSendAndReceive(TileEntity tile) {
            return false;
        }

        @Override
        public boolean isTransceiver(TileEntity tile) {
            return false;
        }

        @Override
        public List<TileEntity> getConnectedTransceivers(TileEntity tile) {
            return null;
        }

        @Override
        public boolean isEnderIO() {
            return false;
        }

        @Override
        public boolean isItemConduit(TileEntity tile, EnumFacing dir) {
            return false;
        }

        @Override
        public boolean isFluidConduit(TileEntity tile, EnumFacing dir) {
            return false;
        }

        @Override
        public boolean isBundledPipe(TileEntity tile) {
            return false;
        }
    }));
    SimpleServiceLocator.setIronChestProxy(ProxyManager.getWrappedProxy(LPConstants.ironChestModID, IIronChestProxy.class, IronChestProxy.class, new IIronChestProxy() {

        @Override
        public boolean isIronChest(TileEntity tile) {
            return false;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public boolean isChestGui(GuiScreen gui) {
            return false;
        }
    }));
    SimpleServiceLocator.setEnderStorageProxy(ProxyManager.getWrappedProxy("enderstorage", IEnderStorageProxy.class, EnderStorageProxy.class, new IEnderStorageProxy() {

        @Override
        public boolean isEnderChestBlock(Block block) {
            return false;
        }

        @Override
        public void openEnderChest(World world, int x, int y, int z, EntityPlayer player) {
        }
    }));
    SimpleServiceLocator.setOpenComputersProxy(ProxyManager.getWrappedProxy(LPConstants.openComputersModID, IOpenComputersProxy.class, OpenComputersProxy.class, new IOpenComputersProxy() {

        @Override
        public void initLogisticsTileGenericPipe(LogisticsTileGenericPipe tile) {
        }

        @Override
        public void initLogisticsSolidTileEntity(LogisticsSolidTileEntity tile) {
        }

        @Override
        public void handleWriteToNBT(IOCTile tile, NBTTagCompound nbt) {
        }

        @Override
        public void handleReadFromNBT(IOCTile tile, NBTTagCompound nbt) {
        }

        @Override
        public void handleInvalidate(IOCTile tile) {
        }

        @Override
        public void handleChunkUnload(IOCTile tile) {
        }

        @Override
        public void addToNetwork(TileEntity tile) {
        }
    }));
    /*		SimpleServiceLocator.setToolWrenchProxy(ProxyManager.getWrappedProxy("!IToolWrench", IToolWrenchProxy.class, ToolWrenchProxy.class, new IToolWrenchProxy() {
			@Override public void wrenchUsed(EntityPlayer entityplayer, int x, int y, int z) {}
			@Override public boolean isWrenchEquipped(EntityPlayer entityplayer) {return false;}
			@Override public boolean canWrench(EntityPlayer entityplayer, int x, int y, int z) {return false;}
			@Override public boolean isWrench(Item item) {return false;}
		}));*/
    SimpleServiceLocator.setThermalDynamicsProxy(ProxyManager.getWrappedProxy(LPConstants.thermalDynamicsModID, ITDProxy.class, ThermalDynamicsProxy.class, new ITDProxy() {

        @Override
        public ITDPart getTDPart(final LogisticsTileGenericPipe pipe) {
            return new ITDPart() {

                @Override
                public TileEntity getInternalDuct() {
                    return pipe;
                }

                @Override
                public void setWorld_LP(World world) {
                }

                @Override
                public void invalidate() {
                }

                @Override
                public void onChunkUnload() {
                }

                @Override
                public void scheduleNeighborChange() {
                }

                @Override
                public void connectionsChanged() {
                }

                @Override
                public boolean isLPSideBlocked(int i) {
                    return false;
                }

                @Override
                public void setPos(BlockPos pos) {
                }
            };
        }

        @Override
        public boolean isActive() {
            return false;
        }

        @Override
        public void registerPipeInformationProvider() {
        }

        @Override
        public boolean isItemDuct(TileEntity tile) {
            return false;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public void renderPipeConnections(LogisticsTileGenericPipe pipeTile, List<RenderEntry> list) {
        }

        @Override
        public void registerTextures(TextureMap iconRegister) {
        }

        @Override
        public boolean isBlockedSide(TileEntity with, EnumFacing opposite) {
            return false;
        }
    }, ITDPart.class));
    SimpleServiceLocator.setMCMPProxy(ProxyManager.getWrappedProxy(LPConstants.mcmpModID, IMCMPProxy.class, MCMPProxy.class, new IMCMPProxy() {

        @Override
        public IMCMPLTGPCompanion createMCMPCompanionFor(LogisticsTileGenericPipe pipe) {
            return new IMCMPLTGPCompanion() {

                @Override
                public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) {
                    return false;
                }

                @Nullable
                @Override
                public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) {
                    return null;
                }

                @Override
                public NBTTagCompound getUpdateTag() {
                    return new NBTTagCompound();
                }

                @Override
                public void handleUpdateTag(NBTTagCompound tag) {
                }

                @Override
                public TileEntity getMCMPTileEntity() {
                    return null;
                }

                @Override
                public void update() {
                }
            };
        }

        @Override
        public IMCMPBlockAccess createMCMPBlockAccess() {
            return new IMCMPBlockAccess() {

                @Override
                public void addBlockState(BlockStateContainer.Builder builder) {
                }

                @Override
                public IBlockState getExtendedState(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
                    return state;
                }

                @Override
                public void addCollisionBoxToList(IBlockState state, World world, BlockPos pos, AxisAlignedBB entityBox, List<AxisAlignedBB> collidingBoxes, Entity entity, boolean isActualState) {
                }

                @Override
                public RayTraceResult collisionRayTrace(IBlockState state, World world, BlockPos pos, Vec3d start, Vec3d end) {
                    return null;
                }

                @Override
                public Block getBlock() {
                    return null;
                }

                @Override
                public void addDrops(NonNullList<ItemStack> list, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
                }
            };
        }

        @Override
        public void addQuads(@Nonnull List<BakedQuad> list, IBlockState state, EnumFacing side, long rand) {
        }

        @Override
        public void registerTileEntities() {
        }

        @Override
        public boolean checkIntersectionWith(LogisticsTileGenericPipe logisticsTileGenericPipe, AxisAlignedBB aabb) {
            return false;
        }

        @Override
        public boolean hasParts(LogisticsTileGenericPipe pipeTile) {
            return false;
        }

        @Override
        @SideOnly(Side.CLIENT)
        public void renderTileEntitySpecialRenderer(LogisticsTileGenericPipe tileentity, double x, double y, double z, float partialTicks, int destroyStage, float alpha) {
        }
    }, IMCMPLTGPCompanion.class));
    final IBounds dummyBounds = new IBounds() {

        @Override
        public IVec3 min() {
            return new IVec3() {

                @Override
                public double x() {
                    return 0;
                }

                @Override
                public double y() {
                    return 0;
                }

                @Override
                public double z() {
                    return 0;
                }

                @Override
                public Object getOriginal() {
                    return null;
                }
            };
        }

        @Override
        public IVec3 max() {
            return new IVec3() {

                @Override
                public double x() {
                    return 0;
                }

                @Override
                public double y() {
                    return 0;
                }

                @Override
                public double z() {
                    return 0;
                }

                @Override
                public Object getOriginal() {
                    return null;
                }
            };
        }

        @Override
        public AxisAlignedBB toAABB() {
            return null;
        }
    };
    final IModel3D dummy3DModel = new IModel3D() {

        @Override
        public IModel3D backfacedCopy() {
            return this;
        }

        @Override
        public void render(I3DOperation... i3dOperations) {
        }

        @Override
        public List<BakedQuad> renderToQuads(VertexFormat format, I3DOperation... i3dOperations) {
            return Lists.newArrayList();
        }

        @Override
        public void computeNormals() {
        }

        @Override
        public void computeStandardLighting() {
        }

        @Override
        public IBounds bounds() {
            return dummyBounds;
        }

        @Override
        public IModel3D apply(I3DOperation translation) {
            return this;
        }

        @Override
        public IModel3D copy() {
            return this;
        }

        @Override
        public IModel3D twoFacedCopy() {
            return this;
        }

        @Override
        public Object getOriginal() {
            return this;
        }

        @Override
        public IBounds getBoundsInside(AxisAlignedBB boundingBox) {
            return dummyBounds;
        }
    };
    ICCLProxy dummyCCLProxy = new ICCLProxy() {

        @SideOnly(Side.CLIENT)
        @Override
        public TextureTransformation createIconTransformer(TextureAtlasSprite registerIcon) {
            return new TextureTransformation() {

                @Override
                public Object getOriginal() {
                    return null;
                }

                @Override
                public void update(TextureAtlasSprite registerIcon) {
                }

                @Override
                public TextureAtlasSprite getTexture() {
                    return null;
                }
            };
        }

        @Override
        public IRenderState getRenderState() {
            return new IRenderState() {

                @Override
                public void reset() {
                }

                @Override
                public void setAlphaOverride(int i) {
                }

                @Override
                public void draw() {
                }

                @Override
                public void setBrightness(IBlockAccess world, BlockPos pos) {
                }

                @Override
                public void startDrawing(int mode, VertexFormat format) {
                }
            };
        }

        @Override
        public Map<String, IModel3D> parseObjModels(InputStream resourceAsStream, int i, LPScale scale) {
            return new HashMap<>();
        }

        @Override
        public Object getRotation(int i, int j) {
            return null;
        }

        @Override
        public Object getScale(double d, double e, double f) {
            return null;
        }

        @Override
        public Object getScale(double d) {
            return null;
        }

        @Override
        public ITranslation getTranslation(double d, double e, double f) {
            return new ITranslation() {

                @Override
                public ITranslation inverse() {
                    return this;
                }

                @Override
                public Object getOriginal() {
                    return null;
                }
            };
        }

        @Override
        public ITranslation getTranslation(IVec3 min) {
            return new ITranslation() {

                @Override
                public ITranslation inverse() {
                    return this;
                }

                @Override
                public Object getOriginal() {
                    return null;
                }
            };
        }

        @Override
        public Object getUVScale(double i, double d) {
            return null;
        }

        @Override
        public Object getUVTranslation(float i, float f) {
            return null;
        }

        @Override
        public Object getUVTransformationList(I3DOperation[] uvTranslation) {
            return null;
        }

        @Override
        public IModel3D wrapModel(Object model) {
            return dummy3DModel;
        }

        @Override
        public boolean isActivated() {
            return false;
        }

        @Override
        public Object getRotation(double d, int i, int j, int k) {
            return null;
        }

        @Override
        public IModel3D combine(Collection<IModel3D> list) {
            return dummy3DModel;
        }

        @Override
        public Object getColourMultiplier(int i) {
            return null;
        }

        @Override
        public IModelState getDefaultBlockState() {
            return null;
        }
    };
    // @formatter:on
    // CHECKSTYLE:ON
    Class<?>[] cclSubWrapper = new Class<?>[] { TextureTransformation.class, IRenderState.class, IModel3D.class, ITranslation.class, IVec3.class, IBounds.class };
    SimpleServiceLocator.setCCLProxy(ProxyManager.getWrappedProxy("!" + LPConstants.cclrenderModID, ICCLProxy.class, CCLProxy.class, dummyCCLProxy, cclSubWrapper));
    SimpleServiceLocator.setConfigToolHandler(new ConfigToolHandler());
    SimpleServiceLocator.configToolHandler.registerWrapper();
    SimpleServiceLocator.setPowerProxy(new PowerProxy());
}
Also used : IVec3(logisticspipes.proxy.object3d.interfaces.IVec3) ICrateStorageProxy(logisticspipes.proxy.bs.ICrateStorageProxy) IRenderState(logisticspipes.proxy.object3d.interfaces.IRenderState) Item(net.minecraft.item.Item) LogisticsSolidTileEntity(logisticspipes.blocks.LogisticsSolidTileEntity) BlockStateContainer(net.minecraft.block.state.BlockStateContainer) IronChestProxy(logisticspipes.proxy.ic.IronChestProxy) IOpenComputersProxy(logisticspipes.proxy.interfaces.IOpenComputersProxy) Block(net.minecraft.block.Block) Vec3d(net.minecraft.util.math.Vec3d) Side(net.minecraftforge.fml.relauncher.Side) BetterStorageProxy(logisticspipes.proxy.bs.BetterStorageProxy) IC2Proxy(logisticspipes.proxy.ic2.IC2Proxy) ITDPart(logisticspipes.proxy.td.subproxies.ITDPart) Map(java.util.Map) LogisticsPowerJunctionTileEntity(logisticspipes.blocks.powertile.LogisticsPowerJunctionTileEntity) INEIProxy(logisticspipes.proxy.interfaces.INEIProxy) IMCMPBlockAccess(network.rs485.logisticspipes.proxy.mcmp.subproxy.IMCMPBlockAccess) GuiContainer(net.minecraft.client.gui.inventory.GuiContainer) NonNullList(net.minecraft.util.NonNullList) I3DOperation(logisticspipes.proxy.object3d.interfaces.I3DOperation) IMCMPLTGPCompanion(network.rs485.logisticspipes.proxy.mcmp.subproxy.IMCMPLTGPCompanion) VertexFormat(net.minecraft.client.renderer.vertex.VertexFormat) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) FactorizationProxy(logisticspipes.proxy.factorization.FactorizationProxy) Collection(java.util.Collection) IModelState(net.minecraftforge.common.model.IModelState) ICCLProxy(logisticspipes.proxy.interfaces.ICCLProxy) IEnderStorageProxy(logisticspipes.proxy.interfaces.IEnderStorageProxy) BakedQuad(net.minecraft.client.renderer.block.model.BakedQuad) IThermalExpansionProxy(logisticspipes.proxy.interfaces.IThermalExpansionProxy) CCLProxy(logisticspipes.proxy.ccl.CCLProxy) ITranslation(logisticspipes.proxy.object3d.interfaces.ITranslation) Capability(net.minecraftforge.common.capabilities.Capability) List(java.util.List) IOCTile(logisticspipes.proxy.opencomputers.IOCTile) MCMPProxy(network.rs485.logisticspipes.proxy.mcmp.MCMPProxy) RenderEntry(logisticspipes.renderer.newpipe.RenderEntry) EntityPlayer(net.minecraft.entity.player.EntityPlayer) BuildCraftProxy(logisticspipes.proxy.buildcraft.BuildCraftProxy) ICCProxy(logisticspipes.proxy.interfaces.ICCProxy) CraftingParts(logisticspipes.recipes.CraftingParts) ICraftingRecipeProvider(logisticspipes.proxy.interfaces.ICraftingRecipeProvider) ThermalExpansionProxy(logisticspipes.proxy.te.ThermalExpansionProxy) IModel3D(logisticspipes.proxy.object3d.interfaces.IModel3D) IBetterStorageProxy(logisticspipes.proxy.interfaces.IBetterStorageProxy) IIC2Proxy(logisticspipes.proxy.interfaces.IIC2Proxy) LogisticsTileGenericPipe(logisticspipes.pipes.basic.LogisticsTileGenericPipe) AxisAlignedBB(net.minecraft.util.math.AxisAlignedBB) HashMap(java.util.HashMap) ITooltipFlag(net.minecraft.client.util.ITooltipFlag) OpenComputersProxy(logisticspipes.proxy.opencomputers.OpenComputersProxy) ThermalDynamicsProxy(logisticspipes.proxy.td.ThermalDynamicsProxy) LogisticsWrapperHandler(logisticspipes.asm.wrapper.LogisticsWrapperHandler) EnderStorageProxy(logisticspipes.proxy.enderchest.EnderStorageProxy) ArrayList(java.util.ArrayList) ItemStack(net.minecraft.item.ItemStack) RayTraceResult(net.minecraft.util.math.RayTraceResult) ITDProxy(logisticspipes.proxy.interfaces.ITDProxy) Lists(com.google.common.collect.Lists) IBCPipeCapabilityProvider(logisticspipes.proxy.buildcraft.subproxies.IBCPipeCapabilityProvider) IBounds(logisticspipes.proxy.object3d.interfaces.IBounds) SideOnly(net.minecraftforge.fml.relauncher.SideOnly) LPConstants(logisticspipes.LPConstants) Nonnull(javax.annotation.Nonnull) IIronChestProxy(logisticspipes.proxy.interfaces.IIronChestProxy) Nullable(javax.annotation.Nullable) IBlockAccess(net.minecraft.world.IBlockAccess) TextureAtlasSprite(net.minecraft.client.renderer.texture.TextureAtlasSprite) Entity(net.minecraft.entity.Entity) World(net.minecraft.world.World) IBCProxy(logisticspipes.proxy.interfaces.IBCProxy) TextFormatting(net.minecraft.util.text.TextFormatting) TextureMap(net.minecraft.client.renderer.texture.TextureMap) EnumFacing(net.minecraft.util.EnumFacing) IEnderIOProxy(logisticspipes.proxy.interfaces.IEnderIOProxy) BlockPos(net.minecraft.util.math.BlockPos) IFactorizationProxy(logisticspipes.proxy.interfaces.IFactorizationProxy) IMCMPProxy(network.rs485.logisticspipes.proxy.mcmp.IMCMPProxy) IBlockState(net.minecraft.block.state.IBlockState) GuiScreen(net.minecraft.client.gui.GuiScreen) CCProxy(logisticspipes.proxy.cc.CCProxy) TextureTransformation(logisticspipes.proxy.object3d.interfaces.TextureTransformation) TileEntity(net.minecraft.tileentity.TileEntity) LPScale(logisticspipes.proxy.object3d.operation.LPScale) InputStream(java.io.InputStream) ICrateStorageProxy(logisticspipes.proxy.bs.ICrateStorageProxy) IEnderStorageProxy(logisticspipes.proxy.interfaces.IEnderStorageProxy) EnderStorageProxy(logisticspipes.proxy.enderchest.EnderStorageProxy) LogisticsSolidTileEntity(logisticspipes.blocks.LogisticsSolidTileEntity) LogisticsPowerJunctionTileEntity(logisticspipes.blocks.powertile.LogisticsPowerJunctionTileEntity) Entity(net.minecraft.entity.Entity) TileEntity(net.minecraft.tileentity.TileEntity) IFactorizationProxy(logisticspipes.proxy.interfaces.IFactorizationProxy) IEnderIOProxy(logisticspipes.proxy.interfaces.IEnderIOProxy) HashMap(java.util.HashMap) ITooltipFlag(net.minecraft.client.util.ITooltipFlag) ArrayList(java.util.ArrayList) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) LogisticsSolidTileEntity(logisticspipes.blocks.LogisticsSolidTileEntity) World(net.minecraft.world.World) IC2Proxy(logisticspipes.proxy.ic2.IC2Proxy) IIC2Proxy(logisticspipes.proxy.interfaces.IIC2Proxy) Item(net.minecraft.item.Item) ITDProxy(logisticspipes.proxy.interfaces.ITDProxy) FactorizationProxy(logisticspipes.proxy.factorization.FactorizationProxy) IFactorizationProxy(logisticspipes.proxy.interfaces.IFactorizationProxy) BetterStorageProxy(logisticspipes.proxy.bs.BetterStorageProxy) IBetterStorageProxy(logisticspipes.proxy.interfaces.IBetterStorageProxy) ThermalDynamicsProxy(logisticspipes.proxy.td.ThermalDynamicsProxy) LogisticsTileGenericPipe(logisticspipes.pipes.basic.LogisticsTileGenericPipe) TextFormatting(net.minecraft.util.text.TextFormatting) BlockPos(net.minecraft.util.math.BlockPos) NonNullList(net.minecraft.util.NonNullList) List(java.util.List) ArrayList(java.util.ArrayList) ICCLProxy(logisticspipes.proxy.interfaces.ICCLProxy) CCLProxy(logisticspipes.proxy.ccl.CCLProxy) IMCMPLTGPCompanion(network.rs485.logisticspipes.proxy.mcmp.subproxy.IMCMPLTGPCompanion) IOpenComputersProxy(logisticspipes.proxy.interfaces.IOpenComputersProxy) OpenComputersProxy(logisticspipes.proxy.opencomputers.OpenComputersProxy) IBlockState(net.minecraft.block.state.IBlockState) Capability(net.minecraftforge.common.capabilities.Capability) IVec3(logisticspipes.proxy.object3d.interfaces.IVec3) RayTraceResult(net.minecraft.util.math.RayTraceResult) ICCLProxy(logisticspipes.proxy.interfaces.ICCLProxy) IIronChestProxy(logisticspipes.proxy.interfaces.IIronChestProxy) TextureTransformation(logisticspipes.proxy.object3d.interfaces.TextureTransformation) NonNullList(net.minecraft.util.NonNullList) EntityPlayer(net.minecraft.entity.player.EntityPlayer) Block(net.minecraft.block.Block) Collection(java.util.Collection) LPScale(logisticspipes.proxy.object3d.operation.LPScale) ItemStack(net.minecraft.item.ItemStack) Nullable(javax.annotation.Nullable) INEIProxy(logisticspipes.proxy.interfaces.INEIProxy) IOpenComputersProxy(logisticspipes.proxy.interfaces.IOpenComputersProxy) AxisAlignedBB(net.minecraft.util.math.AxisAlignedBB) BakedQuad(net.minecraft.client.renderer.block.model.BakedQuad) IEnderStorageProxy(logisticspipes.proxy.interfaces.IEnderStorageProxy) IModel3D(logisticspipes.proxy.object3d.interfaces.IModel3D) LogisticsPowerJunctionTileEntity(logisticspipes.blocks.powertile.LogisticsPowerJunctionTileEntity) IBCProxy(logisticspipes.proxy.interfaces.IBCProxy) TextureAtlasSprite(net.minecraft.client.renderer.texture.TextureAtlasSprite) EnumFacing(net.minecraft.util.EnumFacing) IBounds(logisticspipes.proxy.object3d.interfaces.IBounds) I3DOperation(logisticspipes.proxy.object3d.interfaces.I3DOperation) IronChestProxy(logisticspipes.proxy.ic.IronChestProxy) IIronChestProxy(logisticspipes.proxy.interfaces.IIronChestProxy) LogisticsSolidTileEntity(logisticspipes.blocks.LogisticsSolidTileEntity) LogisticsPowerJunctionTileEntity(logisticspipes.blocks.powertile.LogisticsPowerJunctionTileEntity) TileEntity(net.minecraft.tileentity.TileEntity) MCMPProxy(network.rs485.logisticspipes.proxy.mcmp.MCMPProxy) IMCMPProxy(network.rs485.logisticspipes.proxy.mcmp.IMCMPProxy) IIC2Proxy(logisticspipes.proxy.interfaces.IIC2Proxy) IBCPipeCapabilityProvider(logisticspipes.proxy.buildcraft.subproxies.IBCPipeCapabilityProvider) IThermalExpansionProxy(logisticspipes.proxy.interfaces.IThermalExpansionProxy) IMCMPProxy(network.rs485.logisticspipes.proxy.mcmp.IMCMPProxy) ICCProxy(logisticspipes.proxy.interfaces.ICCProxy) CCProxy(logisticspipes.proxy.cc.CCProxy) BuildCraftProxy(logisticspipes.proxy.buildcraft.BuildCraftProxy) Nonnull(javax.annotation.Nonnull) IBetterStorageProxy(logisticspipes.proxy.interfaces.IBetterStorageProxy) IOCTile(logisticspipes.proxy.opencomputers.IOCTile) IMCMPBlockAccess(network.rs485.logisticspipes.proxy.mcmp.subproxy.IMCMPBlockAccess) InputStream(java.io.InputStream) IBlockAccess(net.minecraft.world.IBlockAccess) CraftingParts(logisticspipes.recipes.CraftingParts) ICCProxy(logisticspipes.proxy.interfaces.ICCProxy) IThermalExpansionProxy(logisticspipes.proxy.interfaces.IThermalExpansionProxy) ThermalExpansionProxy(logisticspipes.proxy.te.ThermalExpansionProxy) ITDPart(logisticspipes.proxy.td.subproxies.ITDPart) Vec3d(net.minecraft.util.math.Vec3d) ITranslation(logisticspipes.proxy.object3d.interfaces.ITranslation) TextureMap(net.minecraft.client.renderer.texture.TextureMap) IRenderState(logisticspipes.proxy.object3d.interfaces.IRenderState) GuiScreen(net.minecraft.client.gui.GuiScreen) GuiContainer(net.minecraft.client.gui.inventory.GuiContainer) VertexFormat(net.minecraft.client.renderer.vertex.VertexFormat)

Example 5 with Gui

use of network.rs485.logisticspipes.module.Gui in project LogisticsPipes by RS485.

the class ModuleCrafter method openAttachedGui.

/**
 * Triggers opening the first possible crafting provider or inventory GUI by using onBlockActivated.
 *
 * @return true, if a GUI was opened (server-side only)
 */
public boolean openAttachedGui(EntityPlayer player) {
    if (MainProxy.isClient(player.world)) {
        if (player instanceof EntityPlayerMP) {
            player.closeScreen();
        } else if (player instanceof EntityPlayerSP) {
            player.closeScreen();
        }
        MainProxy.sendPacketToServer(PacketHandler.getPacket(CraftingPipeOpenConnectedGuiPacket.class).setModulePos(this));
        return false;
    }
    final IPipeServiceProvider service = _service;
    if (service == null)
        return false;
    final IWorldProvider worldProvider = _world;
    if (worldProvider == null)
        return false;
    // hack to avoid wrenching blocks
    int savedEquipped = player.inventory.currentItem;
    boolean foundSlot = false;
    // try to find a empty slot
    for (int i = 0; i < 9; i++) {
        if (player.inventory.getStackInSlot(i).isEmpty()) {
            foundSlot = true;
            player.inventory.currentItem = i;
            break;
        }
    }
    // okay, anything that's a block?
    if (!foundSlot) {
        for (int i = 0; i < 9; i++) {
            ItemStack is = player.inventory.getStackInSlot(i);
            if (is.getItem() instanceof ItemBlock) {
                foundSlot = true;
                player.inventory.currentItem = i;
                break;
            }
        }
    }
    // give up and select whatever is right of the current slot
    if (!foundSlot) {
        player.inventory.currentItem = (player.inventory.currentItem + 1) % 9;
    }
    final boolean guiOpened = service.getAvailableAdjacent().neighbors().keySet().stream().anyMatch(neighbor -> {
        if (neighbor.canHandleItems() || SimpleServiceLocator.craftingRecipeProviders.stream().anyMatch(provider -> provider.canOpenGui(neighbor.getTileEntity()))) {
            final BlockPos pos = neighbor.getTileEntity().getPos();
            IBlockState blockState = worldProvider.getWorld().getBlockState(pos);
            return !blockState.getBlock().isAir(blockState, worldProvider.getWorld(), pos) && blockState.getBlock().onBlockActivated(worldProvider.getWorld(), pos, neighbor.getTileEntity().getWorld().getBlockState(pos), player, EnumHand.MAIN_HAND, EnumFacing.UP, 0, 0, 0);
        } else {
            return false;
        }
    });
    if (!guiOpened) {
        LogisticsPipes.log.warn("Ignored open attached GUI request at " + player.world + " @ " + getBlockPos());
    }
    player.inventory.currentItem = savedEquipped;
    return guiOpened;
}
Also used : CPipeSatelliteImportBack(logisticspipes.network.packets.cpipe.CPipeSatelliteImportBack) ChassiTargetInformation(logisticspipes.pipes.PipeLogisticsChassis.ChassiTargetInformation) NeighborTileEntity(network.rs485.logisticspipes.connection.NeighborTileEntity) BitSetProperty(network.rs485.logisticspipes.property.BitSetProperty) Constants(net.minecraftforge.common.util.Constants) EnumHand(net.minecraft.util.EnumHand) MainProxy(logisticspipes.proxy.MainProxy) FluidCraftingAmount(logisticspipes.network.packets.pipe.FluidCraftingAmount) SinkReply(logisticspipes.utils.SinkReply) HUDStopModuleWatchingPacket(logisticspipes.network.packets.hud.HUDStopModuleWatchingPacket) ItemCraftingTemplate(logisticspipes.request.ItemCraftingTemplate) Map(java.util.Map) EntityPlayerSP(net.minecraft.client.entity.EntityPlayerSP) NewGuiHandler(logisticspipes.network.NewGuiHandler) LogisticsExtraPromise(logisticspipes.routing.LogisticsExtraPromise) LogisticsManager(logisticspipes.logistics.LogisticsManager) PacketHandler(logisticspipes.network.PacketHandler) ExitRoute(logisticspipes.routing.ExitRoute) UUIDPropertyKt(network.rs485.logisticspipes.property.UUIDPropertyKt) SimpleServiceLocator(logisticspipes.proxy.SimpleServiceLocator) IFilter(logisticspipes.interfaces.routing.IFilter) BooleanProperty(network.rs485.logisticspipes.property.BooleanProperty) LogisticsCraftingTableTileEntity(logisticspipes.blocks.crafting.LogisticsCraftingTableTileEntity) BufferMode(logisticspipes.utils.SinkReply.BufferMode) CraftingModuleInHand(logisticspipes.network.guis.module.inhand.CraftingModuleInHand) IItemIdentifierInventory(network.rs485.logisticspipes.inventory.IItemIdentifierInventory) UUIDListProperty(network.rs485.logisticspipes.property.UUIDListProperty) CraftingPipeOpenConnectedGuiPacket(logisticspipes.network.packets.cpipe.CraftingPipeOpenConnectedGuiPacket) ArrayList(java.util.ArrayList) ItemStack(net.minecraft.item.ItemStack) CraftingModuleSlot(logisticspipes.network.guis.module.inpipe.CraftingModuleSlot) InventoryProperty(network.rs485.logisticspipes.property.InventoryProperty) IWorldProvider(logisticspipes.interfaces.IWorldProvider) LogisticsDictPromise(logisticspipes.routing.LogisticsDictPromise) FuzzyUtil(network.rs485.logisticspipes.util.FuzzyUtil) Nullable(javax.annotation.Nullable) LogisticsItemOrder(logisticspipes.routing.order.LogisticsItemOrder) BlockPos(net.minecraft.util.math.BlockPos) LogisticsExtraDictPromise(logisticspipes.routing.LogisticsExtraDictPromise) DelayedGeneric(logisticspipes.utils.DelayedGeneric) ItemSendMode(logisticspipes.pipes.basic.CoreRoutedPipe.ItemSendMode) CPipeSatelliteImport(logisticspipes.network.packets.cpipe.CPipeSatelliteImport) HUDStartModuleWatchingPacket(logisticspipes.network.packets.hud.HUDStartModuleWatchingPacket) IResource(logisticspipes.request.resources.IResource) IBlockState(net.minecraft.block.state.IBlockState) ItemIdentifierStack(logisticspipes.utils.item.ItemIdentifierStack) TileEntity(net.minecraft.tileentity.TileEntity) ItemBlock(net.minecraft.item.ItemBlock) IRoutedItem(logisticspipes.logisticspipes.IRoutedItem) ModuleInHandGuiProvider(logisticspipes.network.abstractguis.ModuleInHandGuiProvider) PipeItemsSatelliteLogistics(logisticspipes.pipes.PipeItemsSatelliteLogistics) IRouter(logisticspipes.routing.IRouter) IRequestFluid(logisticspipes.interfaces.routing.IRequestFluid) ItemUpgrade(logisticspipes.items.ItemUpgrade) ICraftingTemplate(logisticspipes.request.ICraftingTemplate) LogisticsPipes(logisticspipes.LogisticsPipes) Particles(logisticspipes.pipefxhandlers.Particles) PlayerCollectionList(logisticspipes.utils.PlayerCollectionList) EntityPlayerMP(net.minecraft.entity.player.EntityPlayerMP) DictCraftingTemplate(logisticspipes.request.DictCraftingTemplate) NBTTagList(net.minecraft.nbt.NBTTagList) FluidIdentifier(logisticspipes.utils.FluidIdentifier) ICraftItems(logisticspipes.interfaces.routing.ICraftItems) LPNeighborTileEntityKt(network.rs485.logisticspipes.connection.LPNeighborTileEntityKt) IAdditionalTargetInformation(logisticspipes.interfaces.routing.IAdditionalTargetInformation) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) ModernPacket(logisticspipes.network.abstractpackets.ModernPacket) Collection(java.util.Collection) FluidResource(logisticspipes.request.resources.FluidResource) ItemIdentifier(logisticspipes.utils.item.ItemIdentifier) ItemIdentifierInventory(logisticspipes.utils.item.ItemIdentifierInventory) IFuzzyRecipeProvider(logisticspipes.proxy.interfaces.IFuzzyRecipeProvider) UUID(java.util.UUID) RequestTreeNode(logisticspipes.request.RequestTreeNode) DictResource(logisticspipes.request.resources.DictResource) TransportMode(logisticspipes.logisticspipes.IRoutedItem.TransportMode) Objects(java.util.Objects) IItemSpaceControl(logisticspipes.interfaces.routing.IItemSpaceControl) List(java.util.List) IInventoryUtil(logisticspipes.interfaces.IInventoryUtil) CacheTypes(logisticspipes.utils.CacheHolder.CacheTypes) EntityPlayer(net.minecraft.entity.player.EntityPlayer) Pair(logisticspipes.utils.tuples.Pair) IHUDModuleHandler(logisticspipes.interfaces.IHUDModuleHandler) CoreRoutedPipe(logisticspipes.pipes.basic.CoreRoutedPipe) Gui(network.rs485.logisticspipes.module.Gui) Property(network.rs485.logisticspipes.property.Property) IPromise(logisticspipes.request.IPromise) AdjacentUtilKt(network.rs485.logisticspipes.connection.AdjacentUtilKt) ItemResource(logisticspipes.request.resources.ItemResource) Getter(lombok.Getter) ModuleCoordinatesGuiProvider(logisticspipes.network.abstractguis.ModuleCoordinatesGuiProvider) IPipeServiceProvider(logisticspipes.interfaces.IPipeServiceProvider) IReqCraftingTemplate(logisticspipes.request.IReqCraftingTemplate) ResourceType(logisticspipes.routing.order.IOrderInfoProvider.ResourceType) CoordinatesPacket(logisticspipes.network.abstractpackets.CoordinatesPacket) IBitSet(network.rs485.logisticspipes.property.IBitSet) IntListProperty(network.rs485.logisticspipes.property.IntListProperty) IntegerProperty(network.rs485.logisticspipes.property.IntegerProperty) ImmutableList(com.google.common.collect.ImmutableList) IRequestItems(logisticspipes.interfaces.routing.IRequestItems) IModuleWatchReciver(logisticspipes.interfaces.IModuleWatchReciver) ISlotUpgradeManager(logisticspipes.interfaces.ISlotUpgradeManager) DelayQueue(java.util.concurrent.DelayQueue) WeakReference(java.lang.ref.WeakReference) PipeFluidSatellite(logisticspipes.pipes.PipeFluidSatellite) Nonnull(javax.annotation.Nonnull) IHUDModuleRenderer(logisticspipes.interfaces.IHUDModuleRenderer) IGuiOpenControler(logisticspipes.interfaces.IGuiOpenControler) FixedPriority(logisticspipes.utils.SinkReply.FixedPriority) CraftingPipeUpdatePacket(logisticspipes.network.packets.pipe.CraftingPipeUpdatePacket) EnumFacing(net.minecraft.util.EnumFacing) LogisticsPromise(logisticspipes.routing.LogisticsPromise) RequestTree(logisticspipes.request.RequestTree) UUIDProperty(network.rs485.logisticspipes.property.UUIDProperty) BitSet(java.util.BitSet) IWorldProvider(logisticspipes.interfaces.IWorldProvider) IBlockState(net.minecraft.block.state.IBlockState) IPipeServiceProvider(logisticspipes.interfaces.IPipeServiceProvider) EntityPlayerMP(net.minecraft.entity.player.EntityPlayerMP) BlockPos(net.minecraft.util.math.BlockPos) EntityPlayerSP(net.minecraft.client.entity.EntityPlayerSP) ItemStack(net.minecraft.item.ItemStack) ItemBlock(net.minecraft.item.ItemBlock)

Aggregations

Gui (network.rs485.logisticspipes.module.Gui)4 ItemStack (net.minecraft.item.ItemStack)3 ArrayList (java.util.ArrayList)2 Collection (java.util.Collection)2 List (java.util.List)2 Map (java.util.Map)2 Nonnull (javax.annotation.Nonnull)2 Nullable (javax.annotation.Nullable)2 LogisticsModule (logisticspipes.modules.LogisticsModule)2 IBlockState (net.minecraft.block.state.IBlockState)2 EntityPlayer (net.minecraft.entity.player.EntityPlayer)2 NBTTagCompound (net.minecraft.nbt.NBTTagCompound)2 TileEntity (net.minecraft.tileentity.TileEntity)2 EnumFacing (net.minecraft.util.EnumFacing)2 BlockPos (net.minecraft.util.math.BlockPos)2 ImmutableList (com.google.common.collect.ImmutableList)1 Lists (com.google.common.collect.Lists)1 InputStream (java.io.InputStream)1 WeakReference (java.lang.ref.WeakReference)1 BitSet (java.util.BitSet)1