Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Создание плейсхолдера и установка значения к нему в PlaceholderApi

Ну так показывай свой актуальный код, мы тут мысли не читаем
Main класс:
Код:
import org.bukkit.Bukkit;

import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;

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;
  }
}
EventListener класс:
Код:
import org.bukkit.Bukkit;

import org.bukkit.ChatColor;
import org.bukkit.Statistic;
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.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(false)) {
      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((CommandSender)Bukkit.getConsoleSender(), Main.getInstance().getConfig().getString("ranks." + m + ".reward"));
        rank = Main.getInstance().getConfig().getString("ranks." + m + ".rank"));
      }
    }
  }
}
PHExpansion класс:
Код:
import me.clip.placeholderapi.expansion.PlaceholderExpansion;

import org.bukkit.entity.Player;

public class PHExpansion extends PlaceholderExpansion {
  public String getIdentifier() {
    return "ranks";
  }
 
  public String getAuthor() {
    return "Author";
  }
 
  public String getVersion() {
    return "v1.0";
  }
 
  public String onRequest(Player p, String identifier) {
    if (EventListener.rank == null)
      return "Нет ранга";
    if (identifier.equals("rank"))
      return EventListener.rank;
    return "Нет ранга";
  }
}
 
Main класс:
Код:
import org.bukkit.Bukkit;

import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;

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;
  }
}
EventListener класс:
Код:
import org.bukkit.Bukkit;

import org.bukkit.ChatColor;
import org.bukkit.Statistic;
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.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(false)) {
      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((CommandSender)Bukkit.getConsoleSender(), Main.getInstance().getConfig().getString("ranks." + m + ".reward"));
        rank = Main.getInstance().getConfig().getString("ranks." + m + ".rank"));
      }
    }
  }
}
PHExpansion класс:
Код:
import me.clip.placeholderapi.expansion.PlaceholderExpansion;

import org.bukkit.entity.Player;

public class PHExpansion extends PlaceholderExpansion {
  public String getIdentifier() {
    return "ranks";
  }
 
  public String getAuthor() {
    return "Author";
  }
 
  public String getVersion() {
    return "v1.0";
  }
 
  public String onRequest(Player p, String identifier) {
    if (EventListener.rank == null)
      return "Нет ранга";
    if (identifier.equals("rank"))
      return EventListener.rank;
    return "Нет ранга";
  }
}
очень нужен ваш ответ!!!
 

Поделиться этой страницей

Назад
Верх