mirror of
https://github.com/SunNetservers/MiniGames.git
synced 2025-07-09 17:44:44 +02:00
Parkour implementation safety save 2
This is just a safety save in case the code gets too broken to fix.
This commit is contained in:
@ -0,0 +1,52 @@
|
||||
package net.knarcraft.minigames.container;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* A material container able to be serialized
|
||||
*/
|
||||
public class SerializableMaterial extends SerializableContainer<Material> {
|
||||
|
||||
/**
|
||||
* Instantiates a new serializable material
|
||||
*
|
||||
* @param material <p>The material to contain</p>
|
||||
*/
|
||||
public SerializableMaterial(Material material) {
|
||||
super(material);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SerializableContainer<Material> getSerializable(Material value) {
|
||||
return new SerializableMaterial(value);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Map<String, Object> serialize() {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
data.put("name", getRawValue().name());
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Deserializes a serialized material
|
||||
*
|
||||
* @param data <p>The serialized data</p>
|
||||
* @return <p>The deserialized material</p>
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public static SerializableMaterial deserialize(Map<String, Object> data) {
|
||||
Material material = Material.matchMaterial((String) data.get("name"));
|
||||
if (material == null) {
|
||||
return null;
|
||||
} else {
|
||||
return new SerializableMaterial(material);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user