Negative alc calc

This commit is contained in:
alxl 2020-11-29 20:31:01 -06:00
parent a848ba4e8d
commit 125d7f1033
3 changed files with 17 additions and 20 deletions

View File

@ -180,28 +180,20 @@ public class BPlayer {
int quality = drinkEvent.getQuality();
List<PotionEffect> effects = getBrewEffects(brew.getEffects(), quality);
if (brewAlc == 0) {
//no alcohol so we dont need to add a BPlayer
applyEffects(effects, player, PlayerEffectEvent.EffectType.DRINK);
if (bPlayer.drunkeness <= 0) {
bPlayer.remove();
}
}
if (brewAlc > 0) {
applyEffects(effects, player, PlayerEffectEvent.EffectType.DRINK);
if (brewAlc < 0) {
bPlayer.drainAndRemove(player, -brewAlc);
} else if (brewAlc > 0) {
bPlayer.drunkeness += brewAlc;
if (quality > 0) {
bPlayer.quality += quality * brewAlc;
} else {
bPlayer.quality += brewAlc;
}
} else {
bPlayer.drainAndRemove(player, -brewAlc);
applyEffects(getQualityEffects(quality, brewAlc), player, PlayerEffectEvent.EffectType.QUALITY);
}
applyEffects(effects, player, PlayerEffectEvent.EffectType.DRINK);
applyEffects(getQualityEffects(quality, brewAlc), player, PlayerEffectEvent.EffectType.QUALITY);
if (bPlayer.drunkeness > 100) {
bPlayer.drinkCap(player);
}
@ -210,6 +202,10 @@ public class BPlayer {
if (BConfig.showStatusOnDrink) {
bPlayer.showDrunkeness(player);
}
if (bPlayer.drunkeness <= 0) {
bPlayer.remove();
}
return true;
}

View File

@ -373,9 +373,7 @@ public class Brew implements Cloneable {
// quality decides 10% - 100%
alc *= ((float) quality / 10.0f);
}
if (alc > 0) {
return alc;
}
return alc;
}
return 0;
}
@ -516,7 +514,10 @@ public class Brew implements Cloneable {
}
public int getOrCalcAlc() {
return alc > 0 ? alc : (alc = calcAlcohol());
if (alc == 0) {
alc = calcAlcohol();
}
return alc;
}
public void setAlc(int alc) {

View File

@ -275,7 +275,7 @@ public class BrewLore {
}
public void updateAlc(boolean inDistiller) {
if (!brew.isUnlabeled() && (inDistiller || BConfig.alwaysShowAlc) && (!brew.hasRecipe() || brew.getCurrentRecipe().getAlcohol() > 0)) {
if (!brew.isUnlabeled() && (inDistiller || BConfig.alwaysShowAlc) && (!brew.hasRecipe() || brew.getCurrentRecipe().getAlcohol() != 0)) {
int alc = brew.getOrCalcAlc();
addOrReplaceLore(Type.ALC, "§8", P.p.languageReader.get("Brew_Alc", alc + ""));
} else {