diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 624a755..2e2f298 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -149,9 +149,35 @@ jobs: CONTRIBUTORS=$(mktemp) PREVIOUS_CONTRIBUTORS=$(mktemp) + github_coauthors() { + local sha="$1" + local line + local email + local login + + while IFS= read -r line; do + if [[ "$line" =~ ^Co-authored-by:[[:space:]]*.*[<]([^>]+)[>][[:space:]]*$ ]]; then + email="${BASH_REMATCH[1]}" + login="" + + if [[ "$email" =~ ^[0-9]+\+([^@]+)@users\.noreply\.github\.com$ ]]; then + login="${BASH_REMATCH[1]}" + elif [[ "$email" =~ ^([^@]+)@users\.noreply\.github\.com$ ]]; then + login="${BASH_REMATCH[1]}" + fi + + [ -n "$login" ] && echo "$login" + fi + done < <(git show -s --format='%B' "$sha") + } + if [ -n "${CHANGELOG_BASE:-}" ] && git rev-parse "$CHANGELOG_BASE" >/dev/null 2>&1; then - git log --format='%aN' "$CHANGELOG_BASE" \ - | sort -fu > "$PREVIOUS_CONTRIBUTORS" + { + git log --format='%aN' "$CHANGELOG_BASE" + while read -r SHA; do + github_coauthors "$SHA" + done < <(git rev-list "$CHANGELOG_BASE") + } | sort -fu > "$PREVIOUS_CONTRIBUTORS" fi { @@ -193,6 +219,8 @@ jobs: echo "- $COMMIT_TITLE by $COMMIT_AUTHOR_NAME ($SHORT_SHA)" >> release-notes.md fi fi + + github_coauthors "$SHA" >> "$CONTRIBUTORS" done < <(git rev-list --reverse "$RANGE") if [ "$HAS_CHANGES" = false ]; then diff --git a/README.md b/README.md index 6173065..4f23ce2 100644 Binary files a/README.md and b/README.md differ diff --git a/build.gradle.kts b/build.gradle.kts index 4493c93..36c6526 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,7 +10,7 @@ plugins { } group = "com.bitaspire" -version = "1.2.5" +version = "1.2.6" repositories { mavenLocal() diff --git a/libraries/CyberCore-2.0.0.jar b/libraries/CyberCore-2.0.0.jar index 2383b7b..30fe93b 100644 Binary files a/libraries/CyberCore-2.0.0.jar and b/libraries/CyberCore-2.0.0.jar differ diff --git a/src/main/java/com/bitaspire/cyberlevels/cache/Rewards.java b/src/main/java/com/bitaspire/cyberlevels/cache/Rewards.java index 634af2c..8eb684b 100644 --- a/src/main/java/com/bitaspire/cyberlevels/cache/Rewards.java +++ b/src/main/java/com/bitaspire/cyberlevels/cache/Rewards.java @@ -109,12 +109,15 @@ public void executeCommands(Player player) { if (main.isEnabled("PlaceholderAPI")) command = PlaceholderAPI.setPlaceholders(player, main.levelSystem().replacePlaceholders(command, player.getUniqueId(), false)); - if (command.toLowerCase().startsWith("[player]")) { - Bukkit.dispatchCommand(player, parseFormat("[player]", command)); - continue; - } - - Bukkit.dispatchCommand(Bukkit.getConsoleSender(), parseFormat("[console]", command)); + String toExecute = command; + main.scheduler().runTask(() -> { + if (toExecute.toLowerCase().startsWith("[player]")) { + Bukkit.dispatchCommand(player, parseFormat("[player]", toExecute)); + return; + } + + Bukkit.dispatchCommand(Bukkit.getConsoleSender(), parseFormat("[console]", toExecute)); + }); } }