59 lines
2.4 KiB
Java
59 lines
2.4 KiB
Java
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 {
|
|
|
|
private static final String COVERAGE = "[coverage]";
|
|
private final Greenhouses addon;
|
|
|
|
public Panel(Greenhouses addon) {
|
|
super();
|
|
this.addon = addon;
|
|
}
|
|
|
|
public void showPanel(User user) {
|
|
PanelBuilder pb = new PanelBuilder().name(user.getTranslation("greenhouses.general.greenhouses"));
|
|
for (BiomeRecipe br : addon.getRecipes().getBiomeRecipes()) {
|
|
if (user.hasPermission(br.getPermission())) {
|
|
pb.item(new PanelItemBuilder()
|
|
.name(br.getFriendlyName()).icon(br.getIcon())
|
|
.description(getDescription(user, br))
|
|
.clickHandler(new PanelClick(addon, br)).build());
|
|
}
|
|
}
|
|
pb.user(user).build();
|
|
}
|
|
|
|
private List<String> getDescription(User user, BiomeRecipe br) {
|
|
List<String> d = new ArrayList<>();
|
|
// Make description
|
|
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));
|
|
}
|
|
if (br.getWaterCoverage() > 0) {
|
|
d.add(user.getTranslation("greenhouses.recipe.watermustbe", COVERAGE, String.valueOf(br.getWaterCoverage())));
|
|
}
|
|
if (br.getLavaCoverage() > 0) {
|
|
d.add(user.getTranslation("greenhouses.recipe.lavamustbe", COVERAGE, String.valueOf(br.getLavaCoverage())));
|
|
}
|
|
if (br.getIceCoverage() > 0) {
|
|
d.add(user.getTranslation("greenhouses.recipe.icemustbe", COVERAGE, String.valueOf(br.getIceCoverage())));
|
|
}
|
|
if (br.getRecipeBlocks().isEmpty()) {
|
|
d.add(user.getTranslation("greenhouses.recipe.nootherblocks"));
|
|
}
|
|
return d;
|
|
}
|
|
}
|