tModLoader v2024.11
A mod to make and play Terraria mods
ItemID.Sets Class Reference

Classes

class  SandgunAmmoInfo
 Used in SandgunAmmoProjectileData. More...
 

Static Public Attributes

static bool[] AlsoABuildingItem = Factory.CreateBoolSet(3031, 205, 1128, 207, 206, 3032, 849, 3620, 509, 851, 850, 3625, 510, 1071, 1543, 1072, 1544, 1100, 1545, 4820, 4872, 5303, 5304, 5302, 5364)
 Unused.
If true for a given item type (Item.type), then that item can manipulate tiles in some way.
Includes buckets, wrenches, etc.
Defaults to false.
 
static bool[] AnimatesAsSoul = Factory.CreateBoolSet(575, 547, 520, 548, 521, 549, 3580, 3581)
 If true for a given item type (Item.type), then that item will animate in the inventory and world.
Items in this set must register an animation using Main.RegisterItemAnimation(int, DrawAnimation).
Defaults to false.
 
static BannerEffect[] BannerStrength = Factory.CreateCustomSet(new BannerEffect(1f), (short)3838, DD2BannerEffect, (short)3845, DD2BannerEffect, (short)3837, DD2BannerEffect, (short)3844, DD2BannerEffect, (short)3843, DD2BannerEffect, (short)3839, DD2BannerEffect, (short)3840, DD2BannerEffect, (short)3842, DD2BannerEffect, (short)3841, DD2BannerEffect, (short)3846, DD2BannerEffect)
 Determines the BannerEffect of the banner id associated with the given item type (Item.type).
Defaults to a full-strength BannerEffect (new BannerEffect(1f)).
 
static float[] BonusAttackSpeedMultiplier = Factory.CreateFloatSet(1f, 1827f, 0.5f, 3013f, 0.25f, 3106f, 0.33f, 757f, 0.75f)
 Determines the multiplier that applies to the given item type's (Item.type) attack speed.
A value of 0f doesn't scale attack speed at all. Values > 1f increase the effects of attack speed multipliers, values < 1f decrease the effects.
Defaults to 1f. More...
 
static bool[] BossBag = Factory.CreateBoolSet(3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3860, 3861, 3862, 4782, 4957, 5111)
 Set for all boss bags. Causes bags to drop dev armor and creates a glow around the item when dropped in the world.
If your bag is pre-hardmode, don't forget to use the PreHardmodeLikeBossBag set in conjunction with this one.
 
static bool[] CanBePlacedOnWeaponRacks = Factory.CreateBoolSet(3196, 166, 235, 3115, 167, 2896, 3547, 580, 937, 4423, 4824, 4825, 4826, 4827, 4908, 4909, 4094, 4039, 4092, 4093, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, 4597, 4598, 905, 1326, 5335, 3225, 2303, 2299, 2290, 2317, 2305, 2304, 2313, 2318, 2312, 2306, 2308, 2319, 2314, 2302, 2315, 2307, 2310, 2301, 2298, 2316, 2309, 2321, 2297, 2300, 2311, 2420, 2438, 2437, 2436, 4401, 4402, 2475, 2476, 2450, 2477, 2478, 2451, 2479, 2480, 2452, 2453, 2481, 2454, 2482, 2483, 2455, 2456, 2457, 2458, 2459, 2460, 2484, 2472, 2461, 2462, 2463, 2485, 2464, 2465, 2486, 2466, 2467, 2468, 2487, 2469, 2488, 2470, 2471, 2473, 2474, 4393, 4394)
 If true for a given item type (Item.type), then that item can be placed into TileID.WeaponsRack2.
Defaults to false. More...
 
static ? bool[] CanBeQuickusedOnGamepad
 If true for a given item type (Item.type), then that item can always be quick-used on gamepads.
If false for a given item type, then that item can never be quick-used on gamepads.
If null for a given item type, then vanilla decides if that item can be quick used on gamepads.
Defaults to null. More...
 
static bool[] CanFishInLava = Factory.CreateBoolSet(2422)
 If true for a given item type (Item.type), then fishing rods (Item.fishingPole > 0) of that type will be able to catch items in lava.
Defaults to false.
 
static bool[] CanGetPrefixes = Factory.CreateBoolSet(true, 267, 1307, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 576, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1963, 1964, 1965, 2742, 3044, 3235, 3236, 3237, 3370, 3371, 3796, 3869, 4077, 4078, 4079, 4080, 4081, 4082, 4237, 4356, 4357, 4358, 4421, 4606, 4979, 4985, 4990, 4991, 4992, 5006, 5014, 5015, 5016, 5017, 5018, 5019, 5020, 5021, 5022, 5023, 5024, 5025, 5026, 5027, 5028, 5029, 5030, 5031, 5032, 5033, 5034, 5035, 5036, 5037, 5038, 5039, 5040, 5044, 5112, 5362)
 If true for a given item type (Item.type), then that item is allowed to receive prefixes.
Defaults to true. More...
 
static bool[] CatchingTool
 Set for catching tools (bug net-type items which can catch critters).
If you want your catching tool to be able to catch the Underworld's lava critters, don't forget to use the LavaproofCatchingTool set in conjunction with this one. More...
 
static int[] CoinLuckValue
 Set for defining how much coin luck according to its stack this item gives to nearby players when thrown into shimmer (Entity.shimmerWet).
Includes the 4 vanilla coin types by default. The value represents the "price" of the currency in copper coins. For other items, default value is 0, which means it will not give coin luck.
More...
 
static bool[] ColorfulDyeValues = new bool[0]
 If true for a given shader id, then that shader does not change the color of whatever it is applied to.
Do not manually add values to this set. Values in this set are generated using the item types (Item.type) in NonColorfulDyeItems.
 
static bool[] CommonCoin = Factory.CreateBoolSet(71, 72, 73, 74)
 If true for a given item type (Item.type), then that item will sometimes be treated as a coin. It will not show up as loot in the Bestiary.
Defaults to false. More...
 
static int[][] CraftingRecipeIndices
 Indicates that this item is the result of at least 1 recipe that isn't disabled or set to not decraftable. The value corresponds to the index of the Recipe that results in this item in Main.recipe array. Inner array contains multiple results for multiple recipes in order of creation
 
static int DefaultKillsForBannerNeeded = 50
 The default number of NPC kills required to obtain the NPC's respective banner.
 
static bool[] Deprecated = Factory.CreateBoolSet(2783, 2785, 2782, 2773, 2775, 2772, 2778, 2780, 2777, 3463, 3465, 3462, 2881, 3847, 3848, 3849, 3850, 3851, 3850, 3861, 3862, 4010, 4058, 5013, 4722, 3978)
 If true for a given item type (Item.type), then that item cannot exist normally: It will be destroyed at the end of Item.SetDefaults(int).
Defaults to false.
 
static bool[] DisableAutomaticPlaceableDrop = Factory.CreateBoolSet(false)
 Set to true to ignore this Item when determining Tile or Wall drops automatically from Item.createTile and Item.createWall. Use this for any item that places the same Tile/Wall as another item, but shouldn't be retrieved when mined. For example, an "infinite" version of a placement item would set this, allowing the non-infinite version to be used reliably as the drop.
Also use this for any item which places a tile that doesn't return that same item when mined. Herb Seeds, for example, don't necessarily drop from Herb plants.
 
static bool[] DrawUnsafeIndicator = Factory.CreateBoolSet(false, 5363, 5365, 5366, 5367, 5368, 5369, 5370, 5371, 5372, 5373, 5376, 5375, 5374, 3988, 5384)
 If true for a given item type (Item.type), then that item will have a small skull icon (ExtrasID.UnsafeIndicator) drawn over them in the world and in inventories.
Defaults to false.
 
static Color[][] DrinkParticleColors
 If non-empty for a given item type (Item.type), then that item will create translucent particles of the retrieved colors when used.
Particles created by this set will drop downwards.
Defaults to Array.Empty<Color>. More...
 
