-
Ilość zawartości
44 -
Rejestracja
-
Ostatnia wizyta
Informacje
-
Płeć
Mężczyzna
-
Nick w MC
Khukii
Metody kontaktu
-
Discord
Khukii#0774
Ostatnie wizyty
Blok z ostatnimi odwiedzającymi dany profil jest wyłączony i nie jest wyświetlany użytkownikom.
Osiągnięcia iYowee
Początkujący II (3/13)
2
Reputacja
-
dobra nie rozumiem tego, cos tam zmienilem ale nie dziala XD, wyslesz kod ktory zadziala? package me.kuzja.spectatecommand; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.UUID; public class SpectateCommand implements CommandExecutor { Map<Player, Location> playerLocation = new HashMap<>(); ArrayList<UUID> playerSpectating = new ArrayList<>(); @Override public boolean onCommand(CommandSender sender, Command cmd, String s, String[] args) { Player p = (Player) sender; if (cmd.getName().equalsIgnoreCase("spectate")) { if (p.hasPermission("spectatecommand.spectate")) { if (args.length == 1) { Player ps = Bukkit.getServer().getPlayer(args[0]); if (ps != null) { if (!ps.getName().equalsIgnoreCase(p.getName())) { if (!playerSpectating.contains(ps.getUniqueId())) { playerLocation.put(p, p.getLocation()); playerSpectating.add(p.getUniqueId()); p.teleport(ps.getLocation()); p.setInvulnerable(true); p.setAllowFlight(true); for (Player plrs : Bukkit.getServer().getOnlinePlayers()) { plrs.hidePlayer(p); } p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand] &aSpectating player &7" + ps.getName() + "&a, to stop spectating type: &7/unspectate")); } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou can't spectate player, who's already spectating someone!")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou can't spectate yourself!")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cThis player is not online, or doesn't exists")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou have to provide player name!")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou don't have permission to execute this command!")); } } else if (cmd.getName().equalsIgnoreCase("unspectate")) { if (playerSpectating.contains(p.getUniqueId())) { p.teleport(playerLocation.get(p)); playerSpectating.remove(p.getUniqueId()); p.setInvulnerable(false); p.setAllowFlight(false); for (Player plrs : Bukkit.getServer().getOnlinePlayers()) { plrs.showPlayer(p); } p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &aStopped spectating!")); playerLocation.remove(p); } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou aren't spectating anyone!")); } } return false; } }
-
Jednak gdy poprawiłem to o czym wspomniales + wniosłem poprawki, że zamiast spectatora jest na vanishu z flyem to gdy wpisuje /unspectate to wyskakuje komunikat "You aren't spectating anyone" oto aktualny kod: package me.kuzja.spectatecommand; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; public class SpectateCommand implements CommandExecutor { Map<Player, Location> playerLocation = new HashMap<>(); ArrayList<Player> playerSpectating = new ArrayList<>(); @Override public boolean onCommand(CommandSender sender, Command cmd, String s, String[] args) { Player p = (Player) sender; if (cmd.getName().equalsIgnoreCase("spectate")) { if (p.hasPermission("spectatecommand.spectate")) { if (args.length == 1) { Player ps = Bukkit.getServer().getPlayer(args[0]); if (ps != null) { if (!ps.getName().equalsIgnoreCase(p.getName())) { if (!playerSpectating.contains(ps)) { playerLocation.put(p, p.getLocation()); playerSpectating.add(p); p.teleport(ps.getLocation()); p.setInvulnerable(true); p.setAllowFlight(true); for (Player plrs : Bukkit.getServer().getOnlinePlayers()) { plrs.hidePlayer(p); } p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand] &aSpectating player &7" + ps.getName() + "&a, to stop spectating type: &7/unspectate")); } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou can't spectate player, who's already spectating someone!")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou can't spectate yourself!")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cThis player is not online, or doesn't exists")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou have to provide player name!")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou don't have permission to execute this command!")); } } else if (cmd.getName().equalsIgnoreCase("unspectate")) { if (playerSpectating.contains(p)) { p.teleport(playerLocation.get(p)); playerSpectating.remove(p); p.setInvulnerable(false); p.setAllowFlight(false); for (Player plrs : Bukkit.getServer().getOnlinePlayers()) { plrs.showPlayer(p); } p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &aStopped spectating!")); playerLocation.remove(p); } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou aren't spectating anyone!")); } } return false; } }
-
Dzięki za pomoc, co do kodu, to dopiero się uczę pisać.
-
iYowee obserwuje zawartość Pytanie co do slota w ekwipunku , Poprawa pluginu na spectate i przeniesienie sie z servera na server
-
Hej, próbowałem napisać plugin na spectatowanei graczy, ale gdy go testuje w konsoli wyskakuje błąd podczas komendy, /unspectate Kod oraz błąd: package me.kuzja.spectatecommand; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.HashMap; import java.util.Map; public class SpectateCommand implements CommandExecutor { Map<Player, Location> playerLocation = new HashMap<>(); Map<Player, GameMode> playerGamemode = new HashMap<>(); @Override public boolean onCommand(CommandSender sender, Command cmd, String s, String[] args) { Player p = (Player) sender; if (cmd.getName().equalsIgnoreCase("spectate")) { if (p.hasPermission("spectatecommand.spectate")) { if (args.length == 1) { Player ps = Bukkit.getServer().getPlayer(args[0]); if (ps.isOnline()) { if (!ps.getName().equalsIgnoreCase(p.getName())) { if (ps.getGameMode() != GameMode.SPECTATOR) { playerLocation.put(p, p.getLocation()); playerGamemode.put(p, p.getGameMode()); p.teleport(ps.getLocation()); p.setGameMode(GameMode.SPECTATOR); p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand] &aSpectating player &7" + ps.getName() + "&a, to stop spectating type: &7/unspectate")); } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou can't spectate player, who's already spectating someone!")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou can't spectate yourself!")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cThis player is not online, or doesn't exists")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou have to provide player name!")); } } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou don't have permission to execute this command!")); } } else if (cmd.getName().equalsIgnoreCase("unspectate")) { if (p.getGameMode() == GameMode.SPECTATOR) { p.teleport((Location) playerLocation); p.setGameMode(playerGamemode.get(p)); p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &aStopped spectating!")); playerLocation.clear(); playerGamemode.clear(); } else { p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&8[&bSpectateCommand&8] &cYou aren't spectating anyone!")); } } return false; } } [23:34:49 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'unspec' in plugin SpectateCommand v1.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:155) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] at org.bukkit.craftbukkit.v1_20_R1.CraftServer.dispatchCommand(CraftServer.java:987) ~[paper-1.20.1.jar:git-Paper-196] at org.bukkit.craftbukkit.v1_20_R1.command.BukkitCommandWrapper.run(BukkitCommandWrapper.java:64) ~[paper-1.20.1.jar:git-Paper-196] at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:265) ~[paper-1.20.1.jar:?] at net.minecraft.commands.Commands.performCommand(Commands.java:324) ~[?:?] at net.minecraft.commands.Commands.performCommand(Commands.java:308) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.performChatCommand(ServerGamePacketListenerImpl.java:2354) ~[?:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$21(ServerGamePacketListenerImpl.java:2314) ~[?:?] at net.minecraft.util.thread.BlockableEventLoop.lambda$submitAsync$0(BlockableEventLoop.java:59) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1338) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:197) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1315) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1308) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?] at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1286) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1174) ~[paper-1.20.1.jar:git-Paper-196] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[paper-1.20.1.jar:git-Paper-196] at java.lang.Thread.run(Thread.java:1583) ~[?:?] Caused by: java.lang.ClassCastException: class java.util.HashMap cannot be cast to class org.bukkit.Location (java.util.HashMap is in module java.base of loader 'bootstrap'; org.bukkit.Location is in unnamed module of loader java.net.URLClassLoader @1b9e1916) at me.kuzja.spectatecommand.SpectateCommand.onCommand(SpectateCommand.java:53) ~[SpectateCommand-1.0.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[paper-api-1.20.1-R0.1-SNAPSHOT.jar:?] ... 23 more
-
to na 1.20.1 jest?
-
dziala, a da sie jakos zrobic ze np jest sie na lobby i jest komenda /ogloszenie to na lobby i na trybie wysyla?
-
da sie na 1.20.1 jakos przeniesc z jednego podlaczonego servera na drugi?
-
chodzi mi o to czy jest jakas funkcja ze mam np item w ekwipunku i po kliknieciu na niego ppm przenosi mnie na inny server za pomoca skripta
-
dzieki, a da jakos bez zadnych addonow lub z jakimis pod 1.20.1 przeniesc sie z servera bungeecord na skripcie bo robie kompas z trybami
-
chodzi o to ze w wlasnym ekwipunku nie dalo sie zmieniac slotu kompasu ktory jest w ekwipunku wersja skripta to 2.9.0 zadnych dodatkow nie ma
-
Da sie ustawic zeby nie dalo sie slotow zmieniac itemow w ekwipunku powyzej jest skrypt? Edit. jednak na dole jest skrypt
-
a moglbys ustawic na 10 znakow te vouchery i dodac permamentne rangi
-
Jest jeden problem poniewaz jezeli wygeneruje kod i znajduja sie w nim wielkie litery to jak wchodze w ta liste to pokazuja sie tylko male, mozna by bylo zrobic ze gdy argument 3 nie jest ustawiony to ranga jest permamenta oraz ustawic dlugosc voucheru na 10 znakow?
-
mozna zmienic skrypt aby ustawic za pomoca komendy czas trwania rangi oraz liste aktywnych voucherow?
-
jednorazowosc chodzilo o to ze jak sie raz wykorzysta kod to drugi raz nie mozna - prosze o poprawiony skrypt w calosci
