diff --git a/.gradle/8.5/checksums/checksums.lock b/.gradle/8.5/checksums/checksums.lock index 05cd7f7..36808d3 100644 Binary files a/.gradle/8.5/checksums/checksums.lock and b/.gradle/8.5/checksums/checksums.lock differ diff --git a/.gradle/8.5/checksums/md5-checksums.bin b/.gradle/8.5/checksums/md5-checksums.bin index caf5907..0e81784 100644 Binary files a/.gradle/8.5/checksums/md5-checksums.bin and b/.gradle/8.5/checksums/md5-checksums.bin differ diff --git a/.gradle/8.5/checksums/sha1-checksums.bin b/.gradle/8.5/checksums/sha1-checksums.bin index 2fdbe1f..2967cd9 100644 Binary files a/.gradle/8.5/checksums/sha1-checksums.bin and b/.gradle/8.5/checksums/sha1-checksums.bin differ diff --git a/.gradle/8.5/executionHistory/executionHistory.bin b/.gradle/8.5/executionHistory/executionHistory.bin index 2d14970..bbb5645 100644 Binary files a/.gradle/8.5/executionHistory/executionHistory.bin and b/.gradle/8.5/executionHistory/executionHistory.bin differ diff --git a/.gradle/8.5/executionHistory/executionHistory.lock b/.gradle/8.5/executionHistory/executionHistory.lock index 165cb3f..83286f4 100644 Binary files a/.gradle/8.5/executionHistory/executionHistory.lock and b/.gradle/8.5/executionHistory/executionHistory.lock differ diff --git a/.gradle/8.5/fileHashes/fileHashes.bin b/.gradle/8.5/fileHashes/fileHashes.bin index 9dbd931..0266a99 100644 Binary files a/.gradle/8.5/fileHashes/fileHashes.bin and b/.gradle/8.5/fileHashes/fileHashes.bin differ diff --git a/.gradle/8.5/fileHashes/fileHashes.lock b/.gradle/8.5/fileHashes/fileHashes.lock index 7995a1d..5ec55ca 100644 Binary files a/.gradle/8.5/fileHashes/fileHashes.lock and b/.gradle/8.5/fileHashes/fileHashes.lock differ diff --git a/.gradle/8.5/fileHashes/resourceHashesCache.bin b/.gradle/8.5/fileHashes/resourceHashesCache.bin index 0cd77ab..350d8f0 100644 Binary files a/.gradle/8.5/fileHashes/resourceHashesCache.bin and b/.gradle/8.5/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 08c8e74..2b38a7b 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe index 1c6b59c..a4167df 100644 Binary files a/.gradle/file-system.probe and b/.gradle/file-system.probe differ diff --git a/build.gradle b/build.gradle index 3901e13..82a4737 100644 --- a/build.gradle +++ b/build.gradle @@ -41,6 +41,7 @@ repositories { name = "CodeMC" url = uri("https://repo.codemc.io/repository/maven-public/") } + maven { url 'https://jitpack.io' } } dependencies { @@ -49,7 +50,8 @@ dependencies { compileOnly "io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT" implementation 'com.google.code.gson:gson:2.10.1' implementation 'org.ow2.asm:asm-commons:9.5' - implementation files("deps/PDK-1.4.0.jar") + implementation files("libs/PDK-1.4.0.jar") + compileOnly 'com.github.koca2000:NoteBlockAPI:1.6.3' implementation "com.github.retrooper:packetevents-spigot:2.7.0" implementation("de.tr7zw:item-nbt-api:2.14.1") } diff --git a/build/classes/java/main/me/trouper/sentinel/Sentinel.class b/build/classes/java/main/me/trouper/sentinel/Sentinel.class index 2980a81..7a9ecb0 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/Sentinel.class and b/build/classes/java/main/me/trouper/sentinel/Sentinel.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/data/config/FPConfig.class b/build/classes/java/main/me/trouper/sentinel/data/config/FPConfig.class index cfeb15e..249fd55 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/data/config/FPConfig.class and b/build/classes/java/main/me/trouper/sentinel/data/config/FPConfig.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/data/config/StrictConfig.class b/build/classes/java/main/me/trouper/sentinel/data/config/StrictConfig.class index 3803572..e422320 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/data/config/StrictConfig.class and b/build/classes/java/main/me/trouper/sentinel/data/config/StrictConfig.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/server/commands/CallbackCommand.class b/build/classes/java/main/me/trouper/sentinel/server/commands/CallbackCommand.class index 73c341a..c40c0d8 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/server/commands/CallbackCommand.class and b/build/classes/java/main/me/trouper/sentinel/server/commands/CallbackCommand.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/server/commands/MessageCommand.class b/build/classes/java/main/me/trouper/sentinel/server/commands/MessageCommand.class index 503aa73..c3c6b34 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/server/commands/MessageCommand.class and b/build/classes/java/main/me/trouper/sentinel/server/commands/MessageCommand.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/server/commands/ReplyCommand.class b/build/classes/java/main/me/trouper/sentinel/server/commands/ReplyCommand.class index b234058..c2fcd87 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/server/commands/ReplyCommand.class and b/build/classes/java/main/me/trouper/sentinel/server/commands/ReplyCommand.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/server/commands/SentinelCommand.class b/build/classes/java/main/me/trouper/sentinel/server/commands/SentinelCommand.class index 91b6217..53d26df 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/server/commands/SentinelCommand.class and b/build/classes/java/main/me/trouper/sentinel/server/commands/SentinelCommand.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/server/commands/TrapCommand.class b/build/classes/java/main/me/trouper/sentinel/server/commands/TrapCommand.class index fb615f5..18a28e5 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/server/commands/TrapCommand.class and b/build/classes/java/main/me/trouper/sentinel/server/commands/TrapCommand.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/server/functions/chatfilter/profanity/ProfanityResponse.class b/build/classes/java/main/me/trouper/sentinel/server/functions/chatfilter/profanity/ProfanityResponse.class index b6a0c42..df818ca 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/server/functions/chatfilter/profanity/ProfanityResponse.class and b/build/classes/java/main/me/trouper/sentinel/server/functions/chatfilter/profanity/ProfanityResponse.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/server/functions/chatfilter/spam/SpamResponse.class b/build/classes/java/main/me/trouper/sentinel/server/functions/chatfilter/spam/SpamResponse.class index ed2f840..6467124 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/server/functions/chatfilter/spam/SpamResponse.class and b/build/classes/java/main/me/trouper/sentinel/server/functions/chatfilter/spam/SpamResponse.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/startup/Telemetry.class b/build/classes/java/main/me/trouper/sentinel/startup/Telemetry.class index 57cc7d8..653ad59 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/startup/Telemetry.class and b/build/classes/java/main/me/trouper/sentinel/startup/Telemetry.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/utils/FileUtils.class b/build/classes/java/main/me/trouper/sentinel/utils/FileUtils.class index 629fc4f..82f9a7c 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/utils/FileUtils.class and b/build/classes/java/main/me/trouper/sentinel/utils/FileUtils.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/utils/MathUtils.class b/build/classes/java/main/me/trouper/sentinel/utils/MathUtils.class index f924456..e3e8f57 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/utils/MathUtils.class and b/build/classes/java/main/me/trouper/sentinel/utils/MathUtils.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/utils/PlayerUtils.class b/build/classes/java/main/me/trouper/sentinel/utils/PlayerUtils.class index 4074108..90babe8 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/utils/PlayerUtils.class and b/build/classes/java/main/me/trouper/sentinel/utils/PlayerUtils.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/utils/ServerUtils.class b/build/classes/java/main/me/trouper/sentinel/utils/ServerUtils.class index e59f3bb..2707241 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/utils/ServerUtils.class and b/build/classes/java/main/me/trouper/sentinel/utils/ServerUtils.class differ diff --git a/build/classes/java/main/me/trouper/sentinel/utils/trees/EmbedFormatter.class b/build/classes/java/main/me/trouper/sentinel/utils/trees/EmbedFormatter.class index f5ae744..117fbec 100644 Binary files a/build/classes/java/main/me/trouper/sentinel/utils/trees/EmbedFormatter.class and b/build/classes/java/main/me/trouper/sentinel/utils/trees/EmbedFormatter.class differ diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin index 7825336..c7a7a35 100644 Binary files a/build/tmp/compileJava/previous-compilation-data.bin and b/build/tmp/compileJava/previous-compilation-data.bin differ diff --git a/deps/PDK-1.4.0.jar b/libs/PDK-1.4.0.jar similarity index 100% rename from deps/PDK-1.4.0.jar rename to libs/PDK-1.4.0.jar diff --git a/src/main/java/me/trouper/sentinel/Sentinel.java b/src/main/java/me/trouper/sentinel/Sentinel.java index d477712..69ca435 100644 --- a/src/main/java/me/trouper/sentinel/Sentinel.java +++ b/src/main/java/me/trouper/sentinel/Sentinel.java @@ -72,6 +72,12 @@ public final class Sentinel extends JavaPlugin { if (!NBT.preloadApi()) { getLogger().warning("NBT-API wasn't initialized properly. Sentinel may error out."); } + boolean NoteBlockAPI = true; + if (!Bukkit.getPluginManager().isPluginEnabled("NoteBlockAPI")){ + getLogger().severe("*** NoteBlockAPI is not installed or not enabled. ***"); + NoteBlockAPI = false; + return; + } getLogger().info("Initializing PDK"); PDK.init(this); diff --git a/src/main/java/me/trouper/sentinel/server/commands/ExtraCommand.java b/src/main/java/me/trouper/sentinel/server/commands/ExtraCommand.java index de5ae2c..bf6e031 100644 --- a/src/main/java/me/trouper/sentinel/server/commands/ExtraCommand.java +++ b/src/main/java/me/trouper/sentinel/server/commands/ExtraCommand.java @@ -4,6 +4,12 @@ import com.github.retrooper.packetevents.PacketEvents; import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes; import com.github.retrooper.packetevents.util.Vector3d; import com.github.retrooper.packetevents.wrapper.play.server.*; +import com.xxmicloxx.NoteBlockAPI.model.Song; +import com.xxmicloxx.NoteBlockAPI.model.SoundCategory; +import com.xxmicloxx.NoteBlockAPI.songplayer.NoteBlockSongPlayer; +import com.xxmicloxx.NoteBlockAPI.songplayer.RadioSongPlayer; +import com.xxmicloxx.NoteBlockAPI.songplayer.SongPlayer; +import com.xxmicloxx.NoteBlockAPI.utils.NBSDecoder; import io.github.itzispyder.pdk.commands.Args; import io.github.itzispyder.pdk.commands.CommandRegistry; import io.github.itzispyder.pdk.commands.CustomCommand; @@ -25,6 +31,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerKickEvent; +import java.io.InputStream; import java.util.Optional; import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; @@ -75,6 +82,24 @@ public class ExtraCommand implements CustomCommand { case "hotel" -> spamPlayerWithEntities(sender, victim, target); case "india" -> kickPlayerWithoutBackButton(sender, victim, target); case "juliett" -> makePlayerDrowsy(sender,victim,target); + case "kilo" -> rickRollPlayer(sender,victim,target); + } + } + + private void rickRollPlayer(CommandSender sender, Player victim, String target) { + try (InputStream inputStream = Sentinel.class.getClassLoader().getResourceAsStream("songs/Never Gonna Give You Up.nbs")) { + if (inputStream == null) { + System.out.println("Resource not found in JAR!"); + return; + } + + Song rickRoll = NBSDecoder.parse(inputStream); + SongPlayer nbsp = new RadioSongPlayer(rickRoll, SoundCategory.MASTER); + nbsp.addPlayer(victim); + nbsp.setPlaying(true); + sender.sendMessage(Text.prefix("Rick rolling %s.".formatted(target))); + } catch (Exception e) { + e.printStackTrace(); } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 92a3931..d8ad5ab 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -14,6 +14,7 @@ softdepend: - ViaRewind - Geyser-Spigot - NoChatReports + - NoteBlockAPI load: POSTWORLD permissions: sentinel.admin: diff --git a/src/main/resources/songs/Never Gonna Give You Up.nbs b/src/main/resources/songs/Never Gonna Give You Up.nbs new file mode 100644 index 0000000..9c1300f Binary files /dev/null and b/src/main/resources/songs/Never Gonna Give You Up.nbs differ