Dateien nach "src/main/java/craftersland/bridge/inventory/objects" hochladen

This commit is contained in:
2025-08-15 17:19:43 +00:00
parent 65db3421b1
commit 29b669e2f6
4 changed files with 187 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
package net.craftersland.bridge.inventory.objects;
public class DatabaseInventoryData {
private String rawInv;
private String rawAr;
private String syncComplete;
private String lastSee;
public DatabaseInventoryData(String rawInventory, String rawArmor, String syncStatus, String lastSeen) {
this.rawInv = rawInventory;
this.rawAr = rawArmor;
this.syncComplete = syncStatus;
this.lastSee = lastSeen;
}
public String getLastSeen() {
return lastSee;
}
public String getSyncStatus() {
return syncComplete;
}
public String getRawArmor() {
return rawAr;
}
public String getRawInventory() {
return rawInv;
}
}

View File

@@ -0,0 +1,41 @@
package net.craftersland.bridge.inventory.objects;
import org.bukkit.inventory.ItemStack;
public class InventorySyncData {
private ItemStack[] backupInv;
private ItemStack[] backupAr;
private Boolean syncComplete;
public InventorySyncData() {
this.backupInv = null;
this.backupAr = null;
this.syncComplete = false;
}
public void setSyncStatus(boolean syncStatus) {
syncComplete = syncStatus;
}
public Boolean getSyncStatus() {
return syncComplete;
}
public ItemStack[] getBackupArmor() {
return backupAr;
}
public ItemStack[] getBackupInventory() {
return backupInv;
}
public void setBackupInventory(ItemStack[] backupInventory) {
backupInv = backupInventory;
}
public void setBackupArmor(ItemStack[] backupArmor) {
backupAr = backupArmor;
}
}

View File

@@ -0,0 +1,57 @@
package net.craftersland.bridge.inventory.objects;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import net.craftersland.bridge.inventory.Inv;
public class InventorySyncTask extends BukkitRunnable {
private Inv pd;
private long startTime;
private Player p;
private boolean inProgress = false;
private InventorySyncData syncD;
public InventorySyncTask(Inv pd, long start, Player player, InventorySyncData syncData) {
this.pd = pd;
this.startTime = start;
this.p = player;
this.syncD = syncData;
}
@Override
public void run() {
if (inProgress == false) {
if (p != null) {
if (p.isOnline() == true) {
inProgress = true;
DatabaseInventoryData data = pd.getInvMysqlInterface().getData(p);
if (data.getSyncStatus().matches("true")) {
pd.getInventoryDataHandler().setPlayerData(p, data, syncD, true);
inProgress = false;
this.cancel();
} else if (System.currentTimeMillis() - Long.parseLong(data.getLastSeen()) >= 600 * 1000) {
pd.getInventoryDataHandler().setPlayerData(p, data, syncD, true);
inProgress = false;
this.cancel();
} else if (System.currentTimeMillis() - startTime >= 22 * 1000) {
pd.getInventoryDataHandler().setPlayerData(p, data, syncD, true);
inProgress = false;
this.cancel();
}
inProgress = false;
} else {
//inProgress = false;
this.cancel();
}
} else {
//inProgress = false;
this.cancel();
}
}
}
}

View File

@@ -0,0 +1,56 @@
package net.craftersland.bridge.inventory.objects;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import net.craftersland.bridge.inventory.Inv;
public class SyncCompleteTask extends BukkitRunnable {
private Inv pd;
private long startTime;
private Player p;
private boolean inProgress = false;
public SyncCompleteTask(Inv pd, long start, Player player) {
this.pd = pd;
this.startTime = start;
this.p = player;
}
@Override
public void run() {
if (inProgress == false) {
if (p != null) {
if (p.isOnline() == true) {
inProgress = true;
if (pd.getInventoryDataHandler().isSyncComplete(p) == true) {
if (pd.getConfigHandler().getString("ChatMessages.syncComplete").matches("") == false) {
p.sendMessage(pd.getConfigHandler().getStringWithColor("ChatMessages.syncComplete"));
}
pd.getSoundHandler().sendLevelUpSound(p);
this.cancel();
} else {
if (System.currentTimeMillis() - startTime >= 20 * 1000) {
//Set sync to true in database to force sync data after 20 sec
pd.getInvMysqlInterface().setSyncStatus(p, "true");
} else if (System.currentTimeMillis() - startTime >= 40 * 1000) {
//Stop task after 40 sec
this.cancel();
}
}
} else {
//inProgress = false;
this.cancel();
}
} else {
//inProgress = false;
this.cancel();
}
}
}
}