Вопрос Звук при взаимодействии с нпс ZNPCs Plus. Сервер Майнкрафт

Ядро
Paper
Всем здравствуйте! Кто может подсказать: можно ли и если да, то как добавить звук при клике на нпс из плагина ZNPCs plus?
В плагине на нпс такого нету. Ты бы мог(ла) использовать действие "consolecommand", но к сожалению нету доступа получить ник игрока. Так-что вариантов нету

Подробнее -
 
BuseSo, посмотрев код, как я понял: там даже и близко этим не пахнет, но я могу и ошибаться
Объединено

Нашел способ в 2.0 версии {user} заменяется на ник игока

Java:
String cmd = command.replace("{player}", player.getName()).replace("{uuid}", player.getUniqueId().toString());
 
Последнее редактирование:
ладно, простите за ошибку и за то-что так долго (Фильм смотрел).

Вот что мне удалось узнать, про версию 1.х: Поддерживаются все плейсхолдеры из PlaceholderAPI


Оставил коментарий там где подставляются плейсхолдеры
(Если что, вот ссылка на код - )
Java:
package io.github.znetworkw.znpcservers.npc;

import com.google.common.base.MoreObjects;
import lol.pyr.znpcsplus.ZNPCsPlus;
import io.github.znetworkw.znpcservers.npc.interaction.ClickType;
import io.github.znetworkw.znpcservers.user.ZUser;
import io.github.znetworkw.znpcservers.utility.Utils;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;

public class NPCAction {
    private final ActionType actionType;
    private final ClickType clickType;
    private final String action;
    private int delay;

    public NPCAction(ActionType actionType, ClickType clickType, String action, int delay) {
        this.actionType = actionType;
        this.clickType = clickType;
        this.action = action;
        this.delay = delay;
    }

    public NPCAction(String actionType, String action) {
        this(ActionType.valueOf(actionType), ClickType.DEFAULT, action, 0);
    }

    public ActionType getActionType() {
        return this.actionType;
    }

    public ClickType getClickType() {
        return this.clickType;
    }

    public String getAction() {
        return this.action;
    }

    public int getDelay() {
        return this.delay;
    }

    public void setDelay(int delay) {
        this.delay = delay;
    }

    public long getFixedDelay() {
        return 1000000000L * this.delay;
    }

    public void run(ZUser user, String action) {

        // Вот тут вот подставляются плейсхолдеры если плагин PlaceholderAPI включен.
        this.actionType.run(user, Utils.PLACEHOLDER_SUPPORT ? Utils.getWithPlaceholders(action, user.toPlayer()) : action);
    }

    public String toString() {
        return MoreObjects.toStringHelper(this)
                .add("actionType", this.actionType)
                .add("clickType", this.clickType)
                .add("action", this.action)
                .add("delay", this.delay)
                .toString();
    }

    public enum ActionType {
        CMD {
            public void run(ZUser user, String actionValue) {
                user.toPlayer().performCommand(actionValue);
            }
        },
        CONSOLE {
            public void run(ZUser user, String actionValue) {
                Bukkit.dispatchCommand(Bukkit.getConsoleSender(), actionValue);
            }
        },
        CHAT {
            public void run(ZUser user, String actionValue) {
                user.toPlayer().chat(actionValue);
            }
        },
        MESSAGE {
            public void run(ZUser user, String actionValue) {
                user.toPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', actionValue));
            }
        },
        SERVER {
            public void run(ZUser user, String actionValue) {
                ZNPCsPlus.BUNGEE_UTILS.sendPlayerToServer(user.toPlayer(), actionValue);
            }
        };

        public abstract void run(ZUser param1ZUser, String param1String);
    }
}
Объединено

Ethan_winterzz2000, вывод такой:
Используешь 1.х: работать должно все плейсхолдеры из PlacehodlerApi, если он работает
Используешь 2.х: то тебе доступны {user} и {uuid} (Думаю не нужно объяснять, что кого заменят).
 
Последнее редактирование:
Назад
Сверху Снизу