Dateien nach "src/main/java/craftersland/bridge/inventory/objects" hochladen
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
}
|
@@ -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;
|
||||
}
|
||||
|
||||
}
|
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user