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

下面列出了怎么用org.bukkit.advancement.Advancement的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Kettle   文件: CraftMagicNumbers.java
@Override
public Advancement loadAdvancement(NamespacedKey key, String advancement) {
    if (Bukkit.getAdvancement(key) != null) {
        throw new IllegalArgumentException("Advancement " + key + " already exists.");
    }

    net.minecraft.advancements.Advancement.Builder nms = JsonUtils.gsonDeserialize(AdvancementManager.GSON, advancement, net.minecraft.advancements.Advancement.Builder.class);
    if (nms != null) {
        AdvancementManager.ADVANCEMENT_LIST.loadAdvancements(Maps.newHashMap(Collections.singletonMap(CraftNamespacedKey.toMinecraft(key), nms)));
        Advancement bukkit = Bukkit.getAdvancement(key);

        if (bukkit != null) {
            File file = new File(MinecraftServer.getServerCB().getAdvancementManager().advancementsDir, key.getNamespace() + File.separator + key.getKey() + ".json");
            file.getParentFile().mkdirs();

            try {
                Files.write(advancement, file, Charsets.UTF_8);
            } catch (IOException ex) {
                Bukkit.getLogger().log(Level.SEVERE, "Error saving advancement " + key, ex);
            }

            MinecraftServer.getServerCB().getPlayerList().reloadResources();

            return bukkit;
        }
    }

    return null;
}
 
源代码2 项目: BetonQuest   文件: AdvancementNotifyIO.java
private void grant(NamespacedKey id, Player player) {
    Advancement advancement = Bukkit.getAdvancement(id);
    AdvancementProgress progress = player.getAdvancementProgress(advancement);
    if (!progress.isDone()) {
        for (String criteria : progress.getRemainingCriteria()) {
            progress.awardCriteria(criteria);
        }
    }
}
 
源代码3 项目: BetonQuest   文件: AdvancementNotifyIO.java
private void revoke(NamespacedKey id, Player player) {
    Advancement advancement = Bukkit.getAdvancement(id);
    AdvancementProgress progress = player.getAdvancementProgress(advancement);
    if (progress.isDone()) {
        for (String criteria : progress.getRemainingCriteria()) {
            progress.revokeCriteria(criteria);
        }
    }
}
 
源代码4 项目: Kettle   文件: PlayerAdvancementDoneEvent.java
public PlayerAdvancementDoneEvent(Player who, Advancement advancement) {
    super(who);
    this.advancement = advancement;
}
 
源代码5 项目: Kettle   文件: CraftAdvancementProgress.java
@Override
public Advancement getAdvancement() {
    return advancement;
}
 
public PlayerAdvancementCriterionGrantEvent(Player who, Advancement advancement, String criterion) {
    super(who);
    this.advancement = advancement;
    this.criterion = criterion;
}
 
源代码7 项目: 1.13-Command-API   文件: NMS.java
/** Argument implementations with CommandSyntaxExceptions */
Advancement         getAdvancement(CommandContext<?> cmdCtx, String key) throws CommandSyntaxException;
 
源代码8 项目: 1.13-Command-API   文件: AdvancementArgument.java
@Override
public Class<?> getPrimitiveType() {
	return Advancement.class;
}
 
源代码9 项目: Chimera   文件: MockServer.java
@Override
public Advancement getAdvancement(NamespacedKey key) {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
 
源代码10 项目: Chimera   文件: MockServer.java
@Override
public Iterator<Advancement> advancementIterator() {
    throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
 
源代码11 项目: SaneEconomy   文件: MockServer.java
@Override
public Advancement getAdvancement(NamespacedKey namespacedKey) {
    return null;
}
 
源代码12 项目: SaneEconomy   文件: MockServer.java
@Override
public Iterator<Advancement> advancementIterator() {
    return null;
}
 
源代码13 项目: Kettle   文件: Player.java
/**
 * Return the player's progression on the specified advancement.
 *
 * @param advancement advancement
 * @return object detailing the player's progress
 */
public AdvancementProgress getAdvancementProgress(Advancement advancement);
 
源代码14 项目: Kettle   文件: Server.java
/**
 * Get the advancement specified by this key.
 *
 * @param key unique advancement key
 * @return advancement or null if not exists
 */
Advancement getAdvancement(NamespacedKey key);
 
源代码15 项目: Kettle   文件: Server.java
/**
 * Get an iterator through all advancements. Advancements cannot be removed
 * from this iterator,
 *
 * @return an advancement iterator
 */
Iterator<Advancement> advancementIterator();
 
源代码16 项目: Kettle   文件: PlayerAdvancementDoneEvent.java
/**
 * Get the advancement which has been completed.
 *
 * @return completed advancement
 */
public Advancement getAdvancement() {
    return advancement;
}
 
源代码17 项目: Kettle   文件: UnsafeValues.java
/**
 * Load an advancement represented by the specified string into the server.
 * The advancement format is governed by Minecraft and has no specified
 * layout.
 * <br>
 * It is currently a JSON object, as described by the Minecraft Wiki:
 * http://minecraft.gamepedia.com/Advancements
 * <br>
 * Loaded advancements will be stored and persisted across server restarts
 * and reloads.
 * <br>
 * Callers should be prepared for {@link Exception} to be thrown.
 *
 * @param key         the unique advancement key
 * @param advancement representation of the advancement
 * @return the loaded advancement or null if an error occurred
 */
Advancement loadAdvancement(NamespacedKey key, String advancement);
 
源代码18 项目: Kettle   文件: Bukkit.java
/**
 * Get the advancement specified by this key.
 *
 * @param key unique advancement key
 * @return advancement or null if not exists
 */
public static Advancement getAdvancement(NamespacedKey key) {
    return server.getAdvancement(key);
}
 
源代码19 项目: Kettle   文件: Bukkit.java
/**
 * Get an iterator through all advancements. Advancements cannot be removed
 * from this iterator,
 *
 * @return an advancement iterator
 */
public static Iterator<Advancement> advancementIterator() {
    return server.advancementIterator();
}
 
/**
 * Get the advancement which has been affected.
 *
 * @return affected advancement
 */
public Advancement getAdvancement() {
    return advancement;
}
 
 类所在包
 同包方法