diff --git a/pom.xml b/pom.xml
index 5f14f02..e4b205e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.drtshock
PlayerVaultsX
- 4.0.6
+ 4.0.7
PlayerVaultsX
https://www.spigotmc.org/resources/51204/
diff --git a/src/main/java/com/drtshock/playervaults/vaultmanagement/Base64Serialization.java b/src/main/java/com/drtshock/playervaults/vaultmanagement/Base64Serialization.java
index a8c2c8d..fdd57ae 100644
--- a/src/main/java/com/drtshock/playervaults/vaultmanagement/Base64Serialization.java
+++ b/src/main/java/com/drtshock/playervaults/vaultmanagement/Base64Serialization.java
@@ -16,13 +16,13 @@ import java.io.ByteArrayOutputStream;
*/
public class Base64Serialization {
- public static String toBase64(Inventory inventory) {
+ public static String toBase64(Inventory inventory, int size) {
try {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
BukkitObjectOutputStream dataOutput = new BukkitObjectOutputStream(outputStream);
// Write the size of the inventory
- dataOutput.writeInt(inventory.getSize());
+ dataOutput.writeInt(size);
// Save every element in the list
for (int i = 0; i < inventory.getSize(); i++) {
@@ -40,7 +40,7 @@ public class Base64Serialization {
public static String toBase64(ItemStack[] is, int size) {
Inventory inventory = Bukkit.createInventory(null, size);
inventory.setContents(is);
- return toBase64(inventory);
+ return toBase64(inventory, size);
}
public static Inventory fromBase64(String data) {
@@ -48,7 +48,6 @@ public class Base64Serialization {
ByteArrayInputStream inputStream = new ByteArrayInputStream(Base64Coder.decodeLines(data));
BukkitObjectInputStream dataInput = new BukkitObjectInputStream(inputStream);
Inventory inventory = Bukkit.getServer().createInventory(null, dataInput.readInt());
-
// Read the serialized inventory
for (int i = 0; i < inventory.getSize(); i++) {
inventory.setItem(i, (ItemStack) dataInput.readObject());
diff --git a/src/main/java/com/drtshock/playervaults/vaultmanagement/VaultManager.java b/src/main/java/com/drtshock/playervaults/vaultmanagement/VaultManager.java
index db5efd9..92dbf07 100644
--- a/src/main/java/com/drtshock/playervaults/vaultmanagement/VaultManager.java
+++ b/src/main/java/com/drtshock/playervaults/vaultmanagement/VaultManager.java
@@ -42,7 +42,8 @@ public class VaultManager {
*/
public void saveVault(Inventory inventory, UUID target, int number) {
YamlConfiguration yaml = getPlayerVaultFile(target);
- String serialized = Base64Serialization.toBase64(inventory);
+ int size = VaultOperations.getMaxVaultSize(target);
+ String serialized = Base64Serialization.toBase64(inventory, size);
yaml.set(String.format(VAULTKEY, number), serialized);
saveFileSync(target, yaml);
}