com.planet_ink.coffee_mud.Abilities.interfaces
Interface ItemCraftor

All Superinterfaces:
Ability, java.lang.Cloneable, CMObject, java.lang.Comparable<CMObject>, Contingent, CraftorAbility, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable
All Known Implementing Classes:
Alchemy, Apothecary, Armorsmithing, Baking, Blacksmithing, Boatwright, CageBuilding, Carpentry, ClanCrafting, Cobbling, Cooking, Costuming, Distilling, DrugCutting, EnhancedCraftingSkill, Fletching, FoodPrep, GaolFood, GenCraftSkill, GlassBlowing, Herbalism, InstrumentMaking, JewelMaking, LeatherWorking, LegendaryWeaponsmithing, MasterArmorsmithing, MasterBaking, MasterCooking, MasterCostuming, MasterDistilling, MasterFoodPrep, MasterLeatherWorking, MasterTailoring, MasterWeaponsmithing, Paladin_CraftHolyAvenger, PaperMaking, Pottery, Rodsmithing, ScrimShaw, ScrollScribing, Sculpting, Shipwright, Siegecraft, Smelting, StaffMaking, Tailoring, Textiling, Torturesmithing, Wainwrighting, WandMaking, Weaponsmithing, Weaving

public interface ItemCraftor
extends CraftorAbility

This interface denotes an ability that also incidentally is capable of generating objects, usually items. This is probably a common skill, but one could imagine an itemcraftor also being a spell that generates its own items. Also the item generation is an incidental and internal aspect of the ability, these methods allow that functionality to be exposed for archon use.


Nested Class Summary
static class ItemCraftor.ItemKeyPair
          For auto-crafting, this object represents an item, and (optionally) a key to go with it.
 
Field Summary
static java.lang.String CRAFTING_BRAND_STR_ANON
          The base unlocalized brand added to anonymously crafted items
static java.lang.String CRAFTING_BRAND_STR_NAME
          The base unlocalized brand added to named crafted items
static java.lang.String CRAFTING_BRAND_STR_PREFIX
          The base unlocalized brand added to crafted items
 
Fields inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
ACODE_CHANT, ACODE_COMMON_SKILL, ACODE_DESCS, ACODE_DESCS_, ACODE_DISEASE, ACODE_LANGUAGE, ACODE_POISON, ACODE_PRAYER, ACODE_PROPERTY, ACODE_SKILL, ACODE_SONG, ACODE_SPELL, ACODE_SUPERPOWER, ACODE_TECH, ACODE_THIEF_SKILL, ACODE_TRAP, ALL_ACODES, ALL_DOMAINS, CACHEINDEX_CLASSLESS, CACHEINDEX_EXPERTISE, CACHEINDEX_NORMAL, CACHEINDEX_TOTAL, CAN_AREAS, CAN_DESCS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, COST_ALL, COST_NORMAL, COST_PCT, DOMAIN_ABJURATION, DOMAIN_ACROBATIC, DOMAIN_ALERT, DOMAIN_ALTERATION, DOMAIN_ANATOMY, DOMAIN_ANIMALAFFINITY, DOMAIN_ARCANELORE, DOMAIN_ARCHON, DOMAIN_ARMORUSE, DOMAIN_ARTISTIC, DOMAIN_BINDING, DOMAIN_BLESSING, DOMAIN_BREEDING, DOMAIN_BUILDINGSKILL, DOMAIN_CALLIGRAPHY, DOMAIN_COMBATFLUIDITY, DOMAIN_COMBATLORE, DOMAIN_COMMUNING, DOMAIN_CONJURATION, DOMAIN_CORRUPTION, DOMAIN_CRAFTINGSKILL, DOMAIN_CREATION, DOMAIN_CRIMINAL, DOMAIN_CURSING, DOMAIN_DANCING, DOMAIN_DEATHLORE, DOMAIN_DECEPTIVE, DOMAIN_DEEPMAGIC, DOMAIN_DESCS, DOMAIN_DETRAP, DOMAIN_DIRTYFIGHTING, DOMAIN_DIVINATION, DOMAIN_EDUCATIONLORE, DOMAIN_ENCHANTMENT, DOMAIN_ENDURING, DOMAIN_EPICUREAN, DOMAIN_EVANGELISM, DOMAIN_EVASIVE, DOMAIN_EVOCATION, DOMAIN_FITNESS, DOMAIN_FOOLISHNESS, DOMAIN_GATHERINGSKILL, DOMAIN_GRAPPLING, DOMAIN_HEALING, DOMAIN_HOLYPROTECTION, DOMAIN_ILLUSION, DOMAIN_INFLUENTIAL, DOMAIN_KICKING, DOMAIN_LEGAL, DOMAIN_MARTIALLORE, DOMAIN_MOONALTERING, DOMAIN_MOONSUMMONING, DOMAIN_NATURELORE, DOMAIN_NEUTRALIZATION, DOMAIN_PLANTCONTROL, DOMAIN_PLANTGROWTH, DOMAIN_PLAYING, DOMAIN_POISONING, DOMAIN_PRESERVING, DOMAIN_PUNCHING, DOMAIN_RACIALABILITY, DOMAIN_RESTORATION, DOMAIN_ROCKCONTROL, DOMAIN_SEATRAVEL, DOMAIN_SHAPE_SHIFTING, DOMAIN_SHIELDUSE, DOMAIN_SINGING, DOMAIN_STEALING, DOMAIN_STEALTHY, DOMAIN_STREETSMARTS, DOMAIN_THEATRE, DOMAIN_TRANSMUTATION, DOMAIN_TRAPPING, DOMAIN_VERBS, DOMAIN_VEXING, DOMAIN_WARDING, DOMAIN_WATERCONTROL, DOMAIN_WATERLORE, DOMAIN_WEAPON_USE, DOMAIN_WEATHER_MASTERY, FLAG_ADJUSTER, FLAG_AGGROFYING, FLAG_AIRBASED, FLAG_BINDING, FLAG_CASTER, FLAG_CHARMING, FLAG_CLANMAGIC, FLAG_DESCS, FLAG_EARTHBASED, FLAG_ENABLER, FLAG_FIREBASED, FLAG_HEALINGMAGIC, FLAG_HEATING, FLAG_HOLY, FLAG_IMMUNER, FLAG_INTOXICATING, FLAG_MINDALTERING, FLAG_MOVING, FLAG_NEUTRAL, FLAG_NOORDERING, FLAG_NOUNINVOKING, FLAG_PARALYZING, FLAG_POTENTIALLY_DEADLY, FLAG_RESISTER, FLAG_SUMMONING, FLAG_SUNSUMMONING, FLAG_TIDEALTERING, FLAG_TORTURING, FLAG_TRACKING, FLAG_TRANSPORTING, FLAG_UNCRAFTABLE, FLAG_UNHOLY, FLAG_WATERBASED, FLAG_WEATHERAFFECTING, FLAG_ZAPPER, QUALITY_BENEFICIAL_OTHERS, QUALITY_BENEFICIAL_SELF, QUALITY_DESCS, QUALITY_INDIFFERENT, QUALITY_MALICIOUS, QUALITY_OK_OTHERS, QUALITY_OK_SELF, RANGE_CHOICES, TICKS_ALMOST_FOREVER, TICKS_FOREVER, USAGE_DESCS, USAGE_HITPOINTS, USAGE_MANA, USAGE_MOVEMENT, USAGE_NADA, USAGEINDEX_HITPOINTS, USAGEINDEX_MANA, USAGEINDEX_MOVEMENT
 
