Fix a few bugs and add placeholderapi support

This commit is contained in:
2025-04-20 00:02:28 -07:00
parent dbc534b448
commit 701781b9fd
4 changed files with 73 additions and 5 deletions

View File

@@ -16,18 +16,19 @@ repositories {
name = "sonatype" name = "sonatype"
url = "https://oss.sonatype.org/content/groups/public/" url = "https://oss.sonatype.org/content/groups/public/"
} }
maven {
url = "https://repo.extendedclip.com/releases/"
}
} }
dependencies { dependencies {
compileOnly("io.papermc.paper:paper-api:1.20.1-R0.1-SNAPSHOT") compileOnly("io.papermc.paper:paper-api:1.20.1-R0.1-SNAPSHOT")
compileOnly("me.clip:placeholderapi:2.11.6")
} }
tasks { tasks {
runServer { runServer {
// Configure the Minecraft version for our task. minecraftVersion("1.20.1")
// This is the only required configuration besides applying the plugin.
// Your plugin's jar (or shadowJar if present) will be used automatically.
minecraftVersion("1.20")
} }
} }

View File

@@ -11,6 +11,7 @@ import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import java.io.File; import java.io.File;
@@ -22,6 +23,7 @@ public final class GalaxyEasterEggHunt extends JavaPlugin implements Listener {
private File findingsFile; private File findingsFile;
private FileConfiguration findingsConfig; private FileConfiguration findingsConfig;
HashMap<Player, Long> playerTimestamps = new HashMap<>(); HashMap<Player, Long> playerTimestamps = new HashMap<>();
private final PlaceholderAPIExpansion placeholderAPIExpansion = new PlaceholderAPIExpansion(this);
@Override @Override
public void onEnable() { public void onEnable() {
@@ -36,6 +38,27 @@ public final class GalaxyEasterEggHunt extends JavaPlugin implements Listener {
} }
} }
findingsConfig = YamlConfiguration.loadConfiguration(findingsFile); findingsConfig = YamlConfiguration.loadConfiguration(findingsFile);
placeholderAPIExpansion.register();
}
@Override
public void onDisable() {
placeholderAPIExpansion.unregister();
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
String path = player.getName();
if (!findingsConfig.contains(path)) {
findingsConfig.set(path, new HashMap<String, Object>());
try {
findingsConfig.save(findingsFile);
} catch (IOException e) {
e.printStackTrace();
}
}
} }
@EventHandler @EventHandler
@@ -76,6 +99,7 @@ public final class GalaxyEasterEggHunt extends JavaPlugin implements Listener {
player.sendMessage(miniMessage.deserialize("<red>You have already found that egg! (%s left)".formatted(12-totalFindings))); player.sendMessage(miniMessage.deserialize("<red>You have already found that egg! (%s left)".formatted(12-totalFindings)));
return; return;
} }
totalFindings = totalFindings+1;
player.sendMessage(miniMessage.deserialize("<color:#A48FD1><b>%s/12 eggs found, %s left to go!".formatted(totalFindings, 12-totalFindings))); player.sendMessage(miniMessage.deserialize("<color:#A48FD1><b>%s/12 eggs found, %s left to go!".formatted(totalFindings, 12-totalFindings)));
if (totalFindings == 12) { if (totalFindings == 12) {
player.sendMessage(miniMessage.deserialize("<color:#D18FA4><b>Congrats! You now have the <gradient:#FBC2EB:#A6C1EE>BUNNY</gradient> tag!")); player.sendMessage(miniMessage.deserialize("<color:#D18FA4><b>Congrats! You now have the <gradient:#FBC2EB:#A6C1EE>BUNNY</gradient> tag!"));
@@ -111,7 +135,7 @@ public final class GalaxyEasterEggHunt extends JavaPlugin implements Listener {
int count = 0; int count = 0;
for (String key : findingsConfig.getConfigurationSection(player.getName()).getKeys(false)) { for (String key : findingsConfig.getConfigurationSection(player.getName()).getKeys(false)) {
if (findingsConfig.getBoolean(player.getName() + "." + key)) { if (findingsConfig.getBoolean(player.getName() + "." + key, false)) {
count++; count++;
} }
} }

View File

@@ -0,0 +1,42 @@
package xyz.lncvrt.galaxyEasterEggHunt;
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
public class PlaceholderAPIExpansion extends PlaceholderExpansion {
private final GalaxyEasterEggHunt plugin;
public PlaceholderAPIExpansion(GalaxyEasterEggHunt plugin) {
this.plugin = plugin;
}
@Override
@NotNull
public String getAuthor() {
return "Lncvrt";
}
@Override
@NotNull
public String getIdentifier() {
return "galaxyeasteregghunt";
}
@Override
@NotNull
public String getVersion() {
return "1.0.0";
}
@Override
public String onPlaceholderRequest(Player player, @NotNull String params) {
switch (params.toLowerCase()) {
case "totalfound":
return "%s".formatted(plugin.getTotalFindings(player));
default:
break;
}
return null;
}
}

View File

@@ -2,3 +2,4 @@ name: GalaxyEasterEggHunt
version: '${version}' version: '${version}'
main: xyz.lncvrt.galaxyEasterEggHunt.GalaxyEasterEggHunt main: xyz.lncvrt.galaxyEasterEggHunt.GalaxyEasterEggHunt
api-version: '1.20' api-version: '1.20'
depend: ["PlaceholderAPI"]