Java 类org.bukkit.advancement.Advancement 实例源码

项目:AdvancedAchievements    文件:AchieveConnectionListener.java   
/**
 * Awards advancements created by Advanced Achievements. This method can be seen as a synchronisation to give
 * advancements which were generated after the corresponding achievement was received for a given player.
 * 
 * @param player
 */
private void awardAdvancements(Player player) {
    Advancement advancement = Bukkit.getServer()
            .getAdvancement(new NamespacedKey(plugin, AdvancementManager.ADVANCED_ACHIEVEMENTS_PARENT));
    // If no parent, user has not used /aach generate, do not do anything.
    if (advancement != null) {
        AdvancementProgress advancementProgress = player.getAdvancementProgress(advancement);
        if (!advancementProgress.isDone()) {
            advancementProgress.awardCriteria(AchievementAdvancement.CRITERIA_NAME);
        }
        for (String achName : plugin.getDatabaseManager().getPlayerAchievementNamesList(player.getUniqueId())) {
            advancement = Bukkit.getServer()
                    .getAdvancement(new NamespacedKey(plugin, AdvancementManager.getKey(achName)));
            // Matching advancement might not exist if user has not called /aach generate.
            if (advancement != null) {
                advancementProgress = player.getAdvancementProgress(advancement);
                if (!advancementProgress.isDone()) {
                    advancementProgress.awardCriteria(AchievementAdvancement.CRITERIA_NAME);
                }
            }
        }
    }
}
项目:Arcadia-Spigot    文件:AdvancementAPI.java   
public AdvancementAPI grant(Player... players) {
    Advancement advancement = getAdvancement();
    for (Player player : players) {
        if (!player.getAdvancementProgress(advancement).isDone()) {
            Collection<String> remainingCriteria = player.getAdvancementProgress(advancement).getRemainingCriteria();
            Bukkit.getLogger().info(remainingCriteria.toString());
            for (String remainingCriterion : remainingCriteria)
                player.getAdvancementProgress(getAdvancement())
                        .awardCriteria(remainingCriterion);
        }
    }
    return this;
}
项目:Arcadia-Spigot    文件:AdvancementAPI.java   
public AdvancementAPI revoke(Player... players) {
    Advancement advancement = getAdvancement();
    for (Player player : players) {
        if (player.getAdvancementProgress(advancement).isDone()) {
            Collection<String> awardedCriteria = player.getAdvancementProgress(advancement).getAwardedCriteria();
            Bukkit.getLogger().info(awardedCriteria.toString());
            for (String awardedCriterion : awardedCriteria)
                player.getAdvancementProgress(getAdvancement())
                        .revokeCriteria(awardedCriterion);
        }
    }
    return this;
}
项目:AdvancedAchievements    文件:PlayerAdvancedAchievementListener.java   
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerAdvancedAchievementReception(PlayerAdvancedAchievementEvent event) {
    Player player = event.getPlayer();
    String uuid = player.getUniqueId().toString();
    // Check before updating caches; achievement could have already been received if MultiCommand is set to true in
    // the configuration.
    if (!plugin.getCacheManager().hasPlayerAchievement(player.getUniqueId(), event.getName())) {
        plugin.getCacheManager().getReceivedAchievementsCache().put(uuid, event.getName());
        plugin.getCacheManager().getNotReceivedAchievementsCache().remove(uuid, event.getName());
        plugin.getCacheManager().getTotalPlayerAchievementsCache().put(uuid,
                plugin.getCacheManager().getPlayerTotalAchievements(player.getUniqueId()) + 1);

        if (plugin.getServerVersion() >= 12) {
            Advancement advancement = Bukkit.getServer()
                    .getAdvancement(new NamespacedKey(plugin, AdvancementManager.getKey(event.getName())));
            // Matching advancement might not exist if user has not called /aach generate.
            if (advancement != null) {
                player.getAdvancementProgress(advancement).awardCriteria(AchievementAdvancement.CRITERIA_NAME);
            }
        }
    }
    plugin.getDatabaseManager().registerAchievement(player.getUniqueId(), event.getName(), event.getMessage());

    List<String> rewardTexts = giveRewardsAndPrepareTexts(player, event.getCommandRewards(),
            event.getCommandMessage(), event.getItemReward(), event.getMoneyReward(), event.getExperienceReward(),
            event.getMaxHealthReward(), event.getMaxOxygenReward());
    displayAchievement(player, event.getName(), event.getDisplayName(), event.getMessage(), rewardTexts);

    if (plugin.getCacheManager().getPlayerTotalAchievements(player.getUniqueId()) == plugin
            .getAchievementsAndDisplayNames().size()) {
        handleAllAchievementsReceived(player);
    }
}
项目:AdvancedAchievements    文件:AdvancementManager.java   
/**
 * Removes all advancements previously generated by the plugin.
 */
