this.addDescription( registry, materials.certusQuartzCrystalCharged(), message ); this.addDescription( registry, materials.logicProcessorPress(), GuiText.inWorldCraftingPresses.getLocal() ); this.addDescription( registry, materials.calcProcessorPress(), GuiText.inWorldCraftingPresses.getLocal() ); this.addDescription( registry, materials.engProcessorPress(), GuiText.inWorldCraftingPresses.getLocal() ); this.addDescription( registry, materials.fluixCrystal(), GuiText.inWorldFluix.getLocal() ); this.addDescription( registry, materials.qESingularity(), GuiText.inWorldSingularity.getLocal() ); this.addDescription( registry, materials.purifiedCertusQuartzCrystal(), GuiText.inWorldPurificationCertus.getLocal() ); this.addDescription( registry, materials.purifiedNetherQuartzCrystal(), GuiText.inWorldPurificationNether.getLocal() ); this.addDescription( registry, materials.purifiedFluixCrystal(), GuiText.inWorldPurificationFluix.getLocal() );
@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 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() ); }
public static boolean isRecipePrioritized( final ItemStack what ) { final IMaterials materials = AEApi.instance().definitions().materials(); boolean isPurified = materials.purifiedCertusQuartzCrystal().isSameAs( what ); isPurified |= materials.purifiedFluixCrystal().isSameAs( what ); isPurified |= materials.purifiedNetherQuartzCrystal().isSameAs( what ); return isPurified; } }
@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() ); }
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 void applyTurn() { this.injectExternalPower( PowerUnits.AE, POWER_PER_CRANK_TURN, Actionable.MODULATE ); final ItemStack myItem = this.inv.getStackInSlot( 0 ); if( this.getInternalCurrentPower() > POWER_THRESHOLD ) { final IMaterials materials = AEApi.instance().definitions().materials(); if( materials.certusQuartzCrystal().isSameAs( myItem ) ) { this.extractAEPower( this.getInternalMaxPower(), Actionable.MODULATE, PowerMultiplier.CONFIG ); materials.certusQuartzCrystalCharged().maybeStack( myItem.getCount() ).ifPresent( charged -> this.inv.setStackInSlot( 0, charged ) ); } } }
final IMaterials materials = AEApi.instance().definitions().materials(); if( materials.certusQuartzCrystalCharged().isSameAs( item ) ) materials.fluixCrystal().maybeStack( 2 ).ifPresent( is ->
return materials.blankPattern().isSameAs( i ); return materials.blankPattern().isSameAs( i ); if( materials.namePress().isSameAs( i ) ) return Platform.isChargeable( i ); case QE_SINGULARITY: return materials.qESingularity().isSameAs( i ); return materials.wirelessBooster().isSameAs( i );
public static boolean isFluixEnabled() { return (AEApi.instance().definitions().materials().purifiedFluixCrystal().isEnabled() || AEApi.instance().definitions().materials().fluixCrystal().isEnabled()) && AEApi.instance().definitions().parts().quartzFiber().isEnabled(); }
@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" ) ); }
@Override public void init() { ThELog.info("Registering Research Category"); ResearchCategories.registerCategory( ModGlobals.RESEARCH_CATEGORY, "f_AECORE", new AspectList() .add(Aspect.MECHANISM, 15) .add(Aspect.CRAFT, 15) .add(Aspect.ENERGY, 20) .add(Aspect.EXCHANGE, 20) .add(Aspect.MAGIC, 15) .add(Aspect.METAL, 5), new ResourceLocation(ModGlobals.MOD_ID, "textures/research/tab_icon.png"), ResearchCategories.getResearchCategory("BASICS").background, ResearchCategories.getResearchCategory("BASICS").background2); ThELog.info("Registering Research"); ThaumcraftApi.registerResearchLocation(new ResourceLocation(ModGlobals.MOD_ID, "research/" + ModGlobals.RESEARCH_CATEGORY)); Optional<ItemStack> core; core = AEApi.instance().definitions().materials().annihilationCore().maybeStack(1); core.ifPresent(itemStack -> ScanningManager.addScannableThing(new ScanItem("f_AECORE", itemStack))); core = AEApi.instance().definitions().materials().formationCore().maybeStack(1); core.ifPresent(itemStack -> ScanningManager.addScannableThing(new ScanItem("f_AECORE", itemStack))); TheorycraftManager.registerCard(CardTinkerAE.class); //if (AEApi.instance().definitions().blocks().controller().maybeEntity().isPresent()) //TheorycraftManager.registerAid(new AidMEController()); this.registerArcaneRecipes(); this.registerInfusionRecipes(); }
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; }
Optional<ItemStack> quartzStack = materials.purifiedCertusQuartzCrystal().maybeStack( size ); if( quartzStack.isPresent() ) Optional<ItemStack> quartzStack = materials.purifiedNetherQuartzCrystal().maybeStack( size ); if( quartzStack.isPresent() ) Optional<ItemStack> quartzStack = materials.purifiedFluixCrystal().maybeStack( size ); if( quartzStack.isPresent() )
else if( this.getInternalCurrentPower() > POWER_THRESHOLD && materials.certusQuartzCrystal().isSameAs( myItem ) ) materials.certusQuartzCrystalCharged().maybeStack( myItem.getCount() ).ifPresent( charged -> this.inv.setStackInSlot( 0, charged ) );
@Override public int damageDropped( final IBlockState state ) { return AEApi.instance() .definitions() .materials() .certusQuartzCrystalCharged() .maybeStack( 1 ) .orElseThrow( () -> new MissingDefinitionException( "Tried to access charged certus quartz crystal, even though they are disabled" ) ) .getItemDamage(); }
private boolean clearPattern( final ItemStack stack, final EntityPlayer player ) { if( player.isSneaking() ) { if( Platform.isClient() ) { return false; } final InventoryPlayer inv = player.inventory; ItemStack is = AEApi.instance().definitions().materials().blankPattern().maybeStack( stack.getCount() ).orElse( ItemStack.EMPTY ); if( !is.isEmpty() ) { for( int s = 0; s < player.inventory.getSizeInventory(); s++ ) { if( inv.getStackInSlot( s ) == stack ) { inv.setInventorySlotContents( s, is ); return true; } } } } return false; }
@Override public boolean allowExtract( IItemHandler inv, final int slotIndex, int amount ) { ItemStack extractedItem = inv.getStackInSlot( slotIndex ); if( Platform.isChargeable( extractedItem ) ) { final IAEItemPowerStorage ips = (IAEItemPowerStorage) extractedItem.getItem(); if( ips.getAECurrentPower( extractedItem ) >= ips.getAEMaxPower( extractedItem ) ) { return true; } } return AEApi.instance().definitions().materials().certusQuartzCrystalCharged().isSameAs( extractedItem ); } }
@Override protected void dropEmptyStorageCellCase( final InventoryAdaptor ia, final EntityPlayer player ) { AEApi.instance().definitions().materials().emptyStorageCell().maybeStack( 1 ).ifPresent( is -> { final ItemStack extraA = ia.addItems( is ); if( !extraA.isEmpty() ) { player.dropItem( extraA, false ); } } ); } }
if( AEApi.instance().definitions().materials().certusQuartzCrystalCharged().isSameAs( tc.getInternalInventory().getStackInSlot( 0 ) ) )