summaryrefslogtreecommitdiff
path: root/src/main/java/com/keuin/kbackupfabric/util/PrintUtil.java
diff options
context:
space:
mode:
authorKeuin <[email protected]>2020-04-23 14:51:29 +0800
committerkeuin <[email protected]>2020-04-23 14:51:29 +0800
commit720e8ec8eeb69d24afbb6b14068563cde2d470f0 (patch)
tree83b6dee213737b138ede00d83aa1e9d5eab51fa3 /src/main/java/com/keuin/kbackupfabric/util/PrintUtil.java
parent4605445eb90e15a0629cf937452054cab7dd2b85 (diff)
Version 1.1.0-dev:1.1.0-dev
- Optimized backup lag (using async I/O). - Added twice confirmation /kb confirm and cancellation /kb cancel, to avoid mistake. - Added countdown before restoring. - Adjusted some text. - Code optimization.
Diffstat (limited to 'src/main/java/com/keuin/kbackupfabric/util/PrintUtil.java')
-rw-r--r--src/main/java/com/keuin/kbackupfabric/util/PrintUtil.java57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/main/java/com/keuin/kbackupfabric/util/PrintUtil.java b/src/main/java/com/keuin/kbackupfabric/util/PrintUtil.java
new file mode 100644
index 0000000..e76155f
--- /dev/null
+++ b/src/main/java/com/keuin/kbackupfabric/util/PrintUtil.java
@@ -0,0 +1,57 @@
+package com.keuin.kbackupfabric.util;
+
+import com.mojang.brigadier.context.CommandContext;
+import net.minecraft.server.command.ServerCommandSource;
+import net.minecraft.text.LiteralText;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+public final class PrintUtil {
+
+ private static final Logger LOGGER = LogManager.getLogger();
+ private static final boolean printDebugMessages = true;
+ private static final boolean printErrorMessages = true;
+ private static final boolean printInfoMessages = true;
+ private static final Object syncDebug = new Object();
+ private static final Object syncError = new Object();
+ private static final Object syncInfo = new Object();
+ private static final Object syncMessage = new Object();
+
+ public static CommandContext<ServerCommandSource> message(CommandContext<ServerCommandSource> context, String messageText) {
+ return message(context, messageText, false);
+ }
+
+ public static CommandContext<ServerCommandSource> message(CommandContext<ServerCommandSource> context, String messageText, boolean broadcastToOps) {
+ synchronized (syncMessage) {
+ context.getSource().sendFeedback(new LiteralText("[KBackup] " + messageText), broadcastToOps);
+ }
+ return context;
+ }
+
+ public static void debug(String message) {
+ synchronized (syncDebug) {
+ if (printDebugMessages) {
+ System.out.println(String.format("[DEBUG] [KBackup] %s", message));
+ LOGGER.debug(message);
+ }
+ }
+ }
+
+ public static void error(String message) {
+ synchronized (syncError) {
+ if (printErrorMessages) {
+ System.out.println(String.format("[ERROR] [KBackup] %s", message));
+ LOGGER.error(message);
+ }
+ }
+ }
+
+ public static void info(String message) {
+ synchronized (syncInfo) {
+ if (printInfoMessages) {
+ System.out.println(String.format("[INFO] [KBackup] %s", message));
+ LOGGER.info(message);
+ }
+ }
+ }
+}