static bool[] DuplicationMenuToolsFilter
 Indicates that an item is to be filtered under the "Tools" filter in Journey Mode's duplication menu.
Useful for manually setting an item to be filtered under the "Tools" filter, if your item does not meet the automatic criteria for the "Tools" filter.
See the code of GameContent.Creative.ItemFilters.Tools.FitsFilter(Item) to check if your item meets the automatic criteria.
 
static bool[] ExoticPlantsForDyeTrade = Factory.CreateBoolSet(3385, 3386, 3387, 3388)
 If true for a given item type (Item.type), then that item can be traded with the NPCID.DyeTrader in exchange for strange dyes.
Defaults to false.
 
static int[] ExtractinatorMode = Factory.CreateIntSet(-1, 424, 0, 1103, 0, DesertFossil, DesertFossil, TinCan, OldShoe, FishingSeaweed, OldShoe, OldShoe, OldShoe, LavaMoss, LavaMoss, ArgonMoss, LavaMoss, KryptonMoss, LavaMoss, XenonMoss, LavaMoss, VioletMoss, LavaMoss, RainbowMoss, LavaMoss)
 Indicates which extractinator type an item belongs to. An extractType of 0 represents the default extraction (Silt and Slush). 0, ItemID.DesertFossil, ItemID.OldShoe, and ItemID.LavaMoss are vanilla extraction types. Modded types by convention will correspond to the iconic item of the extraction type. The Extractinator wiki pagehas more info. Use this in conjunction with ModItem.ExtractinatorUse(int, ref int, ref int) or GlobalItem.ExtractinatorUse(int, int, ref int, ref int). Defaults to -1.
 
static SetFactory Factory = new SetFactory(ItemLoader.ItemCount)
 Used for creating sets indexed by item type (Item.type).
 
static FlowerPacketInfo[] flowerPacketInfo
 If not null for a given item type (Item.type), then that item will place special tile styles on grass when used. See FlowerPacketInfo for more info.
Defaults to null.
 
static Color[][] FoodParticleColors
 If non-empty for a given item type (Item.type), then that item will create solid particles of the retrieved colors when used.
Particles created by this set will fly outwards.
Defaults to Array.Empty<Color>. More...
 
static ? bool[] ForceConsumption
 If true for a given item type (Item.type), then that item will always be consumed on use if Item.consumable is true.
If false for a given item type, then that item will never be consumed on use if Item.consumable is true.
If null for a given item type, then vanilla decides if that item will be consumed on use if Item.consumable is true.
Defaults to null. More...
 
static ? bool[] ForcesBreaksSleeping
 If true for a given item type (Item.type), then that item will always forcibly wake up any players who use it.
If false for a given item type, then that item will never forcibly wake up any players who use it.
If null for a given item type, then vanilla decides if that item forcibly wake up any players who use it.
Defaults to null. More...
 
static int[] GamepadExtraRange = Factory.CreateIntSet(0, 2797, 20, 3278, 4, 3285, 6, 3279, 8, 3280, 8, 3281, 9, 3262, 10, 3317, 10, 5294, 10, 3282, 10, 3315, 10, 3316, 11, 3283, 12, 3290, 13, 3289, 11, 3284, 13, 3286, 13, 3287, 18, 3288, 18, 3291, 17, 3292, 18, 3389, 21)
 Determines the extra range (in tile coordinates) that an item of the given item type (Item.type) can be used in when using a controller.
Defaults to 0. More...
 
static bool[] GamepadSmartQuickReach = Factory.CreateBoolSet(2798, 2797, 3030, 3262, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3315, 3316, 3317, 5294, 3389, 2798, 65, 1931, 3570, 2750, 3065, 3029, 4956, 5065, 1256, 1244, 3014, 113, 218, 495)
 Unused.
Defaults to false.
 
static bool[] GamepadWholeScreenUseRange = Factory.CreateBoolSet(1326, 5335, 1256, 1244, 3014, 113, 218, 495, 114, 496, 2796, 494, 3006, 65, 1931, 3570, 2750, 3065, 3029, 3030, 4381, 4956, 5065, 1309, 2364, 2365, 2551, 2535, 2584, 1157, 2749, 1802, 2621, 3249, 3531, 3474, 2366, 1572, 3569, 3571, 4269, 4273, 4281, 5119, 3611, 1299, 1254)
 If true for a given item type (Item.type), then holding that item will allow the player to move the gamepad cursor anywhere on screen.
Defaults to false.
 
static Dictionary< int,(int minStack, int maxStack)> GeodeDrops
 Dictionary for defining what items will drop from a ProjectileID.Geode when broken. All items in this dictionary are equally likely to roll, and will drop with a stack size between minStack and maxStack (exclusive).
Stack sizes with less than 1 or where minStack is not strictly smaller than maxStack will lead to exceptions being thrown. More...
 
static bool[] Glowsticks = Factory.CreateBoolSet(282, 286, 3002, 3112, 4776)
 If true for a given item type (Item.type), then that item is a glowstick.
Glowsticks work underwater and will be auto-selected by Smart Cursor when the cursor is far away from the player.
Defaults to false.
 
static bool[] GrassSeeds = Factory.CreateBoolSet(false, 62, 59, 2171, 369, 195, 194, 5214)
 Only checked for vanilla IDs.
If true for a given item type (Item.type), then that item can be placed using Smart Cursor on dirt.
Additionally, those items cannot be used when trying to smart-place blocks.
Defaults to false.
 
static bool[] gunProj = Factory.CreateBoolSet(3475, 3540, 3854, 3930)
 If true for a given item type (Item.type), then that item shoot projectiles that manually handle shooting.
This is usually used to create animated weapons like the VortexBeater.
Defaults to false.
 
static bool[] HasAProjectileThatHasAUsabilityCheck = Factory.CreateBoolSet(false, 4367, 4368, 4369, 4370, 4371, 4379, 4610, 4611, 4612, 4613, 4648, 4649, 4650, 4651, 4669, 4670, 4671, 4674, 4675, 4676, 4677, 4681, 4683, 4684)
 If true for a given item type (Item.type), then that item will run Projectile.CheckUsability(Player, ref bool) on every Projectile the using Player owns before usage is attempted.
Defaults to false.
 
static bool[] IgnoresEncumberingStone = Factory.CreateBoolSet(58, 184, 1734, 1735, 1867, 1868, 3453, 3454, 3455, 4143)
 If true for a given item type (Item.type), then that item will always be allowed to be picked up, even if Player.preventAllItemPickups is true.
Defaults to false.
 
static bool[] IsAKite = Factory.CreateBoolSet(false, 4367, 4368, 4369, 4370, 4371, 4379, 4610, 4611, 4612, 4613, 4648, 4649, 4650, 4651, 4669, 4670, 4671, 4674, 4675, 4676, 4677, 4681, 4683, 4684)
 If true for a given item type (Item.type), then that item is a kite.
Kites cannot be used if a player is on a rope (Player.pulley).
Kites are held out using ItemHoldStyleID.HoldFront if their projectile is active and not held out at all if it is not.
Defaults to false.
 
static bool[] IsAMaterial = Factory.CreateBoolSet()
 Indicates that an item should show the material tooltip. Typically this means that the item is used in at least 1 recipe, but some items such as coins and void bag hide the tooltip for aesthetic reasons.
 
static bool[] IsAPickup = Factory.CreateBoolSet(58, 184, 1734, 1735, 1867, 1868, 3453, 3454, 3455)
 If true for a given item type (Item.type), then that item cannot show up as Bestiary loot and can always be picked up by the player.
Defaults to false. More...
 
static bool[] IsChainsaw = Factory.CreateBoolSet(387, 3098, 1232, 383, 384, 2778, 1197, 1190, 2783, 3463, 1204, 2773, 2342, 579)
 If true for a given item type (Item.type), then that item is a chainsaw.
Chainsaws have 40% faster use times (Item.useTime, Item.useAnimation) and 1 less tile reach (Item.tileBoost) than what are set in Item.SetDefaults(int).
Defaults to false. More...
 
