    001package net.minecraft.scoreboard;
    002
    003import java.util.Comparator;
    004import java.util.List;
    005
    006public class Score
    007{
    008    public static final Comparator field_96658_a = new ScoreComparator();
    009    private final Scoreboard theScoreboard;
    010    private final ScoreObjective field_96657_c;
    011    private final String field_96654_d;
    012    private int field_96655_e;
    013
    014    public Score(Scoreboard par1Scoreboard, ScoreObjective par2ScoreObjective, String par3Str)
    015    {
    016        this.theScoreboard = par1Scoreboard;
    017        this.field_96657_c = par2ScoreObjective;
    018        this.field_96654_d = par3Str;
    019    }
    020
    021    public void func_96649_a(int par1)
    022    {
    023        if (this.field_96657_c.getCriteria().isReadOnly())
    024        {
    025            throw new IllegalStateException("Cannot modify read-only score");
    026        }
    027        else
    028        {
    029            this.func_96647_c(this.func_96652_c() + par1);
    030        }
    031    }
    032
    033    public void func_96646_b(int par1)
    034    {
    035        if (this.field_96657_c.getCriteria().isReadOnly())
    036        {
    037            throw new IllegalStateException("Cannot modify read-only score");
    038        }
    039        else
    040        {
    041            this.func_96647_c(this.func_96652_c() - par1);
    042        }
    043    }
    044
    045    public void func_96648_a()
    046    {
    047        if (this.field_96657_c.getCriteria().isReadOnly())
    048        {
    049            throw new IllegalStateException("Cannot modify read-only score");
    050        }
    051        else
    052        {
    053            this.func_96649_a(1);
    054        }
    055    }
    056
    057    public int func_96652_c()
    058    {
    059        return this.field_96655_e;
    060    }
    061
    062    public void func_96647_c(int par1)
    063    {
    064        int j = this.field_96655_e;
    065        this.field_96655_e = par1;
    066
    067        if (j != par1)
    068        {
    069            this.func_96650_f().func_96536_a(this);
    070        }
    071    }
    072
    073    public ScoreObjective func_96645_d()
    074    {
    075        return this.field_96657_c;
    076    }
    077
    078    public String func_96653_e()
    079    {
    080        return this.field_96654_d;
    081    }
    082
    083    public Scoreboard func_96650_f()
    084    {
    085        return this.theScoreboard;
    086    }
    087
    088    public void func_96651_a(List par1List)
    089    {
    090        this.func_96647_c(this.field_96657_c.getCriteria().func_96635_a(par1List));
    091    }
    092}