Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetItemGroup()

static ItemGroup Terraria.ID.ContentSamples.CreativeHelper.GetItemGroup ( Item item,
out int orderInGroup )
inlinestatic

Definition at line 127 of file ContentSamples.cs.

128 {
129 orderInGroup = 0;
130 int num = _manualBossSpawnItemsOrder.IndexOf(item.type);
131 if (num != -1)
132 {
133 orderInGroup = num;
134 return ItemGroup.BossItem;
135 }
136 int num2 = _manualGolfItemsOrder.IndexOf(item.type);
137 if (num2 != -1)
138 {
140 return ItemGroup.Golf;
141 }
142 int num3 = ItemID.Sets.SortingPriorityWiring[item.type];
143 if (num3 != -1)
144 {
146 return ItemGroup.Wiring;
147 }
148 if (item.type == 3620)
149 {
150 return ItemGroup.Wiring;
151 }
152 if (item.type == 327 || item.type == 329 || item.type == 1141 || item.type == 1533 || item.type == 1537 || item.type == 1536 || item.type == 1534 || item.type == 1535 || item.type == 3092 || item.type == 3091 || item.type == 4714)
153 {
154 orderInGroup = -item.rare;
155 return ItemGroup.Keys;
156 }
157 if (item.type == 985 || item.type == 3079 || item.type == 3005 || item.type == 3080)
158 {
159 return ItemGroup.Rope;
160 }
161 if (item.type == 781 || item.type == 783 || item.type == 780 || item.type == 782 || item.type == 784)
162 {
163 return ItemGroup.Solutions;
164 }
165 if (item.type == 282 || item.type == 3112 || item.type == 4776 || item.type == 3002 || item.type == 286)
166 {
167 if (item.type == 282)
168 {
169 orderInGroup = -1;
170 }
171 return ItemGroup.Glowsticks;
172 }
173 if (item.type == 166 || item.type == 3115 || item.type == 235 || item.type == 167 || item.type == 3547 || item.type == 2896 || item.type == 3196 || item.type == 4908 || item.type == 4909 || item.type == 4827 || item.type == 4826 || item.type == 4825 || item.type == 4423 || item.type == 4824)
174 {
175 return ItemGroup.Bombs;
176 }
177 if (item.createTile == 376)
178 {
179 return ItemGroup.Crates;
180 }
181 if (item.type == 1774 || item.type == 1869 || item.type == 4345 || item.type == 3093 || item.type == 4410)
182 {
183 return ItemGroup.GoodieBags;
184 }
185 if (ItemID.Sets.BossBag[item.type])
186 {
187 return ItemGroup.BossBags;
188 }
189 if (item.type == 1115 || item.type == 1114 || item.type == 1110 || item.type == 1112 || item.type == 1108 || item.type == 1107 || item.type == 1116 || item.type == 1109 || item.type == 1111 || item.type == 1118 || item.type == 1117 || item.type == 1113 || item.type == 1119)
190 {
191 return ItemGroup.DyeMaterial;
192 }
193 if (item.type == 3385 || item.type == 3386 || item.type == 3387 || item.type == 3388)
194 {
195 orderInGroup = -1;
196 return ItemGroup.DyeMaterial;
197 }
198 if (item.dye != 0)
199 {
200 return ItemGroup.Dye;
201 }
202 if (item.hairDye != -1)
203 {
204 return ItemGroup.HairDye;
205 }
206 if (item.IsACoin)
207 {
208 if (item.type == 71)
209 {
210 orderInGroup = 4;
211 }
212 else if (item.type == 72)
213 {
214 orderInGroup = 3;
215 }
216 else if (item.type == 73)
217 {
218 orderInGroup = 2;
219 }
220 else if (item.type == 74)
221 {
222 orderInGroup = 1;
223 }
224 return ItemGroup.Coin;
225 }
226 if (item.createWall > 0)
227 {
228 return ItemGroup.Walls;
229 }
230 if (item.createTile == 82)
231 {
232 return ItemGroup.AlchemySeeds;
233 }
234 if (item.type == 315 || item.type == 313 || item.type == 316 || item.type == 318 || item.type == 314 || item.type == 2358 || item.type == 317)
235 {
236 return ItemGroup.AlchemyPlants;
237 }
238 if (item.createTile == 30 || item.createTile == 321 || item.createTile == 322 || item.createTile == 157 || item.createTile == 158 || item.createTile == 208 || item.createTile == 159 || item.createTile == 253 || item.createTile == 311 || item.createTile == 635)
239 {
240 if (item.createTile == 30)
241 {
242 orderInGroup = 0;
243 }
244 else if (item.createTile == 311)
245 {
246 orderInGroup = 100;
247 }
248 else
249 {
250 orderInGroup = 50;
251 }
252 return ItemGroup.Wood;
253 }
254 if (item.createTile >= 0)
255 {
256 if (item.type == 213)
257 {
258 orderInGroup = -1;
259 return ItemGroup.Pickaxe;
260 }
261 if (item.tileWand >= 0)
262 {
263 return ItemGroup.Wands;
264 }
265 if (item.createTile == 213 || item.createTile == 353 || item.createTile == 365 || item.createTile == 366 || item.createTile == 214)
266 {
267 return ItemGroup.Rope;
268 }
269 if (!Main.tileSolid[item.createTile] || Main.tileSolidTop[item.createTile] || item.createTile == 10)
270 {
271 int num4 = _manualCraftingStations.IndexOf(item.type);
272 if (num4 != -1)
273 {
275 return ItemGroup.CraftingObjects;
276 }
277 if (item.createTile == 4)
278 {
279 if (item.placeStyle == 0)
280 {
281 orderInGroup = 5;
282 }
283 else
284 {
285 orderInGroup = 10;
286 }
287 return ItemGroup.Torches;
288 }
289 if (item.createTile == 178)
290 {
291 orderInGroup = 5;
292 }
293 else if (item.createTile == 239)
294 {
295 orderInGroup = 7;
296 }
297 else if (item.type == 27 || item.type == 4857 || item.type == 4852 || item.type == 4856 || item.type == 4854 || item.type == 4855 || item.type == 4853 || item.type == 4851)
298 {
299 orderInGroup = 8;
300 }
301 else if (TileID.Sets.Platforms[item.createTile])
302 {
303 if (item.placeStyle == 0)
304 {
305 orderInGroup = 19;
306 }
307 else
308 {
309 orderInGroup = 20;
310 }
311 }
312 else if (item.createTile == 18)
313 {
314 if (item.placeStyle == 0)
315 {
316 orderInGroup = 29;
317 }
318 else
319 {
320 orderInGroup = 30;
321 }
322 }
323 else if (item.createTile == 16 || item.createTile == 134)
324 {
325 if (item.placeStyle == 0)
326 {
327 orderInGroup = 39;
328 }
329 else
330 {
331 orderInGroup = 40;
332 }
333 }
334 else if (item.createTile == 133 || item.createTile == 17)
335 {
336 if (item.placeStyle == 0)
337 {
338 orderInGroup = 49;
339 }
340 else
341 {
342 orderInGroup = 50;
343 }
344 }
345 else if (item.createTile == 10)
346 {
347 if (item.placeStyle == 0)
348 {
349 orderInGroup = 59;
350 }
351 else
352 {
353 orderInGroup = 60;
354 }
355 }
356 else if (item.createTile == 15)
357 {
358 if (item.placeStyle == 0)
359 {
360 orderInGroup = 69;
361 }
362 else
363 {
364 orderInGroup = 70;
365 }
366 }
367 else if (item.createTile == 497)
368 {
369 orderInGroup = 72;
370 }
371 else if (item.createTile == 79)
372 {
373 if (item.placeStyle == 0)
374 {
375 orderInGroup = 74;
376 }
377 else
378 {
379 orderInGroup = 75;
380 }
381 }
382 else if (item.createTile == 14)
383 {
384 if (item.placeStyle == 0)
385 {
386 orderInGroup = 79;
387 }
388 else
389 {
390 orderInGroup = 80;
391 }
392 }
393 else if (item.createTile == 469)
394 {
395 orderInGroup = 90;
396 }
397 else if (item.createTile == 21)
398 {
399 if (item.placeStyle == 0)
400 {
401 orderInGroup = 99;
402 }
403 else
404 {
405 orderInGroup = 100;
406 }
407 }
408 else if (item.createTile == 467)
409 {
410 orderInGroup = 110;
411 }
412 else if (item.createTile == 441)
413 {
414 orderInGroup = 120;
415 }
416 else if (item.createTile == 468)
417 {
418 orderInGroup = 130;
419 }
420 else
421 {
422 orderInGroup = item.createTile + 1000;
423 }
424 return ItemGroup.PlacableObjects;
425 }
426 if (TileID.Sets.Conversion.Grass[item.createTile] || item.type == 194)
427 {
428 orderInGroup = 5;
429 }
430 else
431 {
432 orderInGroup = 10000;
433 }
434 if (item.type == 2)
435 {
436 orderInGroup = 10;
437 }
438 else if (item.type == 3)
439 {
440 orderInGroup = 20;
441 }
442 else if (item.type == 133)
443 {
444 orderInGroup = 30;
445 }
446 else if (item.type == 424)
447 {
448 orderInGroup = 40;
449 }
450 else if (item.type == 1103)
451 {
452 orderInGroup = 50;
453 }
454 else if (item.type == 169)
455 {
456 orderInGroup = 60;
457 }
458 else if (item.type == 170)
459 {
460 orderInGroup = 70;
461 }
462 else if (item.type == 176)
463 {
464 orderInGroup = 80;
465 }
466 else if (item.type == 276)
467 {
468 orderInGroup = 80;
469 }
470 return ItemGroup.Blocks;
471 }
472 if (item.mountType != -1)
473 {
474 if (MountID.Sets.Cart[item.mountType])
475 {
476 return ItemGroup.Minecart;
477 }
478 return ItemGroup.Mount;
479 }
480 if (item.bait > 0)
481 {
482 orderInGroup = -item.bait;
483 return ItemGroup.FishingBait;
484 }
485 if (item.makeNPC > 0)
486 {
487 return ItemGroup.Critters;
488 }
489 if (item.fishingPole > 1)
490 {
491 orderInGroup = -item.fishingPole;
492 return ItemGroup.FishingRods;
493 }
494 if (item.questItem)
495 {
496 return ItemGroup.FishingQuestFish;
497 }
498 if ((item.type >= 2297 && item.type <= 2321) || item.type == 4402 || item.type == 4401 || item.type == 2290)
499 {
500 orderInGroup = -item.rare;
501 return ItemGroup.FishingQuestFish;
502 }
503 int num5 = ItemID.Sets.SortingPriorityPainting[item.type];
504 if (num5 != -1 || item.PaintOrCoating)
505 {
507 return ItemGroup.Paint;
508 }
509 int num6 = _manualEventItemsOrder.IndexOf(item.type);
510 if (num6 != -1)
511 {
513 return ItemGroup.EventItem;
514 }
515 if (item.shoot != 0 && Main.projHook[item.shoot])
516 {
517 return ItemGroup.Hook;
518 }
519 if (item.type == 2756 || item.type == 2351 || item.type == 4870 || item.type == 2350 || item.type == 2997 || item.type == 2352 || item.type == 2353)
520 {
521 return ItemGroup.BuffPotion;
522 }
523 if (item.buffType != 0)
524 {
525 if (BuffID.Sets.IsWellFed[item.buffType])
526 {
527 orderInGroup = -item.buffType * 10000000 - item.buffTime;
528 return ItemGroup.Food;
529 }
530 if (BuffID.Sets.IsAFlaskBuff[item.buffType])
531 {
532 return ItemGroup.Flask;
533 }
534 if (Main.vanityPet[item.buffType])
535 {
536 return ItemGroup.VanityPet;
537 }
538 if (Main.lightPet[item.buffType])
539 {
540 return ItemGroup.VanityPet;
541 }
542 if (item.damage == -1)
543 {
544 return ItemGroup.BuffPotion;
545 }
546 }
547 if (item.headSlot >= 0)
548 {
549 orderInGroup = -item.defense;
550 orderInGroup -= item.rare * 1000;
551 if (item.vanity)
552 {
553 orderInGroup += 100000;
554 }
555 return ItemGroup.Headgear;
556 }
557 if (item.bodySlot >= 0)
558 {
559 orderInGroup = -item.defense;
560 orderInGroup -= item.rare * 1000;
561 if (item.vanity)
562 {
563 orderInGroup += 100000;
564 }
565 return ItemGroup.Torso;
566 }
567 if (item.legSlot >= 0)
568 {
569 orderInGroup = -item.defense;
570 orderInGroup -= item.rare * 1000;
571 if (item.vanity)
572 {
573 orderInGroup += 100000;
574 }
575 return ItemGroup.Pants;
576 }
577 if (item.accessory)
578 {
579 orderInGroup = item.vanity.ToInt() - item.expert.ToInt();
580 if (item.type >= 3293 && item.type <= 3308)
581 {
582 orderInGroup -= 200000;
583 }
584 else if (item.type >= 3309 && item.type <= 3314)
585 {
586 orderInGroup -= 100000;
587 }
588 orderInGroup -= item.rare * 10000;
589 if (item.vanity)
590 {
591 orderInGroup += 100000;
592 }
593 return ItemGroup.Accessories;
594 }
595 if (item.pick > 0)
596 {
597 orderInGroup = -item.pick;
598 return ItemGroup.Pickaxe;
599 }
600 if (item.axe > 0)
601 {
602 orderInGroup = -item.axe;
603 return ItemGroup.Axe;
604 }
605 if (item.hammer > 0)
606 {
607 orderInGroup = -item.hammer;
608 return ItemGroup.Hammer;
609 }
610 if (item.healLife > 0)
611 {
612 if (item.type == 3544)
613 {
614 orderInGroup = 0;
615 }
616 else if (item.type == 499)
617 {
618 orderInGroup = 1;
619 }
620 else if (item.type == 188)
621 {
622 orderInGroup = 2;
623 }
624 else if (item.type == 28)
625 {
626 orderInGroup = 3;
627 }
628 else
629 {
630 orderInGroup = -item.healLife + 1000;
631 }
632 return ItemGroup.LifePotions;
633 }
634 if (item.healMana > 0)
635 {
636 orderInGroup = -item.healMana;
637 return ItemGroup.ManaPotions;
638 }
639 if (item.ammo != AmmoID.None && !item.notAmmo && item.type != 23 && item.type != 75)
640 {
641 orderInGroup = -item.ammo * 10000;
642 orderInGroup += -item.damage;
643 return ItemGroup.Ammo;
644 }
645 if (item.consumable)
646 {
647 if (item.damage > 0)
648 {
649 if (item.type == 422 || item.type == 423 || item.type == 3477)
650 {
651 orderInGroup = -100000;
652 }
653 else
654 {
655 orderInGroup = -item.damage;
656 }
657 return ItemGroup.ConsumableThatDamages;
658 }
659 if (item.type == 4910 || item.type == 4829 || item.type == 4830)
660 {
661 orderInGroup = 10;
662 }
663 else if (item.type == 66 || item.type == 2886 || item.type == 67)
664 {
665 orderInGroup = -10;
666 }
667 else if (item.type >= 1874 && item.type <= 1905)
668 {
669 orderInGroup = 5;
670 }
671 return ItemGroup.ConsumableThatDoesNotDamage;
672 }
673 if (item.damage > 0)
674 {
675 orderInGroup = -item.damage;
676 if (item.melee)
677 {
678 return ItemGroup.MeleeWeapon;
679 }
680 if (item.ranged)
681 {
682 return ItemGroup.RangedWeapon;
683 }
684 if (item.magic)
685 {
686 return ItemGroup.MagicWeapon;
687 }
688 if (item.summon)
689 {
690 return ItemGroup.SummonWeapon;
691 }
692 }
693 orderInGroup = -item.rare;
694 if (item.useStyle > 0)
695 {
696 return ItemGroup.RemainingUseItems;
697 }
698 if (item.material)
699 {
700 return ItemGroup.Material;
701 }
702 return ItemGroup.EverythingElse;
703 }

References Terraria.ID.ContentSamples.CreativeHelper._manualBossSpawnItemsOrder, Terraria.ID.ContentSamples.CreativeHelper._manualCraftingStations, Terraria.ID.ContentSamples.CreativeHelper._manualEventItemsOrder, Terraria.ID.ContentSamples.CreativeHelper._manualGolfItemsOrder, Terraria.ID.ItemID.Sets.BossBag, Terraria.ID.MountID.Sets.Cart, Terraria.ID.TileID.Sets.Conversion.Grass, Terraria.ID.BuffID.Sets.IsAFlaskBuff, Terraria.ID.BuffID.Sets.IsWellFed, Terraria.Main.lightPet, Terraria.ID.AmmoID.None, Terraria.ID.TileID.Sets.Platforms, Terraria.Main.projHook, Terraria.ID.ItemID.Sets.SortingPriorityPainting, Terraria.ID.ItemID.Sets.SortingPriorityWiring, Terraria.Main.tileSolid, Terraria.Main.tileSolidTop, and Terraria.Main.vanityPet.

Referenced by Terraria.ID.ContentSamples.CreativeHelper.ItemGroupAndOrderInGroup.ItemGroupAndOrderInGroup().