Skip to content

Commit

Permalink
Less retarded message handling
Browse files Browse the repository at this point in the history
  • Loading branch information
ryderbelserion committed Feb 29, 2024
1 parent 3444d10 commit d89efd8
Show file tree
Hide file tree
Showing 14 changed files with 197 additions and 133 deletions.
Expand Up @@ -48,7 +48,7 @@ public static void givePrize(Player player, Prize prize, Crate crate) {
HashMap<String, String> placeholders = new HashMap<>();
placeholders.put("%crate%", prize.getCrateName());
placeholders.put("%prize%", prize.getPrizeName());
player.sendMessage(Messages.prize_error.getMessage(placeholders).toString(player));
player.sendMessage(Messages.prize_error.getMessage(placeholders, player));
continue;
}

Expand Down
Expand Up @@ -69,7 +69,7 @@ public void onInventoryClick(InventoryClickEvent event) {

if (!Permissions.CRAZYCRATES_ACCESS.hasPermission(player)) {
player.closeInventory(InventoryCloseEvent.Reason.CANT_USE);
player.sendMessage(Messages.no_permission.getString(player));
player.sendMessage(Messages.no_permission.getMessage(player));
return;
}

Expand All @@ -95,7 +95,7 @@ public void onInventoryClick(InventoryClickEvent event) {
placeholders.put("%amount%", String.valueOf(1));
placeholders.put("%key%", crate.getKeyName());

player.sendMessage(Messages.obtaining_keys.getMessage(placeholders).toString(player));
player.sendMessage(Messages.obtaining_keys.getMessage(placeholders, player));
}
}

Expand All @@ -110,7 +110,7 @@ public void onInventoryClick(InventoryClickEvent event) {
placeholders.put("%amount%", String.valueOf(1));
placeholders.put("%key%", crate.getKeyName());

player.sendMessage(Messages.obtaining_keys.getMessage(placeholders).toString(player));
player.sendMessage(Messages.obtaining_keys.getMessage(placeholders, player));
}
}
}
Expand Down
Expand Up @@ -3,7 +3,6 @@
import ch.jalu.configme.SettingsManager;
import ch.jalu.configme.properties.Property;
import com.badbones69.crazycrates.api.utils.MiscUtils;
import com.badbones69.crazycrates.support.PluginSupport;
import me.clip.placeholderapi.PlaceholderAPI;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -125,22 +124,30 @@ private boolean isList() {
return this.configuration.getProperty(property);
}

