public final class OItemStack { public int a = 0; public int b; public int c; private int d; public OItemStack(OBlock paramOBlock) { this(paramOBlock, 1); } public OItemStack(OBlock paramOBlock, int paramInt) { this(paramOBlock.bl, paramInt, 0); } public OItemStack(OBlock paramOBlock, int paramInt1, int paramInt2) { this(paramOBlock.bl, paramInt1, paramInt2); } public OItemStack(OItem paramOItem) { this(paramOItem.bd, 1, 0); } public OItemStack(OItem paramOItem, int paramInt) { this(paramOItem.bd, paramInt, 0); } public OItemStack(OItem paramOItem, int paramInt1, int paramInt2) { this(paramOItem.bd, paramInt1, paramInt2); } public OItemStack(int paramInt1, int paramInt2, int paramInt3) { c = paramInt1; a = paramInt2; d = paramInt3; } public OItemStack(ONBTTagCompound paramONBTTagCompound) { b(paramONBTTagCompound); } public OItemStack a(int paramInt) { a -= paramInt; return new OItemStack(c, paramInt, d); } public OItem a() { return OItem.c[c]; } public boolean a(OEntityPlayer paramOEntityPlayer, OWorld paramOWorld, int paramInt1, int paramInt2, int paramInt3, int paramInt4) { boolean bool = a().a(this, paramOEntityPlayer, paramOWorld, paramInt1, paramInt2, paramInt3, paramInt4); if (bool) paramOEntityPlayer.a(OStatList.A[c], 1); return bool; } public float a(OBlock paramOBlock) { return a().a(this, paramOBlock); } public OItemStack a(OWorld paramOWorld, OEntityPlayer paramOEntityPlayer) { return a().a(this, paramOWorld, paramOEntityPlayer); } public ONBTTagCompound a(ONBTTagCompound paramONBTTagCompound) { paramONBTTagCompound.a("id", (short) c); paramONBTTagCompound.a("Count", (byte) a); paramONBTTagCompound.a("Damage", (short) d); return paramONBTTagCompound; } public void b(ONBTTagCompound paramONBTTagCompound) { c = paramONBTTagCompound.d("id"); a = paramONBTTagCompound.c("Count"); d = paramONBTTagCompound.d("Damage"); } public int b() { return a().b(); } public boolean c() { return (b() > 1) && ((!d()) || (!f())); } public boolean d() { return OItem.c[c].d() > 0; } public boolean e() { return OItem.c[c].c(); } public boolean f() { return (d()) && (d > 0); } public int g() { return d; } public int h() { return d; } public int i() { return OItem.c[c].d(); } public void a(int paramInt, OEntity paramOEntity) { if (!d()) return; d += paramInt; if (d > i()) { if ((paramOEntity instanceof OEntityPlayer)) ((OEntityPlayer) paramOEntity).a(OStatList.B[c], 1); a -= 1; if (a < 0) a = 0; d = 0; } } public void a(OEntityLiving paramOEntityLiving, OEntityPlayer paramOEntityPlayer) { boolean bool = OItem.c[c].a(this, paramOEntityLiving, paramOEntityPlayer); if (bool) paramOEntityPlayer.a(OStatList.A[c], 1); } public void a(int paramInt1, int paramInt2, int paramInt3, int paramInt4, OEntityPlayer paramOEntityPlayer) { boolean bool = OItem.c[c].a(this, paramInt1, paramInt2, paramInt3, paramInt4, paramOEntityPlayer); if (bool) paramOEntityPlayer.a(OStatList.A[c], 1); } public int a(OEntity paramOEntity) { return OItem.c[c].a(paramOEntity); } public boolean b(OBlock paramOBlock) { return OItem.c[c].a(paramOBlock); } public void a(OEntityPlayer paramOEntityPlayer) { } public void a(OEntityLiving paramOEntityLiving) { OItem.c[c].a(this, paramOEntityLiving); } public OItemStack j() { return new OItemStack(c, a, d); } public static boolean a(OItemStack paramOItemStack1, OItemStack paramOItemStack2) { if ((paramOItemStack1 == null) && (paramOItemStack2 == null)) return true; if ((paramOItemStack1 == null) || (paramOItemStack2 == null)) return false; return paramOItemStack1.c(paramOItemStack2); } private boolean c(OItemStack paramOItemStack) { if (a != paramOItemStack.a) return false; if (c != paramOItemStack.c) return false; return d == paramOItemStack.d; } public boolean a(OItemStack paramOItemStack) { return (c == paramOItemStack.c) && (d == paramOItemStack.d); } public static OItemStack b(OItemStack paramOItemStack) { return paramOItemStack == null ? null : paramOItemStack.j(); } @Override public String toString() { return a + "x" + OItem.c[c].a() + "@" + d; } }