package ee.lunasqu.interaqqt.triggers; import org.bukkit.Location; import org.bukkit.configuration.serialization.ConfigurationSerializable; import java.util.HashMap; import java.util.Map; public class BlockTrigger implements ConfigurationSerializable { private String name; private Location block; private String mqttTrigger; private int type; private String data; public BlockTrigger (String name, String mqttTrigger, int type, String data) { this.name = name; this.mqttTrigger = mqttTrigger; this.type = type; this.data = data; } public BlockTrigger (String name, Location block, String mqttTrigger, int type, String data) { this.name = name; this.block = block; this.mqttTrigger = mqttTrigger; this.type = type; this.data = data; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Location getBlock() { return block; } public void setBlock(Location block) { this.block = block; } public String getMqttTrigger() { return mqttTrigger; } public void setMqttTrigger(String mqttTrigger) { this.mqttTrigger = mqttTrigger; } public String getData() { return data; } public void setData(String data) { this.data = data; } public int getType() { return type; } public void setType(int type) { this.type = type; } public String toString () { return String.format("%s|%s|%s|%d|%s", name, mqttTrigger, block, type, data); } @Override public Map serialize() { Map map = new HashMap(); map.put("name", name); map.put("trigger", mqttTrigger); map.put("pos", block); map.put("type", type); map.put("data", data); return map; } public static BlockTrigger deserialize(Map args) { return new BlockTrigger((String) args.get("name"), (Location) args.get("pos"), (String) args.get("trigger"), (int) args.get("type"), (String) args.get("data")); } }