Some more adjustments for MC 1.20.1

This commit is contained in:
GeorgH93 2023-07-15 22:50:29 +02:00
parent cf7a6c0617
commit a87b198632
No known key found for this signature in database
GPG Key ID: D1630D37F9E4B3C8
6 changed files with 25 additions and 18 deletions

View File

@ -121,14 +121,14 @@ public abstract class Database implements Listener
catch(IllegalStateException ignored) {}
catch(Exception e)
{
e.printStackTrace();
plugin.getLogger().log(Level.SEVERE, "Failed to initialize database.", e);
}
return null;
}
public void backup(@NotNull Backpack backpack)
{
writeBackup(backpack.getOwner().getName(), getPlayerFormattedUUID(backpack.getOwner()), itsSerializer.getUsedSerializer(), itsSerializer.serialize(backpack.getInventory()));
writeBackup(backpack.getOwner().getName(), getPlayerFormattedUUID(backpack.getOwnerId()), itsSerializer.getUsedSerializer(), itsSerializer.serialize(backpack.getInventory()));
}
protected void writeBackup(@Nullable String userName, @NotNull String userIdentifier, final int usedSerializer, final byte[] data)
@ -172,7 +172,12 @@ public abstract class Database implements Listener
protected String getPlayerFormattedUUID(OfflinePlayer player)
{
return (useUUIDSeparators) ? player.getUniqueId().toString() : player.getUniqueId().toString().replace("-", "");
return getPlayerFormattedUUID(player.getUniqueId());
}
protected String getPlayerFormattedUUID(UUID uuid)
{
return (useUUIDSeparators) ? uuid.toString() : uuid.toString().replace("-", "");
}
public @NotNull Collection<Backpack> getLoadedBackpacks()
@ -238,7 +243,6 @@ public abstract class Database implements Listener
public void unloadBackpack(Backpack backpack)
{
plugin.getLogger().log(Level.INFO, "Unloading backpack of {0} ({1})", new Object[] {backpack.getOwner().getName(), backpack.getOwner().getUniqueId()});
if (forceSaveOnUnload)
{
backpack.forceSave();
@ -247,7 +251,7 @@ public abstract class Database implements Listener
{
backpack.save();
}
backpacks.remove(backpack.getOwner().getUniqueId());
backpacks.remove(backpack.getOwnerId());
}
public void asyncLoadBackpack(final OfflinePlayer player)

View File

@ -30,6 +30,8 @@ import org.jetbrains.annotations.Nullable;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Files extends Database
@ -68,13 +70,13 @@ public class Files extends Database
if(allFiles == null) return;
for (File file : allFiles)
{
if(maxAge > 0 && System.currentTimeMillis() - file.lastModified() > maxAge) // Check if the file is older then x days
if(maxAge > 0 && System.currentTimeMillis() - file.lastModified() > maxAge) // Check if the file is older than x days
{
if(!file.delete())
{
plugin.getLogger().warning("Failed to delete file (" + file.getAbsolutePath() + ").");
}
continue; // We don't have to check if the file name is correct cause we have the deleted the file
continue; // We don't have to check if the file name is correct because we have the deleted the file
}
int len = file.getName().length() - EXT.length();
if(len <= 16) // It's a player name
@ -110,16 +112,16 @@ public class Files extends Database
}
}
private String getFileName(OfflinePlayer player)
private String getFileName(UUID uuid)
{
return getPlayerFormattedUUID(player) + EXT;
return getPlayerFormattedUUID(uuid) + EXT;
}
// DB Functions
@Override
public void saveBackpack(Backpack backpack)
{
File save = new File(saveFolder, getFileName(backpack.getOwner()));
File save = new File(saveFolder, getFileName(backpack.getOwnerId()));
try(FileOutputStream fos = new FileOutputStream(save))
{
fos.write(itsSerializer.getUsedSerializer());
@ -128,7 +130,7 @@ public class Files extends Database
}
catch(Exception e)
{
e.printStackTrace();
plugin.getLogger().log(Level.SEVERE, "Failed to save backpack.", e);
}
}
@ -161,7 +163,7 @@ public class Files extends Database
}
catch(Exception e)
{
e.printStackTrace();
logger.log(Level.WARNING, "Failed to read backpack.", e);
}
}
return null;

View File

@ -203,7 +203,7 @@ public abstract class SQL extends Database
{
final byte[] data = itsSerializer.serialize(backpack.getInventory());
final int id = backpack.getOwnerDatabaseId(), usedSerializer = itsSerializer.getUsedSerializer();
final String nameOrUUID = getPlayerFormattedUUID(backpack.getOwner()), name = backpack.getOwner().getName();
final String nameOrUUID = getPlayerFormattedUUID(backpack.getOwnerId()), name = backpack.getOwner().getName();
Runnable runnable = () -> {
try(Connection connection = getConnection())

View File

@ -37,7 +37,7 @@ public class Interval extends UnCacheStrategy implements Runnable
{
for(Backpack backpack : cache.getLoadedBackpacks())
{
if(!backpack.getOwner().isOnline() && !backpack.isOpen())
if(backpack.getOwnerPlayer() == null && !backpack.isOpen())
{
this.cache.unloadBackpack(backpack);
}

View File

@ -22,6 +22,7 @@ import at.pcgamingfreaks.Minepacks.Bukkit.Database.Database;
import at.pcgamingfreaks.Minepacks.Bukkit.Minepacks;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
public class IntervalChecked extends UnCacheStrategy implements Runnable
{
@ -42,7 +43,8 @@ public class IntervalChecked extends UnCacheStrategy implements Runnable
long currentTime = System.currentTimeMillis() - delay;
for(Backpack backpack : cache.getLoadedBackpacks())
{
if(!backpack.getOwner().isOnline() && backpack.getOwner().getLastPlayed() < currentTime && !backpack.isOpen())
OfflinePlayer owner = backpack.getOwner();
if(!owner.isOnline() && owner.getLastPlayed() < currentTime && !backpack.isOpen())
{
this.cache.unloadBackpack(backpack);
}

View File

@ -55,14 +55,13 @@ public class BackpackEventListener extends MinepacksListener
backpack.save();
}
backpack.close(closer);
if(event.getPlayer().getUniqueId().equals(backpack.getOwner().getUniqueId()))
if(event.getPlayer().getUniqueId().equals(backpack.getOwnerId()))
{
messageOwnBackpackClose.send(closer);
}
else
{
OfflinePlayer owner = backpack.getOwner();
messageOtherBackpackClose.send(closer, owner);
messageOtherBackpackClose.send(closer, backpack.getOwner());
}
if(closeSound != null)
{