use of com.iridium.iridiumskyblock.database.User in project IridiumSkyblock by Iridium-Development.
the class BucketListener method onBucketEvent.
public void onBucketEvent(PlayerBucketEvent event) {
Player player = event.getPlayer();
User user = IridiumSkyblock.getInstance().getUserManager().getUser(player);
Optional<Island> island = IridiumSkyblock.getInstance().getIslandManager().getIslandViaLocation(event.getBlock().getLocation());
if (!island.isPresent()) {
if (IridiumSkyblockAPI.getInstance().isIslandWorld(event.getBlockClicked().getWorld())) {
if (!user.isBypassing())
event.setCancelled(true);
}
return;
}
if (IridiumSkyblock.getInstance().getIslandManager().getIslandPermission(island.get(), user, PermissionType.BUCKET)) {
return;
}
event.setCancelled(true);
player.sendMessage(StringUtils.color(IridiumSkyblock.getInstance().getMessages().cannotUseBuckets.replace("%prefix%", IridiumSkyblock.getInstance().getConfiguration().prefix)));
}
use of com.iridium.iridiumskyblock.database.User in project IridiumSkyblock by Iridium-Development.
the class EnchantItemListener method monitorItemEnchant.
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void monitorItemEnchant(EnchantItemEvent event) {
if (!IridiumSkyblockAPI.getInstance().isIslandWorld(event.getEnchanter().getWorld()))
return;
Player player = event.getEnchanter();
User user = IridiumSkyblock.getInstance().getUserManager().getUser(player);
Optional<Island> island = user.getIsland();
XMaterial material = XMaterial.matchXMaterial(event.getItem().getType());
island.ifPresent(value -> IridiumSkyblock.getInstance().getMissionManager().handleMissionUpdates(value, "ENCHANT", material.name(), 1));
}
use of com.iridium.iridiumskyblock.database.User in project IridiumSkyblock by Iridium-Development.
the class EntityDeathListener method monitorEntityDeath.
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void monitorEntityDeath(EntityDeathEvent event) {
if (!IridiumSkyblockAPI.getInstance().isIslandWorld(event.getEntity().getWorld()))
return;
Player player = event.getEntity().getKiller();
if (player == null)
return;
User user = IridiumSkyblock.getInstance().getUserManager().getUser(player);
Optional<Island> island = user.getIsland();
island.ifPresent(value -> {
IridiumSkyblock.getInstance().getMissionManager().handleMissionUpdates(value, "KILL", event.getEntityType().name(), 1);
IslandBooster islandBooster = IridiumSkyblock.getInstance().getIslandManager().getIslandBooster(island.get(), "experience");
if (islandBooster.isActive()) {
event.setDroppedExp(event.getDroppedExp() * 2);
}
});
}
use of com.iridium.iridiumskyblock.database.User in project IridiumSkyblock by Iridium-Development.
the class PlayerJoinQuitListener method onJoin.
@EventHandler
public void onJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
User user = IridiumSkyblock.getInstance().getUserManager().getUser(player);
user.setBypassing(false);
// Update the internal username in case of name change
user.setName(event.getPlayer().getName());
// Send their island border
IridiumSkyblock.getInstance().getIslandManager().getIslandViaPlayerLocation(player).ifPresent(island -> PlayerUtils.sendBorder(player, island));
if (player.isOp() && IridiumSkyblock.getInstance().getConfiguration().patreonMessage) {
Bukkit.getScheduler().runTaskLater(IridiumSkyblock.getInstance(), () -> player.sendMessage(StringUtils.color(IridiumSkyblock.getInstance().getConfiguration().prefix + " &7Thanks for using IridiumSkyblock, if you like the plugin, consider donating at &bwww.patreon.com/Peaches_MLG")), 5);
}
}
use of com.iridium.iridiumskyblock.database.User in project IridiumSkyblock by Iridium-Development.
the class HomeCommand method execute.
/**
* Executes the command for the specified {@link CommandSender} with the provided arguments.
* Not called when the command execution was invalid (no permission, no player or command disabled).
* Teleports users to their Island home.
*
* @param sender The CommandSender which executes this command
* @param args The arguments used with this command. They contain the sub-command
*/
@Override
public boolean execute(CommandSender sender, String[] args) {
Player player = (Player) sender;
User user = IridiumSkyblock.getInstance().getUserManager().getUser(player);
Optional<Island> island = user.getIsland();
if (island.isPresent()) {
IridiumSkyblock.getInstance().getIslandManager().teleportHome(player, island.get(), IridiumSkyblock.getInstance().getConfiguration().teleportDelay);
return true;
} else if (IridiumSkyblock.getInstance().getConfiguration().createIslandOnHome) {
IridiumSkyblock.getInstance().getCommands().createCommand.execute(player, new String[] {});
return true;
} else {
player.sendMessage(StringUtils.color(IridiumSkyblock.getInstance().getMessages().noIsland.replace("%prefix%", IridiumSkyblock.getInstance().getConfiguration().prefix)));
return false;
}
}
Aggregations