- Баллы
- 66
- Имя в Minecraft
- deni9078
Я переписываю один плагин для себя, плагин на ранги за убийства игроков. Если игрок достигает указанное кол-во убийств то выдается ранг. Но этот функционал не работает, подскажите что и как
Main:
EventListener:
Main:
Код:
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import static com.example.EventListener.rank;
public final class Main extends JavaPlugin {
private static Main instance;
public static FileConfiguration config;
public static Plugin plugin;
public void onEnable() {
instance = this;
plugin = (Plugin)this;
config = getConfig();
saveDefaultConfig();
getCommand("ranks").setExecutor(new Commands());
Bukkit.getPluginManager().registerEvents(new EventListener(), (Plugin)this);
if(Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
new PHExpansion().register();
}
}
public static Main getInstance() {
return instance;
}
public static void setRank(String newRank) {
rank = newRank;
}
}
Код:
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Statistic;
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.entity.PlayerDeathEvent;
public class EventListener implements Listener {
private FileConfiguration config;
static String rank;
@EventHandler
public void onPlayerKill(PlayerDeathEvent event) {
Player player = event.getEntity();
Player killer = player.getKiller();
for (String m : Main.getInstance().getConfig().getConfigurationSection("ranks").getKeys(true)) {
if (killer.getStatistic(Statistic.PLAYER_KILLS) == Main.getInstance().getConfig().getInt("ranks." + m + ".kills")) {
killer.sendMessage(ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig().getString("messages.up").replace("%rank%", rank)));
Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), Main.getInstance().getConfig().getString("ranks." + m + ".reward"));
Main.setRank(rank);
}
}
}
}