Begin of own formatter
This commit is contained in:
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));
|
||||
|
||||
@@ -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%'
|
||||
|
||||
Reference in new issue
Block a user