com.planet_ink.coffee_mud.Abilities.interfaces
Interface ItemCraftor

All Superinterfaces:
Ability, java.lang.Cloneable, CMObject, java.lang.Comparable<CMObject>, Contingent, Environmental, Modifiable, MsgListener, StatsAffecting, Tickable
All Known Implementing Classes:
Alchemy, Apothecary, Armorsmithing, Baking, Blacksmithing, CageBuilding, Carpentry, ClanCrafting, Cobbling, Cooking, Costuming, Distilling, EnhancedCraftingSkill, Fletching, FoodPrep, GlassBlowing, Herbalism, InstrumentMaking, JewelMaking, LeatherWorking, MasterArmorsmithing, MasterCostuming, MasterLeatherWorking, MasterTailoring, MasterWeaponsmithing, Paladin_CraftHolyAvenger, PaperMaking, Pottery, ScrimShaw, ScrollScribing, Sculpting, Shipwright, Tailoring, Torturesmithing, Wainwrighting, Weaponsmithing, Weaving

public interface ItemCraftor
extends Ability

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
 
Fields inherited from interface com.planet_ink.coffee_mud.Abilities.interfaces.Ability
ACODE_CHANT, ACODE_COMMON_SKILL, ACODE_DESCS, ACODE_DISEASE, ACODE_LANGUAGE, ACODE_POISON, ACODE_PRAYER, ACODE_PROPERTY, ACODE_SKILL, ACODE_SONG, ACODE_SPELL, ACODE_SUPERPOWER, ACODE_THIEF_SKILL, ACODE_TRAP, ALL_ACODES, ALL_DOMAINS, CAN_AREAS, CAN_DESCS, CAN_EXITS, CAN_ITEMS, CAN_MOBS, CAN_ROOMS, 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_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_ENCHANTMENT, DOMAIN_ENDURING, 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_SHAPE_SHIFTING, DOMAIN_SHIELDUSE, DOMAIN_SINGING, DOMAIN_STEALING, DOMAIN_STEALTHY, DOMAIN_STREETSMARTS, DOMAIN_TRANSMUTATION, DOMAIN_TRAPPING, DOMAIN_VERBS, DOMAIN_VEXING, DOMAIN_WARDING, DOMAIN_WEAPON_USE, DOMAIN_WEATHER_MASTERY, FLAG_AIRBASED, FLAG_BINDING, FLAG_CHARMING, FLAG_CLANMAGIC, FLAG_DESCS, FLAG_EARTHBASED, FLAG_FIREBASED, FLAG_HEALINGMAGIC, FLAG_HEATING, FLAG_HOLY, FLAG_INTOXICATING, FLAG_MOVING, FLAG_NOORDERING, FLAG_PARALYZING, FLAG_SUMMONING, FLAG_TRACKING, FLAG_TRANSPORTING, FLAG_UNHOLY, FLAG_WATERBASED, FLAG_WEATHERAFFECTING, QUALITY_BENEFICIAL_OTHERS, QUALITY_BENEFICIAL_SELF, QUALITY_DESCS, QUALITY_INDIFFERENT, QUALITY_MALICIOUS, QUALITY_OK_OTHERS, QUALITY_OK_SELF, RANGE_CHOICES, 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_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MOB, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SPELL_AFFECT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET, TICKMASK_SOLITARY
 
Method Summary
 java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets()
          Crafts every item of a type supported by this class of every supported material.
 java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets(int material)
          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 recipe)
          Crafts the item specified by the recipe name, of a supported material type which this class can produce.
 ItemCraftor.ItemKeyPair craftItem(java.lang.String recipe, int material)
          Crafts the item specified by the recipe name, of the specified material type which this class can produce.
 java.util.List<java.util.List<java.lang.String>> fetchRecipes()
          A Vector containing an entry for each craftable recipe Each craftable recipe is also a vector of strings.
 java.util.List<java.util.List<java.lang.String>> matchingRecipeNames(java.lang.String recipeName, boolean beLoose)
          Returns a vector containing an entry for each craftable recipe whose name matches the given name.
 java.util.List<java.lang.Integer> myResources()
          Returns a Vector of Integer objects where each Integer is a fully qualified RawMaterial code.
 java.lang.String parametersFile()
          A String naming the file where the recipes are found
 java.lang.String parametersFormat()
          A String containing the format of each entry in the parameter file in a recipe.
 
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, checkedCastingTime, classificationCode, clearExpertiseCache, combatCastingTime, enchantQuality, externalFiles, flags, getTicksBetweenCasts, helpProficiency, invoke, invoke, invoker, isAutoInvoked, isNowAnAutoEffect, makeLongLasting, makeNonUninvokable, practice, practicesRequired, preInvoke, proficiency, proficiencyCheck, putInCommandlist, requirements, setAbilityCode, setAffectedOne, setInvoker, setProficiency, setSavable, startTickDown, teach, trainsRequired, triggerStrings, unInvoke, usageCost, usageType
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Environmental
description, displayText, expirationDate, image, isGeneric, maxRange, minRange, miscTextFormat, name, Name, rawImage, sameAs, setDescription, setDisplayText, setExpirationDate, setImage, setMiscText, setName, text
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
getTickStatus, 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
 
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
 

Method Detail

fetchRecipes

java.util.List<java.util.List<java.lang.String>> fetchRecipes()
A Vector containing an entry for each craftable recipe Each craftable recipe is also a vector of strings.

Returns:
a vector of vectors

parametersFormat

java.lang.String parametersFormat()
A String containing the format of each entry in the parameter file in a recipe.

Returns:
a String showing the format of each entry in the parameter file

parametersFile

java.lang.String parametersFile()
A String naming the file where the recipes are found

Returns:
a String naming the file where the recipes are found

matchingRecipeNames

java.util.List<java.util.List<java.lang.String>> matchingRecipeNames(java.lang.String recipeName,
                                                                     boolean beLoose)
Returns a vector containing an entry for each craftable recipe whose name matches the given name. Each entry is also a vector.

Parameters:
recipeName - the name of the recipe to craft
beLoose - whether to be specific or "loose" with name matching
Returns:
a vector of vectors

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)
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
Returns:
a vector of vectors of item(s)

craftAllItemSets

java.util.List<ItemCraftor.ItemKeyPair> craftAllItemSets()
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.

Returns:
a vector of vectors of item vector(s)

craftItem

ItemCraftor.ItemKeyPair craftItem(java.lang.String recipe)
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:
recipe - the name of the item to make
Returns:
a vector of Item(s)

craftItem

ItemCraftor.ItemKeyPair craftItem(java.lang.String recipe,
                                  int material)
Crafts the item specified by the recipe name, of the specified 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:
recipe - the name of the item to make
material - the rawmaterial code to make the item out of
Returns:
a vector of Item(s)

myResources

java.util.List<java.lang.Integer> myResources()
Returns a Vector of Integer objects where each Integer is a fully qualified RawMaterial code.

Returns:
a vector of integers
See Also:
RawMaterial