use of gg.projecteden.nexus.models.pugmas21.Advent21Config in project Nexus by ProjectEdenGG.
the class Advent method onClickPresent.
@EventHandler
public void onClickPresent(PlayerInteractEvent event) {
final Player player = event.getPlayer();
if (event.getHand() != EquipmentSlot.HAND)
return;
if (!Pugmas21.isAtPugmas(player))
return;
final Block block = event.getClickedBlock();
if (block == null)
return;
if (block.getType() != Material.BARRIER)
return;
if (Pugmas21.isPastPugmas())
return;
final Advent21Config adventConfig = new Advent21ConfigService().get0();
final AdventPresent present = adventConfig.get(block.getLocation());
if (present == null)
return;
new Pugmas21UserService().edit(player, user -> user.advent().tryCollect(present));
}
use of gg.projecteden.nexus.models.pugmas21.Advent21Config in project Nexus by ProjectEdenGG.
the class Advent method updateItems.
public static void updateItems() {
Advent21ConfigService configService = new Advent21ConfigService();
Advent21Config adventConfig = Advent21Config.get();
Location lootOrigin = adventConfig.getLootOrigin();
int index = 1;
for (int z = 0; z <= 6; z++) {
// 0-3 col (Every other)
for (int x = 0; x <= 12; x++) {
// 0-6 row (Every other)
Block block = lootOrigin.getBlock().getRelative(x, 0, z);
if (isNullOrAir(block.getType()) || !block.getType().equals(Material.CHEST))
continue;
Chest chest = (Chest) block.getState();
List<ItemStack> contents = Arrays.stream(chest.getBlockInventory().getContents()).filter(Nullables::isNotNullOrAir).collect(Collectors.toList());
if (isNullOrEmpty(contents))
Nexus.warn("Contents of advent present " + index + " is empty!");
adventConfig.get(index++).setContents(contents);
}
}
configService.save(adventConfig);
}
Aggregations