static bool[] IsDrill = Factory.CreateBoolSet(388, 1231, 385, 386, 2779, 1196, 1189, 2784, 3464, 1203, 2774, 579)
 If true for a given item type (Item.type), then that item is a drill.
Drills have 40% faster use times (Item.useTime, Item.useAnimation) and 1 less tile reach (Item.tileBoost) than what are set in Item.SetDefaults(int).
Defaults to false. More...
 
static bool[] IsFishingCrate = Factory.CreateBoolSet(2334, 2335, 2336, 3203, 3204, 3205, 3206, 3207, 3208, 4405, 4407, 4877, 5002, 3979, 3980, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 4406, 4408, 4878, 5003)
 Only checked for vanilla IDs, but encouraged to set it on your modded crates for potential cross-mod support
 
static bool[] IsFishingCrateHardmode = Factory.CreateBoolSet(3979, 3980, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 4406, 4408, 4878, 5003)
 
static bool[] IsFood = Factory.CreateBoolSet(353, 357, 1787, 1911, 1912, 1919, 1920, 2266, 2267, 2268, 2425, 2426, 2427, 3195, 3532, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4025, 4026, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 967, 969, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, 4295, 4296, 4297, 4403, 4411, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 5009, 5042, 5041, 5092, 5093, 5275, 5277, 5278)
 If true for a given item type (Item.type), then that item is food.
Food items can be placed onto TileID.FoodPlatters, have a Item.holdStyle of ItemHoldStyleID.HoldFront, hide shields (Item.shieldSlot) when held,
Food item sprites must have 3 frames. The required framing code is automatically initialized. More...
 
static bool[] IsLavaBait = Factory.CreateBoolSet(4849, 4845, 4847)
 If true for a given item type (Item.type), then bait (Item.bait > 0) of that type can be used to catch items in lava.
Additionally, any catchable NPCs that drop the given item type (NPC.catchItem) will inflict BuffID.OnFire on the catching player if not using a lava-proof tool (LavaproofCatchingTool).
Defaults to false.
 
static bool[] IsLavaImmuneRegardlessOfRarity = Factory.CreateBoolSet(false, 318, 312, 173, 174, 175, 4422, 2701, 205, 206, 207, 1128, 2340, 2739, 2492, 1127, 85)
 If true for a given item type (Item.type), then that item will not burn when dropped in lava, even if it has a Item.rare of ItemRarityID.White.
Defaults to false. More...
 
static bool[] IsPaintScraper = Factory.CreateBoolSet(1100, 1545)
 If true for a given item type (Item.type), then that item is a paint scraper.
Paint scrapers can scrape paint off of tiles and collect moss from TileID.LongMoss.
Defaults to false.
 
static bool[] IsRangedSpecialistWeapon
 If true, the item counts as a specialist weapon.
Used for Shroomite Helmet damage buffs (and other effects that will affect Player.specialistDamage).
More...
 
static bool[] IsSpaceGun = Factory.CreateBoolSet(false, SpaceGun, ZapinatorGray, ZapinatorOrange)
 Set to true to make this Item set its mana cost to 0 whenever Player.spaceGun is set to true.
 
static bool[] ItemIconPulse = Factory.CreateBoolSet(520, 521, 575, 549, 548, 547, 3456, 3457, 3458, 3459, 3580, 3581)
 If true for a given item type (Item.type), then that item will visually pulse when drawn.
Additionally, any light this item produces when in the world will also pulse.
Defaults to false.
 
static bool[] ItemNoGravity = Factory.CreateBoolSet(520, 521, 575, 549, 548, 547, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3580, 3581, 4143)
 If true for a given item type (Item.type), then that item will float in place instead of falling when dropped into the world.
Defaults to false.
 
static int[] ItemsForStuffCannon
 The list of valid item types (Item.type) to be thrown by the NPCID.BigMimicJungle.
 
static int[] ItemSpawnDecaySpeed = Factory.CreateIntSet(1, 58, 4, 184, 4, 1867, 4, 1868, 4, 1734, 4, 1735, 4)
 Determines the decay speed of the given item type (Item.type). See Item.timeSinceItemSpawned for more info.
Defaults to 1.
 
static bool[] ItemsThatAllowRepeatedRightClick = Factory.CreateBoolSet(false, 3384, 3858, 3852)
 If true for a given item type (Item.type), then that item has a right-click features that can be auto-reused as long as the right mouse button is held.
Defaults to false.
 
static List< int > ItemsThatAreProcessedAfterNormalContentSample
 The list of items processed after normal items in ContentSamples.Initialize.
Used for the biome keys, as the old biome key molds interfere with the keys' data in ContentSamples.ItemPersistentIdsByNetIds and ContentSamples.ItemNetIdsByPersistentIds. More...
 
static bool[] ItemsThatCountAsBombsForDemolitionistToSpawn = Factory.CreateBoolSet(false, 168, 2586, 3116, 166, 235, 3115, 167, 2896, 3547, 3196, 4423, 1130, 1168, 4824, 4825, 4826, 4827, 4908, 4909)
 If true for a given item type (Item.type), then the NPCID.Demolitionist can move in as long as any player has an item of that type in their inventory.
Defaults to false.
 
static bool[] ItemsThatShouldNotBeInInventory = Factory.CreateBoolSet(false, 58, 184, 1734, 1735, 1867, 1868, 3453, 3454, 3455, 5013)
 If true for a given item type (Item.type), then that item will be deleted from inventories on world or player load.
Defaults to false.
 
static int[] KillsToBanner = Factory.CreateIntSet(DefaultKillsForBannerNeeded, 3838, 1000, 3845, 200, 3837, 500, 3844, 200, 3843, 50, 3839, 150, 3840, 100, 3842, 200, 3841, 100, 3846, 50, 2971, 150, 2982, 150, 2931, 100, 2961, 100, 2994, 100, 2985, 10, 4541, 10, 2969, 10, 2986, 10, 2915, 10, 4602, 10, 4542, 25, 4543, 25, 4546, 25, 4545, 25, 2901, 25, 2902, 25, 1631, 25, 2913, 25, 4688, 25, 3390, 25, 4973, 25, 4974, 25, 4975, 25, 2934, 25, 1670, 25, 1694, 25, 2958, 25, 2960, 25, 3441, 25, 3780, 25, 3397, 25, 3403, 25)
 Determines the number of NPC of the corresponding BannerID that are required to be killed to obtain the given banner item type (Item.type).
Defaults to DefaultKillsForBannerNeeded (50). This is also used to determine how many kills are needed to fully unlock the Bestiary entry for each NPC type using the corresponding BannerID, although Bestiary kill counts are tracked individually for each NPC type instead of sharing a kill count with all other NPC types using the same BannerID as they do for banner dropping purposes.
 
static bool[] LavaproofCatchingTool
 Set for catching tools which can catch the Underworld's lava critters.
Don't forget to use the CatchingTool set in conjunction with this one. More...
 
static int[] LockOnAimAbove = Factory.CreateIntSet(0, 1256, 15, 1244, 15, 3014, 15, 3569, 15, 3571, 15)
 If != 0 for a given item type (Item.type), then that item will lock-on several tiles above the selected target, up to a maximum of the retrieved value.
Defaults to 0.
 
static ? float[] LockOnAimCompensation
 If not null for the given item type (Item.type), then that item will lock-on slightly offset from the target's position to compensate for its projectile's arc.
The higher the value in this set, the more drastic the compensation. The offset position is slightly above the target and closer to the player.
Defaults to null. More...
 
static bool[] LockOnIgnoresCollision = Factory.CreateBoolSet(64, 3570, 1327, 3006, 1227, 788, 756, 1228, 65, 3065, 3473, 3051, 5065, 1309, 2364, 2365, 2551, 2535, 2584, 1157, 2749, 1802, 2621, 3249, 3531, 3474, 2366, 1572, 4269, 4273, 4281, 4607, 5069, 5114, 5119, 3014, 3569, 3571)
 If true for a given item type (Item.type), then that item can lock-on through solid tiles.