Fields inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
STATUS_AFFECT, STATUS_ALIVE, STATUS_BEHAVIOR, STATUS_CLASS, STATUS_DEAD, STATUS_END, STATUS_FIGHT, STATUS_MISC, STATUS_MISC2, STATUS_MISC3, STATUS_MISC4, STATUS_MISC5, STATUS_MISC6, STATUS_MISC7, STATUS_NOT, STATUS_OTHER, STATUS_RACE, STATUS_REBIRTH, STATUS_SCRIPT, STATUS_START, STATUS_WEATHER, TICKID_AREA, TICKID_BEAMWEAPON, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_ELECTRONICS, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MISCELLANEOUS, TICKID_MOB, TICKID_PROPERTY_SPECIAL, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SOLITARYMASK, TICKID_SPECIALCOMBAT, TICKID_SPECIALMANEUVER, TICKID_SPELL_AFFECT, TICKID_SUPPORT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET
 
Method Summary
 java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets(boolean forceLevels)
          Crafts every item of a type supported by this class of every supported material.
 java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets(int material, boolean forceLevels)
          Crafts every item of a type supported by this class of the given resource code.
 ItemCraftor.ItemKeyPair craftAnyItem(int material)
          Crafts a random item of a type supported by this class of the given resource code.
 ItemCraftor.ItemKeyPair craftItem(java.lang.String recipeName)
          Crafts the item specified by the recipe name, of a supported material type which this class can produce.
 ItemCraftor.ItemKeyPair craftItem(java.lang.String recipeName, int material, boolean forceLevels, boolean noSafety)
          Crafts the item specified by the recipe name, of the specified material type which this class can produce or -1 for any material.
 double getItemWeightMultiplier(boolean bundling)
          Returns the ratio of the weight of material used to make an item with this skill versus the item weight when finished
 boolean mayICraft(Item I)
          Returns whether the given item could have been crafted by this skill.
 boolean supportsDeconstruction()
          Returns true if mundane items can be demonstructed into recipes with this skill.
 
