- Сообщения
- 292
- Решения
- 4
Помогите нужно чтобы игрок кода писал команду ему выдавало 10$ (/eco give $player 10) как реализовать через Essentials API? (Я пишу плагин)
Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: This feature may not be available in some browsers.
public static void init() {
RegisteredServiceProvider<Economy> reg = Bukkit.getServicesManager().getRegistration(Economy.class);
if (reg != null) {
eco = reg.getProvider();
}
}
классКоманды.init();
if (eco == null) {
getLogger().info(ChatColor.DARK_RED + "Link with Vault failed.");
return true;
}
Player p = (Player) sender;
eco.depositPlayer(p, 10);
public static void init() {
RegisteredServiceProvider<Economy> reg = Bukkit.getServicesManager().getRegistration(Economy.class);
if (reg != null) {
eco = reg.getProvider();
}
}
классКоманды.init();
if (eco == null) {
getLogger().info(ChatColor.DARK_RED + "Link with Vault failed.");
return true;
}
Player p = (Player) sender;
eco.depositPlayer(p, 10);
Перед обработкой обязательно добавь, это в класс команды?Добавь плагин Vault в библиотеку своего плагина, после чего пропиши в классе обработки команды:
Java:public static void init() { RegisteredServiceProvider<Economy> reg = Bukkit.getServicesManager().getRegistration(Economy.class); if (reg != null) { eco = reg.getProvider(); } }
В методе OnEnable вызови этот метод:
Java:классКоманды.init();
Перед обработкой обязательно добавь
Java:if (eco == null) { getLogger().info(ChatColor.DARK_RED + "Link with Vault failed."); return true; }
Теперь ты можешь делать что угодно с экономикой. Например,
Java:Player p = (Player) sender; eco.depositPlayer(p, 10);
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
if (eco == null) {
getLogger().info(ChatColor.DARK_RED + "Link with Vault failed.");
return;
}
//твой код
}
return true;
}
package MeemMc;
import org.bukkit.Bukkit;
public class HMM {
public void onEnable {
getCommand("beg").setExecutor(new beg());
beg.init();
Bukkit.getPluginManager().registerEvents(new Handler(), this);
bukkit.getLogger().info("This plugin get started")
}
}
name: MeemMc
version: 1.0.0
main: MeemMc.HMM
depend: [Vault, Essentials]
commands:
beg:
description: Попрашайнечество
usage: /beg
package MeemMc;
import org.bukkit.command.Command;
import org.bukkit.CommandExecutor;
import org.bukkit.CommandSender;
public class Handler implements commandExecutor {
if(eco ==null) {
getLogger().info(ChatColor.DARK_RED + "Link with Vault failed.");
return true;
}
public static void init() {
RegisteredServiceProvider<Economy> reg = Bukkit.getServicesManager().getRegistration(Economy.class);
if (reg != null) {
eco = reg.getProvider();
}
}
public commands(MeemMc plugin) {
this.plugin = plugin;
@Ovveride
public void run () {
Player p = (Player) sender;
eco.depositPlayer(p, 10);
runTaskAsyncTimer(plugin, 0,30);
}
}
}
Сделать кодом? или так сможете посмотреть?[/OFFTOPIC][OFFTOPIC]Для кода используй кнопку Код, читать текстом неудобно[/OFFTOPIC]
В IDE[OFFTOPIC]Ты в IDE пишешь? Почему нет каркаса обработчика команд?[/OFFTOPIC]
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
return true;
}
//каркас команды
Это куда добавить?Код:public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { return true; } //каркас команды
Просто 1 плагин с командамиКод:public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { return true; } //каркас команды
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.RegisteredServiceProvider;
import static org.bukkit.Bukkit.getLogger;
public class Handler implements CommandExecutor {
public static Economy eco;
public static void init() {
RegisteredServiceProvider<Economy> reg = Bukkit.getServicesManager().getRegistration(Economy.class);
if (reg != null) {
eco = reg.getProvider();
}
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
if (eco == null) {
getLogger().info(ChatColor.DARK_RED + "Link with Vault failed.");
return true;
}
//твой таск
}
return true;
}
}
Теперь всё верно?[OFFTOPIC]сейчас скину, потерпи[/OFFTOPIC]
Объединено
Java:import net.milkbowl.vault.economy.Economy; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.RegisteredServiceProvider; import static org.bukkit.Bukkit.getLogger; public class Handler implements CommandExecutor { public static Economy eco; public static void init() { RegisteredServiceProvider<Economy> reg = Bukkit.getServicesManager().getRegistration(Economy.class); if (reg != null) { eco = reg.getProvider(); } } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (sender instanceof Player) { if (eco == null) { getLogger().info(ChatColor.DARK_RED + "Link with Vault failed."); return true; } //твой таск } return true; } }
import net.milkbowl.vault.economy.Economy;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.RegisteredServiceProvider;
import static org.bukkit.Bukkit.getLogger;
public class Handler implements CommandExecutor {
public static Economy eco;
public static void init() {
RegisteredServiceProvider<Economy> reg = Bukkit.getServicesManager().getRegistration(Economy.class);
if (reg != null) {
eco = reg.getProvider();
}
}
@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (sender instanceof Player) {
if (eco == null) {
getLogger().info(ChatColor.DARK_RED + "Link with Vault failed.");
return true;
}
new BukkitRunnable(){
@Ovveride
public void run(){
Player p = (Player) sender;
eco.depositPlayer(p, 10);
}
}.runTaskAsyncTimer(plugin, 0, 20);
}
return true;
}
}
оно должно повторяться каждыеrunTaskAsyncTimer
30оно должно повторяться каждые20 секундсекунду??
У меня и так эта IDE[/OFFTOPIC][OFFTOPIC]лучше Intellij IDEA идешки не знаю,
Авторизуйтесь для просмотра ссылок.Community качай[/OFFTOPIC]
Как в этой проге в .jar сделать?[/OFFTOPIC]оно должно повторяться каждые20 секундсекунду??
Время указывается в тиках. 30 секунд = 30 * 20
[OFFTOPIC]Гугли, тут я уже тебе помочь не могу. У тебя много проблем с простыми методами, тут уже нужно жабку подучивать[/OFFTOPIC]Как в этой проге в .jar сделать?
Мы используем основные cookies для обеспечения работы этого сайта, а также дополнительные cookies для обеспечения максимального удобства пользователя.
Посмотрите дополнительную информацию и настройте свои предпочтения