Removed deprecated yaml serialization

This commit is contained in:
NichtStudioCode 2022-01-09 17:50:17 +01:00
parent fb8bf589f2
commit 35ea3a8776
2 changed files with 2 additions and 51 deletions

@ -9,13 +9,11 @@ import de.studiocode.invui.virtualinventory.event.UpdateReason;
import de.studiocode.invui.window.Window; import de.studiocode.invui.window.Window;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.*; import java.util.*;
import java.util.function.Consumer; import java.util.function.Consumer;
@ -24,7 +22,7 @@ import java.util.stream.Stream;
import static java.lang.Math.max; import static java.lang.Math.max;
import static java.lang.Math.min; import static java.lang.Math.min;
public class VirtualInventory implements ConfigurationSerializable { public class VirtualInventory {
private final UUID uuid; private final UUID uuid;
private final Set<Window> windows = new HashSet<>(); private final Set<Window> windows = new HashSet<>();
@ -63,44 +61,6 @@ public class VirtualInventory implements ConfigurationSerializable {
this(uuid, size, null, null); this(uuid, size, null, null);
} }
/**
* Deserializes to {@link VirtualInventory}
*
* @param args The args which contain the data to deserialize
* @return The deserialized {@link VirtualInventory}
* @deprecated Use {@link VirtualInventoryManager#serializeInventory(VirtualInventory, OutputStream)}
* and {@link VirtualInventoryManager#deserializeInventory(InputStream)} for serialization
*/
@Deprecated
public static VirtualInventory deserialize(@NotNull Map<String, Object> args) {
//noinspection unchecked
return new VirtualInventory(
UUID.fromString((String) args.get("uuid")),
(int) args.get("size"),
((ArrayList<ItemStack>) args.get("items")).toArray(new ItemStack[0]),
((ArrayList<Integer>) args.get("stackSizes")).stream().mapToInt(Integer::intValue).toArray()
);
}
/**
* Serializes this {@link VirtualInventory} to a {@link Map}
*
* @return A {@link Map} that contains the serialized data of this {@link VirtualInventory}
* @deprecated Use {@link VirtualInventoryManager#serializeInventory(VirtualInventory, OutputStream)}
* and {@link VirtualInventoryManager#deserializeInventory(InputStream)} for serialization
*/
@Deprecated
@NotNull
@Override
public Map<String, Object> serialize() {
Map<String, Object> result = new LinkedHashMap<>();
result.put("uuid", uuid.toString());
result.put("size", size);
result.put("stackSizes", stackSizes);
result.put("items", items);
return result;
}
public byte[] toByteArray() { public byte[] toByteArray() {
return VirtualInventoryManager.getInstance().serializeInventory(this); return VirtualInventoryManager.getInstance().serializeInventory(this);
} }

@ -3,8 +3,6 @@ package de.studiocode.invui.virtualinventory;
import de.studiocode.inventoryaccess.version.InventoryAccess; import de.studiocode.inventoryaccess.version.InventoryAccess;
import de.studiocode.invui.InvUI; import de.studiocode.invui.InvUI;
import de.studiocode.invui.util.DataUtils; import de.studiocode.invui.util.DataUtils;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.configuration.serialization.ConfigurationSerialization;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -26,7 +24,6 @@ public class VirtualInventoryManager {
private VirtualInventoryManager() { private VirtualInventoryManager() {
SAVE_DIR.mkdirs(); SAVE_DIR.mkdirs();
ConfigurationSerialization.registerClass(VirtualInventory.class);
InvUI.getInstance().addDisableHandler(this::serializeAll); InvUI.getInstance().addDisableHandler(this::serializeAll);
deserializeAll(); deserializeAll();
} }
@ -82,13 +79,7 @@ public class VirtualInventoryManager {
if (SAVE_DIR.exists()) { if (SAVE_DIR.exists()) {
Arrays.stream(SAVE_DIR.listFiles()) Arrays.stream(SAVE_DIR.listFiles())
.forEach(file -> { .forEach(file -> {
if (file.getName().endsWith(".vi")) { if (file.getName().endsWith(".vi2")) {
YamlConfiguration config = YamlConfiguration.loadConfiguration(file);
VirtualInventory virtualInventory = config.getSerializable("vi", VirtualInventory.class);
inventories.put(virtualInventory.getUuid(), virtualInventory);
file.delete();
} else if (file.getName().endsWith(".vi2")) {
try { try {
FileInputStream in = new FileInputStream(file); FileInputStream in = new FileInputStream(file);
VirtualInventory virtualInventory = deserializeInventory(in); VirtualInventory virtualInventory = deserializeInventory(in);