Methods inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.CraftorAbility
fetchMyRecipes, fetchRecipes, getDecodedComponentsDescription, getDecodedItemNameAndLevel, matchingRecipeNames, myResources, parametersFile, parametersFormat
 
Methods inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
abilityCode, abstractQuality, accountForYourself, adjustedLevel, affecting, appropriateToMyFactions, autoInvocation, bubbleAffect, canAffect, canAffect, canBeLearnedBy, canBePracticedBy, canBeTaughtBy, canBeUninvoked, canTarget, canTarget, castingQuality, castingTime, checkedCastingCost, classificationCode, combatCastingTime, enchantQuality, externalFiles, flags, getTrainingCost, helpProficiency, invoke, invoke, invoker, isAutoInvoked, isNowAnAutoEffect, makeLongLasting, makeNonUninvokable, practice, preInvoke, proficiency, proficiencyCheck, putInCommandlist, requirements, setAbilityCode, setAffectedOne, setInvoker, setProficiency, startTickDown, teach, triggerStrings, unInvoke, usageCost, usageType
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
description, displayText, expirationDate, image, isGeneric, L, maxRange, minRange, miscTextFormat, Name, rawImage, sameAs, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, setName, text
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
getTickStatus, name, tick
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.StatsAffecting
affectCharState, affectCharStats, affectPhyStats
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.MsgListener
executeMsg, okMessage
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Contingent
amDestroyed, destroy, isSavable, setSavable
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, ID, initializeClass, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Modifiable
getSaveStatIndex, getStat, getStatCodes, isStat, setStat
 

Field Detail

CRAFTING_BRAND_STR_PREFIX

static final java.lang.String CRAFTING_BRAND_STR_PREFIX
The base unlocalized brand added to crafted items

See Also:
Constant Field Values

CRAFTING_BRAND_STR_ANON

static final java.lang.String CRAFTING_BRAND_STR_ANON
The base unlocalized brand added to anonymously crafted items

See Also:
Constant Field Values

CRAFTING_BRAND_STR_NAME

static final java.lang.String CRAFTING_BRAND_STR_NAME
The base unlocalized brand added to named crafted items

See Also:
Constant Field Values
Method Detail

craftAnyItem

ItemCraftor.ItemKeyPair craftAnyItem(int material)
Crafts a random item of a type supported by this class of the given resource code. Returns a vector containing the finished Item. A second element is rare, but will occur when a key is required and also generated.

Parameters:
material - the rawmaterial code to make the item out of
Returns:
a vector of Item(s)

craftAllItemSets

java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets(int material,
                                                         boolean forceLevels)
Crafts every item of a type supported by this class of the given resource code. Each finished item is represented as a vector in the returned vector. The item vector usually only contains the finished item, but a second element will occur when a key is required and also generated.

Parameters:
material - the rawmaterial code to make the item out of
forceLevels - forces crafted item to have a level if it otherwise doesn't
Returns:
a vector of vectors of item(s)

craftAllItemSets

java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets(boolean forceLevels)
Crafts every item of a type supported by this class of every supported material. Each finished item is represented as a vector in the returned vector. The item vector usually only contains the finished item, but a second element will occur when a key is required and also generated.

Parameters:
forceLevels - forces crafted item to have a level if it otherwise doesn't
Returns:
a vector of vectors of item vector(s)

craftItem

ItemCraftor.ItemKeyPair craftItem(java.lang.String recipeName)
Crafts the item specified by the recipe name, of a supported material type which this class can produce. Returns a vector containing the finished Item. A second element is rare, but will occur when a key is required and also generated.

Parameters:
recipeName - the name of the item to make
Returns:
a vector of Item(s)

craftItem

ItemCraftor.ItemKeyPair craftItem(java.lang.String recipeName,
                                  int material,
                                  boolean forceLevels,
                                  boolean noSafety)
Crafts the item specified by the recipe name, of the specified material type which this class can produce or -1 for any material. Returns a vector containing the finished Item. A second element is rare, but will occur when a key is required and also generated.

Parameters:
recipeName - the name of the item to make
material - the rawmaterial code to make the item out of, or -1
forceLevels - forces crafted item to have a level if it otherwise doesn't
noSafety - whether normal safeguards against creating broken items are overridden
Returns:
a vector of Item(s)

mayICraft

boolean mayICraft(Item I)
Returns whether the given item could have been crafted by this skill.

Parameters:
I - the item to examine
Returns:
true if the item is consistent with this crafting, or false otherwise

supportsDeconstruction

boolean supportsDeconstruction()
Returns true if mundane items can be demonstructed into recipes with this skill.

Returns:
true if mundane items can be demonstructed into recipes with this skill.

getItemWeightMultiplier

double getItemWeightMultiplier(boolean bundling)
Returns the ratio of the weight of material used to make an item with this skill versus the item weight when finished

Parameters:
bundling - true if the item being created is just a raw resource bundle
Returns:
the ratio of the weight of material used to make an item with this