From 2e1d5c8cac00feec9ad204809d1c128d31335e86 Mon Sep 17 00:00:00 2001 From: Yeregorix Date: Sun, 22 Oct 2023 20:25:33 +0200 Subject: [PATCH] Remove dual event for chat --- .../message/PlayerChatEventMixin_Forge.java | 56 -------------- .../event/ServerChatEventMixin_Forge.java | 77 ------------------- .../resources/mixins.spongeforge.core.json | 2 - 3 files changed, 135 deletions(-) delete mode 100644 forge/src/mixins/java/org/spongepowered/forge/mixin/core/api/event/message/PlayerChatEventMixin_Forge.java delete mode 100644 forge/src/mixins/java/org/spongepowered/forge/mixin/core/minecraftforge/event/ServerChatEventMixin_Forge.java diff --git a/forge/src/mixins/java/org/spongepowered/forge/mixin/core/api/event/message/PlayerChatEventMixin_Forge.java b/forge/src/mixins/java/org/spongepowered/forge/mixin/core/api/event/message/PlayerChatEventMixin_Forge.java deleted file mode 100644 index e52d5362b8b..00000000000 --- a/forge/src/mixins/java/org/spongepowered/forge/mixin/core/api/event/message/PlayerChatEventMixin_Forge.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * This file is part of Sponge, licensed under the MIT License (MIT). - * - * Copyright (c) SpongePowered - * Copyright (c) contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package org.spongepowered.forge.mixin.core.api.event.message; - -import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; -import net.minecraft.server.level.ServerPlayer; -import net.minecraftforge.event.ServerChatEvent; -import net.minecraftforge.eventbus.api.Event; -import org.checkerframework.checker.nullness.qual.Nullable; -import org.spongepowered.api.event.message.PlayerChatEvent; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.common.adventure.SpongeAdventure; -import org.spongepowered.forge.mixin.core.api.event.EventMixin_Forge; - -import java.util.Collection; -import java.util.Collections; - -@Mixin(value = PlayerChatEvent.class, remap = false) -public interface PlayerChatEventMixin_Forge extends EventMixin_Forge { - - @Override - default @Nullable Collection bridge$createForgeEvents() { - final PlayerChatEvent thisEvent = (PlayerChatEvent) this; - final Object root = thisEvent.cause().root(); - if (root instanceof ServerPlayer) { - return Collections.singleton( - new ServerChatEvent((ServerPlayer) root, - PlainTextComponentSerializer.plainText().serialize(thisEvent.originalMessage()), - SpongeAdventure.asVanilla(thisEvent.message())) - ); - } - return null; - } -} diff --git a/forge/src/mixins/java/org/spongepowered/forge/mixin/core/minecraftforge/event/ServerChatEventMixin_Forge.java b/forge/src/mixins/java/org/spongepowered/forge/mixin/core/minecraftforge/event/ServerChatEventMixin_Forge.java deleted file mode 100644 index dcc267e6e02..00000000000 --- a/forge/src/mixins/java/org/spongepowered/forge/mixin/core/minecraftforge/event/ServerChatEventMixin_Forge.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * This file is part of Sponge, licensed under the MIT License (MIT). - * - * Copyright (c) SpongePowered - * Copyright (c) contributors - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -package org.spongepowered.forge.mixin.core.minecraftforge.event; - -import net.minecraft.network.chat.Component; -import net.minecraftforge.event.ServerChatEvent; -import org.checkerframework.checker.nullness.qual.Nullable; -import org.spongepowered.api.event.Event; -import org.spongepowered.api.event.message.PlayerChatEvent; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.common.adventure.SpongeAdventure; -import org.spongepowered.forge.launch.bridge.event.ForgeEventBridge_Forge; - -@Mixin(value = ServerChatEvent.class, remap = false) -public abstract class ServerChatEventMixin_Forge implements ForgeEventBridge_Forge { - - // @formatter:off - @Shadow public abstract void shadow$setMessage(Component e); - @Shadow public abstract Component shadow$getMessage(); - @Shadow public abstract net.minecraft.server.level.ServerPlayer shadow$getPlayer(); - // @formatter:on - - @Override - public void bridge$syncFrom(final Event event) { - final PlayerChatEvent.Submit spongeEvent = (PlayerChatEvent.Submit) event; - ((net.minecraftforge.eventbus.api.Event) (Object) this).setCanceled(spongeEvent.isCancelled()); - this.shadow$setMessage(SpongeAdventure.asVanilla(spongeEvent.message())); - } - - @Override - public void bridge$syncTo(final Event event) { - final PlayerChatEvent.Submit spongeEvent = (PlayerChatEvent.Submit) event; - spongeEvent.setCancelled(((net.minecraftforge.eventbus.api.Event) (Object) this).isCanceled()); - spongeEvent.setMessage(SpongeAdventure.asAdventure(this.shadow$getMessage())); - } - - @Override - public @Nullable Event bridge$createSpongeEvent() { - // TODO SF 1.19.4 - /* final Audience audience = (Audience) this.shadow$getPlayer().server; - final PlayerChatFormatter chatFormatter = ((ServerPlayer) this.shadow$getPlayer()).chatFormatter(); - final net.kyori.adventure.text.Component originalMessage = SpongeAdventure.asAdventure(this.shadow$getMessage()); - return SpongeEventFactory.createPlayerChatEventSubmit( - PhaseTracker.getCauseStackManager().currentCause(), - originalMessage, - originalMessage, - audience, - Optional.of(audience), - chatFormatter, - Optional.of(chatFormatter) - ); */ - return null; - } -} diff --git a/forge/src/mixins/resources/mixins.spongeforge.core.json b/forge/src/mixins/resources/mixins.spongeforge.core.json index a4612e915e4..aff69f27cc9 100644 --- a/forge/src/mixins/resources/mixins.spongeforge.core.json +++ b/forge/src/mixins/resources/mixins.spongeforge.core.json @@ -12,11 +12,9 @@ "api.event.block.ChangeBlockEvent_AllMixin_Forge", "api.event.entity.ChangeEntityWorldEvent_PreMixin_Forge", "api.event.entity.ChangeEventWorldEvent_PostMixin_Forge", - "api.event.message.PlayerChatEventMixin_Forge", "commands.CommandsMixin_Forge", "minecraftforge.MinecraftForgeMixin_Forge", "minecraftforge.registries.ForgeRegistryMixin_Forge", - "minecraftforge.event.ServerChatEventMixin_Forge", "minecraftforge.event.entity.EntityTravelToDimensionEventMixin_Forge", "minecraftforge.event.entity.player.PlayerEvent_PlayerChangedDimensionEventMixin_Forge", "minecraftforge.event.world.BlockEvent_BreakEventMixin_Forge",