001    public class kc extends bm
002      implements mn, Container<jl>
003    {
004      private jl[] e = new jl[36];
005    
006      private String name = "Chest";
007    
008        /**
009         * Get contents of the chest block
010         *
011         * @return
012         */
013        public jl[] getContents() {
014            return e;
015        }
016    
017        /**
018         * Set contents of the chest block
019         *
020         * @return
021         */
022        public void setContents(jl[] e) {
023            this.e = e;
024        }
025    
026        public jl getContentsAt(int index) {
027            return a(index);
028        }
029    
030        public void setContentsAt(int index, jl value) {
031            a(index, value);
032        }
033    
034        public int getContentsSize() {
035            return h_();
036        }
037    
038        public String getName() {
039            return name;
040        }
041    
042        public void setName(String value) {
043            name = value;
044        }
045    
046      public int h_() {
047        return 27;
048      }
049    
050      public jl a(int paramInt) {
051        return e[paramInt];
052      }
053    
054      public jl b(int paramInt1, int paramInt2) {
055        if (e[paramInt1] != null) {
056          if (e[paramInt1].a <= paramInt2) {
057            jl localjl = e[paramInt1];
058            e[paramInt1] = null;
059            d();
060            return localjl;
061          }
062          jl localjl = e[paramInt1].a(paramInt2);
063          if (e[paramInt1].a == 0) e[paramInt1] = null;
064          d();
065          return localjl;
066        }
067    
068        return null;
069      }
070    
071      public void a(int paramInt, jl paramjl) {
072        e[paramInt] = paramjl;
073        if ((paramjl != null) && (paramjl.a > c())) paramjl.a = c();
074        d();
075      }
076    
077      public String b() {
078        return getName(); //hMod: override with getName()
079      }
080    
081      public void a(ah paramah)
082      {
083        super.a(paramah);
084        fh localfh = paramah.k("Items");
085        e = new jl[h_()];
086        for (int i = 0; i < localfh.b(); i++) {
087          ah localah = (ah)localfh.a(i);
088          int j = localah.b("Slot") & 0xFF;
089          if ((j < 0) || (j >= e.length)) continue; e[j] = new jl(localah);
090        }
091      }
092    
093      public void b(ah paramah) {
094        super.b(paramah);
095        fh localfh = new fh();
096    
097        for (int i = 0; i < e.length; i++) {
098          if (e[i] != null) {
099            ah localah = new ah();
100            localah.a("Slot", (byte)i);
101            e[i].a(localah);
102            localfh.a(localah);
103          }
104        }
105        paramah.a("Items", localfh);
106      }
107    
108      public int c()
109      {
110        return 64;
111      }
112    
113      public boolean a_(hl paramhl) {
114        if (a.m(b, c, d) != this) return false;
115        return paramhl.d(b + 0.5D, c + 0.5D, d + 0.5D) <= 64.0D;
116      }
117    }