001 public class ez extends bm 002 implements mn, Container<jl> 003 { 004 private jl[] h = new jl[3]; 005 public int e = 0; 006 public int f = 0; 007 public int g = 0; 008 private String name = "Furnace"; 009 /** 010 * Get contents of the furnace block 011 * @return 012 */ 013 public jl[] getContents() { 014 return h; 015 } 016 017 /** 018 * Set contents of the furnace block 019 * @return 020 */ 021 public void setContents(jl[] e) { 022 this.h = e; 023 } 024 025 public jl getContentsAt(int index) { 026 return a(index); 027 } 028 029 public void setContentsAt(int index, jl value) { 030 a(index, value); 031 } 032 033 public int getContentsSize() { 034 return h_(); 035 } 036 037 public String getName() { 038 return name; 039 } 040 041 public void setName(String value) { 042 name = value; 043 } 044 045 public int h_() { 046 return h.length; 047 } 048 049 public jl a(int paramInt) { 050 return h[paramInt]; 051 } 052 053 public jl b(int paramInt1, int paramInt2) { 054 if (h[paramInt1] != null) { 055 if (h[paramInt1].a <= paramInt2) { 056 jl localjl = h[paramInt1]; 057 h[paramInt1] = null; 058 return localjl; 059 } 060 jl localjl = h[paramInt1].a(paramInt2); 061 if (h[paramInt1].a == 0) h[paramInt1] = null; 062 return localjl; 063 } 064 065 return null; 066 } 067 068 public void a(int paramInt, jl paramjl) { 069 h[paramInt] = paramjl; 070 if ((paramjl != null) && (paramjl.a > c())) paramjl.a = c(); 071 } 072 073 public String b() 074 { 075 return getName(); //hMod: override with getName() 076 } 077 078 public void a(ah paramah) 079 { 080 super.a(paramah); 081 fh localfh = paramah.k("Items"); 082 h = new jl[h_()]; 083 for (int i = 0; i < localfh.b(); i++) { 084 ah localah = (ah)localfh.a(i); 085 int j = localah.b("Slot"); 086 if ((j < 0) || (j >= h.length)) continue; h[j] = new jl(localah); 087 } 088 089 e = paramah.c("BurnTime"); 090 g = paramah.c("CookTime"); 091 f = a(h[1]); 092 } 093 094 public void b(ah paramah) { 095 super.b(paramah); 096 paramah.a("BurnTime", (short)e); 097 paramah.a("CookTime", (short)g); 098 fh localfh = new fh(); 099 100 for (int i = 0; i < h.length; i++) { 101 if (h[i] != null) { 102 ah localah = new ah(); 103 localah.a("Slot", (byte)i); 104 h[i].a(localah); 105 localfh.a(localah); 106 } 107 } 108 paramah.a("Items", localfh); 109 } 110 111 public int c() { 112 return 64; 113 } 114 115 public boolean e() 116 { 117 return e > 0; 118 } 119 120 public void f() { 121 int i = e > 0 ? 1 : 0; 122 int j = 0; 123 if (e > 0) { 124 e -= 1; 125 } 126 127 if (!a.z) { 128 if ((e == 0) && (i())) { 129 f = (this.e = a(h[1])); 130 if (e > 0) { 131 j = 1; 132 if (h[1] != null) { 133 h[1].a -= 1; 134 if (h[1].a == 0) h[1] = null; 135 } 136 } 137 } 138 139 if ((e()) && (i())) { 140 g += 1; 141 if (g == 200) { 142 g = 0; 143 h(); 144 j = 1; 145 } 146 } else { 147 g = 0; 148 } 149 150 if (i != (e > 0 ? 1 : 0)) { 151 j = 1; 152 fr.a(e > 0, a, b, c, d); 153 } 154 } 155 156 if (j != 0) d(); 157 } 158 159 private boolean i() 160 { 161 if (h[0] == null) return false; 162 jl localjl = fp.a().a(h[0].a().ba); 163 if (localjl == null) return false; 164 if (h[2] == null) return true; 165 if (!h[2].a(localjl)) return false; 166 if ((h[2].a < c()) && (h[2].a < h[2].b())) return true; 167 return h[2].a < localjl.b(); 168 } 169 170 public void h() 171 { 172 if (!i()) return; 173 174 jl localjl = fp.a().a(h[0].a().ba); 175 if (h[2] == null) h[2] = localjl.j(); 176 else if (h[2].c == localjl.c) h[2].a += 1; 177 178 h[0].a -= 1; 179 if (h[0].a <= 0) h[0] = null; 180 } 181 182 private int a(jl paramjl) 183 { 184 if (paramjl == null) return 0; 185 int i = paramjl.a().ba; 186 187 if ((i < 256) && (hr.m[i].bt == mh.c)) { 188 return 300; 189 } 190 191 if (i == hg.B.ba) { 192 return 100; 193 } 194 195 if (i == hg.k.ba) return 1600; 196 197 if (i == hg.aw.ba) return 20000; 198 199 return 0; 200 } 201 202 public boolean a_(hl paramhl) { 203 if (a.m(b, c, d) != this) return false; 204 return paramhl.d(b + 0.5D, c + 0.5D, d + 0.5D) <= 64.0D; 205 } 206 }