69 lines
2.0 KiB
Java
69 lines
2.0 KiB
Java
package ee.lunasqu.interaqqt;
|
|
|
|
import ee.lunasqu.interaqqt.events.listeners.ConnectionListener;
|
|
import ee.lunasqu.interaqqt.events.listeners.RedstoneListener;
|
|
import ee.lunasqu.interaqqt.events.listeners.RightClickAdder;
|
|
import ee.lunasqu.interaqqt.triggers.BlockTrigger;
|
|
import ee.lunasqu.interaqqt.triggers.BlockTriggers;
|
|
import org.bukkit.configuration.file.FileConfiguration;
|
|
import org.bukkit.configuration.serialization.ConfigurationSerialization;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
import java.util.UUID;
|
|
|
|
public class Main extends JavaPlugin {
|
|
public static Main plugin;
|
|
|
|
private FileConfiguration config;
|
|
private MQTTConnection service;
|
|
private BlockTriggers triggers;
|
|
private RightClickAdder adder;
|
|
|
|
public RightClickAdder getAdder() {
|
|
return adder;
|
|
}
|
|
|
|
public BlockTriggers getTriggers() {
|
|
return triggers;
|
|
}
|
|
|
|
public MQTTConnection getConnection() {
|
|
if (service == null || !service.isAlive()) return null;
|
|
return service;
|
|
}
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
config = this.getConfig();
|
|
config.addDefault("publisher", UUID.randomUUID().toString());
|
|
config.addDefault("host", "127.0.0.1");
|
|
config.addDefault("port", 1883);
|
|
config.options().copyDefaults(true);
|
|
this.saveConfig();
|
|
|
|
plugin = this;
|
|
this.triggers = new BlockTriggers();
|
|
this.adder = new RightClickAdder();
|
|
|
|
ConfigurationSerialization.registerClass(BlockTrigger.class);
|
|
this.triggers.loadConfiguration();
|
|
|
|
getServer().getPluginManager().registerEvents(new RedstoneListener(), this);
|
|
getServer().getPluginManager().registerEvents(new ConnectionListener(), this);
|
|
getServer().getPluginManager().registerEvents(adder, this);
|
|
|
|
this.getCommand("mqtt").setExecutor(new MQTTCommand());
|
|
this.connect();
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
if (service != null && service.isAlive()) service.die();
|
|
}
|
|
|
|
public void connect () {
|
|
String host = "tcp://" + this.config.getString("host") + ":" + this.config.getInt("port");
|
|
this.service = new MQTTConnection(host, config.getString("publisher"));
|
|
}
|
|
}
|