Skip to content

Commit

Permalink
Chat notifs on the actionbar, qol, bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
Joey0980 committed Apr 13, 2023
1 parent b32d2e3 commit 9d00f45
Show file tree
Hide file tree
Showing 6 changed files with 64 additions and 29 deletions.
2 changes: 2 additions & 0 deletions src/main/java/systems/joey/manhunt/Manhunt.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import org.bukkit.plugin.java.JavaPlugin;
import systems.joey.manhunt.commands.ManhuntCommand;
import systems.joey.manhunt.commands.TestCommand;
import systems.joey.manhunt.listeners.CompassListeners;
import systems.joey.manhunt.listeners.RespawnListeners;

Expand All @@ -10,6 +11,7 @@ public final class Manhunt extends JavaPlugin {
@Override
public void onEnable() {
getCommand("manhunt").setExecutor(new ManhuntCommand(this));
getCommand("test").setExecutor(new TestCommand());
getServer().getPluginManager().registerEvents(new CompassListeners(), this);
getServer().getPluginManager().registerEvents(new RespawnListeners(), this);
}
Expand Down
38 changes: 18 additions & 20 deletions src/main/java/systems/joey/manhunt/commands/ManhuntCommand.java
Original file line number Diff line number Diff line change
@@ -1,41 +1,39 @@
package systems.joey.manhunt.commands;

import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Item;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import systems.joey.manhunt.Manhunt;

import systems.joey.manhunt.listeners.RespawnListeners;
public class ManhuntCommand implements CommandExecutor {
private final Manhunt plugin;

public ManhuntCommand(Manhunt plugin) {
this.plugin = plugin;
}

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (args.length == 0) {
sender.sendMessage(ChatColor.RED + "Please specify a player to start the manhunt");
if (args.length <= 0) {
sender.sendMessage(ChatColor.RED + "Please specify a player to target to be able to start the manhunt");
return true;
}
if (sender instanceof Player player) {
if (args.length == 1) {
Player target = plugin.getServer().getPlayer(args[0]);
if (target == null) {
sender.sendMessage(ChatColor.RED + "Player not found");
return true;
}
plugin.setRunner(args[0]);
player.sendMessage(ChatColor.GREEN + "Manhunt Started with target " + args[0]);
for (Player onlinePlayer : plugin.getServer().getOnlinePlayers()) {
if (onlinePlayer != target) {
onlinePlayer.getInventory().addItem(new ItemStack(Material.COMPASS));
}
Player target = plugin.getServer().getPlayer(args[0]);
if (target == null) {
sender.sendMessage(ChatColor.RED + "Player not found");
return true;
}
plugin.setRunner(args[0]);
player.sendMessage(ChatColor.GREEN + "Manhunt Started with target " + args[0]);
for (Player onlinePlayer : plugin.getServer().getOnlinePlayers()) {
if (onlinePlayer != target) {
RespawnListeners.givePlayerCompass(onlinePlayer, target);
}
} else return false;
}
}
return true;
}
}
}
20 changes: 20 additions & 0 deletions src/main/java/systems/joey/manhunt/commands/TestCommand.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package systems.joey.manhunt.commands;


import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import net.md_5.bungee.api.ChatMessageType;

public class TestCommand implements CommandExecutor {
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player player) {
player.setHealth(0);
// player.sendTitle("Test", "Test", 10, 10, 10);
// player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText("aaa"));
}
return true;
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package systems.joey.manhunt.listeners;

import net.kyori.adventure.text.format.TextColor;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.World;
Expand All @@ -10,7 +11,6 @@
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.inventory.meta.CompassMeta;
import systems.joey.manhunt.Manhunt;

Expand All @@ -23,12 +23,12 @@ public void PlayerInteractEvent(PlayerInteractEvent event) {
if (event.getAction() == Action.RIGHT_CLICK_AIR || event.getAction() == Action.RIGHT_CLICK_BLOCK) {
if (event.getItem() != null && event.getItem().getType() == Material.COMPASS) {
String playerTrack = Manhunt.getTracked();
if (playerTrack == null || playerTrack.equals(event.getPlayer().getName())) return;
if (playerTrack == null && playerTrack.equals(event.getPlayer().getName())) return;

Player player = event.getPlayer();
Player target = getPlayer(Manhunt.getTracked());

if (target != null || target.getWorld() != player.getWorld()) {
if (target != null && target.getWorld().getName().equals(player.getWorld().getName()) && !target.getName().equals(player.getName())) {
World world = player.getWorld();
CompassMeta meta = (CompassMeta) event.getItem().getItemMeta();
switch (player.getWorld().getEnvironment()) {
Expand All @@ -41,13 +41,14 @@ public void PlayerInteractEvent(PlayerInteractEvent event) {
case NETHER, THE_END -> {
meta.setLodestone(target.getLocation());
meta.setLodestoneTracked(false);
meta.setDisplayName(ChatColor.WHITE + "Compass");
meta.setDisplayName(ChatColor.RESET + "Compass");
event.getItem().setItemMeta(meta);
}
}
player.sendMessage(ChatColor.GREEN + "Compass is now pointing to " + target.getName() + ".");
//player.sendMessage(ChatColor.GREEN + "Compass is now pointing to " + target.getName() + ".");
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(ChatColor.GREEN + "Compass is now pointing to " + target.getName() + "."));
} else {
player.sendMessage(ChatColor.RED + "There are no players to track.");
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(ChatColor.RED + "There are no players to track."));
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package systems.joey.manhunt.listeners;

import it.unimi.dsi.fastutil.chars.CharAVLTreeSet;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.ChatColor;
import org.bukkit.inventory.ItemStack;
import org.bukkit.Material;
import org.bukkit.entity.Player;
Expand All @@ -8,11 +12,19 @@
import org.bukkit.event.player.PlayerRespawnEvent;

import systems.joey.manhunt.Manhunt;

public class RespawnListeners implements Listener {
@EventHandler
public void onPlayerRespawnEvent(PlayerRespawnEvent e) {
Player player = e.getPlayer();
givePlayerCompass(player, null);
}
public static void givePlayerCompass(Player player, Player target) {
if (player.getName().equals(Manhunt.getTracked())) return;
if (Manhunt.getTracked() == null) return;
if (!player.getName().equals(Manhunt.getTracked())) player.getInventory().addItem(new ItemStack(Material.COMPASS));
if (target != null) {
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(ChatColor.BOLD + "" + ChatColor.GREEN + "Manhunt begins. You have been given a compass tracking " + target.getName()));
}
player.getInventory().addItem(new ItemStack(Material.COMPASS));
}
}
4 changes: 3 additions & 1 deletion src/main/resources/plugin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,6 @@ commands:
manhunt:
description: Start the manhunt with a specified player to be tracked
usage: /manhunt <player>

test:
description: Test command
usage: /test

0 comments on commit 9d00f45

Please sign in to comment.