Skip to content

Commit

Permalink
additions to advancement complete event
Browse files Browse the repository at this point in the history
closes #2213
  • Loading branch information
mcmonkey4eva committed May 10, 2020
1 parent 05df14c commit 5c487bf
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
Expand Up @@ -3,6 +3,7 @@
import com.denizenscript.denizen.objects.PlayerTag;
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData;
import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.objects.core.ListTag;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.scripts.ScriptEntryData;
Expand All @@ -18,10 +19,13 @@ public class PlayerCompletesAdvancementScriptEvent extends BukkitScriptEvent imp
//
// @Regex ^on player completes advancement$
//
// @Switch name:<name> to only fire if the advancement has the specified name.
//
// @Triggers when a player has completed all criteria in an advancement.
//
// @Context
// <context.criteria> returns all the criteria present in this advancement.
// <context.advancement> returns the name of advancement completed.
//
// @Player Always.
//
Expand All @@ -39,6 +43,14 @@ public boolean couldMatch(ScriptPath path) {
return path.eventLower.startsWith("player completes advancement");
}

@Override
public boolean matches(ScriptPath path) {
if (!runGenericSwitchCheck(path, "name", event.getAdvancement().getKey().getKey())) {
return false;
}
return super.matches(path);
}

@Override
public String getName() {
return "PlayerCompletesAdvancement";
Expand All @@ -56,6 +68,9 @@ public ObjectTag getContext(String name) {
criteria.addAll(event.getAdvancement().getCriteria());
return criteria;
}
else if (name.equals("advancement")) {
return new ElementTag(event.getAdvancement().getKey().getKey());
}
return super.getContext(name);
}

Expand Down
Expand Up @@ -7,7 +7,6 @@
import net.citizensnpcs.api.trait.Trait;
import net.citizensnpcs.util.PlayerAnimation;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.data.type.Bed;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
Expand Down

0 comments on commit 5c487bf

Please sign in to comment.