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

Помогите Как получить значение из void

Статус
Закрыто для дальнейших ответов.

Aviloo

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
Aviloo
Здравствуйте, форумчане. Я пишу плагин , не без вашей помощи , который за определенные действия начисляет или отнимает у игрока очки. Но я ни как не могу вывести эти очки на экран. И так же не работает система наград. был бы рад вашей помощи.
Код:
package rStats.pack.mainlab;

import java.util.concurrent.ConcurrentHashMap;

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;

public class PlayerExp implements Listener {
    private static final ConcurrentHashMap<Player, Integer> playersData = new ConcurrentHashMap<>();
    public static void addValue(Player p, int value) {
        playersData.putIfAbsent(p, playersData.getOrDefault(p, 0) + value);

    }
    public static void getValue(Player p) {
        playersData.getOrDefault(p, 0);
    }
    @EventHandler
    public void BlockBreak(BlockBreakEvent e) {
        Player p = e.getPlayer();
        addValue(p, 10);
        p.sendMessage("Вам начислено 10 очков");
        if (value > 50){ // не могу получить значение
            org.*********ventory.ItemStack item = new org.*********ventory.ItemStack(org.bukkit.Material.DIAMOND);
            p.getInventory().addItem(item); // типо система наград
        }
        else {
            return;
        }
    }
    @EventHandler
    public void join(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        p.sendMessage("Твой уровень равен " + value ); // не могу получить значение
    }
    

        
}
Надеюсь на вашу помощь . Заранее спасибо.
 
Код:
 public static int getValue(Player p) {
        return playersData.getOrDefault(p, 0);
    }
а потом ты можешь получить его как:
Код:
int i = getValue(player);
 
void не возвращает никаких значений, в твоем случае тебе нужно сделать метод int и вернуть
playersData.getOrDefault(p, 0)
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх