- Баллы
- 1
- Имя в Minecraft
- saintedd
Почему при введении команды например /ready в чат пишет /ready и ничего не выполняет
Последнее редактирование:
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Скинь свой код плагинаПочему при введении команды например /ready в чат пишет /ready и ничего не выполняет
Вероятней всего у него в методе onCommand возвращается falseТы, конечно, извини, но ты пришел на форум, а не к гадалке. Код скинь свой.
Либо он тупо не зарегал командуВероятней всего у него в методе onCommand возвращается false
package Plugin.main;
import java.util.Random;
import java.util.logging.Logger;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import net.minecraft.server.v1_16_R2.WorldBorder;
public class MainCommand extends JavaPlugin implements Listener {
Logger log = Logger.getLogger("Minecraft");
public String gamersS[];
public int size = 0;
public int gamersI = 0;
public void onEnable(World world) {
SetSpawn(world);
log.info("[TPlugin] Enable!");
}
public void onDisable() {
log.info("[TPlugin] Disable!");
}
//start command
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args, World world, Player player) {
int local = 0;
if(cmd.getName().equalsIgnoreCase("start")) { // START
local++;
Bukkit.broadcastMessage(ChatColor.BLACK + " " + ChatColor.RED + "/ready");
return true;
}
if(local > 0) {
if(cmd.getName().equalsIgnoreCase("ready")) { // READY
Player p = (Player) sender;
String Gamers = p.getName();
gamersI++;
for(int i = 0; i >gamersI; i++) {
if(Gamers == gamersS[I]) {
sender.sendMessage(ChatColor.RED + "");
}
}
Gamers = gamersS[gamersI];
sender.sendMessage(ChatColor.RED + "Ты участвуешь!!");
return true;
}
}else {sender.sendMessage(ChatColor.RED + "");}
if(cmd.getName().equalsIgnoreCase("size")) { // SIZE
String Size = args[1];
int size = Integer.valueOf(Size);
WorldBorder wb = new WorldBorder();
wb.setCenter(0, 0);
wb.setSize(size);
return true;
}
if(cmd.getName().equalsIgnoreCase("startmp")) { // START MP
for (Player p : Bukkit.getOnlinePlayers()) {
Random rd = new Random();
int x = rd.nextInt(size - 10);
int z = rd.nextInt(size - 10);
int y = world.getHighestBlockYAt(x, z);
p.teleport(new Location(Bukkit.getWorld("world"), x, y, z));
Bukkit.getWorld("world").getBlockAt(x, y-1, z).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x+1, y, z).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x, y, z+1).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x-1, y, z).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x, y, z-1).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x-1, y+1, z).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x+1, y+1, z).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x, y+1, z+1).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x, y+1, z-1).setType(Material.GLASS);
}
local = 0;
return true;
}
return false;
}
public void SetSpawn(World world) { // SET SPAWN
int y = world.getHighestBlockYAt(0,0);
world.setSpawnLocation(0, 0, y+1);
return;
}
}
[/I]
Вот plugin.ymlЛибо он тупо не зарегал команду
name: TPlugin
main: Plugin.main.TPlugin
version: 1.0
commands:
ready:
usage: /ready
startmp:
usage: /startmp <second>
start:
usage: /start
size:
usage: /size <blocks>
Уж извините первый раз на форуме немного не знаю что делатьТы, конечно, извини, но ты пришел на форум, а не к гадалке. Код скинь свой.
)Ну да, как я и думал у тебя в коде return falseВот мой код
Код:package Plugin.main; import java.util.Random; import java.util.logging.Logger; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.World; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.Listener; import net.minecraft.server.v1_16_R2.WorldBorder; public class MainCommand extends JavaPlugin implements Listener { Logger log = Logger.getLogger("Minecraft"); public String gamersS[]; public int size = 0; public int gamersI = 0; public void onEnable(World world) { SetSpawn(world); log.info("[TPlugin] Enable!"); } public void onDisable() { log.info("[TPlugin] Disable!"); } //start command public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args, World world, Player player) { int local = 0; if(cmd.getName().equalsIgnoreCase("start")) { // START local++; Bukkit.broadcastMessage(ChatColor.BLACK + " " + ChatColor.RED + "/ready"); return true; } if(local > 0) { if(cmd.getName().equalsIgnoreCase("ready")) { // READY Player p = (Player) sender; String Gamers = p.getName(); gamersI++; for(int i = 0; i >gamersI; i++) { if(Gamers == gamersS[I]) { sender.sendMessage(ChatColor.RED + ""); } } Gamers = gamersS[gamersI]; sender.sendMessage(ChatColor.RED + "Ты участвуешь!!"); return true; } }else {sender.sendMessage(ChatColor.RED + "");} if(cmd.getName().equalsIgnoreCase("size")) { // SIZE String Size = args[1]; int size = Integer.valueOf(Size); WorldBorder wb = new WorldBorder(); wb.setCenter(0, 0); wb.setSize(size); return true; } if(cmd.getName().equalsIgnoreCase("startmp")) { // START MP for (Player p : Bukkit.getOnlinePlayers()) { Random rd = new Random(); int x = rd.nextInt(size - 10); int z = rd.nextInt(size - 10); int y = world.getHighestBlockYAt(x, z); p.teleport(new Location(Bukkit.getWorld("world"), x, y, z)); Bukkit.getWorld("world").getBlockAt(x, y-1, z).setType(Material.GLASS); Bukkit.getWorld("world").getBlockAt(x+1, y, z).setType(Material.GLASS); Bukkit.getWorld("world").getBlockAt(x, y, z+1).setType(Material.GLASS); Bukkit.getWorld("world").getBlockAt(x-1, y, z).setType(Material.GLASS); Bukkit.getWorld("world").getBlockAt(x, y, z-1).setType(Material.GLASS); Bukkit.getWorld("world").getBlockAt(x-1, y+1, z).setType(Material.GLASS); Bukkit.getWorld("world").getBlockAt(x+1, y+1, z).setType(Material.GLASS); Bukkit.getWorld("world").getBlockAt(x, y+1, z+1).setType(Material.GLASS); Bukkit.getWorld("world").getBlockAt(x, y+1, z-1).setType(Material.GLASS); } local = 0; return true; } return false; } public void SetSpawn(World world) { // SET SPAWN int y = world.getHighestBlockYAt(0,0); world.setSpawnLocation(0, 0, y+1); return; } } [/I]
и что делать?Ну да, как я и думал у тебя в коде return false
return trueи что делать?
Непомоглоreturn true
Я плагины програмирую 4 день, прошу прощения за торевогу но не мог бы ты показать как это делается?А команду кто регать будет?
Если команда находится в главном классе ее можно не регатьА команду кто регать будет?
НеработаетВ onEnable
И ещё я не вижу чтобы ты реализовывал командэкзикьютерКод:getCommand("Твоя команда").setExecutor(Твой onCommand класс, в данном случае просто this);
Код:implements CommandExecutor
Пришли опять весь классНеработает![]()
Пришли опять весь класс
package Plugin.main;
import java.util.Random;
import java.util.logging.Logger;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import net.minecraft.server.v1_16_R2.WorldBorder;
public class MainCommand extends JavaPlugin implements CommandExecutor {
Logger log = Logger.getLogger("Minecraft");
public String gamersS[];
public int size = 0;
public int gamersI = 0;
public void onEnable(World world) {
SetSpawn(world);
log.info("[TPlugin] Enable!");
getCommand("start").setExecutor(this);
getCommand("ready").setExecutor(this);
getCommand("size").setExecutor(this);
getCommand("startmp").setExecutor(this);
}
public void onDisable() {
log.info("[TPlugin] Disable!");
}
//start command
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args, World world, Player player) {
int local = 0;
if(cmd.getName().equalsIgnoreCase("start")) { // START
local++;
Bukkit.broadcastMessage(ChatColor.BLACK + " " + ChatColor.RED + "/ready");
return true;
}
if(local > 0) {
if(cmd.getName().equalsIgnoreCase("ready")) { // READY
Player p = (Player) sender;
String Gamers = p.getName();
gamersI++;
for(int i = 0; i >gamersI; i++) {
if(Gamers == gamersS[i]) {
sender.sendMessage(ChatColor.RED + "");
}
}
Gamers = gamersS[gamersI];
sender.sendMessage(ChatColor.RED + "Ты участвуешь!!");
return true;
}
}else {sender.sendMessage(ChatColor.RED + "");}
if(cmd.getName().equalsIgnoreCase("size")) { // SIZE
String Size = args[1];
int size = Integer.valueOf(Size);
WorldBorder wb = new WorldBorder();
wb.setCenter(0, 0);
wb.setSize(size);
return true;
}
if(cmd.getName().equalsIgnoreCase("startmp")) { // START MP
for (Player p : Bukkit.getOnlinePlayers()) {
Random rd = new Random();
int x = rd.nextInt(size - 10);
int z = rd.nextInt(size - 10);
int y = world.getHighestBlockYAt(x, z);
p.teleport(new Location(Bukkit.getWorld("world"), x, y, z));
Bukkit.getWorld("world").getBlockAt(x, y-1, z).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x+1, y, z).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x, y, z+1).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x-1, y, z).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x, y, z-1).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x-1, y+1, z).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x+1, y+1, z).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x, y+1, z+1).setType(Material.GLASS);
Bukkit.getWorld("world").getBlockAt(x, y+1, z-1).setType(Material.GLASS);
}
local = 0;
return true;
}
return true;
}
public void SetSpawn(World world) { // SET SPAWN
int y = world.getHighestBlockYAt(0,0);
world.setSpawnLocation(0, 0, y+1);
return;
}
}