Defaults to false.
 
static bool[] NebulaPickup = Factory.CreateBoolSet(3453, 3454, 3455)
 Do not add items to this set.
If true for a given item type (Item.type), then that item is a Nebula pickup.
Nebula pickups cannot combine with nearby items, spawn with a random velocity, can be picked up from far away, and call Player.NebulaLevelup(int) on pickup.
Defaults to false. More...
 
static bool[] NeverAppearsAsNewInInventory = Factory.CreateBoolSet(71, 72, 73, 74)
 If true for a given item type (Item.type), then that item will never be highlighted (Item.newAndShiny) when picked up, even if the associated setting (UI.ItemSlot.Options.HighlightNewItems) is enabled.
Defaults to false.
 
static List< int > NonColorfulDyeItems
 The list of item types (Item.type) for non-colorful dye effects.
Non-colorful dyes do not change the color of the texture they are applied to, but rather add effects. More...
 
static bool[] OpenableBag = Factory.CreateBoolSet(3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3860, 3861, 3862, 4782, 4957, 5111, 2334, 2335, 2336, 3203, 3204, 3205, 3206, 3207, 3208, 4405, 4407, 4877, 5002, 3979, 3980, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 4406, 4408, 4878, 5003, 3093, 4345, 4410, 1774, 3085, 4879, 1869, 599, 600, 601)
 If true for a given item type (Item.type), then that item can be right-clicked in the inventory.
Defaults to false. More...
 
static Dictionary< int,(int minStack, int maxStack)> OreDropsFromSlime
 Dictionary for defining what ores can spawn as bonus drop inside slime body. All items in this dictionary are equally likely to roll, and will drop with a stack size between minStack and maxStack (inclusive).
Stack sizes with less than 1 or where minStack is not strictly smaller than maxStack will lead to exceptions being thrown. More...
 
static int[] OverflowProtectionTimeOffset = Factory.CreateIntSet(0, 2, 200, 3, 150, 61, 150, 836, 150, 409, 150, 593, 200, 664, 100, 834, 100, 833, 100, 835, 100, 169, 100, 370, 100, 1246, 100, 408, 100, 3271, 150, 3277, 150, 3339, 150, 3276, 150, 3272, 150, 3274, 150, 3275, 150, 3338, 150, 176, 100, 172, 200, 424, 50, 1103, 50, 3087, 100, 3066, 100)
 If != 0 for a given item type (Item.type), then that item will spawn with Item.timeSinceItemSpawned set to the retrieved value.
If == 0 for a given item type, then that item is eligible for spawn protection, which massively decreases Item.timeSinceItemSpawned to prevent natural despawning.
Defaults to 0. More...
 
static bool[] PreHardmodeLikeBossBag
 Set for pre-hardmode boss bags, except it also contains the Queen Slime's Boss Bag. Affects the way dev armor drops function, making it only drop in special world seeds.
Don't forget to use the BossBag set in conjunction with this one. More...
 
static SandgunAmmoInfo[] SandgunAmmoProjectileData
 The projectile type and associated bonus damage for the specified sandgun ammo item (an item with Item.ammo = AmmoID.Sand;). If undefined, the projectile will default to 42 (ProjectileID.SandBallGun), as this is the normal sandgun sand projectile. The bonus damage will default to 0. The projectile shouldn't be your falling sand projectile - you need to create a second projectile for the sandgun. More...
 
static int[] ShimmerCountsAsItem = Factory.CreateIntSet(-1, 5358, 5437, 5361, 5437, 5360, 5437, 5359, 5437, 5455, 5323)
 If != -1 for a given item type (Item.type), then that item will be treated as the retrieved item type when dropped into shimmer (Entity.shimmerWet).
Defaults to -1.
 
static int[] ShimmerTransformToItem = Factory.CreateIntSet(-1, 3460, 947, 947, 1106, 1106, 366, 366, 1105, 1105, 365, 365, 1104, 1104, 364, 364, 702, 702, 13, 13, 701, 701, 14, 14, 700, 700, 11, 11, 699, 699, 12, 12, 3, 3, 2, 182, 178, 178, 179, 179, 177, 177, 180, 180, 181, 181, 3, 4843, 182, 4836, 182, 4842, 178, 4835, 178, 4841, 179, 4834, 179, 4840, 177, 4833, 177, 4832, 180, 4839, 180, 4838, 181, 4831, 181, 4844, 999, 4837, 999, 620, 9, 619, 9, 911, 9, 621, 9, 2503, 9, 2504, 9, 2260, 9, 1729, 9, 5215, 9, 9, 2, 3271, 169, 3272, 169, 3276, 370, 3274, 370, 3339, 408, 3338, 408, 3277, 1246, 3275, 1246, 1127, 1124, 1125, 1124, 4503, 5363, 134, 5417, 137, 5419, 139, 5421, 141, 5423, 143, 5425, 145, 5427, 415, 5429, 416, 5431, 192, 5433, 214, 5435, 135, 5365, 1379, 5367, 1378, 5366, 140, 5368, 1381, 5370, 1380, 5369, 138, 5371, 1383, 5373, 1382, 5372, 1102, 5376, 3340, 5375, 3273, 5374, 664, 593, 3982, 3203, 3983, 3204, 3984, 3205, 3985, 3206, 4406, 4405, 3981, 2336, 3986, 3207, 3980, 2335, 3987, 3208, 4878, 4877, 4408, 4407, 5003, 5002, 3979, 2334, 3064, 5381, 3086, 3081, 3081, 3086, 1534, 1529, 1535, 1530, 1536, 1531, 1537, 1532, 4714, 4712, 1533, 1528, 206, 207, 207, 1128, 1128, 206, 832, 4281, 3818, 3824, 3824, 3832, 3832, 3829, 3829, 3818, 3819, 3825, 3825, 3833, 3833, 3830, 3830, 3819, 3820, 3826, 3826, 3834, 3834, 3831, 3831, 3820, 960, 228, 961, 229, 962, 230, 228, 960, 229, 961, 230, 962, 956, 102, 957, 101, 958, 100, 102, 956, 101, 957, 100, 958, 959, 151, 151, 959, 955, 92, 92, 955, 954, 90, 90, 954, 3093, 4345, 4345, 3093, 215, 5346, 5356, 5346, 3000, 2999, 2999, 3000, 411, 410, 410, 411, 1725, 276, 276, 1725, 2886, 66, 67, 66, 195, 194, 194, 195, 4389, 5128, 4377, 5128, 4378, 5128, 4354, 5128, 5127, 5128, 8, 5353, 427, 5353, 3004, 5353, 523, 5353, 433, 5353, 429, 5353, 974, 5353, 1333, 5353, 1245, 5353, 3114, 5353, 430, 5353, 3045, 5353, 428, 5353, 2274, 5353, 431, 5353, 432, 5353, 4383, 5353, 4384, 5353, 4385, 5353, 4386, 5353, 4387, 5353, 4388, 5353, 5293, 5353, 966, 5357, 52, 5347, 280, 277, 1304, 215, 40, 5348, 265, 5348, 931, 5380, 1614, 5380, 848, 857, 857, 848, 866, 934, 934, 866, 532, 5355, 3225, 159, 3120, 3096, 3096, 3037, 3037, 3120, 2373, 2374, 2374, 2375, 2375, 2373, 855, 3033, 854, 855, 3033, 854, 490, 491, 491, 489, 489, 2998, 2998, 490, 892, 886, 886, 892, 885, 887, 887, 885, 891, 890, 890, 891, 893, 889, 889, 893, 888, 3781, 3781, 888, 1322, 906, 906, 1322, 531, 5336, 29, 5337, 1291, 5338, 109, 5339, 4414, 5340, 2895, 5341, 2222, 5343, 4009, 5342, 4282, 5342, 4290, 5342, 4291, 5342, 4293, 5342, 4286, 5342, 4295, 5342, 4284, 5342, 4289, 5342, 4285, 5342, 4296, 5342, 4292, 5342, 4294, 5342, 4283, 5342, 4287, 5342, 4288, 5342, 4297, 5342, 5278, 5342, 5277, 5342)
 If > 0 for a given item type (Item.type), then that item will transform into the retrieved item type when dropped into shimmer (Entity.shimmerWet).