public String getString(Player player) {
return getMessage().toString(player);
public String getMessage(Map<String, String> placeholders) {
return getMessage(placeholders, null);
}

public Messages getMessage() {
return getMessage(new HashMap<>());
public String getMessage() {
return getMessage(new HashMap<>(), null);
}

public Messages getMessage(String placeholder, String replacement) {
public String getMessage(Player player) {
return getMessage(new HashMap<>(), player);
}

public String getMessage(String placeholder, String replacement, Player player) {
Map<String, String> placeholders = new HashMap<>();
placeholders.put(placeholder, replacement);

return getMessage(placeholders);
return getMessage(placeholders, player);
}

public String getMessage(String placeholder, String replacement) {
return getMessage(placeholder, replacement, null);
}

public Messages getMessage(Map<String, String> placeholders) {
public String getMessage(Map<String, String> placeholders, Player player) {
// Get the string first.
String message;

Expand All @@ -158,14 +165,18 @@ public Messages getMessage(Map<String, String> placeholders) {

this.message = message;

return this;
return asString(player);
}

public String toString(Player player) {
private String asString(Player player) {
String prefix = this.configManager.getConfig().getProperty(ConfigKeys.command_prefix);

String replacedMessage = this.message.replaceAll("%prefix%", prefix);
String message = this.message.replaceAll("%prefix%", prefix);

if (MiscUtils.isPapiActive() && player != null) {
return PlaceholderAPI.setPlaceholders(player, MsgUtils.color(message));
}

return MiscUtils.isPapiActive() && player != null ? PlaceholderAPI.setPlaceholders(player, MsgUtils.color(replacedMessage)) : MsgUtils.color(replacedMessage);
return MsgUtils.color(message);
}
}
Expand Up @@ -46,7 +46,13 @@ public void build() {
}
}

if (correctUsage != null) send(sender, Messages.correct_usage.getMessage("%usage%", correctUsage).toString(null));
if (correctUsage != null) {
if (sender instanceof Player player) {
send(sender, Messages.correct_usage.getMessage("%usage%", correctUsage, player));
} else {
send(sender, Messages.correct_usage.getMessage("%usage%", correctUsage));
}
}
});

getBukkitCommandManager().registerMessage(MessageKey.NOT_ENOUGH_ARGUMENTS, (sender, context) -> {
Expand All @@ -64,10 +70,22 @@ public void build() {
}
}

if (correctUsage != null) send(sender, Messages.correct_usage.getMessage("%usage%", correctUsage).toString(null));
if (correctUsage != null) {
if (sender instanceof Player player) {
send(sender, Messages.correct_usage.getMessage("%usage%", correctUsage, player));
} else {
send(sender, Messages.correct_usage.getMessage("%usage%", correctUsage));
}
}
});

getBukkitCommandManager().registerMessage(MessageKey.UNKNOWN_COMMAND, (sender, context) -> send(sender, Messages.unknown_command.getString(null)));
getBukkitCommandManager().registerMessage(MessageKey.UNKNOWN_COMMAND, (sender, context) -> {
if (sender instanceof Player player) {
send(sender, Messages.unknown_command.getMessage(player));
} else {
send(sender, Messages.unknown_command.getMessage());
}
});
}

