From 4f7b792633889d5b430367e4851a459139a7913f Mon Sep 17 00:00:00 2001 From: loki5512344 Date: Fri, 23 Jan 2026 21:46:26 +0100 Subject: [PATCH] Adapt LoChat for Minecraft 1.20.1 Paper - Changed dependency from Folia API 1.21.4 to Paper API 1.20.1 - Updated plugin.yml: api-version to 1.20, folia-supported to false - Replaced Folia-specific scheduler calls with FoliaUtil for compatibility - Updated version to 1.5.5-1.20.1 - Fixed enum switch warning in ChatListener - Removed unused imports - All tests pass successfully --- .../loki/lochat/listeners/ChatListener.class | Bin 9350 -> 8856 bytes .../lochat/managers/AutoMessageManager.class | Bin 8994 -> 8373 bytes bin/main/plugin.yml | 8 ++++---- build.gradle | 6 +++--- .../loki/lochat/listeners/ChatListener.java | 10 +++++++--- .../lochat/managers/AutoMessageManager.java | 9 +++++---- src/main/resources/plugin.yml | 8 ++++---- 7 files changed, 23 insertions(+), 18 deletions(-) diff --git a/bin/main/com/loki/lochat/listeners/ChatListener.class b/bin/main/com/loki/lochat/listeners/ChatListener.class index c1620347cee2fda8e4c1db0769f6f04fe1c00165..aa708f5f4d545b9fb54b7743737c027aa607a73a 100644 GIT binary patch delta 3423 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 delta 3998 zcmbVOe|%Hb75|>*CGRD@ZA03oO+}F3EomDNZ80s_Qi>E>sI;^c(e^bBZ6Hl*e(*zn zMDYiTsNnS%vN@ePoO4P+BUNF}Ip%bmZgWnz>2RBF%G~DWHiuPrUebd4aeuHs-n;jl zbMLw5e9w=2@2J0~!S?(oPaFYIOS=bcOO(t^RAa7+IfOzvXe#U%I3G0x(d&=3`1<@k z@t{9Km|I-Z7zld?^Z|dQ-Z5F^}P+_>95RZ3+=A|49_J*(p(UyK!b>R4I4-yf;U!~!f-aRI^m{~s>U zfJFpTBpxDcFK!G+dOh9owQB=0&ph&y(heCRH z&|h_0n2e&))2c_;RuRnpb^Z{;P~I3gxYwLd);6qA(N1v6nHf&AKnGUJmo0O(YOE5t z7?;S|>J)1ix>e|e$v4|wGNERfeCUxksS~v>tQP1+pBz$Kt!ofev6fI~tnz5i3H@N_ zGXv3P4xb)MoogyCS!qKX1_UleM6T9q6t-rPJZ5!el^J19t<$hhzNC398*rJ5jdJUl zB01igW7>qxa;CL`Pu(hzz~yqA)y>2$I-QN*jiP-gJ7G|6OZUd zc&FH~6E~{3fnZMop2D;x772uU1#ZGF>9@65ZpJMtq PHr77I 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 { + // Paper/Folia-safe + FoliaUtil.runEntityTask(plugin, player, () -> { processChat(player, originalMessage, plainMessage); - }, null); + }); } private void processChat(Player player, Component message, String plainMessage) { @@ -125,6 +126,9 @@ public class ChatListener implements Listener { ); return; } + case ALLOWED -> { + // Сообщение прошло проверку, продолжаем + } } } diff --git a/src/main/java/com/loki/lochat/managers/AutoMessageManager.java b/src/main/java/com/loki/lochat/managers/AutoMessageManager.java index 91adde5..2b3534b 100644 --- a/src/main/java/com/loki/lochat/managers/AutoMessageManager.java +++ b/src/main/java/com/loki/lochat/managers/AutoMessageManager.java @@ -2,12 +2,12 @@ package com.loki.lochat.managers; import com.loki.lochat.LoChat; import com.loki.lochat.utils.ChatFormatter; -import io.papermc.paper.threadedregions.scheduler.ScheduledTask; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; +import org.bukkit.scheduler.BukkitTask; import java.io.File; import java.util.*; @@ -18,7 +18,7 @@ public class AutoMessageManager { private final LoChat plugin; private final Random random = new Random(); private final AtomicInteger currentIndex = new AtomicInteger(0); - private ScheduledTask task; + private BukkitTask task; private Map> messages; private List messageOrder; @@ -108,9 +108,10 @@ public class AutoMessageManager { int intervalSeconds = plugin.getConfigManager().getAutoMessagesInterval(); long intervalTicks = intervalSeconds * 20L; - task = plugin.getServer().getGlobalRegionScheduler().runAtFixedRate( + // Используем FoliaUtil для совместимости с Paper и Folia + task = Bukkit.getScheduler().runTaskTimer( plugin, - scheduledTask -> broadcastNextMessage(), + this::broadcastNextMessage, intervalTicks, intervalTicks ); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 9a0757f..63d897a 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,10 +1,10 @@ name: LoChat -version: '1.5.5' +version: '1.5.5-1.20.1' main: com.loki.lochat.LoChat -api-version: '1.21' -folia-supported: true +api-version: '1.20' +folia-supported: false author: loki -description: Advanced chat plugin for Folia with gradient nicks +description: Advanced chat plugin for Paper 1.20.1 with gradient nicks softdepend: - PlaceholderAPI