- Баллы
- 123
.
Последнее редактирование:
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Конечно проще, я так и хотел сначала, но понял что тут надо то самое "слушать аргументы", а я такого не знаю...А не проще сделать одну команду /morehealth и дальше уже слушать её аргументы?
Например, /morehealth enable, или /morehealth disable
Если хочешь, могу рассказать, как такое осуществить
Очень просто делаетсяКонечно проще, я так и хотел сначала, но понял что тут надо то самое "слушать аргументы", а я такого не знаю...
Но узнаю с удовольствием :3
if(args.length > 0)//Если аргументов команды больше нуля...
{
if(args[0].eqalsIgnoreCase("enable")) // И если первый аргумент равен "enable"...
{
//...то делаешь то, что задумал
}
}
Очень тупой вопрос, мне надо создать только одну команду (morehealth) а все остальное - данным кодом?Очень просто делается
Java:if(args.length > 0)//Если аргументов команды больше нуля... { if(args[0].eqalsIgnoreCase("enable")) // И если первый аргумент равен "enable"... { //...то делаешь то, что задумал } }
Очень тупой вопрос, мне надо создать только одну команду (morehealth) а все остальное - данным кодом?
if ((cmd.getName().equalsIgnoreCase("morehealth")) && ((sender instanceof Player)))//Если отправитель команды-игрок
{
if(args.length > 0)//Если аргументов команды больше нуля...
{
if(args[0].eqalsIgnoreCase("enable")) // И если первый аргумент равен "enable"...
{
//...то делаешь то, что задумал
}
}
}
Большой спасибон!)))Java:if ((cmd.getName().equalsIgnoreCase("morehealth")) && ((sender instanceof Player)))//Если отправитель команды-игрок { if(args.length > 0)//Если аргументов команды больше нуля... { if(args[0].eqalsIgnoreCase("enable")) // И если первый аргумент равен "enable"... { //...то делаешь то, что задумал } } }
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
Player player = null;
if (sender instanceof Player)
{
player = (Player) sender;
}
if (cmd.getName().equalsIgnoreCase("morehealth"))
{
if (args.length > 0)
{
if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.user"))
{
player.setMaxHealth(40);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены.");
return true;
} else if (args[0].equalsIgnoreCase("disable"))
{
player.setMaxHealth(20);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.RED + "Дополнительные жизни были выключены.");
return true;
}
}
}
return false;
}
/morehealth:morehealth просто так не исправишь. Это Баккита "фича": первое - название плагина, второе - команда.Большой спасибон!)))
И еще вопрос, как при таком коде:
Должен выглядит plugin.yml (часть с commands)?JavaScript:@Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { Player player = null; if (sender instanceof Player) { player = (Player) sender; } if (cmd.getName().equalsIgnoreCase("morehealth")) { if (args.length > 0) { if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.user")) { player.setMaxHealth(40); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены."); return true; } else if (args[0].equalsIgnoreCase("disable")) { player.setMaxHealth(20); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.RED + "Дополнительные жизни были выключены."); return true; } } } return false; }
Уже разобрался с plugin.yml.
Но проблема с двойной командой осталась!!!
Прощу помощи!!! Теперь есть 2 команды:
/morehealth
и
/morehealth:morehealth
UP
Но ведь в других плагинах такой уйни нету.../morehealth:morehealth просто так не исправишь. Это Баккита "фича": первое - название плагина, второе - команда.
Разве? Должно.Но ведь в других плагинах такой уйни нету...
Та ну как так-то... НЕ В ОДНОМ плагине такого не видел...Разве? Должно.
С plugin.yml нормально все?Та ну как так-то... НЕ В ОДНОМ плагине такого не видел...
AuthMe и мой плагин...
![]()
![]()
И я не только про аучме, вооще негде не наблюдал такого..
С plugin.yml нормально все?
PS. Упс, увидел
name: MoreHealth
main: com.roboman.plugins.Solution
version: 0.1
author: Mr_RoboMan
description: Плагин для дополнительных сердец.
commands:
morehealth:
description: Основная команда плагина.
permission: morehealth.user
usage: /<command> [args]
package com.roboman.plugins;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.plugin.java.JavaPlugin;
public class Solution extends JavaPlugin implements Listener
{
@Override
public void onLoad()
{
Bukkit.broadcastMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.DARK_AQUA + "Успешно загружен.");
}
@Override
public void onEnable()
{
getServer().getPluginManager().registerEvents(this, this);
Bukkit.broadcastMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.DARK_GREEN + "Успешно включен.");
}
@Override
public void onDisable()
{
Player[] players = getServer().getOnlinePlayers();
for (Player player:players)
{
player.setHealth(20);
}
Bukkit.broadcastMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.DARK_RED + "Был выключен.");
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
Player player = null;
if (sender instanceof Player)
{
player = (Player) sender;
}
if (cmd.getName().equalsIgnoreCase("morehealth"))
{
player.sendMessage("[MoreHealth] Плагин успешно работает.");
if (args.length > 0)
{
if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.vip"))
{
player.setMaxHealth(40);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены.");
return true;
}
else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.premium"))
{
player.setMaxHealth(60);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены.");
return true;
}
else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.mega"))
{
player.setMaxHealth(80);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены.");
return true;
}
else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.ultra"))
{
player.setMaxHealth(100);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены.");
return true;
}
else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.admin"))
{
player.setMaxHealth(1000);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены.");
return true;
}
else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.owner"))
{
player.setMaxHealth(10000);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены.");
return true;
}
else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.laggs"))
{
player.setMaxHealth(100000);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены (осторожно, на сервере могут возникнуть лаги).");
return true;
}
else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.ultralaggs"))
{
player.setMaxHealth(1000000);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены (осторожно, на сервере могут возникнуть лаги).");
return true;
}
else if (args[0].equalsIgnoreCase("disable"))
{
player.setMaxHealth(20);
player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.RED + "Дополнительные жизни были выключены.");
return true;
}
}
}
return false;
}
@EventHandler
public void onQuit(PlayerQuitEvent pqe)
{
Player player = pqe.getPlayer();
player.setHealth(20);
}
}

