Skip to content

Commit

Permalink
add placeholder
Browse files Browse the repository at this point in the history
```
%miningcontest_time%
%miningcontest_points%
```
  • Loading branch information
VoChiDanh committed Apr 26, 2024
1 parent a99bb69 commit e4448d4
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 31 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/demobuild.yml
Original file line number Diff line number Diff line change
@@ -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/[email protected]
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"
17 changes: 13 additions & 4 deletions src/main/java/net/danh/miningcontest/Data/PlayerData.java
Original file line number Diff line number Diff line change
Expand Up @@ -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())) {
Expand Down
37 changes: 10 additions & 27 deletions src/main/java/net/danh/miningcontest/PlaceholderAPI/MC_PAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand All @@ -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<String> topString = new ArrayList<>();
Map<String, Integer> sortedMap = PlayerData.points.entrySet().stream().sorted(Map.Entry.<String, Integer>comparingByValue().reversed()).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));
topString.add(ChatManager.colorize("&7"));
List<String> 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;
}
}

0 comments on commit e4448d4

Please sign in to comment.