Added %quality% placeholder & Bottled Materials

issue #259
This commit is contained in:
Sn0wStorm
2020-04-13 13:52:57 +02:00
parent 2cd52955a0
commit 786a3c5741
19 changed files with 56 additions and 32 deletions
+6 -3
View File
@@ -281,18 +281,21 @@ public class BCauldron {
return;
}
if (ingredientAdd(clickedBlock, item, player)) {
boolean isBucket = item.getType().equals(Material.WATER_BUCKET)
|| item.getType().equals(Material.LAVA_BUCKET)
|| item.getType().equals(Material.MILK_BUCKET);
boolean isBucket = item.getType().name().endsWith("_BUCKET");
boolean isBottle = LegacyUtil.isBottle(item.getType());
if (item.getAmount() > 1) {
item.setAmount(item.getAmount() - 1);
if (isBucket) {
giveItem(player, new ItemStack(Material.BUCKET));
} else if (isBottle) {
giveItem(player, new ItemStack(Material.GLASS_BOTTLE));
}
} else {
if (isBucket) {
setItemInHand(event, Material.BUCKET, handSwap);
} else if (isBottle) {
setItemInHand(event, Material.GLASS_BOTTLE, handSwap);
} else {
setItemInHand(event, Material.AIR, handSwap);
}
+1 -1
View File
@@ -167,7 +167,7 @@ public class BPlayer {
}
if (brew.hasRecipe()) {
brew.getCurrentRecipe().applyDrinkFeatures(player);
brew.getCurrentRecipe().applyDrinkFeatures(player, brew.getQuality());
}
P.p.metricsForDrink(brew);
+5 -5
View File
@@ -448,22 +448,22 @@ public class BRecipe {
return false;
}
public void applyDrinkFeatures(Player player) {
public void applyDrinkFeatures(Player player, int quality) {
if (playercmds != null && !playercmds.isEmpty()) {
for (String cmd : playercmds) {
player.performCommand(cmd.replaceAll("%player_name%", player.getName()));
player.performCommand(BUtil.applyPlaceholders(cmd, player.getName(), quality));
}
}
if (servercmds != null && !servercmds.isEmpty()) {
for (String cmd : servercmds) {
P.p.getServer().dispatchCommand(P.p.getServer().getConsoleSender(), cmd.replaceAll("%player_name%", player.getName()));
P.p.getServer().dispatchCommand(P.p.getServer().getConsoleSender(), BUtil.applyPlaceholders(cmd, player.getName(), quality));
}
}
if (drinkMsg != null) {
player.sendMessage(drinkMsg.replaceAll("%player_name%", player.getName()));
player.sendMessage(BUtil.applyPlaceholders(drinkMsg, player.getName(), quality));
}
if (drinkTitle != null) {
player.sendTitle("", drinkTitle.replaceAll("%player_name%", player.getName()), 10, 90, 30);
player.sendTitle("", BUtil.applyPlaceholders(drinkTitle, player.getName(), quality), 10, 90, 30);
}
}
+12
View File
@@ -164,6 +164,18 @@ public class BUtil {
return -1;
}
/**
* Replaces the Placeholders %player_name% and %quality% in the given input string
*
* @param input The String to replace the placeholders in
* @param player Player Name to replace %player_name%
* @param quality Quality to replace %quality%
* @return The String with all placeholders replaced
*/
public static String applyPlaceholders(String input, String player, int quality) {
return input.replaceAll("%player_name%", player).replaceAll("%quality%", String.valueOf(quality));
}
/* **************************************** */
/* ********* ********* */
/* ********* Brewery Utils ********* */
@@ -129,6 +129,15 @@ public class LegacyUtil {
return false;
}
public static boolean isBottle(Material type) {
if (type == Material.POTION) return true;
if (!P.use1_9) return false;
if (type == Material.LINGERING_POTION || type == Material.SPLASH_POTION) return true;
if (!P.use1_13) return false;
if (type == Material.EXPERIENCE_BOTTLE) return true;
return type.name().equals("HONEY_BOTTLE");
}
public static boolean areStairsInverted(Block block) {
if (!P.use1_13) {
@SuppressWarnings("deprecation")