001package net.minecraft.tileentity; 002 003import net.minecraft.nbt.NBTTagCompound; 004import net.minecraft.util.WeightedRandomItem; 005 006public class WeightedRandomMinecart extends WeightedRandomItem 007{ 008 public final NBTTagCompound field_98222_b; 009 public final String minecartName; 010 011 final MobSpawnerBaseLogic field_98221_d; 012 013 public WeightedRandomMinecart(MobSpawnerBaseLogic par1MobSpawnerBaseLogic, NBTTagCompound par2NBTTagCompound) 014 { 015 super(par2NBTTagCompound.getInteger("Weight")); 016 this.field_98221_d = par1MobSpawnerBaseLogic; 017 NBTTagCompound nbttagcompound1 = par2NBTTagCompound.getCompoundTag("Properties"); 018 String s = par2NBTTagCompound.getString("Type"); 019 020 if (s.equals("Minecart")) 021 { 022 if (nbttagcompound1 != null) 023 { 024 switch (nbttagcompound1.getInteger("Type")) 025 { 026 case 0: 027 s = "MinecartRideable"; 028 break; 029 case 1: 030 s = "MinecartChest"; 031 break; 032 case 2: 033 s = "MinecartFurnace"; 034 } 035 } 036 else 037 { 038 s = "MinecartRideable"; 039 } 040 } 041 042 this.field_98222_b = nbttagcompound1; 043 this.minecartName = s; 044 } 045 046 public WeightedRandomMinecart(MobSpawnerBaseLogic par1MobSpawnerBaseLogic, NBTTagCompound par2NBTTagCompound, String par3Str) 047 { 048 super(1); 049 this.field_98221_d = par1MobSpawnerBaseLogic; 050 051 if (par3Str.equals("Minecart")) 052 { 053 if (par2NBTTagCompound != null) 054 { 055 switch (par2NBTTagCompound.getInteger("Type")) 056 { 057 case 0: 058 par3Str = "MinecartRideable"; 059 break; 060 case 1: 061 par3Str = "MinecartChest"; 062 break; 063 case 2: 064 par3Str = "MinecartFurnace"; 065 } 066 } 067 else 068 { 069 par3Str = "MinecartRideable"; 070 } 071 } 072 073 this.field_98222_b = par2NBTTagCompound; 074 this.minecartName = par3Str; 075 } 076 077 public NBTTagCompound func_98220_a() 078 { 079 NBTTagCompound nbttagcompound = new NBTTagCompound(); 080 nbttagcompound.setCompoundTag("Properties", this.field_98222_b); 081 nbttagcompound.setString("Type", this.minecartName); 082 nbttagcompound.setInteger("Weight", this.itemWeight); 083 return nbttagcompound; 084 } 085}