package ru.goldfox.files;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
import ru.goldfox.files.MessageManager.MessageType;
public class Main extends JavaPlugin implements Listener {
private static Main instance;
FileConfiguration config = getConfig();
public static Main instance() {
return instance;
}
public void onEnable() {
Bukkit.getServer().getPluginManager().registerEvents(this, this);
Bukkit.getServer().getPluginManager().registerEvents(new KillMob(), this);
}
public void onDisable() {
}
public boolean checkSender (CommandSender sender) {
if (sender instanceof Player) {
return false;
}
return true;
}
public boolean onCommand (CommandSender sender, Command cmd, String label, String[] args) {
if (cmd.getName().equalsIgnoreCase("savehome")) {
if (checkSender(sender)) {
MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
return true;
}
Player p = (Player) sender;
locToConfig(p.getName(), p.getLocation());
MessageManager.getManager().msg(p, MessageType.GOOD, "Дом установлен!");
return true;
}
if (cmd.getName().equalsIgnoreCase("tphome")) {
if (checkSender(sender)) {
MessageManager.getManager().msg(sender, MessageType.BAD, "Only players can use this command!");
return true;
}
Player p = (Player) sender;
Location home = configToLoc(p.getName());
if (home != null){
p.teleport(home);
MessageManager.getManager().msg(p, MessageType.GOOD, "Телепорт домой!");
return true;
}
}
return false;
}
public void locToConfig (String name, Location loc) {
config.set("locations." + name + ".world", loc.getWorld().getName());
config.set("locations." + name + ".x", loc.getX());
config.set("locations." + name + ".y", loc.getY());
config.set("locations." + name + ".z", loc.getZ());
saveConfig();
}
public Location configToLoc (String name) {
Location loc = new Location(Bukkit.getWorld(config.getString("locations." + name + ".world")),
config.getDouble("locations." + name + ".x"),
config.getDouble("locations." + name + ".y"),
config.getDouble("locations." + name + ".z"));
return loc;
}
@EventHandler
public void onPlayerJoin (PlayerJoinEvent e) {
Player p = e.getPlayer();
MessageManager.getManager().msg(p, MessageType.INFO, "Plugin by GoldFox");
p.playSound(p.getLocation(), Sound.NOTE_PIANO, 1, 1);
}
@EventHandler
public void onBlockBreak (BlockBreakEvent e) {
Player p = e.getPlayer();
p.giveExp(100);
if (e.getBlock().getType() != Material.DIAMOND_BLOCK) return;
p.giveExp(500);
p.damage(2);
MessageManager.getManager().msg(p, MessageType.BAD, "Зачем ты сломал это блок?");
}
}