diff --git a/.github/workflows/demobuild.yml b/.github/workflows/demobuild.yml new file mode 100644 index 0000000..89a14fc --- /dev/null +++ b/.github/workflows/demobuild.yml @@ -0,0 +1,44 @@ +name: DevBuild +on: + push: + branches: [ master ] +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 8 + uses: actions/setup-java@v3 + with: + java-version: '8' + distribution: 'adopt' + cache: maven + - name: Build with Maven + run: mvn -B package + - uses: "actions/upload-artifact@v3" + with: + name: "[#${{github.run_number}}]-MiningContest" + path: | + ./target/MiningContest.jar + - uses: jungwinter/split@v2 + id: split + with: + msg: ${{github.repository}} + separator: "/" + - name: Build passsed + uses: tsickert/discord-webhook@v5.3.0 + with: + webhook-url: ${{ secrets.DISCORD }} + username: "${{ steps.split.outputs._1 }}" + avatar-url: "https://github.com/${{ github.actor }}.png" + embed-color: "65280" + embed-author-name: "${{ github.actor }} pushed an update for ${{ steps.split.outputs._1 }}" + embed-author-url: "https://github.com/${{ github.actor }}" + embed-author-icon-url: "https://github.com/${{ github.actor }}.png" + embed-footer-text: "Build #${{github.run_number}} passed" + embed-footer-icon-url: "https://i.imgur.com/D5KVghH.png" + embed-description: | + ${{ github.event.head_commit.message }} + + SpigotMC: [MiningContest](https://www.spigotmc.org/resources/112019/) + filename: "./target/MiningContest.jar" \ No newline at end of file diff --git a/src/main/java/net/danh/miningcontest/Data/PlayerData.java b/src/main/java/net/danh/miningcontest/Data/PlayerData.java index 1835efb..3fb60b3 100644 --- a/src/main/java/net/danh/miningcontest/Data/PlayerData.java +++ b/src/main/java/net/danh/miningcontest/Data/PlayerData.java @@ -20,15 +20,24 @@ public static void checkTimes(CommandSender c) { } public static String time() { - String start = ChatManager.colorize(FileManager.getConfig().getString("message.contest_start_time")); - String end = ChatManager.colorize(FileManager.getConfig().getString("message.contest_end_time")); + String start = ChatManager.colorizewp(FileManager.getConfig().getString("message.contest_start_time")); + String end = ChatManager.colorizewp(FileManager.getConfig().getString("message.contest_end_time")); if (data.get("start") && (dataI.get("end") > 0)) { - return ChatManager.colorize(end.replace("#time#", MiningContest.getTime(dataI.get("end")))); + return ChatManager.colorizewp(end.replace("#time#", MiningContest.getTime(dataI.get("end")))); } else { - return ChatManager.colorize(start.replace("#time#", MiningContest.getTime(dataI.get("start")))); + return ChatManager.colorizewp(start.replace("#time#", MiningContest.getTime(dataI.get("start")))); } } + public static int getMinePoints(Player p) { + if (Mining.data.get("start")) { + if (PlayerData.points.containsKey(p.getName())) + return points.getOrDefault(p.getName(), 0); + else return 0; + } + return 0; + } + public static void addMinePoints(Player p, String block_type) { if (Mining.data.get("start")) { if (PlayerData.points.containsKey(p.getName())) { diff --git a/src/main/java/net/danh/miningcontest/PlaceholderAPI/MC_PAPI.java b/src/main/java/net/danh/miningcontest/PlaceholderAPI/MC_PAPI.java index e7d2723..e38d2f2 100644 --- a/src/main/java/net/danh/miningcontest/PlaceholderAPI/MC_PAPI.java +++ b/src/main/java/net/danh/miningcontest/PlaceholderAPI/MC_PAPI.java @@ -2,18 +2,12 @@ import me.clip.placeholderapi.expansion.PlaceholderExpansion; import net.danh.miningcontest.Data.PlayerData; -import net.danh.miningcontest.Manager.ChatManager; -import net.danh.miningcontest.Manager.FileManager; import net.danh.miningcontest.MiningContest; import org.bukkit.OfflinePlayer; +import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.*; -import java.util.stream.Collectors; - -import static net.danh.miningcontest.Contest.Mining.data; - public class MC_PAPI extends PlaceholderExpansion { @Override public @NotNull String getIdentifier() { @@ -35,30 +29,19 @@ public boolean persist() { return true; } + @Override + public @Nullable String onPlaceholderRequest(Player p, @NotNull String args) { + if (p == null) return null; + if (args.equalsIgnoreCase("points")) { + return String.valueOf(PlayerData.getMinePoints(p)); + } + return null; + } + @Override public @Nullable String onRequest(OfflinePlayer p, @NotNull String args) { if (args.equalsIgnoreCase("time")) return PlayerData.time(); - if (args.equalsIgnoreCase("top")) { - if (data.get("start")) { - List topString = new ArrayList<>(); - Map sortedMap = PlayerData.points.entrySet().stream().sorted(Map.Entry.comparingByValue().reversed()).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new)); - topString.add(ChatManager.colorize("&7")); - List player = new ArrayList<>(sortedMap.keySet()); - sortedMap.forEach((s, integer) -> { - if (integer >= FileManager.getConfig().getInt("limit_blocks")) { - for (int i = 0; i < Math.min(player.size(), FileManager.getConfig().getInt("settings.contest_top_list")); i++) { - if (player.get(i) != null) { - if (player.get(i).equalsIgnoreCase(s)) { - topString.add(ChatManager.colorize(Objects.requireNonNull(FileManager.getConfig().getString("message.contest_top")).replace("#name#", s).replace("#block#", String.valueOf(integer)))); - } - } - } - } - }); - return topString.toString(); - } else return PlayerData.time(); - } return null; } }