package net.minecraft.client.resources.model;
import com.google.common.collect.Lists;
import java.util.Iterator;
import java.util.List;
import net.minecraft.client.renderer.block.model.BakedQuad;
import net.minecraft.client.renderer.block.model.BreakingFour;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
import net.minecraft.client.renderer.block.model.ModelBlock;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.util.EnumFacing;
public class SimpleBakedModel implements IBakedModel
{
protected final List field_177563_a;
protected final List field_177561_b;
protected final boolean field_177562_c;
protected final boolean ambientOcclusion;
protected final TextureAtlasSprite texture;
protected final ItemCameraTransforms field_177558_f;
private static final String __OBFID = "CL_00002386";
public SimpleBakedModel(List p_i46077_1_, List p_i46077_2_, boolean p_i46077_3_, boolean p_i46077_4_, TextureAtlasSprite p_i46077_5_, ItemCameraTransforms p_i46077_6_)
{
this.field_177563_a = p_i46077_1_;
this.field_177561_b = p_i46077_2_;
this.field_177562_c = p_i46077_3_;
this.ambientOcclusion = p_i46077_4_;
this.texture = p_i46077_5_;
this.field_177558_f = p_i46077_6_;
}
public List func_177551_a(EnumFacing p_177551_1_)
{
return (List)this.field_177561_b.get(p_177551_1_.ordinal());
}
public List func_177550_a()
{
return this.field_177563_a;
}
public boolean isGui3d()
{
return this.field_177562_c;
}
public boolean isAmbientOcclusionEnabled()
{
return this.ambientOcclusion;
}
public boolean isBuiltInRenderer()
{
return false;
}
public TextureAtlasSprite getTexture()
{
return this.texture;
}
public ItemCameraTransforms getItemCameraTransforms()
{
return this.field_177558_f;
}
public static class Builder
{
private final List field_177656_a;
private final List field_177654_b;
private final boolean field_177655_c;
private TextureAtlasSprite field_177652_d;
private boolean field_177653_e;
private ItemCameraTransforms field_177651_f;
private static final String __OBFID = "CL_00002385";
public Builder(ModelBlock p_i46074_1_)
{
this(p_i46074_1_.func_178309_b(), p_i46074_1_.isAmbientOcclusionEnabled(), new ItemCameraTransforms(p_i46074_1_.getThirdPersonTransform(), p_i46074_1_.getFirstPersonTransform(), p_i46074_1_.getHeadTransform(), p_i46074_1_.getInGuiTransform()));
}
public Builder(IBakedModel p_i46075_1_, TextureAtlasSprite p_i46075_2_)
{
this(p_i46075_1_.isGui3d(), p_i46075_1_.isAmbientOcclusionEnabled(), p_i46075_1_.getItemCameraTransforms());
this.field_177652_d = p_i46075_1_.getTexture();
EnumFacing[] var3 = EnumFacing.values();
int var4 = var3.length;
for (int var5 = 0; var5 < var4; ++var5)
{
EnumFacing var6 = var3[var5];
this.func_177649_a(p_i46075_1_, p_i46075_2_, var6);
}
this.func_177647_a(p_i46075_1_, p_i46075_2_);
}
private void func_177649_a(IBakedModel p_177649_1_, TextureAtlasSprite p_177649_2_, EnumFacing p_177649_3_)
{
Iterator var4 = p_177649_1_.func_177551_a(p_177649_3_).iterator();
while (var4.hasNext())
{
BakedQuad var5 = (BakedQuad)var4.next();
this.func_177650_a(p_177649_3_, new BreakingFour(var5, p_177649_2_));
}
}
private void func_177647_a(IBakedModel p_177647_1_, TextureAtlasSprite p_177647_2_)
{
Iterator var3 = p_177647_1_.func_177550_a().iterator();
while (var3.hasNext())
{
BakedQuad var4 = (BakedQuad)var3.next();
this.func_177648_a(new BreakingFour(var4, p_177647_2_));
}
}
private Builder(boolean p_i46076_1_, boolean p_i46076_2_, ItemCameraTransforms p_i46076_3_)
{
this.field_177656_a = Lists.newArrayList();
this.field_177654_b = Lists.newArrayListWithCapacity(6);
EnumFacing[] var4 = EnumFacing.values();
int var5 = var4.length;
for (int var6 = 0; var6 < var5; ++var6)
{
EnumFacing var10000 = var4[var6];
this.field_177654_b.add(Lists.newArrayList());
}
this.field_177655_c = p_i46076_1_;
this.field_177653_e = p_i46076_2_;
this.field_177651_f = p_i46076_3_;
}
public SimpleBakedModel.Builder func_177650_a(EnumFacing p_177650_1_, BakedQuad p_177650_2_)
{
((List)this.field_177654_b.get(p_177650_1_.ordinal())).add(p_177650_2_);
return this;
}
public SimpleBakedModel.Builder func_177648_a(BakedQuad p_177648_1_)
{
this.field_177656_a.add(p_177648_1_);
return this;
}
public SimpleBakedModel.Builder func_177646_a(TextureAtlasSprite p_177646_1_)
{
this.field_177652_d = p_177646_1_;
return this;
}
public IBakedModel func_177645_b()
{
if (this.field_177652_d == null)
{
throw new RuntimeException("Missing particle!");
}
else
{
return new SimpleBakedModel(this.field_177656_a, this.field_177654_b, this.field_177655_c, this.field_177653_e, this.field_177652_d, this.field_177651_f);
}
}
}
}