@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() ); }
@Override public ItemStack getItemStackRepresentation() { return AEApi.instance().definitions().blocks().iface().maybeStack( 1 ).orElse( ItemStack.EMPTY ); }
@Override protected ItemStack getItemFromTile( final Object obj ) { Optional<ItemStack> is = Optional.empty(); if( ( (TileCraftingTile) obj ).isAccelerator() ) { is = AEApi.instance().definitions().blocks().craftingAccelerator().maybeStack( 1 ); } else { is = AEApi.instance().definitions().blocks().craftingUnit().maybeStack( 1 ); } return is.orElseGet( () -> super.getItemFromTile( obj ) ); }
@Override protected ItemStack getItemFromTile( final Object obj ) { final IBlocks blocks = AEApi.instance().definitions().blocks(); final int storage = ( (TileCraftingTile) obj ).getStorageBytes() / KILO_SCALAR; Optional<ItemStack> is; switch( storage ) { case 1: is = blocks.craftingStorage1k().maybeStack( 1 ); break; case 4: is = blocks.craftingStorage4k().maybeStack( 1 ); break; case 16: is = blocks.craftingStorage16k().maybeStack( 1 ); break; case 64: is = blocks.craftingStorage64k().maybeStack( 1 ); break; default: is = Optional.empty(); break; } return is.orElseGet( () -> super.getItemFromTile( obj ) ); }
Upgrades.CRAFTING.registerItem( blocks.iface(), 1 ); Upgrades.SPEED.registerItem( blocks.iOPort(), 3 ); Upgrades.REDSTONE.registerItem( blocks.iOPort(), 1 ); Upgrades.SPEED.registerItem( blocks.molecularAssembler(), 5 ); Upgrades.SPEED.registerItem( blocks.inscriber(), 3 ); items.entropyManipulator().maybeItem().ifPresent( entropyManipulator -> registries.charger().addChargeRate( entropyManipulator, 8000d ) ); items.massCannon().maybeItem().ifPresent( massCannon -> registries.charger().addChargeRate( massCannon, 8000d ) ); blocks.energyCell().maybeItem().ifPresent( cell -> registries.charger().addChargeRate( cell, 8000d ) ); blocks.energyCellDense().maybeItem().ifPresent( cell -> registries.charger().addChargeRate( cell, 16000d ) );
this.addNewAttunement( blocks.energyCellDense(), TunnelType.FE_POWER ); this.addNewAttunement( blocks.energyAcceptor(), TunnelType.FE_POWER ); this.addNewAttunement( blocks.energyCell(), TunnelType.FE_POWER ); this.addNewAttunement( blocks.energyCellCreative(), TunnelType.FE_POWER ); this.addNewAttunement( blocks.iface(), TunnelType.ITEM ); this.addNewAttunement( parts.iface(), TunnelType.ITEM ); this.addNewAttunement( parts.storageBus(), TunnelType.ITEM );
AEApi.instance().definitions().materials().calcProcessor().maybeStack(1).orElse(ItemStack.EMPTY), 'G', AEApi.instance().definitions().blocks().quartzGlass().maybeBlock().orElse(Blocks.GLASS) )); this.addFakeCrafting(new ResourceLocation(ModGlobals.MOD_ID, "cells/essentia_cell_4k")); AEApi.instance().definitions().materials().engProcessor().maybeStack(1).orElse(ItemStack.EMPTY), 'G', AEApi.instance().definitions().blocks().quartzGlass().maybeBlock().orElse(Blocks.GLASS) )); }); AEApi.instance().definitions().materials().engProcessor().maybeStack(1).orElse(ItemStack.EMPTY), 'G', AEApi.instance().definitions().blocks().quartzGlass().maybeBlock().orElse(Blocks.GLASS) )); this.addFakeCrafting(new ResourceLocation(ModGlobals.MOD_ID, "cells/essentia_cell_64k")); item, Ingredient.fromStacks( AEApi.instance().definitions().blocks().iface().maybeStack(1).orElse(ItemStack.EMPTY), AEApi.instance().definitions().parts().iface().maybeStack(1).orElse(ItemStack.EMPTY) ),
@SuppressWarnings("OptionalGetWithoutIsPresent") @Override public Object getAidObject() { return AEApi.instance().definitions().blocks().controller().maybeEntity().get(); }
@Override public ItemStack getItemStackRepresentation() { return AEApi.instance().definitions().blocks().chest().maybeStack( 1 ).orElse( ItemStack.EMPTY ); }
@Override protected ItemStack getItemFromTile( final Object obj ) { final Optional<ItemStack> is = AEApi.instance().definitions().blocks().craftingMonitor().maybeStack( 1 ); return is.orElseGet( () -> super.getItemFromTile( obj ) ); } }
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 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() ); }
if( definitions.parts().iface().isSameAs( is ) ) Optional<ItemStack> iface = definitions.blocks().iface().maybeStack( 1 ); if( iface.isPresent() )
private void registerInfusionRecipes() { ThEApi.instance().blocks().infusionProvider().maybeStack(1).ifPresent(stack -> ThaumcraftApi.addInfusionCraftingRecipe(new ResourceLocation(ModGlobals.MOD_ID, "infusion_provider"), new InfusionRecipe( "INFUSIONPROVIDER", stack, 2, new AspectList().add(Aspect.MECHANISM, 25).add(Aspect.MAGIC, 25).add(Aspect.EXCHANGE, 20), AEApi.instance().definitions().blocks().iface().maybeBlock().orElseThrow(() -> new NullPointerException("Missing interface block for recipe")), ThEApi.instance().items().coalescenceCore().maybeStack(1).orElse(ItemStack.EMPTY), ItemsTC.salisMundus, ThEApi.instance().items().coalescenceCore().maybeStack(1).orElse(ItemStack.EMPTY), ItemsTC.salisMundus ))); }