use of au.com.mineauz.minigames.menu.MenuItemList in project Minigames by AddstarMC.
the class SpawnEntityAction method displayMenu.
@Override
public boolean displayMenu(MinigamePlayer player, Menu previous) {
Menu m = new Menu(3, "Spawn Entity", player);
m.addItem(new MenuItemPage("Back", Material.REDSTONE_TORCH_ON, previous), m.getSize() - 9);
List<String> options = new ArrayList<>();
for (EntityType type : EntityType.values()) {
if (type != EntityType.ITEM_FRAME && type != EntityType.LEASH_HITCH && type != EntityType.PLAYER && type != EntityType.COMPLEX_PART && type != EntityType.WEATHER && type != EntityType.LIGHTNING && type != EntityType.PAINTING && type != EntityType.UNKNOWN && type != EntityType.DROPPED_ITEM)
options.add(MinigameUtils.capitalize(type.toString().replace("_", " ")));
}
m.addItem(new MenuItemList("Entity Type", Material.SKULL_ITEM, new Callback<String>() {
@Override
public void setValue(String value) {
type.setFlag(value.toUpperCase().replace(" ", "_"));
settings.clear();
addBaseSettings();
}
@Override
public String getValue() {
return MinigameUtils.capitalize(type.getFlag().replace("_", " "));
}
}, options));
m.addItem(new MenuItemDecimal("X Velocity", Material.ARROW, new Callback<Double>() {
@Override
public void setValue(Double value) {
settings.put("velocityx", value.toString());
}
@Override
public Double getValue() {
return Double.valueOf(settings.get("velocityx"));
}
}, 0.5, 1, null, null));
m.addItem(new MenuItemDecimal("Y Velocity", Material.ARROW, new Callback<Double>() {
@Override
public void setValue(Double value) {
settings.put("velocityy", value.toString());
}
@Override
public Double getValue() {
return Double.valueOf(settings.get("velocityy"));
}
}, 0.5, 1, null, null));
m.addItem(new MenuItemDecimal("Z Velocity", Material.ARROW, new Callback<Double>() {
@Override
public void setValue(Double value) {
settings.put("velocityz", value.toString());
}
@Override
public Double getValue() {
return Double.valueOf(settings.get("velocityz"));
}
}, 0.5, 1, null, null));
m.addItem(new MenuItemNewLine());
final Menu eSet = new Menu(3, "Settings", player);
final MenuItemPage backButton = new MenuItemPage("Back", Material.REDSTONE_TORCH_ON, m);
final MenuItemCustom cus = new MenuItemCustom("Entity Settings", Material.CHEST);
final MinigamePlayer fply = player;
cus.setClick(new InteractionInterface() {
@Override
public Object interact(Object object) {
if (type.getFlag().equals("ZOMBIE")) {
eSet.clearMenu();
eSet.addItem(backButton, eSet.getSize() - 9);
livingEntitySettings(eSet);
eSet.displayMenu(fply);
return null;
}
return cus.getItem();
}
});
m.addItem(cus);
m.displayMenu(player);
return true;
}
use of au.com.mineauz.minigames.menu.MenuItemList in project Minigames by AddstarMC.
the class ApplyPotionAction method displayMenu.
@Override
public boolean displayMenu(MinigamePlayer player, Menu previous) {
Menu m = new Menu(3, "Apply Potion", player);
m.addItem(new MenuItemPage("Back", Material.REDSTONE_TORCH_ON, previous), m.getSize() - 9);
List<String> pots = new ArrayList<>(PotionEffectType.values().length);
for (PotionEffectType type : PotionEffectType.values()) {
if (type != null) {
pots.add(MinigameUtils.capitalize(type.getName().replace("_", " ")));
}
}
m.addItem(new MenuItemList("Potion Type", Material.POTION, new Callback<String>() {
@Override
public void setValue(String value) {
type.setFlag(value.toUpperCase().replace(" ", "_"));
}
@Override
public String getValue() {
return MinigameUtils.capitalize(type.getFlag().replace("_", " "));
}
}, pots));
m.addItem(new MenuItemTime("Duration", Material.WATCH, new Callback<Integer>() {
@Override
public void setValue(Integer value) {
dur.setFlag(value);
}
@Override
public Integer getValue() {
return dur.getFlag();
}
}, 0, 86400));
m.addItem(new MenuItemInteger("Level", Material.STONE, new Callback<Integer>() {
@Override
public void setValue(Integer value) {
amp.setFlag(value);
}
@Override
public Integer getValue() {
return amp.getFlag();
}
}, 0, 100));
m.displayMenu(player);
return true;
}
use of au.com.mineauz.minigames.menu.MenuItemList in project Minigames by AddstarMC.
the class SetTeamScoreAction method displayMenu.
@Override
public boolean displayMenu(MinigamePlayer player, Menu previous) {
Menu m = new Menu(3, "Set Team Score", player);
m.addItem(new MenuItemPage("Back", Material.REDSTONE_TORCH_ON, previous), m.getSize() - 9);
m.addItem(score.getMenuItem("Set Score Amount", Material.STONE, null, null));
List<String> teams = new ArrayList<>();
teams.add("None");
for (TeamColor team : TeamColor.values()) {
teams.add(MinigameUtils.capitalize(team.toString()));
}
m.addItem(new MenuItemList("Specific Team", MinigameUtils.stringToList("If 'None', the players;team will be used"), Material.PAPER, new Callback<String>() {
@Override
public void setValue(String value) {
team.setFlag(value.toUpperCase());
}
@Override
public String getValue() {
return MinigameUtils.capitalize(team.getFlag());
}
}, teams));
m.displayMenu(player);
return true;
}
Aggregations