Merge pull request #352 from ItsAlxl/NegativeAlc

Allow brew recipes to reduce alcohol level
This commit is contained in:
Sn0wStorm 2021-04-06 17:32:49 +02:00 committed by GitHub
commit 01c498a608
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 34 additions and 26 deletions

View File

@ -442,6 +442,7 @@ recipes:
cookingtime: 2
color: BLACK
difficulty: 3
alcohol: -6
lore: + &8Probably a week old
effects:
- REGENERATION/1/2-5

View File

@ -821,6 +821,7 @@ recipes:
# cookingtime: 1
# color: BLACK
# difficulty: 4
# alcohol: -8
# effects:
# - REGENERATION/30
# - SPEED/10

View File

@ -739,6 +739,7 @@ recipes:
cookingtime: 2
color: BLACK
difficulty: 3
alcohol: -6
lore: + &8Probably a week old
effects:
- REGENERATION/1/2-5
@ -816,6 +817,7 @@ recipes:
# cookingtime: 1
# color: BLACK
# difficulty: 4
# alcohol: -8
# effects:
# - REGENERATION/30
# - SPEED/10

View File

@ -739,6 +739,7 @@ recipes:
cookingtime: 2
color: BLACK
difficulty: 3
alcohol: -6
lore: + &8Probablemente una semana de edad
effects:
- REGENERATION/1/2-5
@ -816,6 +817,7 @@ recipes:
# cookingtime: 1
# color: BLACK
# difficulty: 4
# alcohol: -8
# effects:
# - REGENERATION/30
# - SPEED/10

View File

@ -746,6 +746,7 @@ recipes:
cookingtime: 2
color: BLACK
difficulty: 3
alcohol: -6
lore: + &8Probably a week old
effects:
- REGENERATION/1/2-5
@ -822,6 +823,7 @@ recipes:
# cookingtime: 1
# color: BLACK
# difficulty: 4
# alcohol: -8
# effects:
# - REGENERATION/30
# - SPEED/10

View File

@ -816,6 +816,7 @@ eggnog:
# cookingtime: 1
# color: BLACK
# difficulty: 4
# alcohol: -8
# effects:
# - REGENERATION/30
# - SPEED/10

View File

@ -820,6 +820,7 @@ recipes:
# cookingtime: 1
# color: BLACK
# difficulty: 4
# alcohol: -6
# effects:
# - REGENERATION/30
# - SPEED/10

View File

@ -180,31 +180,32 @@ public class BPlayer {
int quality = drinkEvent.getQuality();
List<PotionEffect> effects = getBrewEffects(brew.getEffects(), quality);
if (brewAlc < 1) {
//no alcohol so we dont need to add a BPlayer
applyEffects(effects, player, PlayerEffectEvent.EffectType.DRINK);
if (bPlayer.drunkeness <= 0) {
bPlayer.remove();
}
return true;
}
bPlayer.drunkeness += brewAlc;
if (quality > 0) {
bPlayer.quality += quality * brewAlc;
} else {
bPlayer.quality += brewAlc;
}
applyEffects(effects, player, PlayerEffectEvent.EffectType.DRINK);
applyEffects(getQualityEffects(quality, brewAlc), player, PlayerEffectEvent.EffectType.QUALITY);
if (brewAlc < 0) {
bPlayer.drain(player, -brewAlc);
} else if (brewAlc > 0) {
bPlayer.drunkeness += brewAlc;
if (quality > 0) {
bPlayer.quality += quality * brewAlc;
} else {
bPlayer.quality += brewAlc;
}
applyEffects(getQualityEffects(quality, brewAlc), player, PlayerEffectEvent.EffectType.QUALITY);
}
if (bPlayer.drunkeness > 100) {
bPlayer.drinkCap(player);
}
bPlayer.syncToSQL(false);
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 {

View File

@ -338,10 +338,6 @@ public class BRecipe {
P.p.errorLog("Invalid difficulty '" + difficulty + "' in Recipe: " + getRecipeName());
return false;
}
if (alcohol < 0) {
P.p.errorLog("Invalid alcohol '" + alcohol + "' in Recipe: " + getRecipeName());
return false;
}
return true;
}