If <= 0 for a given item type, then that item will attempt to decraft itself.
Defaults to -1.
This takes precedence over both critter items (Item.makeNPC > 0) transforming into NPCs and items decrafting into the ingredients used to craft the item.
 
static bool[] SingleUseInGamepad = Factory.CreateBoolSet(8, 427, 3004, 523, 433, 429, 974, 1333, 1245, 3114, 430, 3045, 428, 2274, 431, 432, 4383, 4384, 4385, 4386, 4387, 4388, 5293, 5353)
 If true for a given item type (Item.type), then that item will be used one per button press when using a gamepad.
Defaults to false. More...
 
static bool[] SkipsInitialUseSound = Factory.CreateBoolSet(false, 2350, 4870)
 If true for a given item type (Item.type), then that item will not play Item.UseSound when first used.
Defaults to false.
 
static int[] SortingPriorityBossSpawns = Factory.CreateIntSet(-1, 43, 1, 560, 2, 70, 3, 1331, 3, 361, 4, 5120, 5, 1133, 5, 4988, 6, 5334, 7, 544, 8, 556, 9, 557, 10, PirateMap, 11, 2673, 12, 602, 13, 1844, 14, 1958, 15, 1293, 16, 2767, 17, 4271, 18, 3601, 19, 1291, 20, 109, 21, 29, 22, 50, 23, 3199, 24, 3124, 25, 5437, 26, 5358, 27, 5359, 28, 5360, 29, 5361, 30, 4263, 31, 4819, 32)
 Determines the sorting order of miscellaneous important items, such as boss/event spawners, permanent stat upgrades, and MagicMirror-like items.
If != -1 for a given item type (Item.type), then that item will fall into the "gameplay" tab of the Journey Mode menu
Defaults to -1.
 
static int[] SortingPriorityExtractibles = Factory.CreateIntSet(-1, 997, 4, 3347, 3, 1103, 2, 424, 1)
 Determines the sorting order of extractible items, such as SiltBlock.
Defaults to -1.
 
static int[] SortingPriorityMaterials = Factory.CreateIntSet(-1, 3467, 100, 3460, 99, 3458, 98, 3456, 97, 3457, 96, 3459, 95, 3261, 94, 1508, 93, 1552, 92, 1006, 91, 947, 90, 1225, 89, 1198, 88, 1106, 87, 391, 86, 366, 85, 1191, 84, 1105, 83, 382, 82, 365, 81, 1184, 80, 1104, 79, 381, 78, 364, 77, 548, 76, 547, 75, 549, 74, 575, 73, 521, 72, 520, 71, 175, 70, 174, 69, 3380, 68, 1329, 67, 1257, 66, 880, 65, 86, 64, 57, 63, 56, 62, 117, 61, 116, 60, 706, 59, 702, 58, 19, 57, 13, 56, 705, 55, 701, 54, 21, 53, 14, 52, 704, 51, 700, 50, 22, 49, 11, 48, 703, 47, 699, 46, 20, 45, 12, 44, 999, 43, 182, 42, 178, 41, 179, 40, 177, 39, 180, 38, 181, 37)
 Determines the sorting order of common materials, such as ores, bars and boss materials.
Defaults to -1.
 
static int[] SortingPriorityPainting = Factory.CreateIntSet(-1, 1543, 100, 1544, 99, 1545, 98, 1071, 97, 1072, 96, 1100, 95)
 Determines the sorting order of painting tools.
If != -1 for a given item type (Item.type), then that item will fall into the ContentSamples.CreativeHelper.ItemGroup.Paint item group.
Defaults to -1.
 
static int[] SortingPriorityRopes = Factory.CreateIntSet(-1, 965, 1, 85, 1, 210, 1, 3077, 1, 3078, 1)
 Determines the sorting order of Rope and similar items.
If != -1 for a given item type (Item.type), then that item cannot be used to block swap.
Defaults to -1.
 
static int[] SortingPriorityTerraforming = Factory.CreateIntSet(-1, 5134, 100, 779, 99, 780, 98, 783, 97, 781, 96, 782, 95, 784, 94, 5392, 93, 5393, 92, 5394, 91, 422, 90, 423, 89, 3477, 88, 66, 67, 67, 86, 2886, 85)
 Determines the sorting order of terraforming tools.
Defaults to -1.
 
static int[] SortingPriorityWiring = Factory.CreateIntSet(-1, 510, 103, 3625, 102, 509, 101, 851, 100, 850, 99, 3612, 98, 849, 97, 4485, 96, 4484, 95, 583, 94, 584, 93, 585, 92, 538, 91, 513, 90, 3545, 90, 853, 89, 541, 88, 529, 88, 1151, 87, 852, 87, 543, 87, 542, 87, 3707, 87, 2492, 86, 530, 85, 581, 84, 582, 84, 1263, 83)
 Determines the sorting order of wiring items.
If != -1 for a given item type (Item.type), then that item will fall into the ContentSamples.CreativeHelper.ItemGroup.Wiring item group.
Defaults to -1.
 
static bool[] Spears
 Set for easily defining weapons as spears.