private void cleanupOldAchievementAdvancements() {
    int achievementsCleaned = 0;
    Iterator<Advancement> advancements = Bukkit.getServer().advancementIterator();
    while (advancements.hasNext()) {
        NamespacedKey namespacedKey = advancements.next().getKey();
        if ("advancedachievements".equals(namespacedKey.getNamespace())
                && !ADVANCED_ACHIEVEMENTS_PARENT.equals(namespacedKey.getKey())) {
            ++achievementsCleaned;
            unsafeValues.removeAdvancement(namespacedKey);
        }
    }
    Bukkit.getServer().reloadData();
    plugin.getLogger().info("Cleaned " + achievementsCleaned + " old advancements.");
}
项目:Arcadia-Spigot    文件:AdvancementAPI.java   
public Advancement getAdvancement() {
    return Bukkit.getAdvancement(id);
}
项目:Banmanager    文件:CraftBanmanagerUser.java   
@Override
public AdvancementProgress getAdvancementProgress(Advancement advancement) {
    return implementation.getAdvancementProgress(advancement);
}
项目:MockBukkit    文件:PlayerMock.java   
@Override
public AdvancementProgress getAdvancementProgress(Advancement advancement)
{
    // TODO Auto-generated method stub
    throw new UnimplementedOperationException();
}
项目:MockBukkit    文件:ServerMock.java   
@Override
public Advancement getAdvancement(NamespacedKey key)
{
    // TODO Auto-generated method stub
    throw new UnimplementedOperationException();
}
项目:MockBukkit    文件:ServerMock.java   
@Override
public Iterator<Advancement> advancementIterator()
{
    // TODO Auto-generated method stub
    throw new UnimplementedOperationException();
}
项目:Kineticraft    文件:CommandRankup.java   
/**
 * Return the number of advancements the player has completed.
 * @param player
 * @return count
 */
private static int getAdvancements(Player player) {
    List<Advancement> advancements = new ArrayList<>();
    Bukkit.advancementIterator().forEachRemaining(advancements::add);
    return (int) advancements.stream().map(player::getAdvancementProgress).filter(AdvancementProgress::isDone).count();
}
项目:FlexMC    文件:FlexPlayer.java   
@Override
public AdvancementProgress getAdvancementProgress( Advancement advancement ) {
    return null;
}
项目:FlexMC    文件:FlexServerImpl.java   
@Override
public Advancement getAdvancement( NamespacedKey namespacedKey ) {
    throw new UnsupportedOperationException();
}
项目:FlexMC    文件:FlexServerImpl.java   
@Override
public Iterator<Advancement> advancementIterator() {
    return Collections.<Advancement>emptyList().iterator();
}
项目:FlexMC    文件:TempPlayer.java   
@Override
public AdvancementProgress getAdvancementProgress( Advancement advancement ) {
    return null;
}
项目:Minecordbot    文件:DiscordPlayerCommandSender.java   
@Override
public AdvancementProgress getAdvancementProgress(Advancement advancement) {
    return player.getAdvancementProgress(advancement);
}
项目:Bukkit2Sponge    文件:LinkedPlayer.java   
@Override
public AdvancementProgress getAdvancementProgress(Advancement advancement) {
    return null;
}
项目:Bukkit2Sponge    文件:FakeServer.java   
@Override
public Advancement getAdvancement(NamespacedKey key) {
    return null; // TODO: Link with Sponge.
}
项目:Bukkit2Sponge    文件:FakeServer.java   
@Override
public Iterator<Advancement> advancementIterator() {
    return null; // TODO: Link with Sponge.
}
项目:Banmanager    文件:CraftBanmanagerUser.java   
@Override
public AdvancementProgress getAdvancementProgress(Advancement advancement) {
    return implementation.getAdvancementProgress(advancement);
}
项目:Karus-Commons    文件:StubServer.java   
@Override
public Advancement getAdvancement(NamespacedKey key) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
项目:Karus-Commons    文件:StubServer.java   
@Override
public Iterator<Advancement> advancementIterator() {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
项目:HiddenOre    文件:FakePlayer.java   
@Override
public AdvancementProgress getAdvancementProgress(Advancement arg0) {
    return null;
}
项目:Brynhildr    文件:NukkitServer.java   
@Override
public Advancement getAdvancement(NamespacedKey key) {
    return null;
}
项目:Brynhildr    文件:NukkitServer.java   
@Override
public Iterator<Advancement> advancementIterator() {
    return null;
}
项目:ExilePearl    文件:TestServer.java   
@Override
public Advancement getAdvancement(NamespacedKey key) {
    // TODO Auto-generated method stub
    return null;
}
项目:ExilePearl    文件:TestServer.java   
@Override
public Iterator<Advancement> advancementIterator() {
    // TODO Auto-generated method stub
    return null;
}
项目:SaneEconomy    文件:MockServer.java   
@Override
public Advancement getAdvancement(NamespacedKey namespacedKey) {
    return null;
}
项目:SaneEconomy    文件:MockServer.java   
@Override
public Iterator<Advancement> advancementIterator() {
    return null;
}
项目:Pokkit    文件:PokkitPlayer.java   
@Override
public AdvancementProgress getAdvancementProgress(Advancement advancement) {
    throw Pokkit.unsupported();
}
项目:Pokkit    文件:PokkitUnsafe.java   
@Override
public Advancement loadAdvancement(NamespacedKey key, String advancementJson) {
    throw Pokkit.unsupported();
}
项目:Pokkit    文件:CraftServer.java   
@Override
public Iterator<Advancement> advancementIterator() {
    // Advancements not implemented
    return Collections.emptyIterator();
}
项目:Pokkit    文件:CraftServer.java   
@Override
public Advancement getAdvancement(NamespacedKey key) {
    // Advancements not implemented
    return null;
}
项目:BlockLocker    文件:TestPlayer.java   
@Override
public AdvancementProgress getAdvancementProgress(Advancement arg0) {
    throw new UnsupportedOperationException();

}