package mnm.mods.achget;

import net.minecraft.entity.player.EntityPlayerMP;

public class StatHandler {

    private final StatAchievement achievement;

    public StatHandler(StatAchievement achievement) {
        this.achievement = achievement;
    }

    public int getStat(EntityPlayerMP player) {
        // this method `writeStat()` is wrongly named.
        return player.getStatFile().writeStat(achievement.getStat());
    }

    public boolean hasAchievement(EntityPlayerMP player) {
        return player.getStatFile().hasAchievementUnlocked(achievement);
    }

    public void giveAchievement(EntityPlayerMP player) {
        player.triggerAchievement(achievement);
    }

    public boolean shouldAward(EntityPlayerMP player) {
        return !hasAchievement(player) && getStat(player) > achievement.getCount();
    }
}

package mnm.mods.achget;

import net.minecraft.entity.player.EntityPlayerMP;

public class StatHandler {

    private final StatAchievement achievement;

    public StatHandler(StatAchievement achievement) {
        this.achievement = achievement;
    }

    public int getStat(EntityPlayerMP player) {
        // this method `writeStat()` is wrongly named.
        return player.getStatFile().writeStat(achievement.getStat());
    }

    public boolean hasAchievement(EntityPlayerMP player) {
        return player.getStatFile().hasAchievementUnlocked(achievement);
    }

    public void giveAchievement(EntityPlayerMP player) {
        player.triggerAchievement(achievement);
    }

    public boolean shouldAward(EntityPlayerMP player) {
        return !hasAchievement(player) && getStat(player) >= achievement.getCount();
    }
}

Fix stats triggering at count + 1
Fix stats triggering at count + 1