@Override
Expand Down
Expand Up @@ -4,6 +4,7 @@
import dev.triumphteam.cmd.bukkit.message.BukkitMessageKey;
import dev.triumphteam.cmd.core.message.MessageKey;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import com.badbones69.crazycrates.api.enums.Messages;
import com.badbones69.crazycrates.api.utils.MsgUtils;
Expand All @@ -12,10 +13,39 @@ public class MiscRelations extends MessageManager {

@Override
public void build() {
getBukkitCommandManager().registerMessage(MessageKey.INVALID_ARGUMENT, (sender, context) -> send(sender, Messages.correct_usage.getMessage("%usage%", context.getTypedArgument()).toString(null)));
getBukkitCommandManager().registerMessage(BukkitMessageKey.NO_PERMISSION, (sender, context) -> send(sender, Messages.no_permission.getString(null)));
getBukkitCommandManager().registerMessage(BukkitMessageKey.PLAYER_ONLY, (sender, context) -> send(sender, Messages.must_be_a_player.getString(null)));
getBukkitCommandManager().registerMessage(BukkitMessageKey.CONSOLE_ONLY, (sender, context) -> send(sender, Messages.must_be_console_sender.getString(null)));
getBukkitCommandManager().registerMessage(MessageKey.INVALID_ARGUMENT, (sender, context) -> {
if (sender instanceof Player player) {
send(sender, Messages.correct_usage.getMessage("%usage%", context.getTypedArgument(), player));
} else {
send(sender, Messages.correct_usage.getMessage("%usage%", context.getTypedArgument()));
}
});

getBukkitCommandManager().registerMessage(BukkitMessageKey.NO_PERMISSION, (sender, context) -> {
if (sender instanceof Player player) {
send(sender, Messages.no_permission.getMessage(player));
} else {
send(sender, Messages.no_permission.getMessage());
}

send(sender, Messages.no_permission.getMessage());
});

getBukkitCommandManager().registerMessage(BukkitMessageKey.PLAYER_ONLY, (sender, context) -> {
if (sender instanceof Player player) {
send(sender, Messages.must_be_a_player.getMessage(player));
} else {
send(sender, Messages.must_be_a_player.getMessage());
}
});

getBukkitCommandManager().registerMessage(BukkitMessageKey.CONSOLE_ONLY, (sender, context) -> {
if (sender instanceof Player player) {
send(sender, Messages.must_be_console_sender.getMessage(player));
} else {
send(sender, Messages.must_be_console_sender.getMessage());
}
});
}

@Override
Expand Down
Expand Up @@ -12,6 +12,8 @@
import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import com.badbones69.crazycrates.api.enums.Messages;
import us.crazycrew.crazycrates.api.users.UserManager;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
Expand All @@ -23,14 +25,17 @@ public class BaseKeyCommand extends BaseCommand {
@NotNull
private final CrazyCrates plugin = CrazyCrates.get();

@NotNull
private final UserManager userManager = this.plugin.getUserManager();

@Default
@Permission("crazycrates.command.player.key")
public void viewPersonal(Player player) {
Map<String, String> placeholders = new HashMap<>();

placeholders.put("%crates_opened%", String.valueOf(this.plugin.getCrazyHandler().getUserManager().getTotalCratesOpened(player.getUniqueId())));
placeholders.put("%crates_opened%", String.valueOf(this.userManager.getTotalCratesOpened(player.getUniqueId())));

getKeys(player, player, Messages.no_virtual_keys_header.getMessage(placeholders).toString(player), Messages.no_virtual_keys.getString(player));
getKeys(player, player, Messages.no_virtual_keys_header.getMessage(placeholders, player), Messages.no_virtual_keys.getMessage(player));
}

@SubCommand("view")
Expand All @@ -45,13 +50,13 @@ public void viewOthers(CommandSender sender, @Suggestion ("online-players") Play
Map<String, String> placeholders = new HashMap<>();

placeholders.put("%player%", target.getName());
placeholders.put("%crates_opened%", String.valueOf(this.plugin.getCrazyHandler().getUserManager().getTotalCratesOpened(target.getUniqueId())));
placeholders.put("%crates_opened%", String.valueOf(this.userManager.getTotalCratesOpened(target.getUniqueId())));

Messages header = Messages.other_player_no_keys_header.getMessage(placeholders);
String header = Messages.other_player_no_keys_header.getMessage(placeholders, sender instanceof Player ? (Player) sender : null);

Messages otherPlayer = Messages.other_player_no_keys.getMessage("%player%", target.getName());
String otherPlayer = Messages.other_player_no_keys.getMessage("%player%", target.getName(), sender instanceof Player ? (Player) sender : null);

getKeys(target, sender, sender instanceof Player ? header.toString((Player) sender) : header.toString(null), sender instanceof Player ? otherPlayer.toString((Player) sender) : otherPlayer.toString(null));
getKeys(target, sender, header, otherPlayer);
}

/**
Expand All @@ -69,7 +74,7 @@ private void getKeys(Player player, CommandSender sender, String header, String

Map<Crate, Integer> keys = new HashMap<>();

this.plugin.getCrateManager().getUsableCrates().forEach(crate -> keys.put(crate, this.plugin.getCrazyHandler().getUserManager().getVirtualKeys(player.getUniqueId(), crate.getName())));
this.plugin.getCrateManager().getUsableCrates().forEach(crate -> keys.put(crate, this.userManager.getVirtualKeys(player.getUniqueId(), crate.getName())));

boolean hasKeys = false;

Expand All @@ -83,9 +88,9 @@ private void getKeys(Player player, CommandSender sender, String header, String

placeholders.put("%crate%", crate.getFile().getString("Crate.Name"));
placeholders.put("%keys%", String.valueOf(amount));
placeholders.put("%crate_opened%", String.valueOf(this.plugin.getCrazyHandler().getUserManager().getCrateOpened(player.getUniqueId(), crate.getName())));
placeholders.put("%crate_opened%", String.valueOf(this.userManager.getCrateOpened(player.getUniqueId(), crate.getName())));

message.add(Messages.per_crate.getMessage(placeholders).toString(null));
message.add(Messages.per_crate.getMessage(placeholders, player));
}
}

Expand Down

0 comments on commit d89efd8

Please sign in to comment.