Begin of own formatter

This commit is contained in:
Elikill58 committed 2024-11-07 19:28:23 +01:00
1 parent 3a2d0ee44d
commit 4b966f056e
6 files changed
+69 -9

No files matched your search

@@ -23,6 +23,7 @@ import me.dadus33.chatitem.chatmanager.ChatManager;
import me.dadus33.chatitem.chatmanager.v1.PacketEditingChatManager;
import me.dadus33.chatitem.chatmanager.v2.ChatListenerChatManager;
import me.dadus33.chatitem.chatmanager.v3.PaperChatManager;
import me.dadus33.chatitem.chatmanager.v4.OwnManager;
import me.dadus33.chatitem.commands.CIReloadCommand;
import me.dadus33.chatitem.commands.ChatItemCommand;
import me.dadus33.chatitem.hook.ChatControlSupport;
@@ -104,8 +105,10 @@ public class ChatItem extends JavaPlugin {
this.chatManager.add(new PacketEditingChatManager(this));
this.chatManager.add(new ChatListenerChatManager(this));
if(Utils.IS_PAPER)
if(Utils.IS_PAPER) {
this.chatManager.add(new PaperChatManager(this));
this.chatManager.add(new OwnManager());
}
String managerName = getStorage().manager;
@@ -23,7 +23,6 @@ import net.kyori.adventure.text.TextReplacementConfig;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.event.HoverEvent;
import net.kyori.adventure.text.event.HoverEventSource;
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
public class PaperListener implements Listener {
@@ -46,13 +45,13 @@ public class PaperListener implements Listener {
Player p = e.getPlayer();
Component message = e.message();
String rawMessage = PlainTextComponentSerializer.plainText().serialize(message);
String rawMessage = C.string(message);
if (ChatManager.containsSeparator(rawMessage)) { // fix for v1
Chat chat = Chat.getFrom(rawMessage);
if (chat != null) {
message = message.replaceText(TextReplacementConfig.builder().matchLiteral(ChatManager.SEPARATOR + "" + chat.getId() + ChatManager.SEPARATOR_END)
.replacement(Component.text(chat.getSlot().getPlaceholders().get(0))).build());
rawMessage = PlainTextComponentSerializer.plainText().serialize(message);
.replacement(C.text(chat.getSlot().getPlaceholders().get(0))).build());
rawMessage = C.string(message);
}
}
ItemSlot slot = ItemSlot.getItemSlotFromMessage(rawMessage);
@@ -79,7 +78,7 @@ public class PaperListener implements Listener {
}
} else
hoverEvent = HoverEvent.showText(C.text(Messages.getMessage(action.getSlot().name().toLowerCase() + ".hover", "%cible%", p.getName())));
TextComponent like = Component.text(ChatManager.getNameForChatAction(p, action, getStorage())).hoverEvent(hoverEvent);
TextComponent like = C.text(ChatManager.getNameForChatAction(p, action, getStorage())).hoverEvent(hoverEvent);
if (action.hasCommand())
like.clickEvent(ClickEvent.runCommand(action.getCommand()));
for (String s : slot.getPlaceholders())
@@ -90,7 +89,7 @@ public class PaperListener implements Listener {
e.setCancelled(true);
} else
e.message(message);
ChatItem.debug("Changed message to " + PlainTextComponentSerializer.plainText().serialize(message));
ChatItem.debug("Changed message to " + C.string(message));
if (getStorage().cooldown > 0 && !p.hasPermission("chatitem.ignore-cooldown"))
ChatManager.applyCooldown(p);
}
@@ -0,0 +1,26 @@
package me.dadus33.chatitem.chatmanager.v4;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import io.papermc.paper.event.player.AsyncChatEvent;
import me.dadus33.chatitem.chatmanager.ChatManager;
public class OwnListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR)
public void onChat(AsyncChatEvent e) {
if (ChatManager.isTestingEnabled() && !ChatManager.isTesting("ownformatter"))
return;
if (!ChatManager.isSelected("ownformatter"))
return;
if (e.isCancelled())
return;
e.setCancelled(true);
/*Player p = e.getPlayer();
Component msg = e.message();*/
}
}
@@ -0,0 +1,22 @@
package me.dadus33.chatitem.chatmanager.v4;
import me.dadus33.chatitem.ChatItem;
import me.dadus33.chatitem.chatmanager.ChatManager;
public class OwnManager extends ChatManager {
@Override
public String getName() {
return "Own Formatter";
}
@Override
public String getId() {
return "ownformatter";
}
@Override
public void unload(ChatItem pl) {
}
}
@@ -118,8 +118,8 @@ public class InventoryListener implements Listener {
inv.setItem(i, ChatItem.getPlatform().createItemStack(ItemUtils.WHITE_STAINED_GLASS, "-"));
int slot = 0;
for (String manager : Arrays.asList("all", "packet", "chat", "paper")) {
if (manager == "paper" && !Utils.IS_PAPER)
for (String manager : Arrays.asList("all", "packet", "chat", "paper")) { //, "ownformatter")) {
if ((manager == "paper" || manager == "ownformatter") && !Utils.IS_PAPER)
continue;
holder.keyBySlot.put(slot, manager);
inv.setItem(slot++, getManagerItem(manager));
+10
View File
@@ -145,6 +145,9 @@ general:
sub-commands:
broadcast: true
show: true
ownformatter:
format: "%name%: %message%"
# Messages section. You can disable any of them by simply leaving them empty, like this: ""
@@ -253,6 +256,13 @@ messages:
- "&eAdapted for paper user, and could be used with more plugin that others"
- ""
- "&7Since ChatItem v2.6"
ownformatter:
name: "&6ChatItem formatter"
lore:
- "&aChatItem format the chat for you."
- "&aNo longer needs another chat plugin."
- ""
- "&7Since ChatItem v2.7"
# The item that show the actual manager
actual:
name: '&6Actual manager: %manager%'