1: <?php
2: namespace aliuly\common;
3: use pocketmine\item\Item;
4:
5:
6:
7: 8: 9:
10: abstract class ArmorItems {
11: const ERROR = -1;
12:
13: const HEAD = 0;
14: const BODY = 1;
15: const LEGS = 2;
16: const BOOTS =3;
17:
18: const NONE = 0;
19: const LEATHER = Item::LEATHER_CAP;
20: const CHAINMAIL = Item::CHAIN_HELMET;
21: const IRON = Item::IRON_HELMET;
22: const DIAMOND = Item::DIAMOND_HELMET;
23: const GOLD = Item::GOLD_HELMET;
24:
25: 26: 27: 28: 29:
30: static public function str2part($str) {
31: switch(strtolower(substr($str,0,1))) {
32: case "h":
33: return self::HEAD;
34: case "c":
35: switch(strtolower(substr($str,0,2))) {
36: case "ca":
37: return self::HEAD;
38: case "ch":
39: return self::BODY;
40: }
41: break;
42: case "t":
43: return self::BODY;
44: case "b":
45: switch(strtolower(substr($str,0,3))) {
46: case "bod":
47: return self::BODY;
48: case "boo":
49: return self::BOOTS;
50: }
51: break;
52: case "p":
53: case "l":
54: return self::LEGS;
55: }
56: return self::ERROR;
57: }
58: 59: 60: 61: 62:
63: static public function str2quality($str) {
64: switch(strtolower(substr($str,0,1))) {
65: case "l":
66: return self::LEATHER;
67: case "c":
68: return self::CHAINMAIL;
69: case "i":
70: return self::IRON;
71: case "g":
72: return self::GOLD;
73: case "d":
74: return self::DIAMOND;
75: case "n":
76: return self::NONE;
77: }
78: return self::ERROR;
79: }
80: 81: 82: 83: 84: 85:
86: static public function getItemId($q,$p) {
87: if ($p < self::HEAD || $p > self::BOOTS) return self::ERROR;
88: switch ($q) {
89: case self::LEATHER:
90: case self::CHAINMAIL:
91: case self::IRON:
92: case self::GOLD:
93: case self::DIAMOND:
94: return $q + $p;
95: case self::NONE:
96: return Item::AIR;
97: }
98: return self::ERROR;
99: }
100: 101: 102: 103: 104:
105: static public function getArmorPart($item) {
106: switch ($item) {
107: case Item::LEATHER_CAP: return self::HEAD;
108: case Item::LEATHER_TUNIC: return self::BODY;
109: case Item::LEATHER_PANTS: return self::LEGS;
110: case Item::LEATHER_BOOTS: return self::BOOTS;
111: case Item::CHAIN_HELMET: return self::HEAD;
112: case Item::CHAIN_CHESTPLATE: return self::BODY;
113: case Item::CHAIN_LEGGINGS: return self::LEGS;
114: case Item::CHAIN_BOOTS: return self::BOOTS;
115: case Item::IRON_HELMET: return self::HEAD;
116: case Item::IRON_CHESTPLATE: return self::BODY;
117: case Item::IRON_LEGGINGS: return self::LEGS;
118: case Item::IRON_BOOTS: return self::BOOTS;
119: case Item::DIAMOND_HELMET: return self::HEAD;
120: case Item::DIAMOND_CHESTPLATE: return self::BODY;
121: case Item::DIAMOND_LEGGINGS: return self::LEGS;
122: case Item::DIAMOND_BOOTS: return self::BOOTS;
123: case Item::GOLD_HELMET: return self::HEAD;
124: case Item::GOLD_CHESTPLATE: return self::BODY;
125: case Item::GOLD_LEGGINGS: return self::LEGS;
126: case Item::GOLD_BOOTS: return self::BOOTS;
127: default: return self::ERROR;
128: }
129: }
130: }
131: