Skip to content

Commit

Permalink
add announce message option, fix /sfa grant giving multiple rewards, …
Browse files Browse the repository at this point in the history
…run reward commands sync
  • Loading branch information
qwertyuioplkjhgfd committed Sep 26, 2023
1 parent 3fec369 commit 661a326
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 8 deletions.
16 changes: 12 additions & 4 deletions src/main/java/me/char321/sfadvancements/api/Advancement.java
Original file line number Diff line number Diff line change
Expand Up @@ -112,23 +112,31 @@ public void register() {
}

/**
* sends the message of completion and gives rewards
* forces a player to complete this advancement
*
* @param p player
* @param p the player
*/
public void complete(Player p) {

for (Criterion criterion : criteria) {
criterion.complete(p);
}
}

/**
* sends the message of completion and gives rewards
*
* @param p player
*/
public void onComplete(Player p) {
for (Reward reward : rewards) {
reward.give(p);
}

if (SFAdvancements.getMainConfig().getBoolean("use-advancements-api")) {
SFAdvancements.getVanillaHook().complete(p, this.getKey());
} else {
}

if (SFAdvancements.getMainConfig().getConfiguration().getBoolean("announce-advancements", true)) {
broadcastMessage(p);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,11 @@ public static AdvancementBuilder loadFromConfig(String key, ConfigurationSection
ConfigurationSection rewardSection = config.getConfigurationSection("rewards");
if(rewardSection != null) {
for (String command : rewardSection.getStringList("commands")) {
rewards.add(p -> Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), command.replace("%p%", p.getName())));
rewards.add(p -> {
Utils.runSync(() -> {
Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), command.replace("%p%", p.getName()));
});
});
}
}
builder.rewards(rewards);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ void updateDone() {
}
this.done = true;

adv.complete(Bukkit.getPlayer(player));
adv.onComplete(Bukkit.getPlayer(player));
}

void loadFromObject(JsonObject object) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ private static void registerGroups(AdvancementManager manager) {
display.setDescription(String.join("\n", lore));
display.setIcon(new Icon(item));
display.setBackground(NamespacedKey.minecraft("textures/block/" + background.toLowerCase() + ".png"));

display.setAnnounce(false);
});

vadvancement.addCriteria("impossible", TriggerType.IMPOSSIBLE, a -> {});
Expand Down Expand Up @@ -107,6 +107,7 @@ private static void registerAdvancement(AdvancementManager manager, Advancement
display.setDescription(String.join("\n", meta.getLore()));
display.setIcon(new Icon(item));
display.setHidden(advancement.isHidden());
display.setAnnounce(false);
});

vadvancement.setParent(advancement.getParent());
Expand Down
4 changes: 3 additions & 1 deletion src/main/resources/config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
auto-update: true

#use advancements api (experimental)
# adds your advancements to the vanilla advancements menu (experimental)
use-advancements-api: true
# whether to announce advancements
announce-advancements: true

0 comments on commit 661a326

Please sign in to comment.