This repository has been archived by the owner on Oct 2, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Advancement
Zoyn edited this page Dec 2, 2017
·
2 revisions
Waaaaaaarn: This API supports only 1.12+
see below codes
ItemStack item = new ItemStack(Material.APPLE);
JsonObject itemJSON = new JsonObject();
itemJSON.addProperty("item", "minecraft:" + item.getType().name().toLowerCase());
itemJSON.addProperty("amount", item.getAmount());
itemJSON.addProperty("data", item.getData().getData());
AdvancementBuilder builder = new AdvancementBuilder()
.setAdvancementId(new NamespacedKey(this, "may/root")) // set namespace key
.setTitle("Test1") // set advancement title
.setDescription("i'm father advancement") // set advancement description
.setHide(false) // set advancement visibility
.setIcon(Material.SIGN) // set advancement icon
.setBackground(BackgroundEnum.STONE) // set advancement background
.setFrame(FrameEnum.TASK) // set the framework for the advancement icon
.setCriteria( // set criterial
new CriteriaBuilder("example", TriggerEnum.CONSUME_ITEM)
.addCondition(new ConditionBuilder("item", itemJSON))
);
builder.add(); // add it to BukkitAPI
ItemStack item2 = new ItemStack(Material.COBBLESTONE);
JsonObject itemJSON2 = new JsonObject();
itemJSON2.addProperty("item", "minecraft:" + item2.getType().name().toLowerCase());
JsonArray array = new JsonArray();
array.add(itemJSON2);
TextComponent title = new TextComponent("emmm");
title.setBold(true);
title.setColor(net.md_5.bungee.api.ChatColor.AQUA);
TextComponent description = new TextComponent("you got the power!");
description.setBold(true);
AdvancementBuilder builder2 = new AdvancementBuilder()
.setAdvancementId(new NamespacedKey(this, "may/test"))
.setTitle(title)
.setDescription(description)
.setIcon("minecraft:wooden_pickaxe")
.setFrame(FrameEnum.GOAL)
.setCriteria(
new CriteriaBuilder("get_stone", TriggerEnum.INVENTORY_CHANGED)
.addCondition(new ConditionBuilder("items", array))
)
.setParent(builder.getAdvancementId().toString());
builder2.add();
builder2.saveToWorldData(Bukkit.getWorld("world")); // Save this advancement to the world directory
This wiki hopes to help you!
没有中文教程...自己看代码吧..