1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Как получить игрока без ивентов?

Тема в разделе "Разработка плагинов для новичков", создана пользователем kolis1on, 12 июн 2021.

Метки:
  1. Автор темы
    kolis1on

    kolis1on Активный участник Временно заблокирован Пользователь

    Баллы:
    76
    Вместо name мне нужно получить sender(тоисть отправителя команды, сама команда прописана в другом классе)
    public int GetMoney(String name) throws Exception {

    String tableName = this.plugin.getConfig().getString("tableName");
    String dbNames = this.plugin.getConfig().getString("columnFirst");
    String dbBalance = this.plugin.getConfig().getString("columnSecond");
    Connection c = this.getConnection();
    Statement s = c.createStatement();

    ResultSet res = s.executeQuery("SELECT " + dbBalance +" FROM "+ tableName +" WHERE " + dbNames +" = '"+ name +"'" );
    res.next();
    return res.getInt(dbBalance);



    }
     
  2. LOVEC3327

    LOVEC3327 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Ну так вызывай этот метод и передавай в него ник игрока
     
  3. Автор темы
    kolis1on

    kolis1on Активный участник Временно заблокирован Пользователь

    Баллы:
    76
    а когда вызываю то говорит что нужно static делать, а мне это не нужно.
     
  4. LOVEC3327

    LOVEC3327 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    Советую начать с изучения яп, а потом уже в плагины лезть.
    Код:
    YourClass c = new YourClass();
    c.yourMethod(sender.getName());
    А еще лучше сделать 1 экземпляр в классе плагина и из него уже получать.
     
  5. Автор темы
    kolis1on

    kolis1on Активный участник Временно заблокирован Пользователь

    Баллы:
    76
    Хорошо, спасибо. Этот код как я понимаю нужно испоьзывать в GetMoney?
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    перепеннаяНаКласс.getMoney(sender.getName())
     
  7. LOVEC3327

    LOVEC3327 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    LOVEC3327
    PHP:
    public final class Test extends JavaPlugin {

        private 
    ExampleClass exampleClass;

        @
    Override
        
    public void onEnable() {
            
    exampleClass = new ExampleClass(this);
            
    Bukkit.getPluginCommand("example").setExecutor(this);
        }

        public 
    ExampleClass getExampleClass() {
            return 
    exampleClass;
        }

        @
    Override
        
    public boolean onCommand(CommandSender senderCommand commandString labelString[] args) {
            if (
    sender instanceof Player) {
                
    exampleClass.exampleMethod(sender.getName());
            }
            return 
    true;
        }

    }
    PHP:
    public class ExampleClass {

        private final 
    Plugin plugin//or your main class

        
    public ExampleClass(Plugin plugin) {
            
    this.plugin plugin;
        }

        public 
    int exampleMethod(String playerName) {
            
    //TODO your logic
            
    return value;
        }

    }
     

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