Search in sources :

Example 1 with BukkitFastLoginPremiumToggleEvent

use of com.github.games647.fastlogin.bukkit.event.BukkitFastLoginPremiumToggleEvent in project FastLogin by games647.

the class CrackedCommand method onCrackedSelf.

private void onCrackedSelf(CommandSender sender, Command cmd, String[] args) {
    if (isConsole(sender)) {
        return;
    }
    if (forwardCrackedCommand(sender, sender.getName())) {
        return;
    }
    if (plugin.getBungeeManager().isEnabled()) {
        sendBungeeActivateMessage(sender, sender.getName(), false);
        plugin.getCore().sendLocaleMessage("wait-on-proxy", sender);
    } else {
        // todo: load async if
        StoredProfile profile = plugin.getCore().getStorage().loadProfile(sender.getName());
        if (profile.isPremium()) {
            plugin.getCore().sendLocaleMessage("remove-premium", sender);
            profile.setPremium(false);
            profile.setId(null);
            plugin.getScheduler().runAsync(() -> {
                plugin.getCore().getStorage().save(profile);
                plugin.getServer().getPluginManager().callEvent(new BukkitFastLoginPremiumToggleEvent(profile, PremiumToggleReason.COMMAND_OTHER));
            });
        } else {
            plugin.getCore().sendLocaleMessage("not-premium", sender);
        }
    }
}
Also used : StoredProfile(com.github.games647.fastlogin.core.StoredProfile) BukkitFastLoginPremiumToggleEvent(com.github.games647.fastlogin.bukkit.event.BukkitFastLoginPremiumToggleEvent)

Example 2 with BukkitFastLoginPremiumToggleEvent

use of com.github.games647.fastlogin.bukkit.event.BukkitFastLoginPremiumToggleEvent in project FastLogin by games647.

the class PremiumCommand method onPremiumOther.

private void onPremiumOther(CommandSender sender, Command command, String[] args) {
    if (!hasOtherPermission(sender, command)) {
        return;
    }
    if (forwardPremiumCommand(sender, args[0])) {
        return;
    }
    // todo: load async
    StoredProfile profile = plugin.getCore().getStorage().loadProfile(args[0]);
    if (profile == null) {
        plugin.getCore().sendLocaleMessage("player-unknown", sender);
        return;
    }
    if (profile.isPremium()) {
        plugin.getCore().sendLocaleMessage("already-exists-other", sender);
    } else {
        // todo: resolve uuid
        profile.setPremium(true);
        plugin.getScheduler().runAsync(() -> {
            plugin.getCore().getStorage().save(profile);
            plugin.getServer().getPluginManager().callEvent(new BukkitFastLoginPremiumToggleEvent(profile, PremiumToggleReason.COMMAND_OTHER));
        });
        plugin.getCore().sendLocaleMessage("add-premium-other", sender);
    }
}
Also used : StoredProfile(com.github.games647.fastlogin.core.StoredProfile) BukkitFastLoginPremiumToggleEvent(com.github.games647.fastlogin.bukkit.event.BukkitFastLoginPremiumToggleEvent)

Example 3 with BukkitFastLoginPremiumToggleEvent

use of com.github.games647.fastlogin.bukkit.event.BukkitFastLoginPremiumToggleEvent in project FastLogin by games647.

the class CrackedCommand method onCrackedOther.

private void onCrackedOther(CommandSender sender, Command command, String[] args) {
    if (!hasOtherPermission(sender, command)) {
        return;
    }
    if (forwardCrackedCommand(sender, args[0])) {
        return;
    }
    // todo: load async
    StoredProfile profile = plugin.getCore().getStorage().loadProfile(args[0]);
    if (profile == null) {
        sender.sendMessage("Error occurred");
        return;
    }
    // existing player is already cracked
    if (profile.isSaved() && !profile.isPremium()) {
        plugin.getCore().sendLocaleMessage("not-premium-other", sender);
    } else {
        plugin.getCore().sendLocaleMessage("remove-premium", sender);
        profile.setPremium(false);
        plugin.getScheduler().runAsync(() -> {
            plugin.getCore().getStorage().save(profile);
            plugin.getServer().getPluginManager().callEvent(new BukkitFastLoginPremiumToggleEvent(profile, PremiumToggleReason.COMMAND_OTHER));
        });
    }
}
Also used : StoredProfile(com.github.games647.fastlogin.core.StoredProfile) BukkitFastLoginPremiumToggleEvent(com.github.games647.fastlogin.bukkit.event.BukkitFastLoginPremiumToggleEvent)

Example 4 with BukkitFastLoginPremiumToggleEvent

use of com.github.games647.fastlogin.bukkit.event.BukkitFastLoginPremiumToggleEvent in project FastLogin by games647.

the class PremiumCommand method onPremiumSelf.

private void onPremiumSelf(CommandSender sender, Command cmd, String[] args) {
    if (isConsole(sender)) {
        return;
    }
    if (forwardPremiumCommand(sender, sender.getName())) {
        return;
    }
    UUID id = ((Player) sender).getUniqueId();
    if (plugin.getConfig().getBoolean("premium-warning") && !plugin.getCore().getPendingConfirms().contains(id)) {
        sender.sendMessage(plugin.getCore().getMessage("premium-warning"));
        plugin.getCore().getPendingConfirms().add(id);
        return;
    }
    plugin.getCore().getPendingConfirms().remove(id);
    // todo: load async
    StoredProfile profile = plugin.getCore().getStorage().loadProfile(sender.getName());
    if (profile.isPremium()) {
        plugin.getCore().sendLocaleMessage("already-exists", sender);
    } else {
        // todo: resolve uuid
        profile.setPremium(true);
        plugin.getScheduler().runAsync(() -> {
            plugin.getCore().getStorage().save(profile);
            plugin.getServer().getPluginManager().callEvent(new BukkitFastLoginPremiumToggleEvent(profile, PremiumToggleReason.COMMAND_SELF));
        });
        plugin.getCore().sendLocaleMessage("add-premium", sender);
    }
}
Also used : Player(org.bukkit.entity.Player) StoredProfile(com.github.games647.fastlogin.core.StoredProfile) BukkitFastLoginPremiumToggleEvent(com.github.games647.fastlogin.bukkit.event.BukkitFastLoginPremiumToggleEvent) UUID(java.util.UUID)

Aggregations

BukkitFastLoginPremiumToggleEvent (com.github.games647.fastlogin.bukkit.event.BukkitFastLoginPremiumToggleEvent)4 StoredProfile (com.github.games647.fastlogin.core.StoredProfile)4 UUID (java.util.UUID)1 Player (org.bukkit.entity.Player)1