На 1.5.2 этого вроде и не было .Странно, лично я ошибки не нашел. Да и у меня такой ошибки не наблюдается, на 1.5.2
JavaScript:name: MoreHealth main: com.roboman.plugins.Solution version: 0.1 author: Mr_RoboMan description: Плагин для дополнительных сердец. commands: morehealth: description: Основная команда плагина. permission: morehealth.user usage: /<command> [args]Я в общем спать, если кто что найдет, тому большой спасибонДа-да, знаю что лучше использовать switch...case, но я в нем не разобрался.
JavaScript:package com.roboman.plugins; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.plugin.java.JavaPlugin; public class Solution extends JavaPlugin implements Listener { @Override public void onLoad() { Bukkit.broadcastMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.DARK_AQUA + "Успешно загружен."); } @Override public void onEnable() { getServer().getPluginManager().registerEvents(this, this); Bukkit.broadcastMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.DARK_GREEN + "Успешно включен."); } @Override public void onDisable() { Player[] players = getServer().getOnlinePlayers(); for (Player player:players) { player.setHealth(20); } Bukkit.broadcastMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.DARK_RED + "Был выключен."); } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { Player player = null; if (sender instanceof Player) { player = (Player) sender; } if (cmd.getName().equalsIgnoreCase("morehealth")) { player.sendMessage("[MoreHealth] Плагин успешно работает."); if (args.length > 0) { if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.vip")) { player.setMaxHealth(40); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены."); return true; } else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.premium")) { player.setMaxHealth(60); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены."); return true; } else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.mega")) { player.setMaxHealth(80); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены."); return true; } else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.ultra")) { player.setMaxHealth(100); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены."); return true; } else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.admin")) { player.setMaxHealth(1000); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены."); return true; } else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.owner")) { player.setMaxHealth(10000); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены."); return true; } else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.laggs")) { player.setMaxHealth(100000); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены (осторожно, на сервере могут возникнуть лаги)."); return true; } else if (args[0].equalsIgnoreCase("enable") && player.hasPermission("morehealth.ultralaggs")) { player.setMaxHealth(1000000); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.GREEN + "Дополнительные жизни были включены (осторожно, на сервере могут возникнуть лаги)."); return true; } else if (args[0].equalsIgnoreCase("disable")) { player.setMaxHealth(20); player.sendMessage(ChatColor.BLUE + "[MoreHealth] " + ChatColor.RED + "Дополнительные жизни были выключены."); return true; } } } return false; } @EventHandler public void onQuit(PlayerQuitEvent pqe) { Player player = pqe.getPlayer(); player.setHealth(20); } }
UP.
Ну вот... Круто конечно...Но у меня 1.7...Странно, лично я ошибки не нашел. Да и у меня такой ошибки не наблюдается, на 1.5.2
Блин, неужели это надо обязательно какими-то костылями убирать?!! Во всех же плагинах нормально!!!На 1.5.2 этого вроде и не было .
Можно попробовать убрать это через PlayerChatTabCompleteEvent , но когда я тестировал у меня этот евент вообще не срабатывал , возможно все из-за того что я использовал spigot 1.8 .
P.S. буду рад если кто-то объяснит мне в чем проблема.
А может сила Бейкера расскажет что это означает на русском? :3
Крч здесь замешаны командные блоки.А может сила Бейкера расскажет что это означает на русском? :3
Поставил в properies enble commandblock = falseКрч здесь замешаны командные блоки.