Interaqqt/src/main/java/ee/lunasqu/interaqqt/triggers/BlockTrigger.java

91 lines
2.2 KiB
Java

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<String, Object> serialize() {
Map<String,Object> map = new HashMap<String,Object>();
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<String, Object> args) {
return new BlockTrigger((String) args.get("name"), (Location) args.get("pos"),
(String) args.get("trigger"), (int) args.get("type"), (String) args.get("data"));
}
}