diff --git a/src/main/java/dev/zontreck/ariaslib/util/Maps.java b/src/main/java/dev/zontreck/ariaslib/util/Maps.java
new file mode 100644
index 0000000..c322c2e
--- /dev/null
+++ b/src/main/java/dev/zontreck/ariaslib/util/Maps.java
@@ -0,0 +1,28 @@
+package dev.zontreck.ariaslib.util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class Maps
+{
+ public static Map of(Entry... entries) {
+ Map map = new HashMap<>();
+ for(Entry E : entries)
+ {
+ map.put(E.key, E.value);
+ }
+
+ return map;
+ }
+
+ public static class Entry {
+ public A key;
+ public B value;
+
+ public Entry(A a, B b)
+ {
+ this.key=a;
+ this.value=b;
+ }
+ }
+}
diff --git a/src/main/java/dev/zontreck/ariaslib/util/Percent.java b/src/main/java/dev/zontreck/ariaslib/util/Percent.java
index f13374c..38f160a 100644
--- a/src/main/java/dev/zontreck/ariaslib/util/Percent.java
+++ b/src/main/java/dev/zontreck/ariaslib/util/Percent.java
@@ -1,5 +1,7 @@
package dev.zontreck.ariaslib.util;
+import java.io.PrintStream;
+
public class Percent
{
int current;
@@ -16,4 +18,42 @@ public class Percent
{
return ((current * 100) / maximum);
}
+
+
+ private static final int DEFAULT_BAR_WIDTH = 50;
+
+ private static int getConsoleWidth() {
+ return 80; // Default console width, can be adjusted for different consoles
+ }
+ public static void printProgressBar(int progress, int maxProgress, String beforeText, String afterText) {
+ PrintStream out = System.out;
+ int consoleWidth = getConsoleWidth();
+ int barWidth = Math.min(consoleWidth - beforeText.length() - afterText.length() - 4, DEFAULT_BAR_WIDTH);
+
+ // Calculate progress
+ int progressBarLength = (int) ((double) progress / maxProgress * barWidth);
+
+ // Print before text
+ out.print(beforeText);
+
+ // Print progress bar
+ out.print("[");
+ for (int i = 0; i < barWidth; i++) {
+ if (i < progressBarLength) {
+ out.print("=");
+ } else {
+ out.print(" ");
+ }
+ }
+ out.print("]");
+
+ // Print percentage
+ out.print(" " + (progress * 100 / maxProgress) + "%");
+
+ // Print after text
+ out.print(afterText);
+
+ // Move cursor to next line
+ out.println();
+ }
}