@Override public ItemStack getContainerItem( final ItemStack itemStack ) { return AEApi.instance() .definitions() .materials() .emptyStorageCell() .maybeStack( 1 ) .orElseThrow( () -> new MissingDefinitionException( "Tried to use empty storage cells while basic storage cells are defined." ) ); }
public QnbFormedBakedModel( VertexFormat vertexFormat, IBakedModel baseModel, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter ) { this.vertexFormat = vertexFormat; this.baseModel = baseModel; this.linkTexture = bakedTextureGetter.apply( TEXTURE_LINK ); this.ringTexture = bakedTextureGetter.apply( TEXTURE_RING ); this.glassCableTexture = bakedTextureGetter.apply( TEXTURE_CABLE_GLASS ); this.coveredCableTexture = bakedTextureGetter.apply( TEXTURE_COVERED_CABLE ); this.lightTexture = bakedTextureGetter.apply( TEXTURE_RING_LIGHT ); this.lightCornerTexture = bakedTextureGetter.apply( TEXTURE_RING_LIGHT_CORNER ); this.linkBlock = AEApi.instance().definitions().blocks().quantumLink().maybeBlock().orElse( null ); }
public DisassembleRecipe() { final IDefinitions definitions = AEApi.instance().definitions(); final IBlocks blocks = definitions.blocks(); final IItems items = definitions.items(); final IMaterials mats = definitions.materials(); this.cellMappings = new HashMap<>( 4 ); this.nonCellMappings = new HashMap<>( 5 ); this.cellMappings.put( items.cell1k(), mats.cell1kPart() ); this.cellMappings.put( items.cell4k(), mats.cell4kPart() ); this.cellMappings.put( items.cell16k(), mats.cell16kPart() ); this.cellMappings.put( items.cell64k(), mats.cell64kPart() ); this.nonCellMappings.put( items.encodedPattern(), mats.blankPattern() ); this.nonCellMappings.put( blocks.craftingStorage1k(), mats.cell1kPart() ); this.nonCellMappings.put( blocks.craftingStorage4k(), mats.cell4kPart() ); this.nonCellMappings.put( blocks.craftingStorage16k(), mats.cell16kPart() ); this.nonCellMappings.put( blocks.craftingStorage64k(), mats.cell64kPart() ); }
private void registerFacadeRecipe( IDefinitions definitions, IModRegistry registry ) { Optional<Item> itemFacade = definitions.items().facade().maybeItem(); Optional<ItemStack> cableAnchor = definitions.parts().cableAnchor().maybeStack( 1 ); if( itemFacade.isPresent() && cableAnchor.isPresent() ) { registry.addRecipeRegistryPlugin( new FacadeRegistryPlugin( (ItemFacade) itemFacade.get(), cableAnchor.get() ) ); } }
@Override public void drawBG( final int offsetX, final int offsetY, final int mouseX, final int mouseY ) { super.drawBG( offsetX, offsetY, mouseX, mouseY ); final IDefinitions definitions = AEApi.instance().definitions(); definitions.items().cell1k().maybeStack( 1 ).ifPresent( cell1kStack -> this.drawItem( offsetX + 66 - 8, offsetY + 17, cell1kStack ) ); definitions.blocks().drive().maybeStack( 1 ).ifPresent( driveStack -> this.drawItem( offsetX + 94 + 8, offsetY + 17, driveStack ) ); }
private boolean isPattern( final ItemStack output ) { if( output.isEmpty() ) { return false; } final IDefinitions definitions = AEApi.instance().definitions(); boolean isPattern = definitions.items().encodedPattern().isSameAs( output ); isPattern |= definitions.materials().blankPattern().isSameAs( output ); return isPattern; }
@Override public void registerItemSubtypes( ISubtypeRegistry subtypeRegistry ) { final Optional<Item> maybeFacade = AEApi.instance().definitions().items().facade().maybeItem(); maybeFacade.ifPresent( subtypeRegistry::useNbtForSubtypes ); }
certusQuartz.add(AEApi.instance().definitions().materials().certusQuartzCrystalCharged().maybeStack(1).orElse(ItemStack.EMPTY)); certusQuartz.add(AEApi.instance().definitions().materials().purifiedCertusQuartzCrystal().maybeStack(1).orElse(ItemStack.EMPTY)); netherQuartz.add(AEApi.instance().definitions().materials().purifiedNetherQuartzCrystal().maybeStack(1).orElse(ItemStack.EMPTY)); Ingredient.fromStacks(certusQuartz.toArray(new ItemStack[0])), 'F', AEApi.instance().definitions().materials().fluixDust().maybeStack(1).orElse(ItemStack.EMPTY), 'L', AEApi.instance().definitions().materials().logicProcessor().maybeStack(1).orElse(ItemStack.EMPTY) ))); ThEApi.instance().items().diffusionCore().maybeStack(2).ifPresent(stack -> Ingredient.fromStacks(netherQuartz.toArray(new ItemStack[0])), 'F', AEApi.instance().definitions().materials().fluixDust().maybeStack(1).orElse(ItemStack.EMPTY), 'L', AEApi.instance().definitions().materials().logicProcessor().maybeStack(1).orElse(ItemStack.EMPTY) ))); Ingredient.fromStacks(certusQuartz.toArray(new ItemStack[0])), 'P', AEApi.instance().definitions().materials().logicProcessor().maybeStack(1).orElse(ItemStack.EMPTY) )); this.addFakeCrafting(new ResourceLocation(ModGlobals.MOD_ID, "cells/essentia_cell_1k")); ThEApi.instance().items().essentiaComponent1k().maybeStack(1).orElse(ItemStack.EMPTY), 'P', AEApi.instance().definitions().materials().calcProcessor().maybeStack(1).orElse(ItemStack.EMPTY),
@Override public ItemStack getItemStackRepresentation() { return AEApi.instance().definitions().parts().iface().maybeStack( 1 ).orElse( ItemStack.EMPTY ); }
private void registerCondenserRecipes( IDefinitions definitions, IModRegistry registry ) { ItemStack condenser = definitions.blocks().condenser().maybeStack( 1 ).orElse( ItemStack.EMPTY ); if( condenser.isEmpty() ) { return; } ItemStack matterBall = definitions.materials().matterBall().maybeStack( 1 ).orElse( ItemStack.EMPTY ); if( !matterBall.isEmpty() ) { registry.addRecipes( ImmutableList.of( CondenserOutput.MATTER_BALLS ), CondenserCategory.UID ); } ItemStack singularity = definitions.materials().singularity().maybeStack( 1 ).orElse( ItemStack.EMPTY ); if( !singularity.isEmpty() ) { registry.addRecipes( ImmutableList.of( CondenserOutput.SINGULARITY ), CondenserCategory.UID ); } if( !matterBall.isEmpty() || !singularity.isEmpty() ) { registry.addRecipeCatalyst( condenser, CondenserCategory.UID ); registry.handleRecipes( CondenserOutput.class, new CondenserOutputHandler( registry.getJeiHelpers().getGuiHelper(), matterBall, singularity ), CondenserCategory.UID ); } }
public GuiCraftingStatus( final InventoryPlayer inventoryPlayer, final ITerminalHost te ) { super( new ContainerCraftingStatus( inventoryPlayer, te ) ); this.status = (ContainerCraftingStatus) this.inventorySlots; final Object target = this.status.getTarget(); final IDefinitions definitions = AEApi.instance().definitions(); final IParts parts = definitions.parts(); if( target instanceof WirelessTerminalGuiObject ) { this.myIcon = definitions.items().wirelessTerminal().maybeStack( 1 ).orElse( ItemStack.EMPTY ); this.originalGui = GuiBridge.GUI_WIRELESS_TERM; } if( target instanceof PartTerminal ) { this.myIcon = parts.terminal().maybeStack( 1 ).orElse( ItemStack.EMPTY ); this.originalGui = GuiBridge.GUI_ME; } if( target instanceof PartCraftingTerminal ) { this.myIcon = parts.craftingTerminal().maybeStack( 1 ).orElse( ItemStack.EMPTY ); this.originalGui = GuiBridge.GUI_CRAFTING_TERMINAL; } if( target instanceof PartPatternTerminal ) { this.myIcon = parts.patternTerminal().maybeStack( 1 ).orElse( ItemStack.EMPTY ); this.originalGui = GuiBridge.GUI_PATTERN_TERMINAL; } }
@Override public ItemStack getIconItemStack() { final Optional<Item> maybeFacade = AEApi.instance().definitions().items().facade().maybeItem(); if( maybeFacade.isPresent() ) { return ( (ItemFacade) maybeFacade.get() ).getCreativeTabIcon(); } return new ItemStack( Blocks.PLANKS ); } }
@Override public ItemStack getItemStackRepresentation() { return AEApi.instance().definitions().parts().storageBus().maybeStack( 1 ).orElse( ItemStack.EMPTY ); }
@Override public Item getItemDropped( final IBlockState state, final Random rand, final int fortune ) { return AEApi.instance() .definitions() .materials() .certusQuartzCrystalCharged() .maybeItem() .orElseThrow( () -> new MissingDefinitionException( "Tried to access charged certus quartz crystal, even though they are disabled" ) ); }
public MeteoritePlacer() final IBlocks blocks = AEApi.instance().definitions().blocks();
@Override public ItemStack getIconItemStack() { final IDefinitions definitions = AEApi.instance().definitions(); final IBlocks blocks = definitions.blocks(); final IItems items = definitions.items(); final IMaterials materials = definitions.materials(); return this.findFirst( blocks.controller(), blocks.chest(), blocks.cellWorkbench(), blocks.fluixBlock(), items.cell1k(), items.networkTool(), materials.fluixCrystal(), materials.certusQuartzCrystal(), materials.skyDust() ); }