Only used for vanilla spears to make sure they still scale with attack speed (though it's encouraged to set this for your spears as well, for cross-mod support).
More...
 
static float[] StaffMinionSlotsRequired = Factory.CreateFloatSet(1f)
 How many minion slots one usage of this item will spawn.
This is only used when ProjectileID.Sets.MinionSacrificable[Item.shoot] and Main.projPet are true and when the player tries to summon a new minion.
The retrieved value's worth of minion slots (Projectile.minionSlots) will be killed, if necessary, to make room for the minion projectiles prior to spawning them.
Defaults to 1f. If the value is greater than 1f, make sure to check Player.maxMinions in ModItem.CanUseItem(Player) as well. More...
 
static int[] TextureCopyLoad = Factory.CreateIntSet(-1, 3665, 48, 3666, 306, 3667, 328, 3668, 625, 3669, 626, 3670, 627, 3671, 680, 3672, 681, 3673, 831, 3674, 838, 3675, 914, 3676, 952, 3677, 1142, 3678, 1298, 3679, 1528, 3680, 1529, 3681, 1530, 3682, 1531, 3683, 1532, 3684, 2230, 3685, 2249, 3686, 2250, 3687, 2526, 3688, 2544, 3689, 2559, 3690, 2574, 3691, 2612, 3692, 2613, 3693, 2614, 3694, 2615, 3695, 2616, 3696, 2617, 3697, 2618, 3698, 2619, 3699, 2620, 3700, 2748, 3701, 2814, 3703, 3125, 3702, 3180, 3704, 3181, 3705, 3665, 3706, 3665, 4713, 4712, 5167, 5156, 5188, 5177, 5209, 5198)
 Only checked for vanilla IDs.
If != -1 for the given item type (Item.type), then that item will use the texture of the retrieved item type.
Defaults to -1.
 
static float[] ToolTipDamageMultiplier = Factory.CreateFloatSet(1f, 162f, 2f, 801f, 2f, 163f, 2f, 220f, 2f, 389f, 2f, 1259f, 2f, 4272f, 2f, 5011f, 2f, 5012f, 2f)
 If != 1f for a given item type (Item.type), then that item will have the damage in its tooltip multiplied by the retrieved value. Useful for items with damage values that don't accurately convey the typical damage. Mainly used by flails to show the boosted damage in the launching forward state.
Defaults to 1f.
 
static bool[] Torches = Factory.CreateBoolSet(8, 427, 3004, 523, 433, 429, 974, 1333, 1245, 3114, 430, 3045, 428, 2274, 431, 432, 4383, 4384, 4385, 4386, 4387, 4388, 5293, 5353)
 If true for a given item type (Item.type), then that item is a torch.
Torches can be auto-selected by Smart Cursor.
Vanilla torches have an associated TorchID, which determines what color light they produce when held.
Defaults to false. More...
 
static bool[] TrapSigned = Factory.CreateBoolSet(false, 3665, 3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3686, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3697, 3698, 3699, 3700, 3701, 3703, 3702, 3704, 3705, 3706, 3886, 3887, 3950, 3976, 4164, 4185, 4206, 4227, 4266, 4268, 4585, 4713, 5167, 5188, 5209)
 If true for a given item type (Item.type), then that item will have a small wire icon (GameContent.TextureAssets.Wire) drawn over its sprite.
Defaults to false.
 
static bool[] UsesBetterMeleeItemLocation = Factory.CreateBoolSet(false, 426)
 If true for a given item type (Item.type) and if Item.useStyle == ItemUseStyleID.Swing, then that item will use a slightly offset Player.itemLocation when being used.
Defaults to false.
 
static bool[] UsesCursedByPlanteraTooltip = Factory.CreateBoolSet(false, 1533, 1534, 1535, 1536, 1537, 4714)
 If true for a given item type (Item.type), then that item will display Lang.tip[59] as the first line of its tooltips as long as Plantera has not been defeated (NPC.downedPlantBoss).
This set does not prevent usage pre-Plantera.
Defaults to false.
 
static bool[] WaterTorches = Factory.CreateBoolSet(523, 1333, 4384)
 If true for a given item type (Item.type), then that item is a water torch.
Functionally identical to Torches, but items in this set also function whilst underwater. Make sure to set Torches as well if using this.
Defaults to false.
 
static short[] Workbenches
 The list of item types (Item.type) that correspond to work benches.
Used for the "Benched" achievement.
 
static bool[] WorksInVoidBag = Factory.CreateBoolSet(true, 4346, 5095)
 If true for a given item type (Item.type), then that item will have its in-inventory effects even when contained in the Void Vault (Player.bank4). Defaults to true.
 
static bool[] Yoyo = Factory.CreateBoolSet(3262, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3315, 3316, 3317, 3389, 5294)
 If true for a given item type (Item.type), then holding that item while using a yoyo string (Player.yoyoString) will allow the player to move the gamepad cursor an extra 5 tiles.
Defaults to false. More...
 

Member Data Documentation

◆ BonusAttackSpeedMultiplier

float [] ItemID.Sets.BonusAttackSpeedMultiplier = Factory.CreateFloatSet(1f, 1827f, 0.5f, 3013f, 0.25f, 3106f, 0.33f, 757f, 0.75f)
static

Determines the multiplier that applies to the given item type's (Item.type) attack speed.
A value of 0f doesn't scale attack speed at all. Values > 1f increase the effects of attack speed multipliers, values < 1f decrease the effects.
Defaults to 1f.

See Player.GetWeaponAttackSpeed(Item) for the full calculation.

◆ CanBePlacedOnWeaponRacks

bool [] ItemID.Sets.CanBePlacedOnWeaponRacks = Factory.CreateBoolSet(3196, 166, 235, 3115, 167, 2896, 3547, 580, 937, 4423, 4824, 4825, 4826, 4827, 4908, 4909, 4094, 4039, 4092, 4093, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, 4597, 4598, 905, 1326, 5335, 3225, 2303, 2299, 2290, 2317, 2305, 2304, 2313, 2318, 2312, 2306, 2308, 2319, 2314, 2302, 2315, 2307, 2310, 2301, 2298, 2316, 2309, 2321, 2297, 2300, 2311, 2420, 2438, 2437, 2436, 4401, 4402, 2475, 2476, 2450, 2477, 2478, 2451, 2479, 2480, 2452, 2453, 2481, 2454, 2482, 2483, 2455, 2456, 2457, 2458, 2459, 2460, 2484, 2472, 2461, 2462, 2463, 2485, 2464, 2465, 2486, 2466, 2467, 2468, 2487, 2469, 2488, 2470, 2471, 2473, 2474, 4393, 4394)
static

If true for a given item type (Item.type), then that item can be placed into TileID.WeaponsRack2.
Defaults to false.

See GameContent.Tile_Entities.TEWeaponsRack.FitsWeaponFrame(Item) for the full conditions regarding weapon rack placement.

◆ CanBeQuickusedOnGamepad

? bool [] ItemID.Sets.CanBeQuickusedOnGamepad
static

If true for a given item type (Item.type), then that item can always be quick-used on gamepads.
If false for a given item type, then that item can never be quick-used on gamepads.
If null for a given item type, then vanilla decides if that item can be quick used on gamepads.
Defaults to null.

Checked in Item.CanBeQuickUsed.
By default, items that heal health (Item.healLife > 0), heal mana (Item.healMana > 0), or apply a temporary buff (Item.buffType > 0 && Item.buffTime > 0) can be quick used.
The value of this set overrides the default value.

◆ CanGetPrefixes

bool [] ItemID.Sets.CanGetPrefixes = Factory.CreateBoolSet(true, 267, 1307, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 576, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1963, 1964, 1965, 2742, 3044, 3235, 3236, 3237, 3370, 3371, 3796, 3869, 4077, 4078, 4079, 4080, 4081, 4082, 4237, 4356, 4357, 4358, 4421, 4606, 4979, 4985, 4990, 4991, 4992, 5006, 5014, 5015, 5016, 5017, 5018, 5019, 5020, 5021, 5022, 5023, 5024, 5025, 5026, 5027, 5028, 5029, 5030, 5031, 5032, 5033, 5034, 5035, 5036, 5037, 5038, 5039, 5040, 5044, 5112, 5362)
static

If true for a given item type (Item.type), then that item is allowed to receive prefixes.
Defaults to true.

Checked in Item.CanHavePrefixes, which contains other prefix restrictions.
If you would like to prevent an item from receiving specific prefixes, use ModItem.AllowPrefix(int), GlobalItem.AllowPrefix(Item, int), or ModPrefix.CanRoll(Item).

◆ CatchingTool

bool [] ItemID.Sets.CatchingTool
static
Initial value:
= Factory.CreateBoolSet(
BugNet,
GoldenBugNet,
FireproofBugNet
)
static SetFactory Factory
Used for creating sets indexed by item type (Item.type).
Definition: ItemID.cs:84

Set for catching tools (bug net-type items which can catch critters).
If you want your catching tool to be able to catch the Underworld's lava critters, don't forget to use the LavaproofCatchingTool set in conjunction with this one.

◆ CoinLuckValue

int [] ItemID.Sets.CoinLuckValue
static
Initial value:
= Factory.CreateIntSet(0,
CopperCoin, 1,
SilverCoin, 100,
GoldCoin, 10000,
PlatinumCoin, 1000000
)

Set for defining how much coin luck according to its stack this item gives to nearby players when thrown into shimmer (Entity.shimmerWet).
Includes the 4 vanilla coin types by default. The value represents the "price" of the currency in copper coins. For other items, default value is 0, which means it will not give coin luck.

Coin luck application takes precedence over other actions related to shimmer.

◆ CommonCoin

bool [] ItemID.Sets.CommonCoin = Factory.CreateBoolSet(71, 72, 73, 74)
static

If true for a given item type (Item.type), then that item will sometimes be treated as a coin. It will not show up as loot in the Bestiary.
Defaults to false.

This set does not make an item type act like a coin for most purposes. Items in this set cannot be used to buy items, will not go into the player's coin slots, etc.

◆ DrinkParticleColors

Color [][] ItemID.Sets.DrinkParticleColors
static

If non-empty for a given item type (Item.type), then that item will create translucent particles of the retrieved colors when used.
Particles created by this set will drop downwards.
Defaults to Array.Empty<Color>.

IsFood does not need to be set for dust to be created.

◆ FoodParticleColors

Color [][] ItemID.Sets.FoodParticleColors
static

If non-empty for a given item type (Item.type), then that item will create solid particles of the retrieved colors when used.
Particles created by this set will fly outwards.
Defaults to Array.Empty<Color>.

IsFood does not need to be set for dust to be created.

◆ ForceConsumption

? bool [] ItemID.Sets.ForceConsumption
static
Initial value:
= Factory.CreateCustomSet<bool?>(null, new object[12] {
(short)2350,
false,
(short)4870,
false,
(short)2351,
false,
(short)2756,
false,
(short)4343,
true,
(short)4344,
true
})

If true for a given item type (Item.type), then that item will always be consumed on use if Item.consumable is true.
If false for a given item type, then that item will never be consumed on use if Item.consumable is true.
If null for a given item type, then vanilla decides if that item will be consumed on use if Item.consumable is true.
Defaults to null.

You may also use GlobalItem.ConsumeItem(Item, Player) or ModItem.ConsumeItem(Player) to prevent consumption. However, these methods cannot force consumption.

◆ ForcesBreaksSleeping

? bool [] ItemID.Sets.ForcesBreaksSleeping
static
Initial value:
= Factory.CreateCustomSet<bool?>(null, new object[6] {
(short)1991,
true,
(short)4821,
true,
(short)3183,
true
})

If true for a given item type (Item.type), then that item will always forcibly wake up any players who use it.
If false for a given item type, then that item will never forcibly wake up any players who use it.
If null for a given item type, then vanilla decides if that item forcibly wake up any players who use it.
Defaults to null.

Checked in GameContent.PlayerSleepingHelper.UpdateState(Player).
By default, fishing rods (Item.fishingPole > 0) and true melee weapons (Item.damage > 0 && !Item.noMelee) will wake up sleeping players.
The value of this set overrides the default value.

◆ GamepadExtraRange

int [] ItemID.Sets.GamepadExtraRange = Factory.CreateIntSet(0, 2797, 20, 3278, 4, 3285, 6, 3279, 8, 3280, 8, 3281, 9, 3262, 10, 3317, 10, 5294, 10, 3282, 10, 3315, 10, 3316, 11, 3283, 12, 3290, 13, 3289, 11, 3284, 13, 3286, 13, 3287, 18, 3288, 18, 3291, 17, 3292, 18, 3389, 21)
static

Determines the extra range (in tile coordinates) that an item of the given item type (Item.type) can be used in when using a controller.
Defaults to 0.

Use

See also
GamepadWholeScreenUseRange

for items with full-screen range.

◆ GeodeDrops

Dictionary<int, (int minStack, int maxStack)> ItemID.Sets.GeodeDrops
static
Initial value:
= new() {
{ Sapphire, (3, 7) },
{ Ruby, (3, 7) },
{ Emerald, (3, 7) },
{ Topaz, (3, 7) },
{ Amethyst, (3, 7) },
{ Diamond, (3, 7) },
{ Amber, (3, 7) }
}

Dictionary for defining what items will drop from a ProjectileID.Geode when broken. All items in this dictionary are equally likely to roll, and will drop with a stack size between minStack and maxStack (exclusive).
Stack sizes with less than 1 or where minStack is not strictly smaller than maxStack will lead to exceptions being thrown.

◆ IsAPickup

bool [] ItemID.Sets.IsAPickup = Factory.CreateBoolSet(58, 184, 1734, 1735, 1867, 1868, 3453, 3454, 3455)
static

If true for a given item type (Item.type), then that item cannot show up as Bestiary loot and can always be picked up by the player.
Defaults to false.

This set does not make items disappear from the inventory when picked up. Use ModItem.OnPickup(Player) or GlobalItem.OnPickup(Item, Player) for that.

◆ IsChainsaw

bool [] ItemID.Sets.IsChainsaw = Factory.CreateBoolSet(387, 3098, 1232, 383, 384, 2778, 1197, 1190, 2783, 3463, 1204, 2773, 2342, 579)
static

If true for a given item type (Item.type), then that item is a chainsaw.
Chainsaws have 40% faster use times (Item.useTime, Item.useAnimation) and 1 less tile reach (Item.tileBoost) than what are set in Item.SetDefaults(int).
Defaults to false.

This set does not allow an Item to damage trees – use Item.axe for that.

◆ IsDrill

bool [] ItemID.Sets.IsDrill = Factory.CreateBoolSet(388, 1231, 385, 386, 2779, 1196, 1189, 2784, 3464, 1203, 2774, 579)
static

If true for a given item type (Item.type), then that item is a drill.
Drills have 40% faster use times (Item.useTime, Item.useAnimation) and 1 less tile reach (Item.tileBoost) than what are set in Item.SetDefaults(int).
Defaults to false.

This set does not allow an Item to damage tiles – use Item.pick for that.

◆ IsFood

bool [] ItemID.Sets.IsFood = Factory.CreateBoolSet(353, 357, 1787, 1911, 1912, 1919, 1920, 2266, 2267, 2268, 2425, 2426, 2427, 3195, 3532, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4025, 4026, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 967, 969, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, 4295, 4296, 4297, 4403, 4411, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 5009, 5042, 5041, 5092, 5093, 5275, 5277, 5278)
static

If true for a given item type (Item.type), then that item is food.
Food items can be placed onto TileID.FoodPlatters, have a Item.holdStyle of ItemHoldStyleID.HoldFront, hide shields (Item.shieldSlot) when held,
Food item sprites must have 3 frames. The required framing code is automatically initialized.

The auto-initialized animation for foods have 3 vertical frames.
1. Inventory sprite
2. Held sprite
3. TileID.FoodPlatter sprite
Item.DefaultToFood(int, int, int, int, bool, int) will set many common item values for food.

◆ IsLavaImmuneRegardlessOfRarity

bool [] ItemID.Sets.IsLavaImmuneRegardlessOfRarity = Factory.CreateBoolSet(false, 318, 312, 173, 174, 175, 4422, 2701, 205, 206, 207, 1128, 2340, 2739, 2492, 1127, 85)
static

If true for a given item type (Item.type), then that item will not burn when dropped in lava, even if it has a Item.rare of ItemRarityID.White.
Defaults to false.

This set does not affect GuideVoodooDoll, which will always burn when dropped into lava.

◆ IsRangedSpecialistWeapon

bool [] ItemID.Sets.IsRangedSpecialistWeapon
static
Initial value:
= Factory.CreateBoolSet(
PiranhaGun, PainterPaintballGun, Toxikarp, Harpoon, AleThrowingGlove
)

If true, the item counts as a specialist weapon.
Used for Shroomite Helmet damage buffs (and other effects that will affect Player.specialistDamage).

◆ ItemsThatAreProcessedAfterNormalContentSample

List<int> ItemID.Sets.ItemsThatAreProcessedAfterNormalContentSample
static
Initial value:
= new List<int> {
1533,
1534,
1535,
1536,
1537
}

The list of items processed after normal items in ContentSamples.Initialize.
Used for the biome keys, as the old biome key molds interfere with the keys' data in ContentSamples.ItemPersistentIdsByNetIds and ContentSamples.ItemNetIdsByPersistentIds.

◆ LavaproofCatchingTool

bool [] ItemID.Sets.LavaproofCatchingTool
static
Initial value:
= Factory.CreateBoolSet(
GoldenBugNet,
FireproofBugNet
)

Set for catching tools which can catch the Underworld's lava critters.
Don't forget to use the CatchingTool set in conjunction with this one.

◆ LockOnAimCompensation

? float [] ItemID.Sets.LockOnAimCompensation
static
Initial value:
= Factory.CreateCustomSet<float?>(null, new object[10] {
(short)1336,
0.2f,
(short)157,
0.29f,
(short)2590,
0.4f,
(short)3821,
0.4f,
(short)160,
0.4f
})

If not null for the given item type (Item.type), then that item will lock-on slightly offset from the target's position to compensate for its projectile's arc.
The higher the value in this set, the more drastic the compensation. The offset position is slightly above the target and closer to the player.
Defaults to null.

◆ NebulaPickup

bool [] ItemID.Sets.NebulaPickup = Factory.CreateBoolSet(3453, 3454, 3455)
static

Do not add items to this set.
If true for a given item type (Item.type), then that item is a Nebula pickup.
Nebula pickups cannot combine with nearby items, spawn with a random velocity, can be picked up from far away, and call Player.NebulaLevelup(int) on pickup.
Defaults to false.

If you want an item to act like a Nebula pickup without the side effects, see IsAPickup and ModItem.OnPickup(Player) / GlobalItem.OnPickup(Item, Player).

◆ NonColorfulDyeItems

List<int> ItemID.Sets.NonColorfulDyeItems
static
Initial value:
= new List<int> {
3599,
3530,
3534
}

The list of item types (Item.type) for non-colorful dye effects.
Non-colorful dyes do not change the color of the texture they are applied to, but rather add effects.

◆ OpenableBag

bool [] ItemID.Sets.OpenableBag = Factory.CreateBoolSet(3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3860, 3861, 3862, 4782, 4957, 5111, 2334, 2335, 2336, 3203, 3204, 3205, 3206, 3207, 3208, 4405, 4407, 4877, 5002, 3979, 3980, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 4406, 4408, 4878, 5003, 3093, 4345, 4410, 1774, 3085, 4879, 1869, 599, 600, 601)
static

If true for a given item type (Item.type), then that item can be right-clicked in the inventory.
Defaults to false.

For ModItems, you can simply use ModItem.CanRightClick or GlobalItem.CanRightClick(Item) instead of this set.
If you need to check if any item is right-clickable, use ItemLoader.CanRightClick(Item).

◆ OreDropsFromSlime

Dictionary<int, (int minStack, int maxStack)> ItemID.Sets.OreDropsFromSlime
static
Initial value:
= new() {
{ CopperOre, (3, 13) },
{ TinOre, (3, 13) },
{ IronOre, (3, 13) },
{ LeadOre, (3, 13) },
{ SilverOre, (3, 13) },
{ TungstenOre, (3, 13) },
{ GoldOre, (3, 13) },
{ PlatinumOre, (3, 13) },
}

Dictionary for defining what ores can spawn as bonus drop inside slime body. All items in this dictionary are equally likely to roll, and will drop with a stack size between minStack and maxStack (inclusive).
Stack sizes with less than 1 or where minStack is not strictly smaller than maxStack will lead to exceptions being thrown.

◆ OverflowProtectionTimeOffset

int [] ItemID.Sets.OverflowProtectionTimeOffset = Factory.CreateIntSet(0, 2, 200, 3, 150, 61, 150, 836, 150, 409, 150, 593, 200, 664, 100, 834, 100, 833, 100, 835, 100, 169, 100, 370, 100, 1246, 100, 408, 100, 3271, 150, 3277, 150, 3339, 150, 3276, 150, 3272, 150, 3274, 150, 3275, 150, 3338, 150, 176, 100, 172, 200, 424, 50, 1103, 50, 3087, 100, 3066, 100)
static

If != 0 for a given item type (Item.type), then that item will spawn with Item.timeSinceItemSpawned set to the retrieved value.
If == 0 for a given item type, then that item is eligible for spawn protection, which massively decreases Item.timeSinceItemSpawned to prevent natural despawning.
Defaults to 0.

Items with non-zero values in this set are extremely common drops and thus should be despawned first if the item cap is reached.

◆ PreHardmodeLikeBossBag

bool [] ItemID.Sets.PreHardmodeLikeBossBag
static
Initial value:
= Factory.CreateBoolSet(
KingSlimeBossBag, EyeOfCthulhuBossBag, EaterOfWorldsBossBag, BrainOfCthulhuBossBag, QueenBeeBossBag,
SkeletronBossBag, WallOfFleshBossBag, QueenSlimeBossBag, DeerclopsBossBag
)

Set for pre-hardmode boss bags, except it also contains the Queen Slime's Boss Bag. Affects the way dev armor drops function, making it only drop in special world seeds.
Don't forget to use the BossBag set in conjunction with this one.

◆ SandgunAmmoProjectileData

SandgunAmmoInfo [] ItemID.Sets.SandgunAmmoProjectileData
static
Initial value:
= Factory.CreateCustomSet<SandgunAmmoInfo>(null,
EbonsandBlock, new SandgunAmmoInfo(ProjectileID.EbonsandBallGun, 5),
PearlsandBlock, new SandgunAmmoInfo(ProjectileID.PearlSandBallGun, 5),
CrimsandBlock, new SandgunAmmoInfo(ProjectileID.CrimsandBallGun, 5)
)
Definition: ProjectileID.cs:10

The projectile type and associated bonus damage for the specified sandgun ammo item (an item with Item.ammo = AmmoID.Sand;). If undefined, the projectile will default to 42 (ProjectileID.SandBallGun), as this is the normal sandgun sand projectile. The bonus damage will default to 0. The projectile shouldn't be your falling sand projectile - you need to create a second projectile for the sandgun.

◆ SingleUseInGamepad

bool [] ItemID.Sets.SingleUseInGamepad = Factory.CreateBoolSet(8, 427, 3004, 523, 433, 429, 974, 1333, 1245, 3114, 430, 3045, 428, 2274, 431, 432, 4383, 4384, 4385, 4386, 4387, 4388, 5293, 5353)
static

If true for a given item type (Item.type), then that item will be used one per button press when using a gamepad.
Defaults to false.

In vanilla, all items in this set are types of torches.

◆ Spears

bool [] ItemID.Sets.Spears
static
Initial value:
= Factory.CreateBoolSet(
Spear,
Trident,
Swordfish,
ThunderSpear,
TheRottedFork,
DarkLance,
CobaltNaginata,
PalladiumPike,
MythrilHalberd,
OrichalcumHalberd,
AdamantiteGlaive,
TitaniumTrident,
ObsidianSwordfish,
Gungnir,
MushroomSpear,
MonkStaffT2,
ChlorophytePartisan,
NorthPole
)

Set for easily defining weapons as spears.
Only used for vanilla spears to make sure they still scale with attack speed (though it's encouraged to set this for your spears as well, for cross-mod support).

◆ StaffMinionSlotsRequired

float [] ItemID.Sets.StaffMinionSlotsRequired = Factory.CreateFloatSet(1f)
static

How many minion slots one usage of this item will spawn.
This is only used when ProjectileID.Sets.MinionSacrificable[Item.shoot] and Main.projPet are true and when the player tries to summon a new minion.
The retrieved value's worth of minion slots (Projectile.minionSlots) will be killed, if necessary, to make room for the minion projectiles prior to spawning them.
Defaults to 1f. If the value is greater than 1f, make sure to check Player.maxMinions in ModItem.CanUseItem(Player) as well.

The full process for sacrificing minions can be found at Player.FreeUpPetsAndMinions(Item).

◆ Torches

bool [] ItemID.Sets.Torches = Factory.CreateBoolSet(8, 427, 3004, 523, 433, 429, 974, 1333, 1245, 3114, 430, 3045, 428, 2274, 431, 432, 4383, 4384, 4385, 4386, 4387, 4388, 5293, 5353)
static

If true for a given item type (Item.type), then that item is a torch.
Torches can be auto-selected by Smart Cursor.
Vanilla torches have an associated TorchID, which determines what color light they produce when held.
Defaults to false.

To make a torch placeable underwater, use WaterTorches as well.

◆ Yoyo

bool [] ItemID.Sets.Yoyo = Factory.CreateBoolSet(3262, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3315, 3316, 3317, 3389, 5294)
static

If true for a given item type (Item.type), then holding that item while using a yoyo string (Player.yoyoString) will allow the player to move the gamepad cursor an extra 5 tiles.
Defaults to false.

Items in this set are not guaranteed to benefit from yoyo-exclusive effects. Yoyo effects are applied to projectiles where Projectile.aiStyle == ProjAIStyleID.Yoyo.