From 85045e1e4a15e0a5657d189e83dd202a2c37f2b0 Mon Sep 17 00:00:00 2001 From: Yuuta Liang Date: Wed, 13 Jul 2022 11:16:27 -0700 Subject: First Commit Signed-off-by: Trumeet --- src/main/java/moe/ymc/acron/cmd/CmdOut.java | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/main/java/moe/ymc/acron/cmd/CmdOut.java (limited to 'src/main/java/moe/ymc/acron/cmd/CmdOut.java') diff --git a/src/main/java/moe/ymc/acron/cmd/CmdOut.java b/src/main/java/moe/ymc/acron/cmd/CmdOut.java new file mode 100644 index 0000000..717bd0c --- /dev/null +++ b/src/main/java/moe/ymc/acron/cmd/CmdOut.java @@ -0,0 +1,53 @@ +package moe.ymc.acron.cmd; + +import io.netty.channel.Channel; +import moe.ymc.acron.s2c.EventCmdOut; +import moe.ymc.acron.serialization.Serializer; +import net.minecraft.server.command.CommandOutput; +import net.minecraft.text.Text; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.NotNull; + +import java.util.UUID; + +public class CmdOut implements CommandOutput { + private static final Logger LOGGER = LogManager.getLogger(); + + private final @NotNull Channel channel; + private final int id; + private final boolean display; + + public CmdOut(@NotNull Channel channel, + int id, + boolean display) { + this.channel = channel; + this.id = id; + this.display = display; + } + + @Override + public void sendSystemMessage(Text message, UUID sender) { + LOGGER.debug("sendSystemMessage[{}]: {}", + id, + message.getString()); + channel.writeAndFlush( + Serializer.serialize(new EventCmdOut(id, sender, message.getString())) + ); + } + + @Override + public boolean shouldReceiveFeedback() { + return true; + } + + @Override + public boolean shouldTrackOutput() { + return true; + } + + @Override + public boolean shouldBroadcastConsoleToOps() { + return display; + } +} -- cgit v1.2.3