001 import java.io.PrintStream; 002 import java.lang.reflect.Constructor; 003 import java.util.HashMap; 004 import java.util.Map; 005 006 public class jn 007 { 008 private static Map a = new HashMap(); 009 private static Map b = new HashMap(); 010 private static Map c = new HashMap(); 011 private static Map d = new HashMap(); 012 013 private static void a(Class paramClass, String paramString, int paramInt) { 014 a.put(paramString, paramClass); 015 b.put(paramClass, paramString); 016 c.put(Integer.valueOf(paramInt), paramClass); 017 d.put(paramClass, Integer.valueOf(paramInt)); 018 } 019 020 public static fe a(String paramString, fv paramfv) 021 { 022 fe localfe = null; 023 try { 024 Class localClass = (Class)a.get(paramString); 025 if (localClass != null) localfe = (fe)localClass.getConstructor(new Class[] { fv.class }).newInstance(new Object[] { paramfv }); 026 } 027 catch (Exception localException) 028 { 029 localException.printStackTrace(); 030 } 031 return localfe; 032 } 033 034 public static fe a(ah paramah, fv paramfv) { 035 fe localfe = null; 036 try { 037 Class localClass = (Class)a.get(paramah.h("id")); 038 if (localClass != null) localfe = (fe)localClass.getConstructor(new Class[] { fv.class }).newInstance(new Object[] { paramfv }); 039 } 040 catch (Exception localException) 041 { 042 localException.printStackTrace(); 043 } 044 if (localfe != null) 045 localfe.e(paramah); 046 else { 047 System.out.println("Skipping Entity with id " + paramah.h("id")); 048 } 049 return localfe; 050 } 051 052 public static int a(fe paramfe) 053 { 054 return ((Integer)d.get(paramfe.getClass())).intValue(); 055 } 056 057 public static String b(fe paramfe) { 058 return (String)b.get(paramfe.getClass()); 059 } 060 061 // hMod: Let us do a name->class lookup for mob spawning 062 public static Class getEntity(String name) { 063 return (Class)a.get(name); 064 } 065 066 static 067 { 068 a(fc.class, "Arrow", 10); 069 a(by.class, "Snowball", 11); 070 a(ic.class, "Item", 1); 071 a(dd.class, "Painting", 9); 072 073 a(mj.class, "Mob", 48); 074 a(hq.class, "Monster", 49); 075 076 a(gy.class, "Creeper", 50); 077 a(gj.class, "Skeleton", 51); 078 a(cr.class, "Spider", 52); 079 a(ad.class, "Giant", 53); 080 a(ia.class, "Zombie", 54); 081 a(ht.class, "Slime", 55); 082 a(br.class, "Ghast", 56); 083 a(lh.class, "PigZombie", 57); 084 085 a(js.class, "Pig", 90); 086 a(dv.class, "Sheep", 91); 087 a(bx.class, "Cow", 92); 088 a(kk.class, "Chicken", 93); 089 a(le.class, "Squid", 94); 090 091 a(dh.class, "PrimedTnt", 20); 092 a(kd.class, "FallingSand", 21); 093 094 a(lw.class, "Minecart", 40); 095 a(gu.class, "Boat", 41); 096 } 097 }