diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java index 015cebe..08675ae 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java @@ -2,6 +2,7 @@ package com.hypherionmc.craterlib.core.platform; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.InternalServiceUtil; +import net.kyori.adventure.text.Component; public interface CompatUtils { @@ -12,5 +13,7 @@ public interface CompatUtils { boolean isPlayerBleeding(BridgedPlayer player); boolean playerBledOut(BridgedPlayer player); boolean playerRevived(BridgedPlayer player); + boolean isPrivateMessage(BridgedPlayer player); + Component getChannelPrefix(BridgedPlayer player); } diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java index 177c113..d96069d 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java @@ -9,13 +9,27 @@ import net.minecraft.commands.CommandSourceStack; import java.util.function.Supplier; +import static net.minecraft.world.level.GameRules.RULE_SENDCOMMANDFEEDBACK; + @RequiredArgsConstructor(staticName = "of") public class BridgedCommandSourceStack { private final CommandSourceStack internal; public void sendSuccess(Supplier supplier, boolean bl) { - internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + try { + internal.getPlayerOrException().displayClientMessage(ChatUtils.adventureToMojang(supplier.get()), false); + } catch (Exception ignored) {} + } else { + internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); + } + } + + public void sendMessage(Component text) { + try { + internal.getPlayerOrException().displayClientMessage(ChatUtils.adventureToMojang(text), false); + } catch (Exception ignored) {} } public void sendFailure(Component text) { diff --git a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index fb81f1d..967a398 100644 --- a/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -31,8 +31,12 @@ public class ChatUtils { } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { - final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + try { + final String serialised = Component.Serializer.toJson(inComponent); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } } // Some text components contain duplicate text, resulting in duplicate messages diff --git a/1.18.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java b/1.18.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java index fa369b5..04b562f 100644 --- a/1.18.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +++ b/1.18.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java @@ -5,6 +5,7 @@ import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; public class FabricCompatHelper implements CompatUtils { @@ -35,4 +36,14 @@ public class FabricCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.18.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java b/1.18.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java index bd006cd..9aa15aa 100644 --- a/1.18.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/1.18.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java @@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; import redstonedubstep.mods.vanishmod.VanishUtil; @@ -47,4 +48,14 @@ public class ForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.18.2/NeoForge/src/main/resources/craterlib_logo.png b/1.18.2/NeoForge/src/main/resources/craterlib_logo.png deleted file mode 100644 index ce0159c..0000000 Binary files a/1.18.2/NeoForge/src/main/resources/craterlib_logo.png and /dev/null differ diff --git a/1.18.2/changelog.md b/1.18.2/changelog.md index ef30c2a..8410b27 100644 --- a/1.18.2/changelog.md +++ b/1.18.2/changelog.md @@ -1,13 +1,8 @@ **Bug Fixes**: -- Fixed LuckPerms breaking commands on Paper -- Fix Config watcher using too many threads and not detecting changes on Linux systems +- Fix Adventure Serializer failing completely when serialization fails, causing game glitches **New Features**: -- Added Nojang API to allow mods to access GameRules (SDLink) -- Exposed Adventure JSON serializer to mods - -**Dev Changes**: - -- Bumped MoonConfig - `1.0.10` -> `1.0.12` \ No newline at end of file +- Allow commands to send feedback as chat messages, if command feedback is disabled +- Added Compat API for Advanced Chat \ No newline at end of file diff --git a/1.18.2/gradle.properties b/1.18.2/gradle.properties index 40487a3..b7fed3b 100644 --- a/1.18.2/gradle.properties +++ b/1.18.2/gradle.properties @@ -1,8 +1,8 @@ #Project version_major=2 version_minor=1 -version_patch=4 -version_build=2 +version_patch=5 +version_build=0 #Mod mod_author=HypherionSA @@ -29,6 +29,7 @@ discord_formatter=2.0.0 cloth_config=6.5.102 # Mod Dependencies +advanced_chat=SNA4dye5 player_revive=5335413 creative_core=5335387 ftb_ranks=1802.1.11-build.71 diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java index 015cebe..08675ae 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java @@ -2,6 +2,7 @@ package com.hypherionmc.craterlib.core.platform; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.InternalServiceUtil; +import net.kyori.adventure.text.Component; public interface CompatUtils { @@ -12,5 +13,7 @@ public interface CompatUtils { boolean isPlayerBleeding(BridgedPlayer player); boolean playerBledOut(BridgedPlayer player); boolean playerRevived(BridgedPlayer player); + boolean isPrivateMessage(BridgedPlayer player); + Component getChannelPrefix(BridgedPlayer player); } diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java index d6d5735..1053bbc 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java @@ -8,13 +8,23 @@ import net.minecraft.commands.CommandSourceStack; import java.util.function.Supplier; +import static net.minecraft.world.level.GameRules.RULE_SENDCOMMANDFEEDBACK; + @RequiredArgsConstructor(staticName = "of") public class BridgedCommandSourceStack { private final CommandSourceStack internal; public void sendSuccess(Supplier supplier, boolean bl) { - internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); + } else { + internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); + } + } + + public void sendMessage(Component text) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(text)); } public void sendFailure(Component text) { diff --git a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index 5dd858d..fd52b92 100644 --- a/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -29,8 +29,12 @@ public class ChatUtils { } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { + try { final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } } // Some text components contain duplicate text, resulting in duplicate messages diff --git a/1.19.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java b/1.19.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java index fa369b5..04b562f 100644 --- a/1.19.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +++ b/1.19.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java @@ -5,6 +5,7 @@ import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; public class FabricCompatHelper implements CompatUtils { @@ -35,4 +36,14 @@ public class FabricCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.19.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java b/1.19.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java index bd006cd..9aa15aa 100644 --- a/1.19.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/1.19.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java @@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; import redstonedubstep.mods.vanishmod.VanishUtil; @@ -47,4 +48,14 @@ public class ForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.19.2/NeoForge/src/main/resources/craterlib_logo.png b/1.19.2/NeoForge/src/main/resources/craterlib_logo.png deleted file mode 100644 index ce0159c..0000000 Binary files a/1.19.2/NeoForge/src/main/resources/craterlib_logo.png and /dev/null differ diff --git a/1.19.2/changelog.md b/1.19.2/changelog.md index ef30c2a..8410b27 100644 --- a/1.19.2/changelog.md +++ b/1.19.2/changelog.md @@ -1,13 +1,8 @@ **Bug Fixes**: -- Fixed LuckPerms breaking commands on Paper -- Fix Config watcher using too many threads and not detecting changes on Linux systems +- Fix Adventure Serializer failing completely when serialization fails, causing game glitches **New Features**: -- Added Nojang API to allow mods to access GameRules (SDLink) -- Exposed Adventure JSON serializer to mods - -**Dev Changes**: - -- Bumped MoonConfig - `1.0.10` -> `1.0.12` \ No newline at end of file +- Allow commands to send feedback as chat messages, if command feedback is disabled +- Added Compat API for Advanced Chat \ No newline at end of file diff --git a/1.19.2/gradle.properties b/1.19.2/gradle.properties index f0c1e7b..6952de0 100644 --- a/1.19.2/gradle.properties +++ b/1.19.2/gradle.properties @@ -1,8 +1,8 @@ #Project version_major=2 version_minor=1 -version_patch=4 -version_build=2 +version_patch=5 +version_build=0 #Mod mod_author=HypherionSA @@ -29,6 +29,7 @@ discord_formatter=2.0.0 cloth_config=8.3.134 # Mod Dependencies +advanced_chat=SNA4dye5 player_revive=5491953 creative_core=5491926 ftb_ranks=1902.1.16-build.114 diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java index 015cebe..08675ae 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java @@ -2,6 +2,7 @@ package com.hypherionmc.craterlib.core.platform; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.InternalServiceUtil; +import net.kyori.adventure.text.Component; public interface CompatUtils { @@ -12,5 +13,7 @@ public interface CompatUtils { boolean isPlayerBleeding(BridgedPlayer player); boolean playerBledOut(BridgedPlayer player); boolean playerRevived(BridgedPlayer player); + boolean isPrivateMessage(BridgedPlayer player); + Component getChannelPrefix(BridgedPlayer player); } diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java index d6d5735..1053bbc 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java @@ -8,13 +8,23 @@ import net.minecraft.commands.CommandSourceStack; import java.util.function.Supplier; +import static net.minecraft.world.level.GameRules.RULE_SENDCOMMANDFEEDBACK; + @RequiredArgsConstructor(staticName = "of") public class BridgedCommandSourceStack { private final CommandSourceStack internal; public void sendSuccess(Supplier supplier, boolean bl) { - internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); + } else { + internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); + } + } + + public void sendMessage(Component text) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(text)); } public void sendFailure(Component text) { diff --git a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index d3c0924..f8e32ea 100644 --- a/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -31,8 +31,12 @@ public class ChatUtils { } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { + try { final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } } // Some text components contain duplicate text, resulting in duplicate messages diff --git a/1.19.3/Fabric/build.gradle b/1.19.3/Fabric/build.gradle index b679ed0..45c5f51 100644 --- a/1.19.3/Fabric/build.gradle +++ b/1.19.3/Fabric/build.gradle @@ -14,6 +14,7 @@ dependencies { modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" + modImplementation("unimaven.modrinth:advanced-chat:${advanced_chat}") // Do not edit or remove implementation project(":Common") diff --git a/1.19.3/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java b/1.19.3/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java index fa369b5..ccc031f 100644 --- a/1.19.3/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +++ b/1.19.3/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java @@ -5,6 +5,8 @@ import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import me.wesley1808.advancedchat.api.AdvancedChatAPI; +import net.kyori.adventure.text.Component; public class FabricCompatHelper implements CompatUtils { @@ -35,4 +37,15 @@ public class FabricCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return !AdvancedChatAPI.isPublicChat(player.toMojangServerPlayer()); + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + net.minecraft.network.chat.Component c = AdvancedChatAPI.getChannelPrefix(player.toMojangServerPlayer()); + return c.getString().isBlank() ? Component.empty() : Component.text(c.getString()); + } } diff --git a/1.19.3/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java b/1.19.3/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java index bd006cd..9aa15aa 100644 --- a/1.19.3/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/1.19.3/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java @@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; import redstonedubstep.mods.vanishmod.VanishUtil; @@ -47,4 +48,14 @@ public class ForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.19.3/NeoForge/src/main/resources/craterlib_logo.png b/1.19.3/NeoForge/src/main/resources/craterlib_logo.png deleted file mode 100644 index ce0159c..0000000 Binary files a/1.19.3/NeoForge/src/main/resources/craterlib_logo.png and /dev/null differ diff --git a/1.19.3/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java b/1.19.3/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java index bc3a2b2..c4532b9 100644 --- a/1.19.3/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +++ b/1.19.3/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java @@ -4,6 +4,7 @@ import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.ChatUtils; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.metadata.MetadataValue; @@ -89,4 +90,14 @@ public class PaperCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.19.3/changelog.md b/1.19.3/changelog.md index ef30c2a..8410b27 100644 --- a/1.19.3/changelog.md +++ b/1.19.3/changelog.md @@ -1,13 +1,8 @@ **Bug Fixes**: -- Fixed LuckPerms breaking commands on Paper -- Fix Config watcher using too many threads and not detecting changes on Linux systems +- Fix Adventure Serializer failing completely when serialization fails, causing game glitches **New Features**: -- Added Nojang API to allow mods to access GameRules (SDLink) -- Exposed Adventure JSON serializer to mods - -**Dev Changes**: - -- Bumped MoonConfig - `1.0.10` -> `1.0.12` \ No newline at end of file +- Allow commands to send feedback as chat messages, if command feedback is disabled +- Added Compat API for Advanced Chat \ No newline at end of file diff --git a/1.19.3/gradle.properties b/1.19.3/gradle.properties index 362012a..80d6489 100644 --- a/1.19.3/gradle.properties +++ b/1.19.3/gradle.properties @@ -1,8 +1,8 @@ #Project version_major=2 version_minor=1 -version_patch=4 -version_build=2 +version_patch=5 +version_build=0 #Mod mod_author=HypherionSA @@ -29,6 +29,7 @@ discord_formatter=2.0.0 cloth_config=9.1.104 # Mod Dependencies +advanced_chat=RN7kRIrY player_revive=4353422 creative_core=4407520 ftb_ranks=1904.1.1-build.82 diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java index 015cebe..08675ae 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java @@ -2,6 +2,7 @@ package com.hypherionmc.craterlib.core.platform; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.InternalServiceUtil; +import net.kyori.adventure.text.Component; public interface CompatUtils { @@ -12,5 +13,7 @@ public interface CompatUtils { boolean isPlayerBleeding(BridgedPlayer player); boolean playerBledOut(BridgedPlayer player); boolean playerRevived(BridgedPlayer player); + boolean isPrivateMessage(BridgedPlayer player); + Component getChannelPrefix(BridgedPlayer player); } diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java index d10b151..9cdcb33 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java @@ -8,13 +8,23 @@ import net.minecraft.commands.CommandSourceStack; import java.util.function.Supplier; +import static net.minecraft.world.level.GameRules.RULE_SENDCOMMANDFEEDBACK; + @RequiredArgsConstructor(staticName = "of") public class BridgedCommandSourceStack { private final CommandSourceStack internal; public void sendSuccess(Supplier supplier, boolean bl) { - internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); + } else { + internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + } + } + + public void sendMessage(Component text) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(text)); } public void sendFailure(Component text) { diff --git a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index d3c0924..f8e32ea 100644 --- a/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -31,8 +31,12 @@ public class ChatUtils { } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { + try { final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } } // Some text components contain duplicate text, resulting in duplicate messages diff --git a/1.20.2/Fabric/build.gradle b/1.20.2/Fabric/build.gradle index 2930d3b..4291026 100644 --- a/1.20.2/Fabric/build.gradle +++ b/1.20.2/Fabric/build.gradle @@ -14,6 +14,7 @@ dependencies { modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" + modImplementation("unimaven.modrinth:advanced-chat:${advanced_chat}") // Do not edit or remove implementation project(":Common") diff --git a/1.20.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java b/1.20.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java index fa369b5..ccc031f 100644 --- a/1.20.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +++ b/1.20.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java @@ -5,6 +5,8 @@ import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import me.wesley1808.advancedchat.api.AdvancedChatAPI; +import net.kyori.adventure.text.Component; public class FabricCompatHelper implements CompatUtils { @@ -35,4 +37,15 @@ public class FabricCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return !AdvancedChatAPI.isPublicChat(player.toMojangServerPlayer()); + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + net.minecraft.network.chat.Component c = AdvancedChatAPI.getChannelPrefix(player.toMojangServerPlayer()); + return c.getString().isBlank() ? Component.empty() : Component.text(c.getString()); + } } diff --git a/1.20.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java b/1.20.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java index bd006cd..9aa15aa 100644 --- a/1.20.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/1.20.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java @@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; import redstonedubstep.mods.vanishmod.VanishUtil; @@ -47,4 +48,14 @@ public class ForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.20.2/NeoForge/src/main/resources/craterlib_logo.png b/1.20.2/NeoForge/src/main/resources/craterlib_logo.png deleted file mode 100644 index ce0159c..0000000 Binary files a/1.20.2/NeoForge/src/main/resources/craterlib_logo.png and /dev/null differ diff --git a/1.20.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java b/1.20.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java index bc3a2b2..c4532b9 100644 --- a/1.20.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +++ b/1.20.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java @@ -4,6 +4,7 @@ import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.ChatUtils; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.metadata.MetadataValue; @@ -89,4 +90,14 @@ public class PaperCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.20.2/changelog.md b/1.20.2/changelog.md index ef30c2a..8410b27 100644 --- a/1.20.2/changelog.md +++ b/1.20.2/changelog.md @@ -1,13 +1,8 @@ **Bug Fixes**: -- Fixed LuckPerms breaking commands on Paper -- Fix Config watcher using too many threads and not detecting changes on Linux systems +- Fix Adventure Serializer failing completely when serialization fails, causing game glitches **New Features**: -- Added Nojang API to allow mods to access GameRules (SDLink) -- Exposed Adventure JSON serializer to mods - -**Dev Changes**: - -- Bumped MoonConfig - `1.0.10` -> `1.0.12` \ No newline at end of file +- Allow commands to send feedback as chat messages, if command feedback is disabled +- Added Compat API for Advanced Chat \ No newline at end of file diff --git a/1.20.2/gradle.properties b/1.20.2/gradle.properties index 0baaaf8..28b79ea 100644 --- a/1.20.2/gradle.properties +++ b/1.20.2/gradle.properties @@ -1,8 +1,8 @@ #Project version_major=2 version_minor=1 -version_patch=4 -version_build=2 +version_patch=5 +version_build=0 #Mod mod_author=HypherionSA @@ -29,6 +29,7 @@ discord_formatter=2.0.0 cloth_config=12.0.137 # Mod Dependencies +advanced_chat=bLHDrebO player_revive=4785938 creative_core=4796447 ftb_ranks=2001.1.3 diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java index 015cebe..08675ae 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java @@ -2,6 +2,7 @@ package com.hypherionmc.craterlib.core.platform; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.InternalServiceUtil; +import net.kyori.adventure.text.Component; public interface CompatUtils { @@ -12,5 +13,7 @@ public interface CompatUtils { boolean isPlayerBleeding(BridgedPlayer player); boolean playerBledOut(BridgedPlayer player); boolean playerRevived(BridgedPlayer player); + boolean isPrivateMessage(BridgedPlayer player); + Component getChannelPrefix(BridgedPlayer player); } diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java index d10b151..9cdcb33 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java @@ -8,13 +8,23 @@ import net.minecraft.commands.CommandSourceStack; import java.util.function.Supplier; +import static net.minecraft.world.level.GameRules.RULE_SENDCOMMANDFEEDBACK; + @RequiredArgsConstructor(staticName = "of") public class BridgedCommandSourceStack { private final CommandSourceStack internal; public void sendSuccess(Supplier supplier, boolean bl) { - internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); + } else { + internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + } + } + + public void sendMessage(Component text) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(text)); } public void sendFailure(Component text) { diff --git a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index 5dd858d..fd52b92 100644 --- a/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -29,8 +29,12 @@ public class ChatUtils { } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { + try { final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } } // Some text components contain duplicate text, resulting in duplicate messages diff --git a/1.20.4/Fabric/build.gradle b/1.20.4/Fabric/build.gradle index 4e8c137..3871d5d 100644 --- a/1.20.4/Fabric/build.gradle +++ b/1.20.4/Fabric/build.gradle @@ -15,6 +15,7 @@ dependencies { modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" + modImplementation("unimaven.modrinth:advanced-chat:${advanced_chat}") // Do not edit or remove implementation project(":Common") diff --git a/1.20.4/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java b/1.20.4/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java index fa369b5..ccc031f 100644 --- a/1.20.4/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +++ b/1.20.4/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java @@ -5,6 +5,8 @@ import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import me.wesley1808.advancedchat.api.AdvancedChatAPI; +import net.kyori.adventure.text.Component; public class FabricCompatHelper implements CompatUtils { @@ -35,4 +37,15 @@ public class FabricCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return !AdvancedChatAPI.isPublicChat(player.toMojangServerPlayer()); + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + net.minecraft.network.chat.Component c = AdvancedChatAPI.getChannelPrefix(player.toMojangServerPlayer()); + return c.getString().isBlank() ? Component.empty() : Component.text(c.getString()); + } } diff --git a/1.20.4/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java b/1.20.4/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java index 6ef9954..f4681cf 100644 --- a/1.20.4/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/1.20.4/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java @@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; import redstonedubstep.mods.vanishmod.VanishUtil; public class ForgeCompatHelper implements CompatUtils { @@ -34,4 +35,14 @@ public class ForgeCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java index 268e797..e210dad 100644 --- a/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ b/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java @@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; import redstonedubstep.mods.vanishmod.VanishUtil; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; @@ -47,4 +48,14 @@ public class NeoForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.20.4/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java b/1.20.4/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java index bc3a2b2..c4532b9 100644 --- a/1.20.4/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +++ b/1.20.4/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java @@ -4,6 +4,7 @@ import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.ChatUtils; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.metadata.MetadataValue; @@ -89,4 +90,14 @@ public class PaperCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.20.4/changelog.md b/1.20.4/changelog.md index ef30c2a..8410b27 100644 --- a/1.20.4/changelog.md +++ b/1.20.4/changelog.md @@ -1,13 +1,8 @@ **Bug Fixes**: -- Fixed LuckPerms breaking commands on Paper -- Fix Config watcher using too many threads and not detecting changes on Linux systems +- Fix Adventure Serializer failing completely when serialization fails, causing game glitches **New Features**: -- Added Nojang API to allow mods to access GameRules (SDLink) -- Exposed Adventure JSON serializer to mods - -**Dev Changes**: - -- Bumped MoonConfig - `1.0.10` -> `1.0.12` \ No newline at end of file +- Allow commands to send feedback as chat messages, if command feedback is disabled +- Added Compat API for Advanced Chat \ No newline at end of file diff --git a/1.20.4/gradle.properties b/1.20.4/gradle.properties index 2e1ca32..9bdd8b3 100644 --- a/1.20.4/gradle.properties +++ b/1.20.4/gradle.properties @@ -1,8 +1,8 @@ #Project version_major=2 version_minor=1 -version_patch=4 -version_build=2 +version_patch=5 +version_build=0 #Mod mod_author=HypherionSA @@ -37,6 +37,7 @@ vanish=1.5.4+1.20.4 mod_menu_version=9.2.0-beta.2 vanishmod=1.1.15 vanishmod_neo=puxrKAMr +advanced_chat=tBkISdKZ player_revive=5019850 creative_core=5140174 ftb_ranks=2004.2.0 diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java index 015cebe..08675ae 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java @@ -2,6 +2,7 @@ package com.hypherionmc.craterlib.core.platform; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.InternalServiceUtil; +import net.kyori.adventure.text.Component; public interface CompatUtils { @@ -12,5 +13,7 @@ public interface CompatUtils { boolean isPlayerBleeding(BridgedPlayer player); boolean playerBledOut(BridgedPlayer player); boolean playerRevived(BridgedPlayer player); + boolean isPrivateMessage(BridgedPlayer player); + Component getChannelPrefix(BridgedPlayer player); } diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java index d10b151..9cdcb33 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java @@ -8,13 +8,23 @@ import net.minecraft.commands.CommandSourceStack; import java.util.function.Supplier; +import static net.minecraft.world.level.GameRules.RULE_SENDCOMMANDFEEDBACK; + @RequiredArgsConstructor(staticName = "of") public class BridgedCommandSourceStack { private final CommandSourceStack internal; public void sendSuccess(Supplier supplier, boolean bl) { - internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); + } else { + internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + } + } + + public void sendMessage(Component text) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(text)); } public void sendFailure(Component text) { diff --git a/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index d3c0924..f8e32ea 100644 --- a/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -31,8 +31,12 @@ public class ChatUtils { } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { + try { final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } } // Some text components contain duplicate text, resulting in duplicate messages diff --git a/1.20/Fabric/build.gradle b/1.20/Fabric/build.gradle index ec3c0f4..5844720 100644 --- a/1.20/Fabric/build.gradle +++ b/1.20/Fabric/build.gradle @@ -14,6 +14,7 @@ dependencies { modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" + modImplementation("unimaven.modrinth:advanced-chat:${advanced_chat}") // Do not edit or remove implementation project(":Common") diff --git a/1.20/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java b/1.20/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java index fa369b5..ccc031f 100644 --- a/1.20/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +++ b/1.20/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java @@ -5,6 +5,8 @@ import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import me.wesley1808.advancedchat.api.AdvancedChatAPI; +import net.kyori.adventure.text.Component; public class FabricCompatHelper implements CompatUtils { @@ -35,4 +37,15 @@ public class FabricCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return !AdvancedChatAPI.isPublicChat(player.toMojangServerPlayer()); + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + net.minecraft.network.chat.Component c = AdvancedChatAPI.getChannelPrefix(player.toMojangServerPlayer()); + return c.getString().isBlank() ? Component.empty() : Component.text(c.getString()); + } } diff --git a/1.20/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java b/1.20/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java index bd006cd..9aa15aa 100644 --- a/1.20/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/1.20/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java @@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; import redstonedubstep.mods.vanishmod.VanishUtil; @@ -47,4 +48,14 @@ public class ForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.20/NeoForge/src/main/resources/craterlib_logo.png b/1.20/NeoForge/src/main/resources/craterlib_logo.png deleted file mode 100644 index ce0159c..0000000 Binary files a/1.20/NeoForge/src/main/resources/craterlib_logo.png and /dev/null differ diff --git a/1.20/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java b/1.20/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java index bc3a2b2..c4532b9 100644 --- a/1.20/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +++ b/1.20/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java @@ -4,6 +4,7 @@ import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.ChatUtils; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.metadata.MetadataValue; @@ -89,4 +90,14 @@ public class PaperCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.20/changelog.md b/1.20/changelog.md index c0fd9a8..486185b 100644 --- a/1.20/changelog.md +++ b/1.20/changelog.md @@ -1,14 +1,9 @@ **Bug Fixes**: -- Fixed LuckPerms breaking commands on Paper -- Fix Config watcher using too many threads and not detecting changes on Linux systems +- Fix Adventure Serializer failing completely when serialization fails, causing game glitches - Fixed crash when trying to open config screens on NeoForge **New Features**: -- Added Nojang API to allow mods to access GameRules (SDLink) -- Exposed Adventure JSON serializer to mods - -**Dev Changes**: - -- Bumped MoonConfig - `1.0.10` -> `1.0.12` +- Allow commands to send feedback as chat messages, if command feedback is disabled +- Added Compat API for Advanced Chat diff --git a/1.20/gradle.properties b/1.20/gradle.properties index 3396314..b81d619 100644 --- a/1.20/gradle.properties +++ b/1.20/gradle.properties @@ -1,8 +1,8 @@ #Project version_major=2 version_minor=1 -version_patch=4 -version_build=2 +version_patch=5 +version_build=0 #Mod mod_author=HypherionSA @@ -29,6 +29,7 @@ discord_formatter=2.0.0 cloth_config=11.1.136 # Mod Dependencies +advanced_chat=Unjr2LZL player_revive=4798215 creative_core=4798202 ftb_ranks=2001.1.3 diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java index 015cebe..08675ae 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java @@ -2,6 +2,7 @@ package com.hypherionmc.craterlib.core.platform; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.InternalServiceUtil; +import net.kyori.adventure.text.Component; public interface CompatUtils { @@ -12,5 +13,7 @@ public interface CompatUtils { boolean isPlayerBleeding(BridgedPlayer player); boolean playerBledOut(BridgedPlayer player); boolean playerRevived(BridgedPlayer player); + boolean isPrivateMessage(BridgedPlayer player); + Component getChannelPrefix(BridgedPlayer player); } diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java index d10b151..9cdcb33 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java @@ -8,13 +8,23 @@ import net.minecraft.commands.CommandSourceStack; import java.util.function.Supplier; +import static net.minecraft.world.level.GameRules.RULE_SENDCOMMANDFEEDBACK; + @RequiredArgsConstructor(staticName = "of") public class BridgedCommandSourceStack { private final CommandSourceStack internal; public void sendSuccess(Supplier supplier, boolean bl) { - internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); + } else { + internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + } + } + + public void sendMessage(Component text) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(text)); } public void sendFailure(Component text) { diff --git a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index 7396010..b2b7c45 100644 --- a/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.21.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -36,8 +36,12 @@ public class ChatUtils { } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { - final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); - return adventureSerializer.deserialize(serialised); + try { + final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } } private static HolderLookup.Provider getRegistryLookup() { diff --git a/1.21.2/Fabric/build.gradle b/1.21.2/Fabric/build.gradle index b64c1d0..df01af0 100644 --- a/1.21.2/Fabric/build.gradle +++ b/1.21.2/Fabric/build.gradle @@ -15,6 +15,7 @@ dependencies { modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" + modImplementation("unimaven.modrinth:advanced-chat:${advanced_chat}") // Do not edit or remove implementation project(":Common") @@ -133,4 +134,4 @@ publisher { required("fabric-api") optional("cloth-config", "modmenu") } -} \ No newline at end of file +} diff --git a/1.21.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java b/1.21.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java index fa369b5..ccc031f 100644 --- a/1.21.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +++ b/1.21.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java @@ -5,6 +5,8 @@ import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import me.wesley1808.advancedchat.api.AdvancedChatAPI; +import net.kyori.adventure.text.Component; public class FabricCompatHelper implements CompatUtils { @@ -35,4 +37,15 @@ public class FabricCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return !AdvancedChatAPI.isPublicChat(player.toMojangServerPlayer()); + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + net.minecraft.network.chat.Component c = AdvancedChatAPI.getChannelPrefix(player.toMojangServerPlayer()); + return c.getString().isBlank() ? Component.empty() : Component.text(c.getString()); + } } diff --git a/1.21.2/Forge/src/main/resources/craterlib_logo.png b/1.21.2/Forge/src/main/resources/craterlib_logo.png deleted file mode 100644 index ce0159c..0000000 Binary files a/1.21.2/Forge/src/main/resources/craterlib_logo.png and /dev/null differ diff --git a/1.21.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java b/1.21.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java index 268e797..e210dad 100644 --- a/1.21.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ b/1.21.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java @@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; import redstonedubstep.mods.vanishmod.VanishUtil; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; @@ -47,4 +48,14 @@ public class NeoForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.21.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java b/1.21.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java index bc3a2b2..c4532b9 100644 --- a/1.21.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +++ b/1.21.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java @@ -4,6 +4,7 @@ import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.ChatUtils; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.metadata.MetadataValue; @@ -89,4 +90,14 @@ public class PaperCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.21.2/changelog.md b/1.21.2/changelog.md index ef30c2a..8410b27 100644 --- a/1.21.2/changelog.md +++ b/1.21.2/changelog.md @@ -1,13 +1,8 @@ **Bug Fixes**: -- Fixed LuckPerms breaking commands on Paper -- Fix Config watcher using too many threads and not detecting changes on Linux systems +- Fix Adventure Serializer failing completely when serialization fails, causing game glitches **New Features**: -- Added Nojang API to allow mods to access GameRules (SDLink) -- Exposed Adventure JSON serializer to mods - -**Dev Changes**: - -- Bumped MoonConfig - `1.0.10` -> `1.0.12` \ No newline at end of file +- Allow commands to send feedback as chat messages, if command feedback is disabled +- Added Compat API for Advanced Chat \ No newline at end of file diff --git a/1.21.2/gradle.properties b/1.21.2/gradle.properties index 2bc6b9e..83a3eca 100644 --- a/1.21.2/gradle.properties +++ b/1.21.2/gradle.properties @@ -1,8 +1,8 @@ #Project version_major=2 version_minor=1 -version_patch=4 -version_build=2 +version_patch=5 +version_build=0 #Mod mod_author=HypherionSA @@ -39,6 +39,7 @@ vanishmod=1.1.12.1 vanishmod_neo=puxrKAMr ftb_essentials=2101.1.0 ftb_ranks=2101.1.1 +advanced_chat=SNA4dye5 player_revive=5886329 creative_core=5886272 diff --git a/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java b/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java index 015cebe..08675ae 100644 --- a/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java +++ b/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java @@ -2,6 +2,7 @@ package com.hypherionmc.craterlib.core.platform; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.InternalServiceUtil; +import net.kyori.adventure.text.Component; public interface CompatUtils { @@ -12,5 +13,7 @@ public interface CompatUtils { boolean isPlayerBleeding(BridgedPlayer player); boolean playerBledOut(BridgedPlayer player); boolean playerRevived(BridgedPlayer player); + boolean isPrivateMessage(BridgedPlayer player); + Component getChannelPrefix(BridgedPlayer player); } diff --git a/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java b/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java index d10b151..9cdcb33 100644 --- a/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java @@ -8,13 +8,23 @@ import net.minecraft.commands.CommandSourceStack; import java.util.function.Supplier; +import static net.minecraft.world.level.GameRules.RULE_SENDCOMMANDFEEDBACK; + @RequiredArgsConstructor(staticName = "of") public class BridgedCommandSourceStack { private final CommandSourceStack internal; public void sendSuccess(Supplier supplier, boolean bl) { - internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); + } else { + internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + } + } + + public void sendMessage(Component text) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(text)); } public void sendFailure(Component text) { diff --git a/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index 7396010..b2b7c45 100644 --- a/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.21.5/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -36,8 +36,12 @@ public class ChatUtils { } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { - final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); - return adventureSerializer.deserialize(serialised); + try { + final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } } private static HolderLookup.Provider getRegistryLookup() { diff --git a/1.21.5/Fabric/build.gradle b/1.21.5/Fabric/build.gradle index 6bf3914..69e41e3 100644 --- a/1.21.5/Fabric/build.gradle +++ b/1.21.5/Fabric/build.gradle @@ -15,6 +15,7 @@ dependencies { modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" + modImplementation("unimaven.modrinth:advanced-chat:${advanced_chat}") // Do not edit or remove implementation project(":Common") diff --git a/1.21.5/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java b/1.21.5/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java index fa369b5..ccc031f 100644 --- a/1.21.5/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +++ b/1.21.5/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java @@ -5,6 +5,8 @@ import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import me.wesley1808.advancedchat.api.AdvancedChatAPI; +import net.kyori.adventure.text.Component; public class FabricCompatHelper implements CompatUtils { @@ -35,4 +37,15 @@ public class FabricCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return !AdvancedChatAPI.isPublicChat(player.toMojangServerPlayer()); + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + net.minecraft.network.chat.Component c = AdvancedChatAPI.getChannelPrefix(player.toMojangServerPlayer()); + return c.getString().isBlank() ? Component.empty() : Component.text(c.getString()); + } } diff --git a/1.21.5/Forge/build.gradle b/1.21.5/Forge/build.gradle deleted file mode 100644 index 1a198d7..0000000 --- a/1.21.5/Forge/build.gradle +++ /dev/null @@ -1,128 +0,0 @@ -// Adjust the output jar name here -archivesBaseName = "${mod_name.replace(" ", "")}-Forge-${minecraft_version}" - -dependencies { - // Compat - // NOT AVAILABLE ON FORGE modImplementation("maven.modrinth:vanishmod:${vanishmod}") - - modImplementation("me.shedaniel.cloth:cloth-config-forge:${cloth_config}") - modImplementation("unimaven.curseforge:playerrevive-266890:${player_revive}") - modImplementation("unimaven.curseforge:creativecore-257814:${creative_core}") - - // Do not edit or remove - implementation project(":Common") -} - -shadowJar { - from sourceSets.main.output - configurations = [project.configurations.shade] - - dependencies { - exclude(dependency('com.google.code.gson:.*')) - - relocate 'me.hypherionmc.moonconfig', 'shadow.hypherionmc.moonconfig' - relocate 'me.hypherionmc.mcdiscordformatter', 'shadow.hypherionmc.mcdiscordformatter' - relocate 'net.kyori', 'shadow.kyori' - } - - setArchiveClassifier('dev-shadow') - mergeServiceFiles() -} - -/** - * =============================================================================== - * = DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING = - * =============================================================================== - */ - -unimined.minecraft { - minecraftForge { - loader forge_version - mixinConfig("${mod_id}.mixins.json", "${mod_id}.forge.mixins.json") - } -} - -remapJar { - inputFile.set shadowJar.archiveFile - dependsOn shadowJar - archiveClassifier.set null -} - -jar { - archiveClassifier.set "dev" -} - -processResources { - from project(":Common").sourceSets.main.resources - def buildProps = project.properties.clone() - - filesMatching("META-INF/mods.toml") { - expand buildProps - } -} - -compileTestJava.enabled = false - -tasks.withType(JavaCompile).configureEach { - source(project(":Common").sourceSets.main.allSource) -} - -/** - * Publishing Config - */ -publishing { - publications { - mavenJava(MavenPublication) { - artifactId project.archivesBaseName - from components.java - - artifact(remapJar) { - builtBy remapJar - } - - pom.withXml { - Node pomNode = asNode() - pomNode.dependencies.'*'.findAll() { - it.artifactId.text() == 'regutils-joined-fabric' || - it.artifactId.text() == 'core' || - it.artifactId.text() == 'toml' - }.each() { - it.parent().remove(it) - } - } - } - } - - repositories { - maven rootProject.orion.getPublishingMaven() - } -} - -publisher { - apiKeys { - modrinth(System.getenv("MODRINTH_TOKEN")) - curseforge(System.getenv("CURSE_TOKEN")) - nightbloom(System.getenv("PLATFORM_KEY")) - } - - setCurseID(curse_id) - setModrinthID(modrinth_id) - setNightbloomID("craterlib") - setVersionType("release") - setChangelog(rootProject.file("changelog.md")) - setProjectVersion("${minecraft_version}-${project.version}") - setDisplayName("[Forge 1.20.6] CraterLib - ${project.version}") - setGameVersions("1.20.6") - setLoaders("forge") - setArtifact(remapJar) - setCurseEnvironment("both") - setIsManualRelease(true) - - curseDepends { - optional("cloth-config") - } - - modrinthDepends { - optional("cloth-config") - } -} \ No newline at end of file diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/CraterLib.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/CraterLib.java deleted file mode 100644 index 754d986..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/CraterLib.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.hypherionmc.craterlib; - -import com.hypherionmc.craterlib.api.events.client.LateInitEvent; -import com.hypherionmc.craterlib.common.ForgeServerEvents; -import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork; -import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import com.hypherionmc.craterlib.network.CraterForgeNetworkHandler; -import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; -import com.hypherionmc.craterlib.nojang.client.BridgedOptions; -import net.minecraft.client.Minecraft; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.DistExecutor; -import net.minecraftforge.fml.common.Mod; -import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; -import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; -import net.minecraftforge.fml.loading.FMLLoader; - -@Mod(CraterConstants.MOD_ID) -public class CraterLib { - - public CraterLib() { - MinecraftForge.EVENT_BUS.register(new ForgeServerEvents()); - FMLJavaModLoadingContext.get().getModEventBus().addListener(this::commonSetup); - } - - public void commonSetup(FMLCommonSetupEvent evt) { - new CraterPacketNetwork(new CraterForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER)); - DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> { - LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); - CraterEventBus.INSTANCE.postEvent(event); - }); - } -} diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientEvents.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientEvents.java deleted file mode 100644 index cb096d5..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientEvents.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.hypherionmc.craterlib.client; - -import com.hypherionmc.craterlib.CraterConstants; -import com.hypherionmc.craterlib.api.events.client.CraterClientTickEvent; -import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; -import net.minecraft.client.Minecraft; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.event.TickEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; - -@Mod.EventBusSubscriber(modid = CraterConstants.MOD_ID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) -public class ForgeClientEvents { - - @SubscribeEvent - public static void clientTick(TickEvent.LevelTickEvent event) { - if (Minecraft.getInstance().level == null) - return; - - CraterClientTickEvent craterClientTickEvent = new CraterClientTickEvent(BridgedClientLevel.of(Minecraft.getInstance().level)); - CraterEventBus.INSTANCE.postEvent(craterClientTickEvent); - } - -} diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientHelper.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientHelper.java deleted file mode 100644 index 6776622..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientHelper.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.hypherionmc.craterlib.client; - -import com.hypherionmc.craterlib.core.platform.ClientPlatform; -import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; -import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import net.minecraft.client.Minecraft; -import net.minecraft.network.Connection; - -import java.util.Objects; - -/** - * @author HypherionSA - * @date 16/06/2022 - */ -public class ForgeClientHelper implements ClientPlatform { - - public ForgeClientHelper() { - } - - @Override - public BridgedMinecraft getClientInstance() { - return new BridgedMinecraft(); - } - - @Override - public BridgedPlayer getClientPlayer() { - return BridgedPlayer.of(Minecraft.getInstance().player); - } - - @Override - public BridgedClientLevel getClientLevel() { - return BridgedClientLevel.of(Minecraft.getInstance().level); - } - - @Override - public Connection getClientConnection() { - Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); - return Minecraft.getInstance().getConnection().getConnection(); - } -} diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCommonHelper.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCommonHelper.java deleted file mode 100644 index 281ddd7..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCommonHelper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CommonPlatform; -import com.hypherionmc.craterlib.nojang.server.BridgedMinecraftServer; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraftforge.server.ServerLifecycleHooks; - -import java.util.HashMap; -import java.util.Map; - -/** - * @author HypherionSA - */ -public class ForgeCommonHelper implements CommonPlatform { - - public static Map TABS = new HashMap<>(); - - public ForgeCommonHelper() { - } - - @Override - public BridgedMinecraftServer getMCServer() { - return BridgedMinecraftServer.of(ServerLifecycleHooks.getCurrentServer()); - } -} diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java deleted file mode 100644 index 2b19079..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CompatUtils; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import team.creative.playerrevive.api.IBleeding; -import team.creative.playerrevive.server.PlayerReviveServer; - -public class ForgeCompatHelper implements CompatUtils { - - @Override - public boolean isPlayerActive(BridgedPlayer player) { - return true; - } - - @Override - public String getSkinUUID(BridgedPlayer player) { - return player.getStringUUID(); - } - - @Override - public boolean isPlayerBleeding(BridgedPlayer player) { - if (!ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive")) - return false; - - return PlayerReviveServer.isBleeding(player.toMojangServerPlayer()); - } - - @Override - public boolean playerBledOut(BridgedPlayer player) { - if (!ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive")) - return false; - - IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); - return bleeding != null && bleeding.bledOut(); - } - - @Override - public boolean playerRevived(BridgedPlayer player) { - if (!ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive")) - return false; - - IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); - return bleeding != null && bleeding.revived(); - } -} diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeLoaderHelper.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeLoaderHelper.java deleted file mode 100644 index 6f15754..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeLoaderHelper.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.Environment; -import com.hypherionmc.craterlib.core.platform.LoaderType; -import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; -import net.minecraft.SharedConstants; -import net.minecraft.client.Minecraft; -import net.minecraftforge.fml.ModList; -import net.minecraftforge.fml.loading.FMLLoader; -import net.minecraftforge.fml.loading.FMLPaths; - -import java.io.File; - -/** - * @author HypherionSA - */ -public class ForgeLoaderHelper implements ModloaderEnvironment { - - public ForgeLoaderHelper() { - } - - @Override - public boolean isFabric() { - return false; - } - - @Override - public LoaderType getLoaderType() { - return LoaderType.FORGE; - } - - @Override - public String getGameVersion() { - return SharedConstants.VERSION_STRING; - } - - @Override - public File getGameFolder() { - return Minecraft.getInstance().gameDirectory; - } - - @Override - public File getConfigFolder() { - return FMLPaths.CONFIGDIR.get().toFile(); - } - - @Override - public File getModsFolder() { - return FMLPaths.MODSDIR.get().toFile(); - } - - @Override - public Environment getEnvironment() { - switch (FMLLoader.getDist()) { - case CLIENT -> { - return Environment.CLIENT; - } - case DEDICATED_SERVER -> { - return Environment.SERVER; - } - } - return Environment.UNKNOWN; - } - - @Override - public boolean isModLoaded(String modid) { - return ModList.get().isLoaded(modid); - } - - @Override - public boolean isDevEnv() { - return !FMLLoader.isProduction(); - } - - @Override - public int getModCount() { - return ModList.get().size(); - } -} diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeServerEvents.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeServerEvents.java deleted file mode 100644 index f354ddc..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeServerEvents.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.api.events.server.CraterRegisterCommandEvent; -import com.hypherionmc.craterlib.api.events.server.CraterServerLifecycleEvent; -import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.nojang.commands.CommandsRegistry; -import com.hypherionmc.craterlib.nojang.server.BridgedMinecraftServer; -import net.minecraftforge.event.RegisterCommandsEvent; -import net.minecraftforge.event.server.ServerStartedEvent; -import net.minecraftforge.event.server.ServerStartingEvent; -import net.minecraftforge.event.server.ServerStoppedEvent; -import net.minecraftforge.event.server.ServerStoppingEvent; -import net.minecraftforge.eventbus.api.SubscribeEvent; - -public class ForgeServerEvents { - - @SubscribeEvent - public void serverStarting(ServerStartingEvent event) { - CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Starting(BridgedMinecraftServer.of(event.getServer()))); - } - - @SubscribeEvent - public void serverStarted(ServerStartedEvent event) { - CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Started(BridgedMinecraftServer.of(event.getServer()))); - } - - @SubscribeEvent - public void serverStopping(ServerStoppingEvent event) { - CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Stopping(BridgedMinecraftServer.of(event.getServer()))); - } - - @SubscribeEvent - public void serverStopped(ServerStoppedEvent event) { - CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Stopped(BridgedMinecraftServer.of(event.getServer()))); - } - - @SubscribeEvent - public void onCommandRegister(RegisterCommandsEvent event) { - CraterEventBus.INSTANCE.postEvent(new CraterRegisterCommandEvent()); - CommandsRegistry.INSTANCE.registerCommands(event.getDispatcher()); - } - -} diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java deleted file mode 100644 index 4d3b438..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.hypherionmc.craterlib.mixin; - -import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; -import com.hypherionmc.craterlib.core.config.ConfigController; -import com.hypherionmc.craterlib.core.config.ModuleConfig; -import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.screens.Screen; -import net.minecraftforge.client.ConfigScreenHandler; -import net.minecraftforge.forgespi.language.IModInfo; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; - -import java.util.Optional; -import java.util.function.BiFunction; - -/** - * @author HypherionSA - */ -@Mixin(ConfigScreenHandler.class) -public class ConfigScreenHandlerMixin { - - /** - * Inject Auto Generated config Screens into forge - * - */ - @Inject(at = @At("RETURN"), method = "getScreenFactoryFor", cancellable = true, remap = false) - private static void injectConfigScreen(IModInfo selectedMod, CallbackInfoReturnable>> cir) { - ConfigController.getMonitoredConfigs().forEach((conf, config) -> { - if (config.getClass().isAnnotationPresent(NoConfigScreen.class)) - return; - - if (config.getClass().isAnnotationPresent(ClothScreen.class) && (ModloaderEnvironment.INSTANCE.isModLoaded("cloth_config") || ModloaderEnvironment.INSTANCE.isModLoaded("cloth-config") || ModloaderEnvironment.INSTANCE.isModLoaded("clothconfig"))) { - ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> ClothConfigScreenBuilder.buildConfigScreen(config, screen)))); - } else { - //ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); - } - }); - } - -} diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java deleted file mode 100644 index 012b6ff..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.hypherionmc.craterlib.mixin; - -import com.hypherionmc.craterlib.api.events.server.CraterServerChatEvent; -import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import com.hypherionmc.craterlib.utils.ChatUtils; -import net.minecraft.network.chat.Component; -import net.minecraft.network.chat.PlayerChatMessage; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.FilteredText; -import net.minecraft.server.network.ServerGamePacketListenerImpl; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(value = ServerGamePacketListenerImpl.class, priority = Integer.MIN_VALUE) -public class ServerGamePacketListenerImplMixin { - - @Shadow - public ServerPlayer player; - - @Inject( - method = "lambda$handleChat$5", - at = @At("HEAD"), - cancellable = true - ) - private void injectChatEvent(Component component, PlayerChatMessage arg, FilteredText p_296589_, CallbackInfo ci) { - Component finalcomp = component == null ? arg.decoratedContent() : component; - CraterServerChatEvent event = new CraterServerChatEvent(BridgedPlayer.of(this.player), finalcomp.getString(), ChatUtils.mojangToAdventure(finalcomp)); - CraterEventBus.INSTANCE.postEvent(event); - if (event.wasCancelled()) - ci.cancel(); - } - -} diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java deleted file mode 100644 index cb697db..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.hypherionmc.craterlib.mixin; - -import com.hypherionmc.craterlib.api.events.server.ServerStatusEvent; -import com.hypherionmc.craterlib.core.event.CraterEventBus; -import com.hypherionmc.craterlib.utils.ChatUtils; -import net.minecraft.network.Connection; -import net.minecraft.network.protocol.status.ClientboundStatusResponsePacket; -import net.minecraft.network.protocol.status.ServerStatus; -import net.minecraft.network.protocol.status.ServerboundStatusRequestPacket; -import net.minecraft.server.network.ServerStatusPacketListenerImpl; -import org.spongepowered.asm.mixin.Final; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(ServerStatusPacketListenerImpl.class) -public class ServerStatusPacketListenerMixin { - - @Shadow - @Final - private ServerStatus status; - - @Shadow @Final private Connection connection; - - @Inject(method = "handleStatusRequest", - at = @At( - value = "INVOKE", - target = "Lnet/minecraft/network/Connection;send(Lnet/minecraft/network/protocol/Packet;)V", - shift = At.Shift.BEFORE), - cancellable = true - ) - private void injectHandleStatusRequest(ServerboundStatusRequestPacket arg, CallbackInfo ci) { - ServerStatusEvent.StatusRequestEvent event = new ServerStatusEvent.StatusRequestEvent(ChatUtils.mojangToAdventure(status.description())); - CraterEventBus.INSTANCE.postEvent(event); - - if (event.getNewStatus() != null) { - ci.cancel(); - this.connection.send(new ClientboundStatusResponsePacket( - new ServerStatus(ChatUtils.adventureToMojang( - event.getNewStatus()), - status.players(), - status.version(), - status.favicon(), - status.enforcesSecureChat(), - status.isModded() - ) - )); - } - } - -} \ No newline at end of file diff --git a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/network/CraterForgeNetworkHandler.java b/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/network/CraterForgeNetworkHandler.java deleted file mode 100644 index cc14988..0000000 --- a/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/network/CraterForgeNetworkHandler.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.hypherionmc.craterlib.network; - -import com.hypherionmc.craterlib.CraterConstants; -import com.hypherionmc.craterlib.core.networking.PacketRegistry; -import com.hypherionmc.craterlib.core.networking.data.PacketContext; -import com.hypherionmc.craterlib.core.networking.data.PacketHolder; -import com.hypherionmc.craterlib.core.networking.data.PacketSide; -import com.hypherionmc.craterlib.nojang.network.BridgedFriendlyByteBuf; -import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import net.minecraft.client.Minecraft; -import net.minecraft.network.Connection; -import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.server.network.ServerGamePacketListenerImpl; -import net.minecraftforge.event.network.CustomPayloadEvent; -import net.minecraftforge.network.ChannelBuilder; -import net.minecraftforge.network.PacketDistributor; -import net.minecraftforge.network.SimpleChannel; - -import java.util.HashMap; -import java.util.Map; -import java.util.function.BiConsumer; -import java.util.function.Consumer; -import java.util.function.Function; - -/** - * Based on https://github.com/mysticdrew/common-networking/tree/1.20.4 - */ -public class CraterForgeNetworkHandler extends PacketRegistry { - private final Map, SimpleChannel> CHANNELS = new HashMap<>(); - - public CraterForgeNetworkHandler(PacketSide side) { - super(side); - } - - protected void registerPacket(PacketHolder holder) { - if (CHANNELS.get(holder.messageType()) == null) { - SimpleChannel channel = ChannelBuilder - .named(holder.type().id()) - .clientAcceptedVersions((a, b) -> true) - .serverAcceptedVersions((a, b) -> true) - .networkProtocolVersion(1) - .simpleChannel(); - - channel.messageBuilder(holder.messageType()) - .decoder(mojangDecoder(holder.decoder())) - .encoder(mojangEncoder(holder.encoder())) - .consumerNetworkThread(buildHandler(holder.handler())) - .add(); - - CHANNELS.put(holder.messageType(), channel); - } else { - CraterConstants.LOG.error("Trying to register duplicate packet for type {}", holder.messageType()); - } - } - - public void sendToServer(T packet) { - this.sendToServer(packet, false); - } - - public void sendToServer(T packet, boolean ignoreCheck) { - SimpleChannel channel = CHANNELS.get(packet.getClass()); - Connection connection = Minecraft.getInstance().getConnection().getConnection(); - if (channel.isRemotePresent(connection) || ignoreCheck) { - channel.send(packet, PacketDistributor.SERVER.noArg()); - } - } - - public void sendToClient(T packet, BridgedPlayer player) { - SimpleChannel channel = CHANNELS.get(packet.getClass()); - ServerGamePacketListenerImpl connection = player.getConnection(); - if (connection == null) - return; - - if (channel.isRemotePresent(connection.getConnection())) { - channel.send(packet, PacketDistributor.PLAYER.with(player.toMojangServerPlayer())); - } - } - - private Function mojangDecoder(Function handler) { - return byteBuf -> handler.apply(BridgedFriendlyByteBuf.of(byteBuf)); - } - - private BiConsumer mojangEncoder(BiConsumer handler) { - return ((t, byteBuf) -> handler.accept(t, BridgedFriendlyByteBuf.of(byteBuf))); - } - - private BiConsumer buildHandler(Consumer> handler) { - return (message, ctx) -> { - ctx.enqueueWork(() -> { - PacketSide side = ctx.getDirection().getReceptionSide().isServer() ? PacketSide.SERVER : PacketSide.CLIENT; - ServerPlayer player = ctx.getSender(); - handler.accept(new PacketContext<>(BridgedPlayer.of(player), message, side)); - }); - ctx.setPacketHandled(true); - }; - } -} \ No newline at end of file diff --git a/1.21.5/Forge/src/main/resources/META-INF/mods.toml b/1.21.5/Forge/src/main/resources/META-INF/mods.toml deleted file mode 100644 index c2c7608..0000000 --- a/1.21.5/Forge/src/main/resources/META-INF/mods.toml +++ /dev/null @@ -1,31 +0,0 @@ -modLoader = "javafml" -loaderVersion = "[50,)" -license = "MIT" -issueTrackerURL = "https://github.com/firstdarkdev/craterLib/issues" - -[[mods]] - modId = "${mod_id}" - version = "${version}" - displayName = "${mod_name}" - displayURL = "https://modrinth.com/mod/craterlib" - logoFile = "craterlib_logo.png" - #credits="Thanks for this example mod goes to Java" - authors = "${mod_author}, Zenith" - description = ''' - A library mod used by First Dark Development and HypherionSA Mods - ''' - displayTest = "NONE" - -[[dependencies.${ mod_id }]] - modId = "forge" - mandatory = true - versionRange = "[50,)" - ordering = "NONE" - side = "BOTH" - -[[dependencies.${ mod_id }]] - modId = "minecraft" - mandatory = true - versionRange = "[1.20.6,1.21)" - ordering = "NONE" - side = "BOTH" diff --git a/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform b/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform deleted file mode 100644 index a12ad8c..0000000 --- a/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform +++ /dev/null @@ -1 +0,0 @@ -com.hypherionmc.craterlib.client.ForgeClientHelper \ No newline at end of file diff --git a/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform b/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform deleted file mode 100644 index 09e119f..0000000 --- a/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform +++ /dev/null @@ -1 +0,0 @@ -com.hypherionmc.craterlib.common.ForgeCommonHelper \ No newline at end of file diff --git a/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils b/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils deleted file mode 100644 index a9f823d..0000000 --- a/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils +++ /dev/null @@ -1 +0,0 @@ -com.hypherionmc.craterlib.common.ForgeCompatHelper \ No newline at end of file diff --git a/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment b/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment deleted file mode 100644 index 02b4e07..0000000 --- a/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment +++ /dev/null @@ -1 +0,0 @@ -com.hypherionmc.craterlib.common.ForgeLoaderHelper \ No newline at end of file diff --git a/1.21.5/Forge/src/main/resources/craterlib.forge.mixins.json b/1.21.5/Forge/src/main/resources/craterlib.forge.mixins.json deleted file mode 100644 index 892f6d7..0000000 --- a/1.21.5/Forge/src/main/resources/craterlib.forge.mixins.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "required": true, - "minVersion": "0.8", - "package": "com.hypherionmc.craterlib.mixin", - "compatibilityLevel": "JAVA_17", - "mixins": [ - ], - "client": [ - "ConfigScreenHandlerMixin" - ], - "server": [ - "ServerGamePacketListenerImplMixin", - "ServerStatusPacketListenerMixin" - ], - "injectors": { - "defaultRequire": 1 - } -} diff --git a/1.21.5/Forge/src/main/resources/craterlib_logo.png b/1.21.5/Forge/src/main/resources/craterlib_logo.png deleted file mode 100644 index ce0159c..0000000 Binary files a/1.21.5/Forge/src/main/resources/craterlib_logo.png and /dev/null differ diff --git a/1.21.5/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java b/1.21.5/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java index 268e797..e210dad 100644 --- a/1.21.5/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ b/1.21.5/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java @@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; import redstonedubstep.mods.vanishmod.VanishUtil; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; @@ -47,4 +48,14 @@ public class NeoForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.21.5/Paper/build.gradle b/1.21.5/Paper/build.gradle index 28fac94..fd3ac42 100644 --- a/1.21.5/Paper/build.gradle +++ b/1.21.5/Paper/build.gradle @@ -1,5 +1,5 @@ plugins { - id "io.papermc.paperweight.userdev" version "1.7.3" + id "io.papermc.paperweight.userdev" version "1.7.7" id "xyz.jpenilla.run-paper" version "2.3.0" } diff --git a/1.21.5/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java b/1.21.5/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java index bc3a2b2..d2d84da 100644 --- a/1.21.5/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +++ b/1.21.5/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java @@ -89,4 +89,14 @@ public class PaperCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.21.5/changelog.md b/1.21.5/changelog.md index ef30c2a..8410b27 100644 --- a/1.21.5/changelog.md +++ b/1.21.5/changelog.md @@ -1,13 +1,8 @@ **Bug Fixes**: -- Fixed LuckPerms breaking commands on Paper -- Fix Config watcher using too many threads and not detecting changes on Linux systems +- Fix Adventure Serializer failing completely when serialization fails, causing game glitches **New Features**: -- Added Nojang API to allow mods to access GameRules (SDLink) -- Exposed Adventure JSON serializer to mods - -**Dev Changes**: - -- Bumped MoonConfig - `1.0.10` -> `1.0.12` \ No newline at end of file +- Allow commands to send feedback as chat messages, if command feedback is disabled +- Added Compat API for Advanced Chat \ No newline at end of file diff --git a/1.21.5/gradle.properties b/1.21.5/gradle.properties index 4edf8f5..988f57c 100644 --- a/1.21.5/gradle.properties +++ b/1.21.5/gradle.properties @@ -1,8 +1,8 @@ #Project version_major=2 version_minor=1 -version_patch=4 -version_build=2 +version_patch=5 +version_build=0 #Mod mod_author=HypherionSA @@ -41,6 +41,7 @@ ftb_essentials=2101.1.0 ftb_ranks=2101.1.1 player_revive=6119534 creative_core=6113754 +advanced_chat=CEJSc93h # Publishing curse_id=867099 diff --git a/1.21.5/settings.gradle b/1.21.5/settings.gradle index 90bd73d..ea8f597 100644 --- a/1.21.5/settings.gradle +++ b/1.21.5/settings.gradle @@ -15,5 +15,4 @@ pluginManagement { rootProject.name = 'CraterLib' include("Common", "Fabric", "NeoForge") -//include 'Paper' - +//include 'Paper' \ No newline at end of file diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java index 015cebe..08675ae 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/core/platform/CompatUtils.java @@ -2,6 +2,7 @@ package com.hypherionmc.craterlib.core.platform; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.InternalServiceUtil; +import net.kyori.adventure.text.Component; public interface CompatUtils { @@ -12,5 +13,7 @@ public interface CompatUtils { boolean isPlayerBleeding(BridgedPlayer player); boolean playerBledOut(BridgedPlayer player); boolean playerRevived(BridgedPlayer player); + boolean isPrivateMessage(BridgedPlayer player); + Component getChannelPrefix(BridgedPlayer player); } diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java index d10b151..9cdcb33 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java @@ -8,13 +8,23 @@ import net.minecraft.commands.CommandSourceStack; import java.util.function.Supplier; +import static net.minecraft.world.level.GameRules.RULE_SENDCOMMANDFEEDBACK; + @RequiredArgsConstructor(staticName = "of") public class BridgedCommandSourceStack { private final CommandSourceStack internal; public void sendSuccess(Supplier supplier, boolean bl) { - internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); + } else { + internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); + } + } + + public void sendMessage(Component text) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(text)); } public void sendFailure(Component text) { diff --git a/1.21/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java b/1.21/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java index 7396010..b2b7c45 100644 --- a/1.21/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java +++ b/1.21/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java @@ -36,8 +36,12 @@ public class ChatUtils { } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { - final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); - return adventureSerializer.deserialize(serialised); + try { + final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } } private static HolderLookup.Provider getRegistryLookup() { diff --git a/1.21/Fabric/build.gradle b/1.21/Fabric/build.gradle index 37b2908..24fd014 100644 --- a/1.21/Fabric/build.gradle +++ b/1.21/Fabric/build.gradle @@ -15,6 +15,7 @@ dependencies { modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" + modImplementation("unimaven.modrinth:advanced-chat:${advanced_chat}") // Do not edit or remove implementation project(":Common") diff --git a/1.21/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java b/1.21/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java index fa369b5..ccc031f 100644 --- a/1.21/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +++ b/1.21/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java @@ -5,6 +5,8 @@ import com.hypherionmc.craterlib.compat.Vanish; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import me.wesley1808.advancedchat.api.AdvancedChatAPI; +import net.kyori.adventure.text.Component; public class FabricCompatHelper implements CompatUtils { @@ -35,4 +37,15 @@ public class FabricCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return !AdvancedChatAPI.isPublicChat(player.toMojangServerPlayer()); + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + net.minecraft.network.chat.Component c = AdvancedChatAPI.getChannelPrefix(player.toMojangServerPlayer()); + return c.getString().isBlank() ? Component.empty() : Component.text(c.getString()); + } } diff --git a/1.21/Forge/src/main/resources/craterlib_logo.png b/1.21/Forge/src/main/resources/craterlib_logo.png deleted file mode 100644 index ce0159c..0000000 Binary files a/1.21/Forge/src/main/resources/craterlib_logo.png and /dev/null differ diff --git a/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java b/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java index 268e797..e210dad 100644 --- a/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ b/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java @@ -3,6 +3,7 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +import net.kyori.adventure.text.Component; import redstonedubstep.mods.vanishmod.VanishUtil; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; @@ -47,4 +48,14 @@ public class NeoForgeCompatHelper implements CompatUtils { IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); return bleeding != null && bleeding.revived(); } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.21/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java b/1.21/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java index bc3a2b2..c4532b9 100644 --- a/1.21/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +++ b/1.21/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java @@ -4,6 +4,7 @@ import com.hypherionmc.craterlib.core.platform.CompatUtils; import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.ChatUtils; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.metadata.MetadataValue; @@ -89,4 +90,14 @@ public class PaperCompatHelper implements CompatUtils { public boolean playerRevived(BridgedPlayer player) { return false; } + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { + return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { + return Component.empty(); + } } diff --git a/1.21/changelog.md b/1.21/changelog.md index ef30c2a..8410b27 100644 --- a/1.21/changelog.md +++ b/1.21/changelog.md @@ -1,13 +1,8 @@ **Bug Fixes**: -- Fixed LuckPerms breaking commands on Paper -- Fix Config watcher using too many threads and not detecting changes on Linux systems +- Fix Adventure Serializer failing completely when serialization fails, causing game glitches **New Features**: -- Added Nojang API to allow mods to access GameRules (SDLink) -- Exposed Adventure JSON serializer to mods - -**Dev Changes**: - -- Bumped MoonConfig - `1.0.10` -> `1.0.12` \ No newline at end of file +- Allow commands to send feedback as chat messages, if command feedback is disabled +- Added Compat API for Advanced Chat \ No newline at end of file diff --git a/1.21/gradle.properties b/1.21/gradle.properties index 13252f2..7128b5d 100644 --- a/1.21/gradle.properties +++ b/1.21/gradle.properties @@ -1,8 +1,8 @@ #Project version_major=2 version_minor=1 -version_patch=4 -version_build=2 +version_patch=5 +version_build=0 #Mod mod_author=HypherionSA @@ -39,6 +39,7 @@ vanishmod=1.1.12.1 vanishmod_neo=puxrKAMr ftb_essentials=2101.1.0 ftb_ranks=2101.1.1 +advanced_chat=5ddOPqgR player_revive=6130248 creative_core=6109912 diff --git a/commit.sha b/commit.sha index 470bcde..a5ca09f 100644 --- a/commit.sha +++ b/commit.sha @@ -1 +1 @@ -fbcf545119efb04acdc43fda3d169185e37a9c4b \ No newline at end of file +8bb17f3c4c5f95ff348437d622e37c547148528d \ No newline at end of file diff --git a/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch b/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch index a08f1d4..76b29c3 100644 --- a/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch +++ b/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch @@ -7,16 +7,29 @@ import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; import com.hypherionmc.craterlib.utils.ChatUtils; import lombok.RequiredArgsConstructor; -@@ -14,7 +15,7 @@ - private final CommandSourceStack internal; +@@ -17,14 +18,18 @@ public void sendSuccess(Supplier supplier, boolean bl) { -- internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); -+ internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { +- internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); ++ try { ++ internal.getPlayerOrException().displayClientMessage(ChatUtils.adventureToMojang(supplier.get()), false); ++ } catch (Exception ignored) {} + } else { +- internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); ++ internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); + } + } + + public void sendMessage(Component text) { +- internal.sendSystemMessage(ChatUtils.adventureToMojang(text)); ++ try { ++ internal.getPlayerOrException().displayClientMessage(ChatUtils.adventureToMojang(text), false); ++ } catch (Exception ignored) {} } public void sendFailure(Component text) { -@@ -22,11 +23,22 @@ +@@ -32,11 +37,22 @@ } public boolean isPlayer() { diff --git a/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 2331f58..d0babae 100644 --- a/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.18.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -8,7 +8,7 @@ import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; import lombok.Getter; import me.hypherionmc.mcdiscordformatter.discord.DiscordSerializer; -@@ -13,51 +11,36 @@ +@@ -13,55 +11,40 @@ import net.minecraft.ChatFormatting; import net.minecraft.SharedConstants; import net.minecraft.Util; @@ -39,9 +39,13 @@ } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); -+ final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + try { +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); ++ final String serialised = Component.Serializer.toJson(inComponent); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } } - private static HolderLookup.Provider getRegistryLookup() { @@ -66,7 +70,7 @@ } public static String strip(String inString, String... toStrip) { -@@ -86,7 +69,7 @@ +@@ -90,7 +73,7 @@ } public static net.kyori.adventure.text.Component resolve(String component, boolean formatted) { @@ -75,7 +79,7 @@ if (formatted) { returnVal = MinecraftSerializer.INSTANCE.serialize(component); } -@@ -114,7 +97,7 @@ +@@ -118,7 +101,7 @@ if (identifier == null) return net.kyori.adventure.text.Component.text("Unknown"); diff --git a/patches/1.18.2/Fabric/build.gradle.patch b/patches/1.18.2/Fabric/build.gradle.patch index 25f5ee6..c1488c5 100644 --- a/patches/1.18.2/Fabric/build.gradle.patch +++ b/patches/1.18.2/Fabric/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Fabric/build.gradle +++ b/Fabric/build.gradle -@@ -9,9 +9,6 @@ +@@ -9,13 +9,9 @@ exclude(group: "net.fabricmc.fabric-api") } @@ -10,7 +10,11 @@ modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" -@@ -117,8 +114,8 @@ +- modImplementation("unimaven.modrinth:advanced-chat:${advanced_chat}") + + // Do not edit or remove + implementation project(":Common") +@@ -118,8 +114,8 @@ setVersionType("release") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.18.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java.patch b/patches/1.18.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java.patch new file mode 100644 index 0000000..b8b466c --- /dev/null +++ b/patches/1.18.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java.patch @@ -0,0 +1,25 @@ +--- a/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java ++++ b/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +@@ -5,7 +5,6 @@ + import com.hypherionmc.craterlib.core.platform.CompatUtils; + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +-import me.wesley1808.advancedchat.api.AdvancedChatAPI; + import net.kyori.adventure.text.Component; + + public class FabricCompatHelper implements CompatUtils { +@@ -40,12 +39,11 @@ + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { +- return !AdvancedChatAPI.isPublicChat(player.toMojangServerPlayer()); ++ return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { +- net.minecraft.network.chat.Component c = AdvancedChatAPI.getChannelPrefix(player.toMojangServerPlayer()); +- return c.getString().isBlank() ? Component.empty() : Component.text(c.getString()); ++ return Component.empty(); + } + } diff --git a/patches/1.18.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch b/patches/1.18.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch index f0b2eec..f6bf788 100644 --- a/patches/1.18.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch +++ b/patches/1.18.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch @@ -1,11 +1,12 @@ --- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java -@@ -1,15 +1,20 @@ +@@ -1,15 +1,21 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; ++import net.kyori.adventure.text.Component; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; +import redstonedubstep.mods.vanishmod.VanishUtil; diff --git a/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch b/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch index 93153d5..7eb98b8 100644 --- a/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch +++ b/patches/1.18.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch @@ -1,6 +1,6 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ /dev/null -@@ -1,50 +1,0 @@ +@@ -1,60 +1,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CompatUtils; @@ -50,4 +50,14 @@ - IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); - return bleeding != null && bleeding.revived(); - } +- +- @Override +- public boolean isPrivateMessage(BridgedPlayer player) { +- return false; +- } +- +- @Override +- public Component getChannelPrefix(BridgedPlayer player) { +- return Component.empty(); +- } -} diff --git a/patches/1.18.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch b/patches/1.18.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch index a5e12b3..de03b43 100644 --- a/patches/1.18.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch +++ b/patches/1.18.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch @@ -1,6 +1,6 @@ --- a/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +++ /dev/null -@@ -1,92 +1,0 @@ +@@ -1,102 +1,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CompatUtils; @@ -92,4 +92,14 @@ - public boolean playerRevived(BridgedPlayer player) { - return false; - } +- +- @Override +- public boolean isPrivateMessage(BridgedPlayer player) { +- return false; +- } +- +- @Override +- public Component getChannelPrefix(BridgedPlayer player) { +- return Component.empty(); +- } -} diff --git a/patches/1.18.2/gradle.properties.patch b/patches/1.18.2/gradle.properties.patch index 6b06dad..2266acc 100644 --- a/patches/1.18.2/gradle.properties.patch +++ b/patches/1.18.2/gradle.properties.patch @@ -23,7 +23,7 @@ # Dependencies moon_config=1.0.12 -@@ -29,23 +26,22 @@ +@@ -29,24 +26,23 @@ adventure=4.17.0 rpc_sdk=1.0 discord_formatter=2.0.0 @@ -40,6 +40,7 @@ -ftb_ranks=2101.1.1 -player_revive=6119534 -creative_core=6113754 + advanced_chat=SNA4dye5 +player_revive=5335413 +creative_core=5335387 +ftb_ranks=1802.1.11-build.71 diff --git a/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch b/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch index 6d95646..b018809 100644 --- a/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch +++ b/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch @@ -1,11 +1,11 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java -@@ -14,7 +14,7 @@ - private final CommandSourceStack internal; - - public void sendSuccess(Supplier supplier, boolean bl) { -- internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); -+ internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); +@@ -19,7 +19,7 @@ + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); + } else { +- internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); ++ internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); + } } - public void sendFailure(Component text) { diff --git a/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 57fd310..13e2baf 100644 --- a/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.19.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -20,7 +20,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; -@@ -25,31 +18,19 @@ +@@ -25,35 +18,23 @@ @Getter private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( @@ -37,9 +37,13 @@ } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + try { +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } - } - - private static HolderLookup.Provider getRegistryLookup() { diff --git a/patches/1.19.2/Fabric/build.gradle.patch b/patches/1.19.2/Fabric/build.gradle.patch index 2d2d715..95a30e3 100644 --- a/patches/1.19.2/Fabric/build.gradle.patch +++ b/patches/1.19.2/Fabric/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Fabric/build.gradle +++ b/Fabric/build.gradle -@@ -11,7 +11,6 @@ +@@ -11,11 +11,9 @@ stupidRemapArch("dev.ftb.mods:ftb-essentials:${ftb_essentials}") stupidRemapArch("dev.ftb.mods:ftb-ranks:${ftb_ranks}") @@ -8,7 +8,11 @@ modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" -@@ -117,8 +116,8 @@ +- modImplementation("unimaven.modrinth:advanced-chat:${advanced_chat}") + + // Do not edit or remove + implementation project(":Common") +@@ -118,8 +116,8 @@ setVersionType("release") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.19.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java.patch b/patches/1.19.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java.patch new file mode 100644 index 0000000..b8b466c --- /dev/null +++ b/patches/1.19.2/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java.patch @@ -0,0 +1,25 @@ +--- a/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java ++++ b/Fabric/src/main/java/com/hypherionmc/craterlib/common/FabricCompatHelper.java +@@ -5,7 +5,6 @@ + import com.hypherionmc.craterlib.core.platform.CompatUtils; + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +-import me.wesley1808.advancedchat.api.AdvancedChatAPI; + import net.kyori.adventure.text.Component; + + public class FabricCompatHelper implements CompatUtils { +@@ -40,12 +39,11 @@ + + @Override + public boolean isPrivateMessage(BridgedPlayer player) { +- return !AdvancedChatAPI.isPublicChat(player.toMojangServerPlayer()); ++ return false; + } + + @Override + public Component getChannelPrefix(BridgedPlayer player) { +- net.minecraft.network.chat.Component c = AdvancedChatAPI.getChannelPrefix(player.toMojangServerPlayer()); +- return c.getString().isBlank() ? Component.empty() : Component.text(c.getString()); ++ return Component.empty(); + } + } diff --git a/patches/1.19.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch b/patches/1.19.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch index f0b2eec..f6bf788 100644 --- a/patches/1.19.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch +++ b/patches/1.19.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch @@ -1,11 +1,12 @@ --- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java -@@ -1,15 +1,20 @@ +@@ -1,15 +1,21 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; ++import net.kyori.adventure.text.Component; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; +import redstonedubstep.mods.vanishmod.VanishUtil; diff --git a/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch b/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch index 93153d5..7eb98b8 100644 --- a/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch +++ b/patches/1.19.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch @@ -1,6 +1,6 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ /dev/null -@@ -1,50 +1,0 @@ +@@ -1,60 +1,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CompatUtils; @@ -50,4 +50,14 @@ - IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); - return bleeding != null && bleeding.revived(); - } +- +- @Override +- public boolean isPrivateMessage(BridgedPlayer player) { +- return false; +- } +- +- @Override +- public Component getChannelPrefix(BridgedPlayer player) { +- return Component.empty(); +- } -} diff --git a/patches/1.19.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch b/patches/1.19.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch index a5e12b3..de03b43 100644 --- a/patches/1.19.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch +++ b/patches/1.19.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch @@ -1,6 +1,6 @@ --- a/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +++ /dev/null -@@ -1,92 +1,0 @@ +@@ -1,102 +1,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CompatUtils; @@ -92,4 +92,14 @@ - public boolean playerRevived(BridgedPlayer player) { - return false; - } +- +- @Override +- public boolean isPrivateMessage(BridgedPlayer player) { +- return false; +- } +- +- @Override +- public Component getChannelPrefix(BridgedPlayer player) { +- return Component.empty(); +- } -} diff --git a/patches/1.19.2/gradle.properties.patch b/patches/1.19.2/gradle.properties.patch index 36ae89c..50b77d4 100644 --- a/patches/1.19.2/gradle.properties.patch +++ b/patches/1.19.2/gradle.properties.patch @@ -23,7 +23,7 @@ # Dependencies moon_config=1.0.12 -@@ -29,23 +26,22 @@ +@@ -29,24 +26,23 @@ adventure=4.17.0 rpc_sdk=1.0 discord_formatter=2.0.0 @@ -40,6 +40,7 @@ -ftb_ranks=2101.1.1 -player_revive=6119534 -creative_core=6113754 + advanced_chat=SNA4dye5 +player_revive=5491953 +creative_core=5491926 +ftb_ranks=1902.1.16-build.114 diff --git a/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch b/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch index 6d95646..b018809 100644 --- a/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch +++ b/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java.patch @@ -1,11 +1,11 @@ --- a/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java +++ b/Common/src/main/java/com/hypherionmc/craterlib/nojang/commands/BridgedCommandSourceStack.java -@@ -14,7 +14,7 @@ - private final CommandSourceStack internal; - - public void sendSuccess(Supplier supplier, boolean bl) { -- internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); -+ internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); +@@ -19,7 +19,7 @@ + if (!internal.getServer().getGameRules().getBoolean(RULE_SENDCOMMANDFEEDBACK)) { + internal.sendSystemMessage(ChatUtils.adventureToMojang(supplier.get())); + } else { +- internal.sendSuccess(() -> ChatUtils.adventureToMojang(supplier.get()), bl); ++ internal.sendSuccess(ChatUtils.adventureToMojang(supplier.get()), bl); + } } - public void sendFailure(Component text) { diff --git a/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 3300529..57d675a 100644 --- a/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.19.3/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -8,7 +8,7 @@ import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; import lombok.Getter; -@@ -10,46 +10,29 @@ +@@ -10,50 +10,33 @@ import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; import net.kyori.adventure.text.serializer.json.JSONOptions; @@ -42,9 +42,13 @@ } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + try { +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } - } - - private static HolderLookup.Provider getRegistryLookup() { diff --git a/patches/1.19.3/Fabric/build.gradle.patch b/patches/1.19.3/Fabric/build.gradle.patch index fb995b1..dbfb0bb 100644 --- a/patches/1.19.3/Fabric/build.gradle.patch +++ b/patches/1.19.3/Fabric/build.gradle.patch @@ -8,7 +8,7 @@ modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" -@@ -117,8 +116,8 @@ +@@ -118,8 +117,8 @@ setVersionType("release") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.19.3/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch b/patches/1.19.3/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch index f0b2eec..f6bf788 100644 --- a/patches/1.19.3/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch +++ b/patches/1.19.3/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch @@ -1,11 +1,12 @@ --- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java -@@ -1,15 +1,20 @@ +@@ -1,15 +1,21 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; ++import net.kyori.adventure.text.Component; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; +import redstonedubstep.mods.vanishmod.VanishUtil; diff --git a/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch b/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch index 93153d5..7eb98b8 100644 --- a/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch +++ b/patches/1.19.3/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch @@ -1,6 +1,6 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ /dev/null -@@ -1,50 +1,0 @@ +@@ -1,60 +1,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CompatUtils; @@ -50,4 +50,14 @@ - IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); - return bleeding != null && bleeding.revived(); - } +- +- @Override +- public boolean isPrivateMessage(BridgedPlayer player) { +- return false; +- } +- +- @Override +- public Component getChannelPrefix(BridgedPlayer player) { +- return Component.empty(); +- } -} diff --git a/patches/1.19.3/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch b/patches/1.19.3/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch new file mode 100644 index 0000000..d65db6b --- /dev/null +++ b/patches/1.19.3/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch @@ -0,0 +1,10 @@ +--- a/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java ++++ b/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +@@ -4,6 +4,7 @@ + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; + import com.hypherionmc.craterlib.utils.ChatUtils; ++import net.kyori.adventure.text.Component; + import org.bukkit.Bukkit; + import org.bukkit.entity.Player; + import org.bukkit.metadata.MetadataValue; diff --git a/patches/1.19.3/gradle.properties.patch b/patches/1.19.3/gradle.properties.patch index 635d5b9..7e51edf 100644 --- a/patches/1.19.3/gradle.properties.patch +++ b/patches/1.19.3/gradle.properties.patch @@ -23,7 +23,7 @@ # Dependencies moon_config=1.0.12 -@@ -29,23 +26,22 @@ +@@ -29,24 +26,23 @@ adventure=4.17.0 rpc_sdk=1.0 discord_formatter=2.0.0 @@ -40,6 +40,8 @@ -ftb_ranks=2101.1.1 -player_revive=6119534 -creative_core=6113754 +-advanced_chat=SNA4dye5 ++advanced_chat=RN7kRIrY +player_revive=4353422 +creative_core=4407520 +ftb_ranks=1904.1.1-build.82 diff --git a/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 3300529..57d675a 100644 --- a/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.20.2/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -8,7 +8,7 @@ import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; import lombok.Getter; -@@ -10,46 +10,29 @@ +@@ -10,50 +10,33 @@ import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; import net.kyori.adventure.text.serializer.json.JSONOptions; @@ -42,9 +42,13 @@ } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + try { +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } - } - - private static HolderLookup.Provider getRegistryLookup() { diff --git a/patches/1.20.2/Fabric/build.gradle.patch b/patches/1.20.2/Fabric/build.gradle.patch index 21a9972..d9a017a 100644 --- a/patches/1.20.2/Fabric/build.gradle.patch +++ b/patches/1.20.2/Fabric/build.gradle.patch @@ -8,7 +8,7 @@ modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" -@@ -117,8 +116,8 @@ +@@ -118,8 +117,8 @@ setVersionType("release") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.20.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch b/patches/1.20.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch index f0b2eec..f6bf788 100644 --- a/patches/1.20.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch +++ b/patches/1.20.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch @@ -1,11 +1,12 @@ --- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java -@@ -1,15 +1,20 @@ +@@ -1,15 +1,21 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; ++import net.kyori.adventure.text.Component; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; +import redstonedubstep.mods.vanishmod.VanishUtil; diff --git a/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch b/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch index 93153d5..7eb98b8 100644 --- a/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch +++ b/patches/1.20.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch @@ -1,6 +1,6 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ /dev/null -@@ -1,50 +1,0 @@ +@@ -1,60 +1,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CompatUtils; @@ -50,4 +50,14 @@ - IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); - return bleeding != null && bleeding.revived(); - } +- +- @Override +- public boolean isPrivateMessage(BridgedPlayer player) { +- return false; +- } +- +- @Override +- public Component getChannelPrefix(BridgedPlayer player) { +- return Component.empty(); +- } -} diff --git a/patches/1.20.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch b/patches/1.20.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch new file mode 100644 index 0000000..d65db6b --- /dev/null +++ b/patches/1.20.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch @@ -0,0 +1,10 @@ +--- a/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java ++++ b/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +@@ -4,6 +4,7 @@ + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; + import com.hypherionmc.craterlib.utils.ChatUtils; ++import net.kyori.adventure.text.Component; + import org.bukkit.Bukkit; + import org.bukkit.entity.Player; + import org.bukkit.metadata.MetadataValue; diff --git a/patches/1.20.2/gradle.properties.patch b/patches/1.20.2/gradle.properties.patch index 0a57992..45ba9fc 100644 --- a/patches/1.20.2/gradle.properties.patch +++ b/patches/1.20.2/gradle.properties.patch @@ -23,7 +23,7 @@ # Dependencies moon_config=1.0.12 -@@ -29,23 +26,22 @@ +@@ -29,24 +26,23 @@ adventure=4.17.0 rpc_sdk=1.0 discord_formatter=2.0.0 @@ -40,6 +40,8 @@ -ftb_ranks=2101.1.1 -player_revive=6119534 -creative_core=6113754 +-advanced_chat=SNA4dye5 ++advanced_chat=bLHDrebO +player_revive=4785938 +creative_core=4796447 +ftb_ranks=2001.1.3 diff --git a/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 57fd310..13e2baf 100644 --- a/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.20.4/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -20,7 +20,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Style; -@@ -25,31 +18,19 @@ +@@ -25,35 +18,23 @@ @Getter private static final GsonComponentSerializer adventureSerializer = GsonComponentSerializer.builder().options( @@ -37,9 +37,13 @@ } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + try { +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } - } - - private static HolderLookup.Provider getRegistryLookup() { diff --git a/patches/1.20.4/Fabric/build.gradle.patch b/patches/1.20.4/Fabric/build.gradle.patch index 33485c3..e91e562 100644 --- a/patches/1.20.4/Fabric/build.gradle.patch +++ b/patches/1.20.4/Fabric/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Fabric/build.gradle +++ b/Fabric/build.gradle -@@ -117,8 +117,8 @@ +@@ -118,8 +118,8 @@ setVersionType("release") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.20.4/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch b/patches/1.20.4/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch index d756777..b2ee953 100644 --- a/patches/1.20.4/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch +++ b/patches/1.20.4/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch @@ -1,6 +1,6 @@ --- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java -@@ -1,15 +1,18 @@ +@@ -1,15 +1,19 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; @@ -8,6 +8,7 @@ import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; -import team.creative.playerrevive.api.IBleeding; -import team.creative.playerrevive.server.PlayerReviveServer; ++import net.kyori.adventure.text.Component; +import redstonedubstep.mods.vanishmod.VanishUtil; public class ForgeCompatHelper implements CompatUtils { @@ -22,7 +23,7 @@ } @Override -@@ -19,27 +22,16 @@ +@@ -19,28 +23,17 @@ @Override public boolean isPlayerBleeding(BridgedPlayer player) { @@ -52,4 +53,5 @@ - return bleeding != null && bleeding.revived(); + return false; } - } + + @Override diff --git a/patches/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch b/patches/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch new file mode 100644 index 0000000..cc8cde4 --- /dev/null +++ b/patches/1.20.4/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch @@ -0,0 +1,10 @@ +--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java ++++ b/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +@@ -3,6 +3,7 @@ + import com.hypherionmc.craterlib.core.platform.CompatUtils; + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; ++import net.kyori.adventure.text.Component; + import redstonedubstep.mods.vanishmod.VanishUtil; + import team.creative.playerrevive.api.IBleeding; + import team.creative.playerrevive.server.PlayerReviveServer; diff --git a/patches/1.20.4/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch b/patches/1.20.4/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch new file mode 100644 index 0000000..d65db6b --- /dev/null +++ b/patches/1.20.4/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch @@ -0,0 +1,10 @@ +--- a/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java ++++ b/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +@@ -4,6 +4,7 @@ + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; + import com.hypherionmc.craterlib.utils.ChatUtils; ++import net.kyori.adventure.text.Component; + import org.bukkit.Bukkit; + import org.bukkit.entity.Player; + import org.bukkit.metadata.MetadataValue; diff --git a/patches/1.20.4/gradle.properties.patch b/patches/1.20.4/gradle.properties.patch index 11e6a1b..4d6a643 100644 --- a/patches/1.20.4/gradle.properties.patch +++ b/patches/1.20.4/gradle.properties.patch @@ -24,7 +24,7 @@ # Dependencies moon_config=1.0.12 -@@ -29,23 +29,23 @@ +@@ -29,24 +29,24 @@ adventure=4.17.0 rpc_sdk=1.0 discord_formatter=2.0.0 @@ -44,6 +44,8 @@ -ftb_ranks=2101.1.1 -player_revive=6119534 -creative_core=6113754 +-advanced_chat=SNA4dye5 ++advanced_chat=tBkISdKZ +player_revive=5019850 +creative_core=5140174 +ftb_ranks=2004.2.0 diff --git a/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch b/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch index 3300529..57d675a 100644 --- a/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch +++ b/patches/1.20/Common/src/main/java/com/hypherionmc/craterlib/utils/ChatUtils.java.patch @@ -8,7 +8,7 @@ import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.resources.ResourceIdentifier; import lombok.Getter; -@@ -10,46 +10,29 @@ +@@ -10,50 +10,33 @@ import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; import net.kyori.adventure.text.serializer.json.JSONOptions; @@ -42,9 +42,13 @@ } public static net.kyori.adventure.text.Component mojangToAdventure(Component inComponent) { -- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + try { +- final String serialised = Component.Serializer.toJson(inComponent, getRegistryLookup()); + final String serialised = Component.Serializer.toJson(inComponent); - return adventureSerializer.deserialize(serialised); + return adventureSerializer.deserialize(serialised); + } catch (Exception e) { + return net.kyori.adventure.text.Component.text(inComponent.getString()); + } - } - - private static HolderLookup.Provider getRegistryLookup() { diff --git a/patches/1.20/Fabric/build.gradle.patch b/patches/1.20/Fabric/build.gradle.patch index 87a8de6..05b36d2 100644 --- a/patches/1.20/Fabric/build.gradle.patch +++ b/patches/1.20/Fabric/build.gradle.patch @@ -8,7 +8,7 @@ modImplementation("me.shedaniel.cloth:cloth-config-fabric:${cloth_config}") modImplementation "maven.modrinth:fabrictailor:${fabrictailor}" modImplementation "maven.modrinth:vanish:${vanish}" -@@ -117,8 +116,8 @@ +@@ -118,8 +117,8 @@ setVersionType("release") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.20/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch b/patches/1.20/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch index f0b2eec..f6bf788 100644 --- a/patches/1.20/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch +++ b/patches/1.20/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch @@ -1,11 +1,12 @@ --- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ b/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java -@@ -1,15 +1,20 @@ +@@ -1,15 +1,21 @@ package com.hypherionmc.craterlib.common; import com.hypherionmc.craterlib.core.platform.CompatUtils; +import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; ++import net.kyori.adventure.text.Component; import team.creative.playerrevive.api.IBleeding; import team.creative.playerrevive.server.PlayerReviveServer; +import redstonedubstep.mods.vanishmod.VanishUtil; diff --git a/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch b/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch index 93153d5..7eb98b8 100644 --- a/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch +++ b/patches/1.20/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch @@ -1,6 +1,6 @@ --- a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +++ /dev/null -@@ -1,50 +1,0 @@ +@@ -1,60 +1,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CompatUtils; @@ -50,4 +50,14 @@ - IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); - return bleeding != null && bleeding.revived(); - } +- +- @Override +- public boolean isPrivateMessage(BridgedPlayer player) { +- return false; +- } +- +- @Override +- public Component getChannelPrefix(BridgedPlayer player) { +- return Component.empty(); +- } -} diff --git a/patches/1.20/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch b/patches/1.20/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch new file mode 100644 index 0000000..d65db6b --- /dev/null +++ b/patches/1.20/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch @@ -0,0 +1,10 @@ +--- a/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java ++++ b/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +@@ -4,6 +4,7 @@ + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; + import com.hypherionmc.craterlib.utils.ChatUtils; ++import net.kyori.adventure.text.Component; + import org.bukkit.Bukkit; + import org.bukkit.entity.Player; + import org.bukkit.metadata.MetadataValue; diff --git a/patches/1.20/changelog.md.patch b/patches/1.20/changelog.md.patch index 7868f2f..dc6f400 100644 --- a/patches/1.20/changelog.md.patch +++ b/patches/1.20/changelog.md.patch @@ -1,9 +1,9 @@ --- a/changelog.md +++ b/changelog.md -@@ -2,6 +2,7 @@ +@@ -1,6 +1,7 @@ + **Bug Fixes**: - - Fixed LuckPerms breaking commands on Paper - - Fix Config watcher using too many threads and not detecting changes on Linux systems + - Fix Adventure Serializer failing completely when serialization fails, causing game glitches +- Fixed crash when trying to open config screens on NeoForge **New Features**: diff --git a/patches/1.20/gradle.properties.patch b/patches/1.20/gradle.properties.patch index e299eb5..a636f1e 100644 --- a/patches/1.20/gradle.properties.patch +++ b/patches/1.20/gradle.properties.patch @@ -23,7 +23,7 @@ # Dependencies moon_config=1.0.12 -@@ -29,23 +26,22 @@ +@@ -29,24 +26,23 @@ adventure=4.17.0 rpc_sdk=1.0 discord_formatter=2.0.0 @@ -40,6 +40,8 @@ -ftb_ranks=2101.1.1 -player_revive=6119534 -creative_core=6113754 +-advanced_chat=SNA4dye5 ++advanced_chat=Unjr2LZL +player_revive=4798215 +creative_core=4798202 +ftb_ranks=2001.1.3 diff --git a/patches/1.21.2/Fabric/build.gradle.patch b/patches/1.21.2/Fabric/build.gradle.patch index 4bfc411..ec2fa08 100644 --- a/patches/1.21.2/Fabric/build.gradle.patch +++ b/patches/1.21.2/Fabric/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Fabric/build.gradle +++ b/Fabric/build.gradle -@@ -117,8 +117,8 @@ +@@ -118,8 +118,8 @@ setVersionType("release") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.21.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch b/patches/1.21.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch index 513b8d1..3cfd705 100644 --- a/patches/1.21.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch +++ b/patches/1.21.2/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch @@ -1,6 +1,6 @@ --- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ /dev/null -@@ -1,45 +1,0 @@ +@@ -1,55 +1,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CompatUtils; @@ -45,4 +45,14 @@ - IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); - return bleeding != null && bleeding.revived(); - } +- +- @Override +- public boolean isPrivateMessage(BridgedPlayer player) { +- return false; +- } +- +- @Override +- public Component getChannelPrefix(BridgedPlayer player) { +- return Component.empty(); +- } -} diff --git a/patches/1.21.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch b/patches/1.21.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch new file mode 100644 index 0000000..cc8cde4 --- /dev/null +++ b/patches/1.21.2/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch @@ -0,0 +1,10 @@ +--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java ++++ b/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +@@ -3,6 +3,7 @@ + import com.hypherionmc.craterlib.core.platform.CompatUtils; + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; ++import net.kyori.adventure.text.Component; + import redstonedubstep.mods.vanishmod.VanishUtil; + import team.creative.playerrevive.api.IBleeding; + import team.creative.playerrevive.server.PlayerReviveServer; diff --git a/patches/1.21.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch b/patches/1.21.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch new file mode 100644 index 0000000..d65db6b --- /dev/null +++ b/patches/1.21.2/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch @@ -0,0 +1,10 @@ +--- a/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java ++++ b/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +@@ -4,6 +4,7 @@ + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; + import com.hypherionmc.craterlib.utils.ChatUtils; ++import net.kyori.adventure.text.Component; + import org.bukkit.Bukkit; + import org.bukkit.entity.Player; + import org.bukkit.metadata.MetadataValue; diff --git a/patches/1.21.2/gradle.properties.patch b/patches/1.21.2/gradle.properties.patch index 84ec5fd..c391cb9 100644 --- a/patches/1.21.2/gradle.properties.patch +++ b/patches/1.21.2/gradle.properties.patch @@ -23,12 +23,13 @@ # Dependencies moon_config=1.0.12 -@@ -39,13 +39,13 @@ +@@ -39,14 +39,14 @@ vanishmod_neo=puxrKAMr ftb_essentials=2101.1.0 ftb_ranks=2101.1.1 -player_revive=6119534 -creative_core=6113754 + advanced_chat=SNA4dye5 +player_revive=5886329 +creative_core=5886272 diff --git a/patches/1.21.5/Fabric/build.gradle.patch b/patches/1.21.5/Fabric/build.gradle.patch index cd6416e..166c87c 100644 --- a/patches/1.21.5/Fabric/build.gradle.patch +++ b/patches/1.21.5/Fabric/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Fabric/build.gradle +++ b/Fabric/build.gradle -@@ -117,8 +117,8 @@ +@@ -118,8 +118,8 @@ setVersionType("release") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.21.5/Forge/build.gradle.patch b/patches/1.21.5/Forge/build.gradle.patch new file mode 100644 index 0000000..c395825 --- /dev/null +++ b/patches/1.21.5/Forge/build.gradle.patch @@ -0,0 +1,131 @@ +--- a/Forge/build.gradle ++++ /dev/null +@@ -1,128 +1,0 @@ +-// Adjust the output jar name here +-archivesBaseName = "${mod_name.replace(" ", "")}-Forge-${minecraft_version}" +- +-dependencies { +- // Compat +- // NOT AVAILABLE ON FORGE modImplementation("maven.modrinth:vanishmod:${vanishmod}") +- +- modImplementation("me.shedaniel.cloth:cloth-config-forge:${cloth_config}") +- modImplementation("unimaven.curseforge:playerrevive-266890:${player_revive}") +- modImplementation("unimaven.curseforge:creativecore-257814:${creative_core}") +- +- // Do not edit or remove +- implementation project(":Common") +-} +- +-shadowJar { +- from sourceSets.main.output +- configurations = [project.configurations.shade] +- +- dependencies { +- exclude(dependency('com.google.code.gson:.*')) +- +- relocate 'me.hypherionmc.moonconfig', 'shadow.hypherionmc.moonconfig' +- relocate 'me.hypherionmc.mcdiscordformatter', 'shadow.hypherionmc.mcdiscordformatter' +- relocate 'net.kyori', 'shadow.kyori' +- } +- +- setArchiveClassifier('dev-shadow') +- mergeServiceFiles() +-} +- +-/** +- * =============================================================================== +- * = DO NOT EDIT BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING = +- * =============================================================================== +- */ +- +-unimined.minecraft { +- minecraftForge { +- loader forge_version +- mixinConfig("${mod_id}.mixins.json", "${mod_id}.forge.mixins.json") +- } +-} +- +-remapJar { +- inputFile.set shadowJar.archiveFile +- dependsOn shadowJar +- archiveClassifier.set null +-} +- +-jar { +- archiveClassifier.set "dev" +-} +- +-processResources { +- from project(":Common").sourceSets.main.resources +- def buildProps = project.properties.clone() +- +- filesMatching("META-INF/mods.toml") { +- expand buildProps +- } +-} +- +-compileTestJava.enabled = false +- +-tasks.withType(JavaCompile).configureEach { +- source(project(":Common").sourceSets.main.allSource) +-} +- +-/** +- * Publishing Config +- */ +-publishing { +- publications { +- mavenJava(MavenPublication) { +- artifactId project.archivesBaseName +- from components.java +- +- artifact(remapJar) { +- builtBy remapJar +- } +- +- pom.withXml { +- Node pomNode = asNode() +- pomNode.dependencies.'*'.findAll() { +- it.artifactId.text() == 'regutils-joined-fabric' || +- it.artifactId.text() == 'core' || +- it.artifactId.text() == 'toml' +- }.each() { +- it.parent().remove(it) +- } +- } +- } +- } +- +- repositories { +- maven rootProject.orion.getPublishingMaven() +- } +-} +- +-publisher { +- apiKeys { +- modrinth(System.getenv("MODRINTH_TOKEN")) +- curseforge(System.getenv("CURSE_TOKEN")) +- nightbloom(System.getenv("PLATFORM_KEY")) +- } +- +- setCurseID(curse_id) +- setModrinthID(modrinth_id) +- setNightbloomID("craterlib") +- setVersionType("release") +- setChangelog(rootProject.file("changelog.md")) +- setProjectVersion("${minecraft_version}-${project.version}") +- setDisplayName("[Forge 1.20.6] CraterLib - ${project.version}") +- setGameVersions("1.20.6") +- setLoaders("forge") +- setArtifact(remapJar) +- setCurseEnvironment("both") +- setIsManualRelease(true) +- +- curseDepends { +- optional("cloth-config") +- } +- +- modrinthDepends { +- optional("cloth-config") +- } +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch new file mode 100644 index 0000000..5811ef4 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/CraterLib.java.patch @@ -0,0 +1,39 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/CraterLib.java ++++ /dev/null +@@ -1,36 +1,0 @@ +-package com.hypherionmc.craterlib; +- +-import com.hypherionmc.craterlib.api.events.client.LateInitEvent; +-import com.hypherionmc.craterlib.common.ForgeServerEvents; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; +-import com.hypherionmc.craterlib.core.networking.CraterPacketNetwork; +-import com.hypherionmc.craterlib.core.networking.data.PacketSide; +-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; +-import com.hypherionmc.craterlib.network.CraterForgeNetworkHandler; +-import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; +-import com.hypherionmc.craterlib.nojang.client.BridgedOptions; +-import net.minecraft.client.Minecraft; +-import net.minecraftforge.api.distmarker.Dist; +-import net.minecraftforge.common.MinecraftForge; +-import net.minecraftforge.fml.DistExecutor; +-import net.minecraftforge.fml.common.Mod; +-import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; +-import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +-import net.minecraftforge.fml.loading.FMLLoader; +- +-@Mod(CraterConstants.MOD_ID) +-public class CraterLib { +- +- public CraterLib() { +- MinecraftForge.EVENT_BUS.register(new ForgeServerEvents()); +- FMLJavaModLoadingContext.get().getModEventBus().addListener(this::commonSetup); +- } +- +- public void commonSetup(FMLCommonSetupEvent evt) { +- new CraterPacketNetwork(new CraterForgeNetworkHandler(FMLLoader.getDist().isClient() ? PacketSide.CLIENT : PacketSide.SERVER)); +- DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> () -> { +- LateInitEvent event = new LateInitEvent(new BridgedMinecraft(), BridgedOptions.of(Minecraft.getInstance().options)); +- CraterEventBus.INSTANCE.postEvent(event); +- }); +- } +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientEvents.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientEvents.java.patch new file mode 100644 index 0000000..d22373c --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientEvents.java.patch @@ -0,0 +1,28 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientEvents.java ++++ /dev/null +@@ -1,25 +1,0 @@ +-package com.hypherionmc.craterlib.client; +- +-import com.hypherionmc.craterlib.CraterConstants; +-import com.hypherionmc.craterlib.api.events.client.CraterClientTickEvent; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; +-import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; +-import net.minecraft.client.Minecraft; +-import net.minecraftforge.api.distmarker.Dist; +-import net.minecraftforge.event.TickEvent; +-import net.minecraftforge.eventbus.api.SubscribeEvent; +-import net.minecraftforge.fml.common.Mod; +- +-@Mod.EventBusSubscriber(modid = CraterConstants.MOD_ID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) +-public class ForgeClientEvents { +- +- @SubscribeEvent +- public static void clientTick(TickEvent.LevelTickEvent event) { +- if (Minecraft.getInstance().level == null) +- return; +- +- CraterClientTickEvent craterClientTickEvent = new CraterClientTickEvent(BridgedClientLevel.of(Minecraft.getInstance().level)); +- CraterEventBus.INSTANCE.postEvent(craterClientTickEvent); +- } +- +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientHelper.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientHelper.java.patch new file mode 100644 index 0000000..9aa0d76 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientHelper.java.patch @@ -0,0 +1,44 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/client/ForgeClientHelper.java ++++ /dev/null +@@ -1,41 +1,0 @@ +-package com.hypherionmc.craterlib.client; +- +-import com.hypherionmc.craterlib.core.platform.ClientPlatform; +-import com.hypherionmc.craterlib.nojang.client.BridgedMinecraft; +-import com.hypherionmc.craterlib.nojang.client.multiplayer.BridgedClientLevel; +-import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +-import net.minecraft.client.Minecraft; +-import net.minecraft.network.Connection; +- +-import java.util.Objects; +- +-/** +- * @author HypherionSA +- * @date 16/06/2022 +- */ +-public class ForgeClientHelper implements ClientPlatform { +- +- public ForgeClientHelper() { +- } +- +- @Override +- public BridgedMinecraft getClientInstance() { +- return new BridgedMinecraft(); +- } +- +- @Override +- public BridgedPlayer getClientPlayer() { +- return BridgedPlayer.of(Minecraft.getInstance().player); +- } +- +- @Override +- public BridgedClientLevel getClientLevel() { +- return BridgedClientLevel.of(Minecraft.getInstance().level); +- } +- +- @Override +- public Connection getClientConnection() { +- Objects.requireNonNull(Minecraft.getInstance().getConnection(), "Cannot send packets when not in game!"); +- return Minecraft.getInstance().getConnection().getConnection(); +- } +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCommonHelper.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCommonHelper.java.patch new file mode 100644 index 0000000..2a298e0 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCommonHelper.java.patch @@ -0,0 +1,29 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCommonHelper.java ++++ /dev/null +@@ -1,26 +1,0 @@ +-package com.hypherionmc.craterlib.common; +- +-import com.hypherionmc.craterlib.core.platform.CommonPlatform; +-import com.hypherionmc.craterlib.nojang.server.BridgedMinecraftServer; +-import net.minecraft.resources.ResourceLocation; +-import net.minecraft.world.item.CreativeModeTab; +-import net.minecraftforge.server.ServerLifecycleHooks; +- +-import java.util.HashMap; +-import java.util.Map; +- +-/** +- * @author HypherionSA +- */ +-public class ForgeCommonHelper implements CommonPlatform { +- +- public static Map TABS = new HashMap<>(); +- +- public ForgeCommonHelper() { +- } +- +- @Override +- public BridgedMinecraftServer getMCServer() { +- return BridgedMinecraftServer.of(ServerLifecycleHooks.getCurrentServer()); +- } +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch new file mode 100644 index 0000000..3cfd705 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch @@ -0,0 +1,58 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java ++++ /dev/null +@@ -1,55 +1,0 @@ +-package com.hypherionmc.craterlib.common; +- +-import com.hypherionmc.craterlib.core.platform.CompatUtils; +-import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +-import team.creative.playerrevive.api.IBleeding; +-import team.creative.playerrevive.server.PlayerReviveServer; +- +-public class ForgeCompatHelper implements CompatUtils { +- +- @Override +- public boolean isPlayerActive(BridgedPlayer player) { +- return true; +- } +- +- @Override +- public String getSkinUUID(BridgedPlayer player) { +- return player.getStringUUID(); +- } +- +- @Override +- public boolean isPlayerBleeding(BridgedPlayer player) { +- if (!ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive")) +- return false; +- +- return PlayerReviveServer.isBleeding(player.toMojangServerPlayer()); +- } +- +- @Override +- public boolean playerBledOut(BridgedPlayer player) { +- if (!ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive")) +- return false; +- +- IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); +- return bleeding != null && bleeding.bledOut(); +- } +- +- @Override +- public boolean playerRevived(BridgedPlayer player) { +- if (!ModloaderEnvironment.INSTANCE.isModLoaded("playerrevive")) +- return false; +- +- IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); +- return bleeding != null && bleeding.revived(); +- } +- +- @Override +- public boolean isPrivateMessage(BridgedPlayer player) { +- return false; +- } +- +- @Override +- public Component getChannelPrefix(BridgedPlayer player) { +- return Component.empty(); +- } +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeLoaderHelper.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeLoaderHelper.java.patch new file mode 100644 index 0000000..1c600ed --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeLoaderHelper.java.patch @@ -0,0 +1,82 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeLoaderHelper.java ++++ /dev/null +@@ -1,79 +1,0 @@ +-package com.hypherionmc.craterlib.common; +- +-import com.hypherionmc.craterlib.core.platform.Environment; +-import com.hypherionmc.craterlib.core.platform.LoaderType; +-import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; +-import net.minecraft.SharedConstants; +-import net.minecraft.client.Minecraft; +-import net.minecraftforge.fml.ModList; +-import net.minecraftforge.fml.loading.FMLLoader; +-import net.minecraftforge.fml.loading.FMLPaths; +- +-import java.io.File; +- +-/** +- * @author HypherionSA +- */ +-public class ForgeLoaderHelper implements ModloaderEnvironment { +- +- public ForgeLoaderHelper() { +- } +- +- @Override +- public boolean isFabric() { +- return false; +- } +- +- @Override +- public LoaderType getLoaderType() { +- return LoaderType.FORGE; +- } +- +- @Override +- public String getGameVersion() { +- return SharedConstants.VERSION_STRING; +- } +- +- @Override +- public File getGameFolder() { +- return Minecraft.getInstance().gameDirectory; +- } +- +- @Override +- public File getConfigFolder() { +- return FMLPaths.CONFIGDIR.get().toFile(); +- } +- +- @Override +- public File getModsFolder() { +- return FMLPaths.MODSDIR.get().toFile(); +- } +- +- @Override +- public Environment getEnvironment() { +- switch (FMLLoader.getDist()) { +- case CLIENT -> { +- return Environment.CLIENT; +- } +- case DEDICATED_SERVER -> { +- return Environment.SERVER; +- } +- } +- return Environment.UNKNOWN; +- } +- +- @Override +- public boolean isModLoaded(String modid) { +- return ModList.get().isLoaded(modid); +- } +- +- @Override +- public boolean isDevEnv() { +- return !FMLLoader.isProduction(); +- } +- +- @Override +- public int getModCount() { +- return ModList.get().size(); +- } +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeServerEvents.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeServerEvents.java.patch new file mode 100644 index 0000000..6344341 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeServerEvents.java.patch @@ -0,0 +1,46 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeServerEvents.java ++++ /dev/null +@@ -1,43 +1,0 @@ +-package com.hypherionmc.craterlib.common; +- +-import com.hypherionmc.craterlib.api.events.server.CraterRegisterCommandEvent; +-import com.hypherionmc.craterlib.api.events.server.CraterServerLifecycleEvent; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; +-import com.hypherionmc.craterlib.nojang.commands.CommandsRegistry; +-import com.hypherionmc.craterlib.nojang.server.BridgedMinecraftServer; +-import net.minecraftforge.event.RegisterCommandsEvent; +-import net.minecraftforge.event.server.ServerStartedEvent; +-import net.minecraftforge.event.server.ServerStartingEvent; +-import net.minecraftforge.event.server.ServerStoppedEvent; +-import net.minecraftforge.event.server.ServerStoppingEvent; +-import net.minecraftforge.eventbus.api.SubscribeEvent; +- +-public class ForgeServerEvents { +- +- @SubscribeEvent +- public void serverStarting(ServerStartingEvent event) { +- CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Starting(BridgedMinecraftServer.of(event.getServer()))); +- } +- +- @SubscribeEvent +- public void serverStarted(ServerStartedEvent event) { +- CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Started(BridgedMinecraftServer.of(event.getServer()))); +- } +- +- @SubscribeEvent +- public void serverStopping(ServerStoppingEvent event) { +- CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Stopping(BridgedMinecraftServer.of(event.getServer()))); +- } +- +- @SubscribeEvent +- public void serverStopped(ServerStoppedEvent event) { +- CraterEventBus.INSTANCE.postEvent(new CraterServerLifecycleEvent.Stopped(BridgedMinecraftServer.of(event.getServer()))); +- } +- +- @SubscribeEvent +- public void onCommandRegister(RegisterCommandsEvent event) { +- CraterEventBus.INSTANCE.postEvent(new CraterRegisterCommandEvent()); +- CommandsRegistry.INSTANCE.registerCommands(event.getDispatcher()); +- } +- +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java.patch new file mode 100644 index 0000000..3d29684 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java.patch @@ -0,0 +1,46 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ConfigScreenHandlerMixin.java ++++ /dev/null +@@ -1,43 +1,0 @@ +-package com.hypherionmc.craterlib.mixin; +- +-import com.hypherionmc.craterlib.client.gui.config.CraterConfigScreen; +-import com.hypherionmc.craterlib.core.config.ConfigController; +-import com.hypherionmc.craterlib.core.config.ModuleConfig; +-import com.hypherionmc.craterlib.core.config.annotations.NoConfigScreen; +-import net.minecraft.client.Minecraft; +-import net.minecraft.client.gui.screens.Screen; +-import net.minecraftforge.client.ConfigScreenHandler; +-import net.minecraftforge.forgespi.language.IModInfo; +-import org.spongepowered.asm.mixin.Mixin; +-import org.spongepowered.asm.mixin.injection.At; +-import org.spongepowered.asm.mixin.injection.Inject; +-import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; +- +-import java.util.Optional; +-import java.util.function.BiFunction; +- +-/** +- * @author HypherionSA +- */ +-@Mixin(ConfigScreenHandler.class) +-public class ConfigScreenHandlerMixin { +- +- /** +- * Inject Auto Generated config Screens into forge +- * +- */ +- @Inject(at = @At("RETURN"), method = "getScreenFactoryFor", cancellable = true, remap = false) +- private static void injectConfigScreen(IModInfo selectedMod, CallbackInfoReturnable>> cir) { +- ConfigController.getMonitoredConfigs().forEach((conf, config) -> { +- if (config.getClass().isAnnotationPresent(NoConfigScreen.class)) +- return; +- +- if (config.getClass().isAnnotationPresent(ClothScreen.class) && (ModloaderEnvironment.INSTANCE.isModLoaded("cloth_config") || ModloaderEnvironment.INSTANCE.isModLoaded("cloth-config") || ModloaderEnvironment.INSTANCE.isModLoaded("clothconfig"))) { +- ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> ClothConfigScreenBuilder.buildConfigScreen(config, screen)))); +- } else { +- //ModList.get().getModContainerById(config.getModId()).ifPresent(c -> c.registerExtensionPoint(IConfigScreenFactory.class, ((minecraft, screen) -> new CraterConfigScreen(config, screen)))); +- } +- }); +- } +- +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java.patch new file mode 100644 index 0000000..837e55e --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java.patch @@ -0,0 +1,40 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerGamePacketListenerImplMixin.java ++++ /dev/null +@@ -1,37 +1,0 @@ +-package com.hypherionmc.craterlib.mixin; +- +-import com.hypherionmc.craterlib.api.events.server.CraterServerChatEvent; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; +-import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +-import com.hypherionmc.craterlib.utils.ChatUtils; +-import net.minecraft.network.chat.Component; +-import net.minecraft.network.chat.PlayerChatMessage; +-import net.minecraft.server.level.ServerPlayer; +-import net.minecraft.server.network.FilteredText; +-import net.minecraft.server.network.ServerGamePacketListenerImpl; +-import org.spongepowered.asm.mixin.Mixin; +-import org.spongepowered.asm.mixin.Shadow; +-import org.spongepowered.asm.mixin.injection.At; +-import org.spongepowered.asm.mixin.injection.Inject; +-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +- +-@Mixin(value = ServerGamePacketListenerImpl.class, priority = Integer.MIN_VALUE) +-public class ServerGamePacketListenerImplMixin { +- +- @Shadow +- public ServerPlayer player; +- +- @Inject( +- method = "lambda$handleChat$5", +- at = @At("HEAD"), +- cancellable = true +- ) +- private void injectChatEvent(Component component, PlayerChatMessage arg, FilteredText p_296589_, CallbackInfo ci) { +- Component finalcomp = component == null ? arg.decoratedContent() : component; +- CraterServerChatEvent event = new CraterServerChatEvent(BridgedPlayer.of(this.player), finalcomp.getString(), ChatUtils.mojangToAdventure(finalcomp)); +- CraterEventBus.INSTANCE.postEvent(event); +- if (event.wasCancelled()) +- ci.cancel(); +- } +- +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java.patch new file mode 100644 index 0000000..e22d953 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java.patch @@ -0,0 +1,56 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/mixin/ServerStatusPacketListenerMixin.java ++++ /dev/null +@@ -1,53 +1,0 @@ +-package com.hypherionmc.craterlib.mixin; +- +-import com.hypherionmc.craterlib.api.events.server.ServerStatusEvent; +-import com.hypherionmc.craterlib.core.event.CraterEventBus; +-import com.hypherionmc.craterlib.utils.ChatUtils; +-import net.minecraft.network.Connection; +-import net.minecraft.network.protocol.status.ClientboundStatusResponsePacket; +-import net.minecraft.network.protocol.status.ServerStatus; +-import net.minecraft.network.protocol.status.ServerboundStatusRequestPacket; +-import net.minecraft.server.network.ServerStatusPacketListenerImpl; +-import org.spongepowered.asm.mixin.Final; +-import org.spongepowered.asm.mixin.Mixin; +-import org.spongepowered.asm.mixin.Shadow; +-import org.spongepowered.asm.mixin.injection.At; +-import org.spongepowered.asm.mixin.injection.Inject; +-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +- +-@Mixin(ServerStatusPacketListenerImpl.class) +-public class ServerStatusPacketListenerMixin { +- +- @Shadow +- @Final +- private ServerStatus status; +- +- @Shadow @Final private Connection connection; +- +- @Inject(method = "handleStatusRequest", +- at = @At( +- value = "INVOKE", +- target = "Lnet/minecraft/network/Connection;send(Lnet/minecraft/network/protocol/Packet;)V", +- shift = At.Shift.BEFORE), +- cancellable = true +- ) +- private void injectHandleStatusRequest(ServerboundStatusRequestPacket arg, CallbackInfo ci) { +- ServerStatusEvent.StatusRequestEvent event = new ServerStatusEvent.StatusRequestEvent(ChatUtils.mojangToAdventure(status.description())); +- CraterEventBus.INSTANCE.postEvent(event); +- +- if (event.getNewStatus() != null) { +- ci.cancel(); +- this.connection.send(new ClientboundStatusResponsePacket( +- new ServerStatus(ChatUtils.adventureToMojang( +- event.getNewStatus()), +- status.players(), +- status.version(), +- status.favicon(), +- status.enforcesSecureChat(), +- status.isModded() +- ) +- )); +- } +- } +- +-} diff --git a/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/network/CraterForgeNetworkHandler.java.patch b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/network/CraterForgeNetworkHandler.java.patch new file mode 100644 index 0000000..ccbb5cd --- /dev/null +++ b/patches/1.21.5/Forge/src/main/java/com/hypherionmc/craterlib/network/CraterForgeNetworkHandler.java.patch @@ -0,0 +1,101 @@ +--- a/Forge/src/main/java/com/hypherionmc/craterlib/network/CraterForgeNetworkHandler.java ++++ /dev/null +@@ -1,98 +1,0 @@ +-package com.hypherionmc.craterlib.network; +- +-import com.hypherionmc.craterlib.CraterConstants; +-import com.hypherionmc.craterlib.core.networking.PacketRegistry; +-import com.hypherionmc.craterlib.core.networking.data.PacketContext; +-import com.hypherionmc.craterlib.core.networking.data.PacketHolder; +-import com.hypherionmc.craterlib.core.networking.data.PacketSide; +-import com.hypherionmc.craterlib.nojang.network.BridgedFriendlyByteBuf; +-import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; +-import net.minecraft.client.Minecraft; +-import net.minecraft.network.Connection; +-import net.minecraft.network.FriendlyByteBuf; +-import net.minecraft.server.level.ServerPlayer; +-import net.minecraft.server.network.ServerGamePacketListenerImpl; +-import net.minecraftforge.event.network.CustomPayloadEvent; +-import net.minecraftforge.network.ChannelBuilder; +-import net.minecraftforge.network.PacketDistributor; +-import net.minecraftforge.network.SimpleChannel; +- +-import java.util.HashMap; +-import java.util.Map; +-import java.util.function.BiConsumer; +-import java.util.function.Consumer; +-import java.util.function.Function; +- +-/** +- * Based on https://github.com/mysticdrew/common-networking/tree/1.20.4 +- */ +-public class CraterForgeNetworkHandler extends PacketRegistry { +- private final Map, SimpleChannel> CHANNELS = new HashMap<>(); +- +- public CraterForgeNetworkHandler(PacketSide side) { +- super(side); +- } +- +- protected void registerPacket(PacketHolder holder) { +- if (CHANNELS.get(holder.messageType()) == null) { +- SimpleChannel channel = ChannelBuilder +- .named(holder.type().id()) +- .clientAcceptedVersions((a, b) -> true) +- .serverAcceptedVersions((a, b) -> true) +- .networkProtocolVersion(1) +- .simpleChannel(); +- +- channel.messageBuilder(holder.messageType()) +- .decoder(mojangDecoder(holder.decoder())) +- .encoder(mojangEncoder(holder.encoder())) +- .consumerNetworkThread(buildHandler(holder.handler())) +- .add(); +- +- CHANNELS.put(holder.messageType(), channel); +- } else { +- CraterConstants.LOG.error("Trying to register duplicate packet for type {}", holder.messageType()); +- } +- } +- +- public void sendToServer(T packet) { +- this.sendToServer(packet, false); +- } +- +- public void sendToServer(T packet, boolean ignoreCheck) { +- SimpleChannel channel = CHANNELS.get(packet.getClass()); +- Connection connection = Minecraft.getInstance().getConnection().getConnection(); +- if (channel.isRemotePresent(connection) || ignoreCheck) { +- channel.send(packet, PacketDistributor.SERVER.noArg()); +- } +- } +- +- public void sendToClient(T packet, BridgedPlayer player) { +- SimpleChannel channel = CHANNELS.get(packet.getClass()); +- ServerGamePacketListenerImpl connection = player.getConnection(); +- if (connection == null) +- return; +- +- if (channel.isRemotePresent(connection.getConnection())) { +- channel.send(packet, PacketDistributor.PLAYER.with(player.toMojangServerPlayer())); +- } +- } +- +- private Function mojangDecoder(Function handler) { +- return byteBuf -> handler.apply(BridgedFriendlyByteBuf.of(byteBuf)); +- } +- +- private BiConsumer mojangEncoder(BiConsumer handler) { +- return ((t, byteBuf) -> handler.accept(t, BridgedFriendlyByteBuf.of(byteBuf))); +- } +- +- private BiConsumer buildHandler(Consumer> handler) { +- return (message, ctx) -> { +- ctx.enqueueWork(() -> { +- PacketSide side = ctx.getDirection().getReceptionSide().isServer() ? PacketSide.SERVER : PacketSide.CLIENT; +- ServerPlayer player = ctx.getSender(); +- handler.accept(new PacketContext<>(BridgedPlayer.of(player), message, side)); +- }); +- ctx.setPacketHandled(true); +- }; +- } +-} diff --git a/patches/1.21.5/Forge/src/main/resources/META-INF/mods.toml.patch b/patches/1.21.5/Forge/src/main/resources/META-INF/mods.toml.patch new file mode 100644 index 0000000..5bfc5ca --- /dev/null +++ b/patches/1.21.5/Forge/src/main/resources/META-INF/mods.toml.patch @@ -0,0 +1,34 @@ +--- a/Forge/src/main/resources/META-INF/mods.toml ++++ /dev/null +@@ -1,31 +1,0 @@ +-modLoader = "javafml" +-loaderVersion = "[50,)" +-license = "MIT" +-issueTrackerURL = "https://github.com/firstdarkdev/craterLib/issues" +- +-[[mods]] +- modId = "${mod_id}" +- version = "${version}" +- displayName = "${mod_name}" +- displayURL = "https://modrinth.com/mod/craterlib" +- logoFile = "craterlib_logo.png" +- #credits="Thanks for this example mod goes to Java" +- authors = "${mod_author}, Zenith" +- description = ''' +- A library mod used by First Dark Development and HypherionSA Mods +- ''' +- displayTest = "NONE" +- +-[[dependencies.${ mod_id }]] +- modId = "forge" +- mandatory = true +- versionRange = "[50,)" +- ordering = "NONE" +- side = "BOTH" +- +-[[dependencies.${ mod_id }]] +- modId = "minecraft" +- mandatory = true +- versionRange = "[1.20.6,1.21)" +- ordering = "NONE" +- side = "BOTH" diff --git a/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform.patch b/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform.patch new file mode 100644 index 0000000..ffa18e4 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform.patch @@ -0,0 +1,4 @@ +--- a/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ClientPlatform ++++ /dev/null +@@ -1,1 +1,0 @@ +-com.hypherionmc.craterlib.client.ForgeClientHelper diff --git a/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform.patch b/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform.patch new file mode 100644 index 0000000..102cb45 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform.patch @@ -0,0 +1,4 @@ +--- a/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CommonPlatform ++++ /dev/null +@@ -1,1 +1,0 @@ +-com.hypherionmc.craterlib.common.ForgeCommonHelper diff --git a/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils.patch b/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils.patch new file mode 100644 index 0000000..e38c93b --- /dev/null +++ b/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils.patch @@ -0,0 +1,4 @@ +--- a/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.CompatUtils ++++ /dev/null +@@ -1,1 +1,0 @@ +-com.hypherionmc.craterlib.common.ForgeCompatHelper diff --git a/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment.patch b/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment.patch new file mode 100644 index 0000000..f97d6c0 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment.patch @@ -0,0 +1,4 @@ +--- a/Forge/src/main/resources/META-INF/services/com.hypherionmc.craterlib.core.platform.ModloaderEnvironment ++++ /dev/null +@@ -1,1 +1,0 @@ +-com.hypherionmc.craterlib.common.ForgeLoaderHelper diff --git a/patches/1.21.5/Forge/src/main/resources/craterlib.forge.mixins.json.patch b/patches/1.21.5/Forge/src/main/resources/craterlib.forge.mixins.json.patch new file mode 100644 index 0000000..f714e59 --- /dev/null +++ b/patches/1.21.5/Forge/src/main/resources/craterlib.forge.mixins.json.patch @@ -0,0 +1,21 @@ +--- a/Forge/src/main/resources/craterlib.forge.mixins.json ++++ /dev/null +@@ -1,18 +1,0 @@ +-{ +- "required": true, +- "minVersion": "0.8", +- "package": "com.hypherionmc.craterlib.mixin", +- "compatibilityLevel": "JAVA_17", +- "mixins": [ +- ], +- "client": [ +- "ConfigScreenHandlerMixin" +- ], +- "server": [ +- "ServerGamePacketListenerImplMixin", +- "ServerStatusPacketListenerMixin" +- ], +- "injectors": { +- "defaultRequire": 1 +- } +-} diff --git a/patches/1.21.5/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch b/patches/1.21.5/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch new file mode 100644 index 0000000..cc8cde4 --- /dev/null +++ b/patches/1.21.5/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch @@ -0,0 +1,10 @@ +--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java ++++ b/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +@@ -3,6 +3,7 @@ + import com.hypherionmc.craterlib.core.platform.CompatUtils; + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; ++import net.kyori.adventure.text.Component; + import redstonedubstep.mods.vanishmod.VanishUtil; + import team.creative.playerrevive.api.IBleeding; + import team.creative.playerrevive.server.PlayerReviveServer; diff --git a/patches/1.21.5/Paper/build.gradle.patch b/patches/1.21.5/Paper/build.gradle.patch index b7a5486..1bac6a4 100644 --- a/patches/1.21.5/Paper/build.gradle.patch +++ b/patches/1.21.5/Paper/build.gradle.patch @@ -1,5 +1,12 @@ --- a/Paper/build.gradle +++ b/Paper/build.gradle +@@ -1,5 +1,5 @@ + plugins { +- id "io.papermc.paperweight.userdev" version "1.7.3" ++ id "io.papermc.paperweight.userdev" version "1.7.7" + id "xyz.jpenilla.run-paper" version "2.3.0" + } + @@ -68,8 +68,8 @@ setVersionType("alpha") setChangelog(rootProject.file("changelog.md")) diff --git a/patches/1.21.5/gradle.properties.patch b/patches/1.21.5/gradle.properties.patch index 6c16da3..d1021d9 100644 --- a/patches/1.21.5/gradle.properties.patch +++ b/patches/1.21.5/gradle.properties.patch @@ -16,3 +16,12 @@ # Forge forge_version=50.0.6 +@@ -41,7 +41,7 @@ + ftb_ranks=2101.1.1 + player_revive=6119534 + creative_core=6113754 +-advanced_chat=SNA4dye5 ++advanced_chat=CEJSc93h + + # Publishing + curse_id=867099 diff --git a/patches/1.21.5/settings.gradle.patch b/patches/1.21.5/settings.gradle.patch index 2aed624..52aaa25 100644 --- a/patches/1.21.5/settings.gradle.patch +++ b/patches/1.21.5/settings.gradle.patch @@ -1,10 +1,10 @@ --- a/settings.gradle +++ b/settings.gradle -@@ -14,6 +14,6 @@ +@@ -14,6 +14,5 @@ } rootProject.name = 'CraterLib' -include("Common", "Fabric"/*, "NeoForge"*/) +include("Common", "Fabric", "NeoForge") //include 'Paper' - +- diff --git a/patches/1.21/Fabric/build.gradle.patch b/patches/1.21/Fabric/build.gradle.patch index b84d63f..e154913 100644 --- a/patches/1.21/Fabric/build.gradle.patch +++ b/patches/1.21/Fabric/build.gradle.patch @@ -1,6 +1,6 @@ --- a/Fabric/build.gradle +++ b/Fabric/build.gradle -@@ -117,8 +117,8 @@ +@@ -118,8 +118,8 @@ setVersionType("release") setChangelog(rootProject.file("changelog.md")) setProjectVersion("${minecraft_version}-${project.version}") diff --git a/patches/1.21/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch b/patches/1.21/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch index 513b8d1..3cfd705 100644 --- a/patches/1.21/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch +++ b/patches/1.21/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java.patch @@ -1,6 +1,6 @@ --- a/Forge/src/main/java/com/hypherionmc/craterlib/common/ForgeCompatHelper.java +++ /dev/null -@@ -1,45 +1,0 @@ +@@ -1,55 +1,0 @@ -package com.hypherionmc.craterlib.common; - -import com.hypherionmc.craterlib.core.platform.CompatUtils; @@ -45,4 +45,14 @@ - IBleeding bleeding = PlayerReviveServer.getBleeding(player.toMojangServerPlayer()); - return bleeding != null && bleeding.revived(); - } +- +- @Override +- public boolean isPrivateMessage(BridgedPlayer player) { +- return false; +- } +- +- @Override +- public Component getChannelPrefix(BridgedPlayer player) { +- return Component.empty(); +- } -} diff --git a/patches/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch b/patches/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch new file mode 100644 index 0000000..cc8cde4 --- /dev/null +++ b/patches/1.21/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java.patch @@ -0,0 +1,10 @@ +--- a/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java ++++ b/NeoForge/src/main/java/com/hypherionmc/craterlib/common/NeoForgeCompatHelper.java +@@ -3,6 +3,7 @@ + import com.hypherionmc.craterlib.core.platform.CompatUtils; + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; ++import net.kyori.adventure.text.Component; + import redstonedubstep.mods.vanishmod.VanishUtil; + import team.creative.playerrevive.api.IBleeding; + import team.creative.playerrevive.server.PlayerReviveServer; diff --git a/patches/1.21/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch b/patches/1.21/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch new file mode 100644 index 0000000..d65db6b --- /dev/null +++ b/patches/1.21/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java.patch @@ -0,0 +1,10 @@ +--- a/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java ++++ b/Paper/src/main/java/com/hypherionmc/craterlib/common/PaperCompatHelper.java +@@ -4,6 +4,7 @@ + import com.hypherionmc.craterlib.core.platform.ModloaderEnvironment; + import com.hypherionmc.craterlib.nojang.world.entity.player.BridgedPlayer; + import com.hypherionmc.craterlib.utils.ChatUtils; ++import net.kyori.adventure.text.Component; + import org.bukkit.Bukkit; + import org.bukkit.entity.Player; + import org.bukkit.metadata.MetadataValue; diff --git a/patches/1.21/gradle.properties.patch b/patches/1.21/gradle.properties.patch index 6c77068..a6c33fd 100644 --- a/patches/1.21/gradle.properties.patch +++ b/patches/1.21/gradle.properties.patch @@ -32,12 +32,14 @@ # Mod Dependencies fabrictailor=2.3.1 -@@ -39,13 +39,13 @@ +@@ -39,14 +39,14 @@ vanishmod_neo=puxrKAMr ftb_essentials=2101.1.0 ftb_ranks=2101.1.1 -player_revive=6119534 -creative_core=6113754 +-advanced_chat=SNA4dye5 ++advanced_chat=5ddOPqgR +player_revive=6130248 +creative_core=6109912