001 public class ji 002 implements mn, Container<jl> 003 { 004 public jl[] a = new jl[36]; 005 public jl[] b = new jl[4]; 006 007 public int c = 0; 008 private hl e; 009 private jl f; 010 public boolean d = false; 011 private String name = "Inventory"; 012 public ji(hl paramhl) { 013 e = paramhl; 014 } 015 016 public jl[] getContents() { 017 return a; 018 } 019 020 public void setContents(jl[] values) { 021 a = values; 022 } 023 024 public jl getContentsAt(int index) { 025 return a(index); 026 } 027 028 public void setContentsAt(int index, jl value) { 029 a(index, value); 030 } 031 032 public int getContentsSize() { 033 return h_(); 034 } 035 036 public String getName() { 037 return name; 038 } 039 040 public void setName(String value) { 041 name = value; 042 } 043 044 public jl e() { 045 return a[c]; 046 } 047 048 private int d(int paramInt) { 049 for (int i = 0; i < a.length; i++) { 050 if ((a[i] != null) && (a[i].c == paramInt)) return i; 051 } 052 return -1; 053 } 054 055 private int c(jl paramjl) { 056 for (int i = 0; i < a.length; i++) { 057 if ((a[i] != null) && (a[i].c == paramjl.c) && (a[i].c()) && (a[i].a < a[i].b()) && (a[i].a < c()) && ((!a[i].e()) || (a[i].h() == paramjl.h()))) 058 { 059 return i; 060 } 061 } 062 return -1; 063 } 064 065 private int j() { 066 for (int i = 0; i < a.length; i++) { 067 if (a[i] == null) return i; 068 } 069 return -1; 070 } 071 072 private int d(jl paramjl) 073 { 074 int i = paramjl.c; 075 int j = paramjl.a; 076 077 int k = c(paramjl); 078 if (k < 0) k = j(); 079 if (k < 0) return j; 080 if (a[k] == null) { 081 a[k] = new jl(i, 0, paramjl.h()); 082 } 083 084 int m = j; 085 if (m > a[k].b() - a[k].a) { 086 m = a[k].b() - a[k].a; 087 } 088 if (m > c() - a[k].a) { 089 m = c() - a[k].a; 090 } 091 092 if (m == 0) return j; 093 094 j -= m; 095 a[k].a += m; 096 a[k].b = 5; 097 098 return j; 099 } 100 101 public void f() { 102 for (int i = 0; i < a.length; i++) { 103 if ((a[i] == null) || (a[i].b <= 0)) continue; a[i].b -= 1; 104 } 105 } 106 107 public boolean b(int paramInt) { 108 int i = d(paramInt); 109 if (i < 0) return false; 110 if (--a[i].a <= 0) a[i] = null; 111 112 return true; 113 } 114 115 public boolean a(jl paramjl) 116 { 117 if (!paramjl.f()) { 118 paramjl.a = d(paramjl); 119 if (paramjl.a == 0) return true; 120 } 121 122 int i = j(); 123 if (i >= 0) { 124 a[i] = paramjl; 125 a[i].b = 5; 126 return true; 127 } 128 return false; 129 } 130 131 public jl b(int paramInt1, int paramInt2) { 132 jl[] arrayOfjl = a; 133 if (paramInt1 >= a.length) { 134 arrayOfjl = b; 135 paramInt1 -= a.length; 136 } 137 138 if (arrayOfjl[paramInt1] != null) { 139 if (arrayOfjl[paramInt1].a <= paramInt2) { 140 jl localjl = arrayOfjl[paramInt1]; 141 arrayOfjl[paramInt1] = null; 142 return localjl; 143 } 144 jl localjl = arrayOfjl[paramInt1].a(paramInt2); 145 if (arrayOfjl[paramInt1].a == 0) arrayOfjl[paramInt1] = null; 146 return localjl; 147 } 148 149 return null; 150 } 151 152 public void a(int paramInt, jl paramjl) { 153 jl[] arrayOfjl = a; 154 if (paramInt >= arrayOfjl.length) { 155 paramInt -= arrayOfjl.length; 156 arrayOfjl = b; 157 } 158 159 arrayOfjl[paramInt] = paramjl; 160 } 161 162 public float a(hr paramhr) { 163 float f1 = 1.0F; 164 if (a[c] != null) f1 *= a[c].a(paramhr); 165 return f1; 166 } 167 168 public fh a(fh paramfh) 169 { 170 ah localah; 171 for (int i = 0; i < a.length; i++) { 172 if (a[i] != null) { 173 localah = new ah(); 174 localah.a("Slot", (byte)i); 175 a[i].a(localah); 176 paramfh.a(localah); 177 } 178 } 179 for (int i = 0; i < b.length; i++) { 180 if (b[i] != null) { 181 localah = new ah(); 182 localah.a("Slot", (byte)(i + 100)); 183 b[i].a(localah); 184 paramfh.a(localah); 185 } 186 } 187 return paramfh; 188 } 189 190 public void b(fh paramfh) { 191 a = new jl[36]; 192 b = new jl[4]; 193 for (int i = 0; i < paramfh.b(); i++) { 194 ah localah = (ah)paramfh.a(i); 195 int j = localah.b("Slot") & 0xFF; 196 jl localjl = new jl(localah); 197 if (localjl.a() != null) { 198 if ((j >= 0) && (j < a.length)) a[j] = localjl; 199 if ((j < 100) || (j >= b.length + 100)) continue; b[(j - 100)] = localjl; 200 } 201 } 202 } 203 204 public int h_() { 205 return a.length + 4; 206 } 207 208 public jl a(int paramInt) { 209 jl[] arrayOfjl = a; 210 if (paramInt >= arrayOfjl.length) { 211 paramInt -= arrayOfjl.length; 212 arrayOfjl = b; 213 } 214 215 return arrayOfjl[paramInt]; 216 } 217 218 public String b() { 219 return getName(); //hMod: override with getName() 220 } 221 222 public int c() { 223 return 64; 224 } 225 226 public int a(fe paramfe) { 227 jl localjl = a(c); 228 if (localjl != null) return localjl.a(paramfe); 229 return 1; 230 } 231 232 public boolean b(hr paramhr) { 233 if ((paramhr.bt != mh.d) && (paramhr.bt != mh.e) && (paramhr.bt != mh.t) && (paramhr.bt != mh.s)) return true; 234 235 jl localjl = a(c); 236 if (localjl != null) return localjl.b(paramhr); 237 return false; 238 } 239 240 public int g() 241 { 242 int i = 0; 243 int j = 0; 244 int k = 0; 245 for (int m = 0; m < b.length; m++) { 246 if ((b[m] != null) && ((b[m].a() instanceof jj))) { 247 int n = b[m].i(); 248 int i1 = b[m].g(); 249 250 int i2 = n - i1; 251 j += i2; 252 k += n; 253 254 int i3 = ((jj)b[m].a()).bh; 255 256 i += i3; 257 } 258 } 259 if (k == 0) return 0; 260 return (i - 1) * j / k + 1; 261 } 262 263 public void c(int paramInt) { 264 for (int i = 0; i < b.length; i++) 265 if ((b[i] != null) && ((b[i].a() instanceof jj))) { 266 b[i].b(paramInt); 267 if (b[i].a == 0) { 268 b[i].a(e); 269 b[i] = null; 270 } 271 } 272 } 273 274 public void h() 275 { 276 for (int i = 0; i < a.length; i++) { 277 if (a[i] != null) { 278 e.a(a[i], true); 279 a[i] = null; 280 } 281 } 282 for (int i = 0; i < b.length; i++) 283 if (b[i] != null) { 284 e.a(b[i], true); 285 b[i] = null; 286 } 287 } 288 289 public void d() 290 { 291 d = true; 292 } 293 294 public void b(jl paramjl) 295 { 296 f = paramjl; 297 e.a(paramjl); 298 } 299 300 public jl i() { 301 return f; 302 } 303 304 public boolean a_(hl paramhl) { 305 if (e.G) return false; 306 return paramhl.b((fe)e) <= 64.0D; 307 } 308 }