Greenhouses/src/main/java/world/bentobox/greenhouses/ui/panel/Panel.java

59 lines
2.3 KiB
Java
Raw Normal View History

2019-02-08 00:17:55 +01:00
package world.bentobox.greenhouses.ui.panel;
import java.util.ArrayList;
import java.util.List;
import world.bentobox.bentobox.api.panels.builders.PanelBuilder;
import world.bentobox.bentobox.api.panels.builders.PanelItemBuilder;
import world.bentobox.bentobox.api.user.User;
import world.bentobox.bentobox.util.Util;
import world.bentobox.greenhouses.Greenhouses;
import world.bentobox.greenhouses.greenhouse.BiomeRecipe;
public class Panel {
2019-11-01 05:51:24 +01:00
private static final String COVERAGE = "[coverage]";
2019-02-08 00:17:55 +01:00
private Greenhouses addon;
public Panel(Greenhouses addon) {
super();
this.addon = addon;
}
2019-11-01 05:36:05 +01:00
public void showPanel(User user) {
2019-07-08 00:45:47 +02:00
PanelBuilder pb = new PanelBuilder().name(user.getTranslation("greenhouses.general.greenhouses"));
2019-02-08 00:17:55 +01:00
for (BiomeRecipe br : addon.getRecipes().getBiomeRecipes()) {
if (user.hasPermission(br.getPermission())) {
pb.item(new PanelItemBuilder()
.name(br.getFriendlyName()).icon(br.getIcon())
2019-07-08 00:45:47 +02:00
.description(getDescription(user, br))
2019-02-08 00:17:55 +01:00
.clickHandler(new PanelClick(addon, br)).build());
}
}
pb.user(user).build();
}
2019-07-08 00:45:47 +02:00
private List<String> getDescription(User user, BiomeRecipe br) {
2019-02-08 00:17:55 +01:00
List<String> d = new ArrayList<>();
// Make description
2019-07-08 00:45:47 +02:00
d.add(user.getTranslation("greenhouses.recipe.title", "[biome]", Util.prettifyText(br.getBiome().toString())));
if (!br.getRecipeBlocks().isEmpty()) {
d.add(user.getTranslation("greenhouses.recipe.minimumblockstitle"));
br.getRecipeBlocks().forEach(b -> d.add(user.getTranslation("greenhouses.recipe.blockscolor") + b));
}
2019-02-08 00:17:55 +01:00
if (br.getWaterCoverage() > 0) {
2019-11-01 05:51:24 +01:00
d.add(user.getTranslation("greenhouses.recipe.watermustbe", COVERAGE, String.valueOf(br.getWaterCoverage())));
2019-02-08 00:17:55 +01:00
}
if (br.getLavaCoverage() > 0) {
2019-11-01 05:51:24 +01:00
d.add(user.getTranslation("greenhouses.recipe.lavamustbe", COVERAGE, String.valueOf(br.getLavaCoverage())));
2019-02-08 00:17:55 +01:00
}
if (br.getIceCoverage() > 0) {
2019-11-01 05:51:24 +01:00
d.add(user.getTranslation("greenhouses.recipe.icemustbe", COVERAGE, String.valueOf(br.getIceCoverage())));
2019-07-08 00:45:47 +02:00
}
if (br.getRecipeBlocks().isEmpty()) {
d.add(user.getTranslation("greenhouses.recipe.nootherblocks"));
2019-02-08 00:17:55 +01:00
}
return d;
}
}