diff --git a/pom.xml b/pom.xml
index 6ae207cb15..bea41c2928 100644
--- a/pom.xml
+++ b/pom.xml
@@ -265,6 +265,13 @@
provided
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.24.1
+ provided
+
+
com.github.StarWishsama.dough
diff --git a/src/main/java/city/norain/slimefun4/SlimefunExtended.java b/src/main/java/city/norain/slimefun4/SlimefunExtended.java
index 030854eb09..7985f3d483 100644
--- a/src/main/java/city/norain/slimefun4/SlimefunExtended.java
+++ b/src/main/java/city/norain/slimefun4/SlimefunExtended.java
@@ -2,12 +2,16 @@
import city.norain.slimefun4.compatibillty.VersionedEvent;
import city.norain.slimefun4.listener.SlimefunMigrateListener;
+import com.zaxxer.hikari.HikariConfig;
+import com.zaxxer.hikari.HikariDataSource;
+import com.zaxxer.hikari.pool.HikariPool;
import io.github.bakedlibs.dough.versions.MinecraftVersion;
import io.github.bakedlibs.dough.versions.UnknownServerVersionException;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import java.util.logging.Level;
import javax.annotation.Nonnull;
import lombok.Getter;
+import org.apache.logging.log4j.core.config.Configurator;
public final class SlimefunExtended {
private static SlimefunMigrateListener migrateListener = new SlimefunMigrateListener();
@@ -23,6 +27,10 @@ private static void checkDebug() {
databaseDebugMode = true;
Slimefun.getSQLProfiler().start();
+ } else {
+ Configurator.setLevel(HikariConfig.class.getName(), org.apache.logging.log4j.Level.OFF);
+ Configurator.setLevel(HikariDataSource.class.getName(), org.apache.logging.log4j.Level.OFF);
+ Configurator.setLevel(HikariPool.class.getName(), org.apache.logging.log4j.Level.OFF);
}
}
diff --git a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/BlockDataController.java b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/BlockDataController.java
index 9c75627e40..b91d90a0fc 100644
--- a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/BlockDataController.java
+++ b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/BlockDataController.java
@@ -15,6 +15,7 @@
import com.xzavier0722.mc.plugin.slimefun4.storage.util.DataUtils;
import com.xzavier0722.mc.plugin.slimefun4.storage.util.InvStorageUtils;
import com.xzavier0722.mc.plugin.slimefun4.storage.util.LocationUtils;
+import io.github.bakedlibs.dough.blocks.BlockPosition;
import io.github.bakedlibs.dough.collections.Pair;
import io.github.thebusybiscuit.slimefun4.api.items.SlimefunItem;
import io.github.thebusybiscuit.slimefun4.core.attributes.UniversalDataSupport;
@@ -250,7 +251,7 @@ public SlimefunUniversalData createUniversalData(Location l, String sfId) {
checkDestroy();
var uuid = UUID.randomUUID();
- var uniData = new SlimefunUniversalData(uuid, l, sfId);
+ var uniData = new SlimefunUniversalData(uuid, new BlockPosition(l), sfId);
uniData.setIsDataLoaded(true);
@@ -459,7 +460,7 @@ public SlimefunBlockData getBlockDataFromCache(Location l) {
? null
: new SlimefunUniversalData(
uuid,
- LocationUtils.toLocation(result.get(0).get(FieldKey.LAST_PRESENT)),
+ new BlockPosition(LocationUtils.toLocation(result.get(0).get(FieldKey.LAST_PRESENT))),
result.get(0).get(FieldKey.SLIMEFUN_ID));
}
@@ -655,7 +656,7 @@ public void loadUniversalData() {
var uuid = data.getUUID(FieldKey.UNIVERSAL_UUID);
var location = LocationUtils.toLocation(data.get(FieldKey.LAST_PRESENT));
- var uniData = new SlimefunUniversalData(uuid, location, sfId);
+ var uniData = new SlimefunUniversalData(uuid, new BlockPosition(location), sfId);
scheduleReadTask(() -> loadUniversalData(uniData));
});
diff --git a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/SlimefunUniversalData.java b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/SlimefunUniversalData.java
index f247495c56..52aad69ef4 100644
--- a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/SlimefunUniversalData.java
+++ b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/controller/SlimefunUniversalData.java
@@ -1,5 +1,6 @@
package com.xzavier0722.mc.plugin.slimefun4.storage.controller;
+import io.github.bakedlibs.dough.blocks.BlockPosition;
import io.github.thebusybiscuit.slimefun4.implementation.Slimefun;
import java.util.UUID;
import javax.annotation.Nullable;
@@ -15,18 +16,18 @@
public class SlimefunUniversalData extends ASlimefunDataContainer {
private volatile UniversalMenu universalMenu;
- @Nullable private volatile Location lastPresent;
+ @Nullable private volatile BlockPosition lastPresent;
private volatile boolean pendingRemove = false;
@ParametersAreNonnullByDefault
- SlimefunUniversalData(UUID uuid, Location location, String sfId) {
+ SlimefunUniversalData(UUID uuid, BlockPosition location, String sfId) {
super(uuid.toString(), sfId);
this.lastPresent = location;
}
@ParametersAreNonnullByDefault
- SlimefunUniversalData(UUID uuid, Location location, SlimefunUniversalData other) {
+ SlimefunUniversalData(UUID uuid, BlockPosition location, SlimefunUniversalData other) {
super(uuid.toString(), other, other.getSfId());
this.lastPresent = location;
}
@@ -66,6 +67,10 @@ public UUID getUUID() {
return UUID.fromString(getKey());
}
+ public Location getLastPresent() {
+ return this.lastPresent.toLocation();
+ }
+
@Override
public String toString() {
return "SlimefunUniversalData [sfId=" + getSfId() + ", isPendingRemove=" + pendingRemove + "]";
diff --git a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/migrator/IMigrator.java b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/migrator/IMigrator.java
index 8048c6d810..20a1543531 100644
--- a/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/migrator/IMigrator.java
+++ b/src/main/java/com/xzavier0722/mc/plugin/slimefun4/storage/migrator/IMigrator.java
@@ -5,5 +5,7 @@ public interface IMigrator {
MigrateStatus migrateData();
- String getName();
+ default String getName() {
+ return this.getClass().getSimpleName();
+ }
}
diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/config/SlimefunDatabaseManager.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/config/SlimefunDatabaseManager.java
index 805bd4387f..757b0ed886 100644
--- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/config/SlimefunDatabaseManager.java
+++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/config/SlimefunDatabaseManager.java
@@ -49,9 +49,6 @@ public SlimefunDatabaseManager(Slimefun plugin) {
public void init() {
initDefaultVal();
- // Minimise hikari log
- System.setProperty("org.slf4j.simpleLogger.log.com.zaxxer.hikari", "error");
-
try {
blockDataStorageType = StorageType.valueOf(blockStorageConfig.getString("storageType"));
var readExecutorThread = blockStorageConfig.getInt("readExecutorThread");
diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/SlimefunAutoCrafter.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/SlimefunAutoCrafter.java
index 3a9210f64a..c1587cb33b 100644
--- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/SlimefunAutoCrafter.java
+++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/autocrafters/SlimefunAutoCrafter.java
@@ -116,7 +116,6 @@ protected void updateRecipe(@Nonnull Block b, @Nonnull Player p) {
menu.open(p);
SoundEffect.AUTO_CRAFTER_UPDATE_RECIPE.playAt(b);
- ;
if (!task.isEmpty()) {
task.start(menu.toInventory());