как получить денежную оценку?

Версия Minecraft
1.12.2
28
0
Как получить денежную стоимость плагина EssentialsX на сервере для отображения на экране?
как получить деньги игрока? (в плагинах EssentialsX)
 
Последнее редактирование:
3,005
192
592
@Ivasik Как я понял, он хочет заказать мод на поддержку инфы с EX сервера в клиенте.
А т.к. он ничего не покупал, он не знает, сколько ему нужно платить.
 
3,005
192
592
@Ivasik Так прикол в том, что он не понимает, сколько ему нужно платить.
Как я понял, он хотел узнать, потом если с обедов накопил у него столько есть, будет заказывать.
 
28
0
@Ivasik Как я понял, он хочет заказать мод на поддержку инфы с EX сервера в клиенте.
А т.к. он ничего не покупал, он не знает, сколько ему нужно платить.
.. Я спросил, как получить деньги игрока.
 

Icosider

Kotliner
Администратор
3,603
99
664
28
0
Что касается самого вопроса, то в essentials есть Economy#getMoney, а чтобы уже на клиенте отрисовать, нужно отправить пакет клиент моду и там уже через событие отрисовать.
Does that mean that the plugin needs to send a packet to the client?
 

Icosider

Kotliner
Администратор
3,603
99
664
For example:
In main class:
public void onEnable() {
    this.getServer().getMessenger().registerOutgoingPluginChannel(this, "MySuperChannel");
    this.getServer().getScheduler().runTaskTimer(this, new MoneyWatcher(this, this.getServer()), 0, 20);// 0 - delay, 20 - repeat in ticks(20 ticks = 1 sec)
}
MoneyWatcher:
public class MoneyWatcher implements Runnable {
    private final Plugin plugin;
    private final Server server;

    public MoneyWatcher(Plugin plugin, Server server) {
        this.plugin = plugin;
        this.server = server;
    }

    @Override
    public void run() {
         this.server.getOnlinePlayers().forEach(this::sendMoneyInfo);
    }
   
     private void sendMoneyInfo(Player player) {
        // HERE GETTING MONEY FROM ESS START
        final int money = 250;
        // HERE GETTING MONEY FROM ESS END

        final ByteArrayDataOutput out = ByteStreams.newDataOutput();
        out.writeByte(0);// This is a packet id
        out.writeInt(money);
        player.sendPluginMessage(this, "MySuperChannel", out.toByteArray());
    }
}
 
Сверху