91 lines
2.2 KiB
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"));
|
|
}
|
|
}
|