@Override public boolean allowInsert( IItemHandler inv, int slot, ItemStack stack ) { return this.definition.isSameAs( stack ); }
@Nonnull private Optional<ItemStack> getCellOutput( final ItemStack compared ) { for( final Map.Entry<IItemDefinition, IItemDefinition> entry : this.cellMappings.entrySet() ) { if( entry.getKey().isSameAs( compared ) ) { return entry.getValue().maybeStack( 1 ); } } return Optional.empty(); }
@Nonnull private Optional<ItemStack> getNonCellOutput( final ItemStack compared ) { for( final Map.Entry<IItemDefinition, IItemDefinition> entry : this.nonCellMappings.entrySet() ) { if( entry.getKey().isSameAs( compared ) ) { return entry.getValue().maybeStack( 1 ); } } return Optional.empty(); }
@Override public int getMaxInstalled( final Upgrades upgrades ) { int max = 0; for( final ItemStack stack : upgrades.getSupported().keySet() ) { if( this.definition.isSameAs( stack ) ) { max = upgrades.getSupported().get( stack ); break; } } return max; } }
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; } }
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 boolean canHandle( final ItemStack is ) { return AEApi.instance().definitions().items().wirelessTerminal().isSameAs( is ); }
@Override public boolean allowInsert( IItemHandler inv, final int i, final ItemStack itemstack ) { final IItemDefinition cert = AEApi.instance().definitions().materials().certusQuartzCrystal(); return Platform.isChargeable( itemstack ) || cert.isSameAs( itemstack ); }
public static boolean canRepair( final AEFeature type, final ItemStack a, final ItemStack b ) { if( b.isEmpty() || a.isEmpty() ) { return false; } if( type == AEFeature.CERTUS_QUARTZ_TOOLS ) { final IItemDefinition certusQuartzCrystal = AEApi.instance().definitions().materials().certusQuartzCrystal(); return certusQuartzCrystal.isSameAs( b ); } if( type == AEFeature.NETHER_QUARTZ_TOOLS ) { return Items.QUARTZ == b.getItem(); } 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 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 ) ); } } }
public void activate( final EntityPlayer player ) { if( !Platform.hasPermissions( new DimensionalCoord( this ), player ) ) { return; } final ItemStack myItem = this.inv.getStackInSlot( 0 ); if( myItem.isEmpty() ) { ItemStack held = player.inventory.getCurrentItem(); if( AEApi.instance().definitions().materials().certusQuartzCrystal().isSameAs( held ) || Platform.isChargeable( held ) ) { held = player.inventory.decrStackSize( player.inventory.currentItem, 1 ); this.inv.setStackInSlot( 0, held ); } } else { final List<ItemStack> drops = new ArrayList<>(); drops.add( myItem ); this.inv.setStackInSlot( 0, ItemStack.EMPTY ); Platform.spawnDrops( this.world, this.pos.offset( this.getForward() ), drops ); } }
@Override public IAEItemStack injectItems( final IAEItemStack input, final Actionable type, final IActionSource src ) { if( this.hasPermission( src ) ) { if( AEApi.instance().definitions().items().biometricCard().isSameAs( input.createItemStack() ) ) { if( this.canAccept( input ) ) { if( type == Actionable.SIMULATE ) { return null; } this.getStoredItems().add( input ); this.securityTile.inventoryChanged(); return null; } } } return input; }
@Override public boolean allowInsert( IItemHandler inv, int slot, ItemStack stack ) { // output slot if( slot == 1 ) { return false; } if( TileInscriber.this.isSmash() ) { return false; } if( inv == TileInscriber.this.topItemHandler || inv == TileInscriber.this.bottomItemHandler ) { if( AEApi.instance().definitions().materials().namePress().isSameAs( stack ) ) { return true; } for( final ItemStack optionals : AEApi.instance().registries().inscriber().getOptionals() ) { if( Platform.itemComparisons().isSameItem( stack, optionals ) ) { return true; } } return false; } return true; } }
if( definitions.parts().iface().isSameAs( is ) )
if( AEApi.instance().definitions().materials().certusQuartzCrystalCharged().isSameAs( tc.getInternalInventory().getStackInSlot( 0 ) ) )
if( materials.singularity().isSameAs( item ) )
else if( this.getInternalCurrentPower() > POWER_THRESHOLD && materials.certusQuartzCrystal().isSameAs( myItem ) )
final IMaterials materials = AEApi.instance().definitions().materials(); if( materials.certusQuartzCrystalCharged().isSameAs( item ) )