package dev.garrettmills.csx.matterlinkreboot; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.server.ServerWorld; import net.minecraftforge.fml.server.ServerLifecycleHooks; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import java.util.TimerTask; import java.util.UUID; public class MatterlinkRebootTask extends TimerTask { // Directly reference a log4j logger. private static final Logger LOGGER = LogManager.getLogger(MatterlinkReboot.MOD_ID); @Override public void run() { IncomingMessage[] messages = MatterbridgeAPIClient.getMessages(); for ( IncomingMessage msg : messages ) { this.postChatToGame(msg.getUsername(), msg.getText()); } } /** * Posts a chat message to all players in the server. * @param username Username of the user who sent the message * @param message Message to be displayed */ public void postChatToGame(String username, String message) { for (ServerPlayerEntity playerEntity : ServerLifecycleHooks.getCurrentServer().getPlayerList().getPlayers()) { playerEntity.sendMessage(new StringTextComponent("<" + username + "> " + message), UUID.randomUUID()); } } }