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